BitComet 中文文档 下载 App

BitComet 命令行 — 启动参数、后台守护、与脚本集成

BitComet 命令行的两种模式

BitComet 有两个完全不同的命令行使用场景:

场景一:Linux 端的默认运行方式

Linux 版 BitComet 是一个纯命令行、后台守护进程(daemon)——它没有图形界面,所有操作通过 WebUI 或命令行参数完成。这是 Linux 端的默认和唯一工作模式。

场景二:Windows / macOS 端的后台启动与自动化

Windows 和 macOS 端默认带图形界面,但也可以通过命令行参数让 BitComet 在后台静默运行、或通过命令行添加任务。适合写自动化脚本、和下载管理系统集成。

Linux 端:守护进程管理

安装方式回顾

sudo dpkg -i bitcomet_2.22_amd64.deb   # Debian/Ubuntu
sudo rpm -i bitcomet-2.22.x86_64.rpm   # CentOS/RHEL

控制守护进程

安装完成后,BitComet 以 systemd 服务方式运行,常用命令:

bitcomet start       # 启动守护进程
bitcomet stop        # 停止守护进程
bitcomet restart     # 重启
bitcomet status      # 查看当前状态(是否运行、PID、WebUI 端口)
bitcomet log         # 实时查看运行日志

或者用 systemd 直接控制:

sudo systemctl start bitcomet
sudo systemctl enable bitcomet   # 开机自启
sudo systemctl status bitcomet
sudo journalctl -u bitcomet -f   # 查看日志

WebUI 是主要操作界面

Linux 端没有 GUI,管理 BitComet 全靠 WebUI:

  1. BitComet 启动后 WebUI 默认监听 0.0.0.0:18080。
  2. 本机浏览器访问 http://localhost:18080 进入 WebUI。
  3. 首次访问会提示设置管理员用户名和密码——强烈建议设置,不然任何人访问服务器 IP 的 18080 端口都能控制你的 BitComet。
  4. 以后添加任务、暂停、限速都在 WebUI 里操作。

配置文件路径

/etc/bitcomet/settings.conf      # 主配置(端口、用户名、密码等)
/var/log/bitcomet/               # 运行日志
~/Downloads/                     # 默认下载目录(可改)

手动编辑 settings.conf 可以在不启动 WebUI 的情况下修改配置——比如服务器没有装浏览器、只能 SSH 远程编辑时。

通用命令行参数(Windows / macOS / Linux 通用)

以下参数在任何平台都能使用,命令行参数优先级高于 GUI 配置:

bitcomet.exe [options] [URL or torrent file...]

添加任务相关

参数说明示例
URL直接在命令行添加一个或多个下载任务(BT 磁链、HTTP/FTP 链接、本地 torrent 文件路径都行)bitcomet.exe "magnet:?xt=urn:btih:..."
--dir <path>指定下载保存目录(覆盖 GUI 默认值)bitcomet.exe --dir "D:\Downloads" "magnet:..."
--category <tag>给新添加的任务打标签bitcomet.exe --category 电影 "magnet:..."
--priority <n>新任务的优先级(-1=跳过, 0=低, 1=正常, 2=高, 3=最高)bitcomet.exe --priority 3 "magnet:..."
--save-as <filename>给 HTTP/FTP 下载指定保存文件名bitcomet.exe --save-as "myfile.zip" "http://..."

行为控制相关

参数说明示例
--headless后台无窗口运行(GUI 不显示、进程在托盘)bitcomet.exe --headless
--quit关闭已运行的 BitComet 实例bitcomet.exe --quit
--pause-all暂停所有任务bitcomet.exe --pause-all
--resume-all继续所有暂停的任务bitcomet.exe --resume-all
--start-at-login设置开机自启bitcomet.exe --start-at-login
--no-start-at-login取消开机自启bitcomet.exe --no-start-at-login

进程管理相关

参数说明示例
--background让 BitComet 在后台新进程启动(立即返回、不阻塞当前终端)bitcomet.exe --background
--config <path>指定配置文件位置(默认走平台默认路径)bitcomet.exe --config "C:\custom\config.xml"
--pidfile <path>把当前进程 PID 写入文件(用于脚本监控)bitcomet.exe --pidfile /tmp/bitcomet.pid
--log <path>指定日志输出文件(GUI 模式下也能生效)bitcomet.exe --log /var/log/bitcomet.log

Windows 端常用命令行场景

自动化添加任务

比如你有一个脚本,每天定时从某个文件里读取最新的 BT 资源、自动加入 BitComet:

$magnet = "magnet:?xt=urn:btih:abcdef1234567890..."
& "C:\Program Files\BitComet\BitComet.exe" "$magnet"

BitComet 会自动在后台启动(已经在运行的情况下不重启、直接添加任务),磁链对应的任务会自动加入下载队列。

静默启动不显示 GUI

设置 BitComet 开机自启但不想看到主界面弹出:

& "C:\Program Files\BitComet\BitComet.exe" --headless --start-at-login

BitComet 开机后直接缩到系统托盘,完全静默。

用计划任务做自动化

配合 Windows 任务计划程序(Task Scheduler)可以做很复杂的自动化:

  1. 打开任务计划程序 → 创建基本任务。
  2. 触发器:比如"每天 22:00"。
  3. 操作:启动程序 → BitComet.exe --resume-all(继续所有暂停的任务)。
  4. 另一个任务可以在"每天 09:00" 时执行 BitComet.exe --pause-all(暂停所有任务给工作让路)。

macOS 端命令行

macOS 端 BitComet 主程序在:

/Applications/BitComet.app/Contents/MacOS/BitComet

使用时需要用完整路径:

open -a BitComet "magnet:?xt=urn:btih:..."   # 简单方式,调用默认关联
/Applications/BitComet.app/Contents/MacOS/BitComet --headless  # 高级方式

macOS 的 open 命令可以直接把 URL 丢给关联的默认应用,是最方便的添加任务方式。

WebUI API(进阶)

BitComet WebUI 提供了 HTTP JSON API,可以用 curl、Python requests 等任意 HTTP 客户端调用,实现完全的程序化控制。比如:

# 列出所有任务
curl -u admin:password http://localhost:18080/api/v1/tasks/list

# 添加一个新任务
curl -X POST -u admin:password \
  -H "Content-Type: application/json" \
  -d '{"url": "magnet:?xt=urn:btih:...", "category": "电影"}' \
  http://localhost:18080/api/v1/tasks/add

API 文档在 BitComet 帮助 Wiki 里(搜索 "WebUI API")。对于想要写自己的下载管理系统的人非常有用。

脚本集成实战

场景:下载完成后自动移动到指定目录

BitComet 没有内置的"任务完成后执行脚本"钩子,但可以用命令行 + 任务计划程序实现:

思路:

  1. 写一个 Python 或 PowerShell 脚本,定时查询 BitComet WebUI 的任务状态。
  2. 找到"下载完成但未处理"的任务。
  3. 用 WebUI API 或文件系统操作把文件移动到指定目录。
  4. 在任务计划程序里每 5 分钟运行一次这个脚本。

场景:批量添加一个目录里所有 torrent

$torrents = Get-ChildItem -Path "C:\downloads\queue" -Filter "*.torrent"
foreach ($t in $torrents) {
    & "C:\Program Files\BitComet\BitComet.exe" $t.FullName
}

把这个脚本保存为 .ps1,用任务计划程序定时运行,就能实现"把 torrent 丢进一个文件夹、BitComet 自动加入下载"的效果。

注意事项