Transmission 的安装与配置

在 DigitalOcean 上搭建了一个服务器来挂BT,刚开始用的是 Deluge ,后来发现这个 bug 太多,于是决定换回之前一直在用的Transmission

OS: Ubuntu 16.04

Transmission介绍 (0x00)

Transmission是一个强大的BitTorrent开源客户端,实现了BT协议中描述的大多数功能(除了不能创建种子以外)。并且它基本上也覆盖了全平台的OS。

在Ubuntu的发行版中,Transmission软件包下面包含多个套件,他们是

  • transmission-gtk: GTK+界面的Transmission BT客户端。
  • transmission-qt: QT界面的Transmission BT客户端。
  • transmission-cli: 命令行界面的Transmission BT客户端,与QT、GTK+版本功能一样,是命令行下一个完备的BT客户端。
  • transmission-daemon: 是一个Transmission的后台守护程序,本身不具备操作指令,只能通过Web客户端或者transmission-remote-cli来进行控制。
  • transmission-remote-cli: 用来控制transmission-daemon的命令套件,本身不具备下载BT的功能,只能够配合daemon使用。

而我希望的是,在服务器上运行 transmission-daemon ,然后本地机器连接到远程运行的 transmission-daemon 来下载。

Transmission的安装 (0x01)

在终端里输入以下命令安装
sudo apt-get install transmission-daemon

安装过程中会顺带把transmission-cli也安装上,所以安装完毕后系统会多出如下一些命令行工具。

  • transmission-cli: 独立的命令行客户端。
  • transmission-create: 用来建立.torrent种子文件的命令行工具。
  • transmission-daemon: 后台守护程序。
  • transmission-edit: 用来修改.torrent种子文件的announce URL。
  • transmission-remote: 控制daemon的程序。
  • transmission-show:查看.torrent文件的信息。

配置文件目录里面包含如下一些文件:

  • settings.json: 主要的配置文件,设置daemon的各项参数,包括RPC的用户名密码配置。它实际上是一个符号链接,指向的原始文件是/etc/transmission-daemon/settings.json。里面的参数解释可以参考官网的配置说明。
  • torrents/: 用户存放.torrent种子文件的目录,凡是添加到下载任务的种子,都存放在这里。.torrent的命名包含,种子文件本身的名字和种子的SHA1 HASH值。
  • resume/: 该存放了.resume文件,.resume文件包含了一个种子的信息,例如该文件哪些部分被下载了,下载的数据存储的位置等等。
  • blocklists/: 存储被屏蔽的peer的地址。
  • dht.dat: 存储DHT节点信息。

默认用户
安装时会创建一个用户来专门运行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

Transmission的配置 (0x10)

配置主要是通过修改 /var/lib/transmission-daemon/info/settings.json 文件中的参数来实现的。
注意:在编辑 Transmission 配置文件的时候,需要先关闭 daemon 进程,否则编辑的参数将会被恢复到原来的状态。

配置RPC
主要需要修改以下参数
{
"download-dir": "/down", #下载目录的绝对路径
"incomplete-dir": "/down/temp", #临时文件路径
"rpc-authentication-required": true, #启用验证
"rpc-bind-address": "0.0.0.0", #允许任何IP通过RPC协议访问
"rpc-enabled": true, #允许通过RPC访问
"rpc-password": "123456", #RPC验证密码(保存并启动后daemon会计算并替换为HASH值以增加安全性)
"rpc-port": 9091, #RPC端口
"rpc-username": "transmission", #RPC验证用户名
"rpc-whitelist": "*", #RPC访问白名单
"rpc-whitelist-enabled": false, #关闭白名单功能以便公网访问
}

更多参数说明请见官方Wiki

使用Web界面控制Transmission daemon (0x11)

经过上述配置后,就可以通过Web界面来访问和控制 Transmission daemon 了。在浏览器中访问http://your.domain.name:9091/transmission/web/ 并输入设置的用户名及密码就可以看到如下界面

Transmission-Web
Transmission-Web

另外,Windows上推荐使用 Transmission Remote GUI作为客户端访问远端daemon。

发表评论

电子邮件地址不会被公开。 必填项已用*标注