简介
transmission-remote是一款远程管理bt下载软件transmission(transmission-daemon)的命令行实用工具。已经有了transmission这简陋但还算好用的WebUI,还要这命令行工具干嘛?
当你不想把家里网络的9091(或是你指定的别的端口) web服务端口暴露到外网的时候... 当你只有ssh方式远程登录家里的nas的时候...... 总之,熟悉了transmission-remote及其各种选项的用法,有时候更方便远程管理你的bt下载。接下来,举例详解一下transmission-remote这个实用小工具的用法。
命令格式
transmission-remote [host:port | host | port] [-a filenames-or-URLs] [-as] [-AS] [-asd number] [-asu number] [-asc] [-ASC] [-b] [-c path | -C] [-d number | -D] [-e size] [-er | -ep | -et] [-f] [-g files] [-G files] [-gsr ratio] [-GSR] [-h] [-i] [-l] [-m | -M] [-n user:pass] [-N netrc] [-o | -O] [-p port] [-Bh] [-Bn] [-Bl] [-ph files] [-pl files] [-pn files] [-pr peers] [-r] [-R] [-s | -S] [-sr ratio] [-SR] [-srd] [-si] [-st] [-t all | id | hash] [-hl] [-HL] [-u number | -U] [-v] [-V] [-w download-dir] [-x | -X] [-y | -Y] [-pi]
参数介绍
因为以上提供的参数较多,选择性介绍如下这些我经常用到的。全部参数的英文介绍可以参考transmission-remote(1) - Linux man page
选项 | 用途 |
---|---|
-a --add | 添加种子文件 |
-as --alt-speed | 启用备选限速 |
-AS --no-alt-speed | 停用备选限速 |
-asd --alt-speed-downlimit 下载限速 | 限制备选下载速度上限为下载限速 KB每秒 |
-asu --alt-speed-uplimit 上传限速 | 限制备选上传速度上限为上传限速 KB每秒 |
-c --incomplete-dir 目录路径 | 保存未完成的下载文件至指定的目录路径,直到种子下载完成 |
-C --no-incomplete-dir | 不保存未完成的下载文件至另外的目录 |
-d --downlimit 下载限速 | 限制下载速度上限为下载限速 KB每秒。如果选定了种子文件,该上限应用到选定的种子文件,否则该上限应用于全局 |
-D --no-downlimit | 取消下载限速。如果选定了种子文件,该上限应用到选定的种子文件,否则该上限应用于全局 |
-f --files | 获取选定种子内的文件列表 |
-g --get all / file-index / files | 标记指定文件为需要下载。all 指定该种子内所有文件为需要下载,file-index 指定单个文件为需要下载,files 指定多个文件为需要下载,例如"-g1,3-5"标记了第1、3、4、5个文件为需要下载 |
-G --no-get all / file-index / files | 标记指定文件为无需下载。参数如上 |
-gsr --global-seedratio 分享比率 | 设置全局的分享比率(上传量/下载量),完成下载后,如果达到这个分享比率,会停止作种 |
-GSR --no-global-seedratio | 停止使用全局的分享比率 |
-i --info | 显示选定种子的详细信息 |
-l --list | 显示所有的种子列表 |
-n --auth 用户名:密码 | 提供管理transmission的用户名密码(中间用“:”隔开)信息 |
-ph --priority-high all / file-index / files | 优先下载指定的文件(h代表high priority高优先级),指定文件的方式同上面-g参数里的用法 |
-pn --priority-normal all / file-index / files | 设置指定的文件为正常优先级下载,指定文件的方式同上面-g参数里的用法 |
-pl --priority-low all / file-index / files | 设置指定的文件为低优先级下载,指定文件的方式同上面-g参数里的用法 |
-pr --peers 个数 | 设定最大的peer节点数,如果选定了种子文件,该上限应用到选定的种子文件,否则该上限应用于全局 |
-r --remove | 删除指定的种子。但不会删除已下载的文件 |
--remove-and-delete | 删除指定的种子以及已经下载的相关文件 |
--move | 把指定种子的文件移动到别的目录 |
-sr --seedratio 分享比率 | 设置指定的种子作种到特定的分享比率达到为止 |
-SR --no-seedratio | 取消设置指定的种子的分享比率 |
-ta --tracker-add tracker | 给指定的种子增加一个tracker服务器 |
-s --start | 开始指定的种子下载 |
-S --stop | 停止指定的种子下载或作种 |
--start-paused | 设定新添加的种子为暂停状态(需手动启动下载) |
--no-start-paused | 设定新添加的种子自动开始下载 |
-t --torrent | 指定种子,以对其进行接下来选项的操作。想要选多个种子的话,可以把种子的id逗号隔开列出,比如“-t2,4,6-8”指定对第 2、4、6、7、 8个种子一起做操作 |
-u --uplimit 上传限速 | 限制上传速度上限为上传限速 KB每秒。如果选定了种子文件,该上限应用到选定的种子文件,否则该上限应用于全局 |
-U --no-uplimit | 取消上传限速。如果选定了种子文件,该上限应用到选定的种子文件,否则该上限应用于全局 |
-w --download-dir 目录名 | 设置新添加的种子下载到指定目录名 |
-pi --peer-info | 显示目前连接中的peer节点状态 |
举例
- 显示当前所有的种子
transmission-remote --auth username:password -l
本文举的所有例子中transmission的用户名是 username, 密码是 password
root@myHost:/# transmission-remote --auth username:password -l
ID Done Have ETA Up Down Ratio Status Name
6 100% 5.87 GB Done 0.0 0.0 0.1 Idle torrent1
13 100% 2.40 GB Done 0.0 0.0 0.1 Idle torrent2
14 100% 2.45 GB Done 0.0 0.0 0.0 Idle torrent3
20 100% 27.75 GB Done 0.0 0.0 0.0 Idle torrent4
Sum: 38.47 GB 0.0 0.0
- 添加新的种子文件
transmission-remote --auth username:password -a "https://download.gimp.org/pub/gimp/v2.10/windows/gimp-2.10.22-setup.exe.torrent"
root@myHost:/# transmission-remote --auth username:password -a "https://download.gimp.org/pub/gimp/v2.10/windows/gimp-2.10.22-setup.exe.torrent"
localhost:9091/transmission/rpc/ responded: "success"
例子中使用的是种子文件的http链接,这里也可以使用本地的种子文件,或者种子的磁力链,如:
transmission-remote --auth username:password -a /usr/local/share/gimp-2.10.22-setup.exe.torrent
transmission-remote --auth username:password -a "magnet:?xt=urn:btih:98w2da7324q243xasfdy7..."
再运行一次-l,可以看到新的种子已添加并下载中:
root@myHost:/# transmission-remote --auth username:password -l
ID Done Have ETA Up Down Ratio Status Name
6 100% 5.87 GB Done 0.0 0.0 0.1 Idle torrent1
13 100% 2.40 GB Done 0.0 0.0 0.1 Idle torrent2
14 100% 2.45 GB Done 0.0 0.0 0.0 Idle torrent3
20 100% 27.75 GB Done 0.0 0.0 0.0 Idle torrent4
36 81% 196.0 MB 3 sec 0.0 12121.0 0.0 Downloading gimp-2.10.22-setup.exe
Sum: 38.66 GB 0.0 12121.0
- 改变种子的下载目录
发觉我不想把刚刚添加的种子保存到默认下载目录,给它转移到/usr/local/share/目录下,使用--move参数。注意上面的种子列表中,刚添加的种子ID是36,我们通过-t36来指定对这个种子进行移动的操作:
transmission-remote --auth username:password -t36 --move /usr/local/share/
注,无论是下载中还是已经下载完成的文件,都可以通过这个参数实现移动。
root@myHost:/# transmission-remote --auth username:password -t36 --move /usr/local/share/
localhost:9091/transmission/rpc/ responded: "success"
- 停止作种
下载完成了,不想继续作种了,使用-r参数移除种子:
transmission-remote --auth username:password -t36 -r
注,-r只会删除种子,停止作种,已下载好的文件不会被删除。
root@myHost:/# transmission-remote --auth username:password -t36 -r
localhost:9091/transmission/rpc/ responded: "success"
- 不希望添加新种子后就下载马上开始,使用--start-paused更改下设置:
transmission-remote --auth username:password --start-paused
root@myHost:/# transmission-remote --auth username:password --start-paused
localhost:9091/transmission/rpc/ responded: "success"
更改设置后,新添加的种子(ID: 37)为Stopped状态
root@myHost:/# transmission-remote --auth username:password -l
ID Done Have ETA Up Down Ratio Status Name
6 100% 5.87 GB Done 0.0 0.0 0.1 Idle torrent1
13 100% 2.40 GB Done 0.0 0.0 0.1 Idle torrent2
14 100% 2.45 GB Done 0.0 0.0 0.0 Idle torrent3
20 100% 27.75 GB Done 0.0 0.0 0.0 Idle torrent4
37 0% None Unknown 0.0 0.0 None Stopped 无名免费网剧
Sum: 38.47 GB 0.0 0.0
- 查看下该种子内的所有文件。使用-f
transmission-remote --auth username:password -t37 -f
root@myHost:/# transmission-remote --auth username:password -t37 -f
无名免费网剧 (16 files):
# Done Priority Get Size Name
0: 0% Normal Yes 3.16 GB 无名免费网剧.S01E01.mkv
1: 0% Normal Yes 2.76 GB 无名免费网剧.S01E02.mkv
2: 0% Normal Yes 2.70 GB 无名免费网剧.S01E03.mkv
3: 0% Normal Yes 2.33 GB 无名免费网剧.S01E04.mkv
4: 0% Normal Yes 2.10 GB 无名免费网剧.S01E05.mkv
......
可以看到这个种子内所有的单个文件,他们的文件名、大小、序号(#)、下载进度、优先级、是否下载等信息。
- 标注前三集的文件为无需下载,因为我看过了;-), 使用-G,因为前三集文件的序号是第0-2号,使用的命令如下:
transmission-remote --auth username:password -t37 -G0-2
root@myHost:/# transmission-remote --auth username:password -t37 -G0-2
localhost:9091/transmission/rpc/ responded: "success"
root@myHost:/# transmission-remote --auth username:password -t37 -f
无名免费网剧 (16 files):
# Done Priority Get Size Name
0: 0% Normal No 3.16 GB 无名免费网剧.S01E01.mkv
1: 0% Normal No 2.76 GB 无名免费网剧.S01E02.mkv
2: 0% Normal No 2.70 GB 无名免费网剧.S01E03.mkv
3: 0% Normal Yes 2.33 GB 无名免费网剧.S01E04.mkv
4: 0% Normal Yes 2.10 GB 无名免费网剧.S01E05.mkv
......
再次运行-f的结果里可以看到"Get"列里,前三集都已经变成“No”,即不会被下载了。
- 现在优先下载第4集(#3)的文件,因为我着急要看...,用-ph实现:
transmission-remote --auth username:password -t37 -ph3
root@myHost:/# transmission-remote --auth username:password -t37 -ph3
localhost:9091/transmission/rpc/ responded: "success"
root@myHost:/# transmission-remote --auth username:password -t37 -f
无名免费网剧 (16 files):
# Done Priority Get Size Name
0: 0% Normal No 3.16 GB 无名免费网剧.S01E01.mkv
1: 0% Normal No 2.76 GB 无名免费网剧.S01E02.mkv
2: 0% Normal No 2.70 GB 无名免费网剧.S01E03.mkv
3: 0% High Yes 2.33 GB 无名免费网剧.S01E04.mkv
4: 0% Normal Yes 2.10 GB 无名免费网剧.S01E05.mkv
5: 0% Normal Yes 2.38 GB 无名免费网剧.S01E06.mkv
......
再次运行-f的结果里可以看到"Priority"列里,第4集的文件变为“High”。
- 又决定,全集都需要下载了...因为老婆大人过来了,说她要从头开始看...,那就-g改一下吧,-gall(all即指定这个种子内所有文件了):
transmission-remote --auth username:password -t37 -gall
root@myHost:/# transmission-remote --auth username:password -t37 -gall
localhost:9091/transmission/rpc/ responded: "success"
root@myHost:/# transmission-remote --auth username:password -t37 -f
无名免费网剧 (16 files):
# Done Priority Get Size Name
0: 0% Normal Yes 3.16 GB 无名免费网剧.S01E01.mkv
1: 0% Normal Yes 2.76 GB 无名免费网剧.S01E02.mkv
2: 0% Normal Yes 2.70 GB 无名免费网剧.S01E03.mkv
3: 0% High Yes 2.33 GB 无名免费网剧.S01E04.mkv
4: 0% Normal Yes 2.10 GB 无名免费网剧.S01E05.mkv
5: 0% Normal Yes 2.38 GB 无名免费网剧.S01E06.mkv
......
再次运行-f的结果里可以看到"Get"列里,所有文件都变为“Yes”了。
- OK,都设置好了,可以用-s手动开始下载了:
transmission-remote --auth username:password -t37 -s
root@myHost:/# transmission-remote --auth username:password -t37 -s
localhost:9091/transmission/rpc/ responded: "success"
至此,举例详解了transmission-remote配合不同参数的使用方法。希望这个小工具能给喜欢用transmission玩儿bt/pt的朋友提供一些额外的便利。