Transmission是一个强大的BitTorrent开源客户端,实现了BT协议中描述的大多数功能。目前,在它的官方网站上提供了多个版本可以下载,包括:Mac、GTK+、QT版本,还有Daemon版本。
Transmission支持DHT、Magnet Link、uTP以及PEX等特性。尤其是支持Magnet Link磁力链接下载十分重要,因为目前网上很多资源都是采用这种方式来分享的,而不是传统的.torrent文件,例如TPB、BTDigg。
在Ubuntu的发行版中,Transmission软件包下面包含多个套件,这些套件的名字很容易搞混淆,它们分别是:
这些套件不必都安装上,根据我的需求,只需要安装transmission-daemon即可。接下来讲详细介绍daemon的安装和配置。
在Ubuntu中,打开终端,输入以下命令安装:
sudo apt-get install transmission-daemon
安装过程中会顺带把transmission-cli也安装上,安装完毕后系统会多出如下一些命令行工具
安装好后,Transmission-daemon有一些默认设置(参考链接)。
Item | Loccation |
---|---|
启动初始化脚本 | /etc/init.d/transmission-daemon |
基本配置文件 | /etc/default/transmission-daemon |
详细配置文件目录 | /var/lib/transmsision-daemon/info |
下载存储目录 | /var/lib/transmission-daemon/downloads |
配置文件目录里面包含如下一些文件:
默认创建一个用户来专门运行transmission-daemon,用户名为:debian-transmission
。
注意: 如果使用另外一个用户来运行transmission-daemon的话,会在该用户的目录下,创建一个.config/transmission-daemon的文件夹,在这个文件夹里有单独的settings.json
配置文件来配置这个用户对应的daemon进程,下载目录也会变为$HOME/Download。
按照默认用户和默认配置目录来正确启动和停止transmission-daemon的方式如下。我也将采用这种方式。
# 启动
sudo service transmission-daemon start
# 停止
sudo service transmission-daemon stop
启动成功后,可以看到daemon的进程如下
$ ps aux | grep 'transmission-daemon'
debian-+ 5509 0.0 0.6 250700 6456 ? Ssl 04:31 0:00 /usr/bin/transmission-daemon -f --config-dir /var/lib/transmission-daemon/info
配置主要是通过修改/var/lib/transmission-daemon/info/settings.json文件中的参数来实现的。
注意:在编辑Transmission的配置文件的时候,需要先关闭daemon进程,否则编辑的参数将会被恢复到原来的状态。
最关键的就是要配置RPC,因为无论是Web界面还是CLI都是通过RPC协议和daemon来进行交互的。在settings.json中与RPC相关的参数有以下几个:
rpc-authentication-required
: Boolean (default = false)rpc-bind-address
: String (default = “0.0.0.0”) Where to listen for RPC connectionsrpc-enabled
: Boolean (default = true)rpc-password
: Stringrpc-port
: Number (default = 9091)rpc-url
: String (default = /transmission/. Added in v2.2)rpc-username
: Stringrpc-whitelist
: String (Comma-delimited list of IP addresses. Wildcards allowed using ‘‘. Example: “127.0.0.,192.168..“, Default: “127.0.0.1” )rpc-whitelist-enabled
: Boolean (default = true)打开文件/var/lib/transmission-daemon/info/settings.json,修改配置参数如下:
{
......
"rpc-authentication-required": true
"rpc-bind-address": "0.0.0.0",
"rpc-enabled": true,
"rpc-password": "123456",
"rpc-port": 9091,
"rpc-url": "/transmission/",
"rpc-username": "transmission",
"rpc-whitelist": "*",
"rpc-whitelist-enabled": true,
......
}
我将用户名设置为了transmission,密码设置为了123456,whitelist设置成了”*”,表示任何IP都可以通过RPC协议访问这个daemon。需要注意的是password设置成了明文。当启动daemon之后,daemon会自动检测密码设置。如果发现密码配置被修改了,daemon会自动计算修改后的密码的HASH值,并用这个HASH值替换掉配置文件中的明文密码,这样会更安全。
输入service transmission-daemon start
启动程序后,打开settings.json,会看到rpc-password一项被改为了HASH值。
"rpc-password": "{5f4bd5498bddd9aa2ad8f4d475dcebe23e9d8c8bsorspnUE",
settings.json里面还有很多参数可以配置,包括上传/下载速度的限制、DHT的配置、端口设置等等,详细的参数解释可以参考官网的配置说明,这里不再赘述。
经过上述配置后,我们就可以通过Web界面来访问和控制Transmission daemon了。在浏览器里面输入以下地址
http://:9091/transmission/web/
浏览器提示你输入刚才配置的用户名和密码,就可以成功登陆Web管理界面。界面和桌面版的GUI程序有点像,操作起来很方便。下图是我尝试使用的界面。