文章目录(Table of Contents)
简介
Transmission
是一个强大的 BitTorrent
开源客户端,官方网站上提供了多个版本可以下载,包括:Mac
、GTK+
、QT
、web
版本。
Transmission
支持 DHT
、Magnet Link
、uTP
以及 PEX
等特性。尤其是支持 Magnet Link
磁力链接下载十分重要,因为目前网上很多资源都是采用这种方式来分享的,而不是传统的 .torrent
文件
在 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
即可。
本文的主体内容参考自,Ubuntu 下关于 Transmission daemon 的安装与配置。最后增加了一些我自己在安装过程中遇到的问题和相应的解决办法。
Transmission 的安装
打开终端,输入以下命令安装:
- sudo apt-get update
- 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 文件的信息。
安装好后,Transmission-daemon
有一些默认设置 (参考链接)。安装完毕之后,会有以下的默认配置清单:
- 启动初始化脚本
/etc/init.d/transmission-daemon
- 基本配置文件
/etc/default/transmission-daemon
- 详细配置文件目录
/var/lib/transmsision-daemon/info/settings.json
。 主要的配置文件,设置daemon
的各项参数,包括RPC
的用户名密码配置。它实际上是一个符号链接,指向的原始文件是/etc/transmission-daemon/settings.json
。里面的参数解释可以参考官网的配置说明。 - 下载存储目录
/var/lib/transmission-daemon/downloads
启动和停止 Transmission
- # 启动
- sudo service transmission-daemon start
- # 停止
- sudo service transmission-daemon stop
如果想要查看服务是否正常启动,可以使用下面的命令:
- sudo service transmission-daemon status
Transmission 的配置
配置主要是通过修改 /var/lib/transmission-daemon/info/settings.json
文件中的参数来实现的。注意:在编辑 Transmission
的配置文件的时候,需要先关闭 daemon
进程,否则编辑的参数将会被恢复到原来的状态。关闭的方法见上面的「启动与关闭 Transmission」。
我们打开文件 /var/lib/transmission-daemon/info/settings.json
,修改配置参数如下:
- {
- "download-dir": "/var/lib/transmission-daemon/Downloads", //默认下载位置
- "rpc-authentication-required": true,
- "rpc-bind-address": "0.0.0.0",
- "rpc-enabled": true,
- "rpc-host-whitelist": "", // rpc 主机白名单
- "rpc-host-whitelist-enabled": true, //rpc 主机白名单是否开启,若需要任意主机都能访问,建议false
- "rpc-password": "123456",
- "rpc-port": 9091,
- "rpc-url": "/transmission/",
- "rpc-username": "transmission",
- "rpc-whitelist": "*", // rpc 主机白名单
- "rpc-whitelist-enabled": tr "rpc-username": "transmission", "rpc-whitelist": "*", // rpc ue //rpc 主机白名单是否开启,若需要任意主机都能访问,建议false
- }
下面对其中几个比较重要的参数进一步解释:
- "download-dir": "/var/lib/transmission-daemon/Downloads",默认下载位置
- "rpc-host-whitelist-enabled": false,任何主机可以访问
- "rpc-whitelist-enabled": false,任何主机可以访问,设置为
true
需要在白名单的主机才可以访问,否则会出现403
的报错。 - "rpc-username": "username", 设置用户名。
- "rpc-password": "password",设置密码。需要注意的是
password
设置成了明文。当启动daemon
之后,daemon
会自动检测密码设置。如果发现密码配置被修改了,daemon 会自动计算修改后的密码的 HASH 值,并用这个 HASH 值替换掉配置文件中的明文密码,这样会更安全。
settings.json
里面还有很多参数可以配置,包括上传 / 下载速度的限制、DHT 的配置、端口设置等等,详细的参数解释可以参考官网的配置说明。
设置到这里之后,重启 Transmission
,在浏览器中输入 http://x.x.x.x:9091/transmission/web/
就可以显示下载界面了。
美化 Web 界面
原始的 Transmission Web
的界面比较简单,我们可以使用 transmission-web-control 加强 Transmission Web
的操作能力。
Github 仓库的地址为,Github - transmission-web-control。对应的说明文档的地址为 transmission-web-control,中文说明。下面简单介绍一下,详细的内容可以查看文档:
首先国内用户使用gitee
镜像地址:
- wget https://gitee.com/culturist/transmission-web-control/raw/master/release/install-tr-control-gitee.sh
接着执行安装脚本(如果系统不支持 bash
命令,请尝试将 bash
改为 sh
):
- sudo bash install-tr-control-cn.sh
安装完毕后重启Transmission
,在浏览器中应该可以看到最终的效果(如果打开浏览器显示为 404,需要修改脚本内容,详细说明查看下面一部分,“可能存在的问题”),如下所是:
参考资料,Ubuntu安装Transmission并美化WEB UI实操教程
可能存在的问题
HTTP 409 Conflict
需要将打开的 url
从,
http://x.x.x.x:9091/transmission/web
,
修改为:
http://x.x.x.x:9091/transmission/web/
,
也就是需要多加一个斜杠。
参考资料,"HTTP 409 Conflict" when requesting /transmission instead of /transmission/web
HTTP 403 Forbidden
这个可能是因为 rpc-host-whitelist-enabled
或是 rpc-whitelist-enabled
的设置问题,可以设置为 false
,或是将自己电脑的 ip
放入白名单中。
HTTP 404 Not Found
如果在安装 transmission-web-control 后再打开网页出现 404 Not Found 的问题,通常是安装过程出现了问题,需要对脚本进行修改。查看安装过程详细的输出,可以看到一行报错:
- 正在复制安装包...
- cp: cannot stat '/tmp/tr-web-control/transmission-web-control/src/.': No such file or directory
检查发现,下载的文件所在位置 /transmission-web-control-v1.6.1-update1/
而不是 /transmission-web-control/
,也就是会包含具体的版本号。于是对安装脚本进行修改:
- 原脚本内容:
- cp -r "$TMP_FOLDER/transmission-web-control/src/." "$WEB_FOLDER/"
- 修改后的脚本内容:
- cp -r "$TMP_FOLDER/transmission-web-control-v$VERSION/src/." "$WEB_FOLDER/"
修改之后重新安装,再次启动 Transmission
,此时就可以看到界面了。
参考资料,群晖安装transmission-web-control后报错404 Not Found
权限管理
安装的 transmission 的用户组是 debian-transmission。将其分组为 root 即可。关于 Linux 权限管理的相关内容,可以查看链接,Linux 用户与权限。
- sudo usermod -aG root debian-transmission
接着粗暴修改为 777
权限:
- sudo chmod -R 777 ./downloads # 切到transmission-daemon下,执行
最后重启服务即可。
找到不 settings.json
可能是由于权限不够的原因。
- chmod a+x abc # 添加 x 权限
- chmod a+r abc # 添加 r 权限
递归加权限使用 -R
如 chmod 777 -R abc
。其中:
- ls 某文件夹需要文件夹有 r 权限。
- cd 某文件夹 需要文件夹有 x 权限。
sudo cd
这种命令是不正确的,会被提示没有找到 cd
。因为 sudo
的功能时提升程序权限,而 cd
并非程序是 shell
内置的一部分。
- 微信公众号
- 关注微信公众号
- QQ群
- 我们的QQ群号
评论