Transmission是一款Linux平台常用的BitTorrent客户端,硬件资源占用极少。Transmission以MIT许可证和GNU通用公共许可证双许可证授权,因此是一款自由软件。本文详细介绍如何在Ubuntu 18.04上安装最新版本的Transmission以及如何使用nginx对Transmission的控制面板进行反代。
安装最新版Transmission
Ubuntu 18.04软件源中Transmission的版本为2.9.2,非最新稳定版。这里推荐一个Transmission稳定版的源,可以方便的安装最新版本的Transmission。
apt update && apt install software-properties-common -y
add-apt-repository ppa:transmissionbt/ppa #添加Transmission Stable builds源
apt update && apt install transmission-daemon -y #安装过程中会顺带把transmission-cli也安装上
安装成后系统会多出如下一些命令行工具:
- transmission-cli: 独立的命令行客户端。
- transmission-create: 用来建立.torrent种子文件的命令行工具。
- transmission-daemon: 后台守护程序。
- transmission-edit: 用来修改.torrent种子文件的announce URL。
- transmission-remote: 控制daemon的程序。
- transmission-show:查看.torrent文件的信息。
使用如下命令开启或停止Transmission
service transmission-daemon start # 启动Transmission
service transmission-daemon stop # 停止Transmission
配置Transmission
创建Transmission工作目录
通过以下命令创建Transmission工作目录,其中download为数据存储目录,temp为临时文件目录。未下载完成的文件保存在temp目录,下载完成后保存到download目录。
mkdir /home/transmission && cd /home/transmission && mkdir download && mkdir temp
chmod -R 777 /home/transmission #更改读写权限
修改Transmission配置文件
在编辑Transmission配置文件的时候,需要先关闭daemon进程,否则编辑的参数将会被覆盖到原来的状态:
service transmission-daemon stop
复制以下内容到终端并执行,以修改Transmission配置文件:
cat > /etc/transmission-daemon/settings.json << EOF
{
"alt-speed-down": 50,
"alt-speed-enabled": false,
"alt-speed-time-begin": 540,
"alt-speed-time-day": 127,
"alt-speed-time-enabled": false,
"alt-speed-time-end": 1020,
"alt-speed-up": 50,
"bind-address-ipv4": "0.0.0.0",
"bind-address-ipv6": "::",
"blocklist-enabled": false,
"blocklist-url": "http://www.example.com/blocklist",
"cache-size-mb": 4,
"dht-enabled": false,
"download-dir": "/home/transmission/download",
"download-limit": 100,
"download-limit-enabled": 0,
"download-queue-enabled": false,
"download-queue-size": 5,
"encryption": 2,
"idle-seeding-limit": 30,
"idle-seeding-limit-enabled": false,
"incomplete-dir": "/home/transmission/temp",
"incomplete-dir-enabled": true,
"lpd-enabled": true,
"max-peers-global": 10000,
"message-level": 1,
"peer-congestion-algorithm": "",
"peer-id-ttl-hours": 6,
"peer-limit-global": 10000,
"peer-limit-per-torrent": 200,
"peer-port": 51415,
"peer-port-random-high": 65535,
"peer-port-random-low": 49152,
"peer-port-random-on-start": false,
"peer-socket-tos": "default",
"pex-enabled": true,
"port-forwarding-enabled": true,
"preallocation": 1,
"prefetch-enabled": true,
"queue-stalled-enabled": false,
"queue-stalled-minutes": 30,
"ratio-limit": 30,
"ratio-limit-enabled": true,
"rename-partial-files": true,
"rpc-authentication-required": true,
"rpc-bind-address": "0.0.0.0",
"rpc-enabled": true,
"rpc-host-whitelist": "",
"rpc-host-whitelist-enabled": false,
"rpc-password": "timelate.com",
"rpc-port": 9091,
"rpc-url": "/transmission/",
"rpc-username": "transmission",
"rpc-whitelist": "127.0.0.1",
"rpc-whitelist-enabled": false,
"scrape-paused-torrents-enabled": true,
"script-torrent-done-enabled": false,
"script-torrent-done-filename": "",
"seed-queue-enabled": false,
"seed-queue-size": 10,
"speed-limit-down": 100,
"speed-limit-down-enabled": false,
"speed-limit-up": 100,
"speed-limit-up-enabled": false,
"start-added-torrents": true,
"trash-original-torrent-files": false,
"umask": 18,
"upload-limit": 100,
"upload-limit-enabled": 0,
"upload-slots-per-torrent": 14,
"utp-enabled": true
}
EOF
启动Transmission
service transmission-daemon start # 启动Transmission
访问 your_ip:9091/transmission/web/ 即可打开管理面板,使用前面配置文件中设置的用户名和密码登录即可。本例中设置的用户名为:transmission
,密码为:timelate.com
,可自行修改为自己想用的用户名及密码。
使用nginx反代管理面板
创建nginx虚拟机
注意,进行以下步骤前请确保系统已经安装好nginx,如果未安装nginx,请参考文章“Ubuntu 16.04 手动搭建LNMP环境”安装最新稳定版nginx。
vim /etc/nginx/sites-available/transmission
复制以下内容到虚拟机配置文件,注意修改server_name为自己想用的域名,保存并退出:
server {
listen 80;
server_name example.com; #修改为自己想用的域名
access_log /var/log/nginx/example.com_access.log;
error_log /var/log/nginx/example.com_error.log;
location / {
proxy_read_timeout 300;
proxy_pass_header X-Transmission-Session-Id;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# if you changed the port number for transmission daemon, then adjust the
# folllowing line
proxy_pass http://127.0.0.1:9091/transmission/web/;
}
# Also Transmission specific
location /rpc {
proxy_pass http://127.0.0.1:9091/transmission/rpc;
}
location /upload {
proxy_pass http://127.0.0.1:9091/transmission/upload;
}
}
将虚拟机接入nginx
ln -s /etc/nginx/sites-available/transmission /etc/nginx/sites-enabled/transmission
systemctl reload nginx #重载nginx使虚拟机生效
浏览器访问 example.com 即可进入Transmission管理面板。
美化Transmission管理面板
Transmission自带的管理面板比较丑陋,现推荐一个美化版的管理面板,项目地址:https://github.com/ronggang/transmission-web-control
下载面板安装脚本
使用如下命令下载管理面板的安装脚本:
wget https://github.com/ronggang/transmission-web-control/raw/master/release/install-tr-control-cn.sh
安装面板
chmod +x install-tr-control-cn.sh && bash install-tr-control-cn.sh
如果脚本执行成功,将出现以下界面。按照提示,输入相应的数字,按回车即可。这里选择1,安装管理面板。安装完成后刷新 example.com 即可看到效果。
欢迎使用 Transmission Web Control 中文安装脚本。
官方帮助文档:https://github.com/ronggang/transmission-web-control/wiki
安装脚本版本:1.2.2-beta
1. 安装最新的发布版本(release);
2. 安装指定版本,可用于降级;
3. 恢复到官方UI;
4. 重新下载安装脚本(install-tr-control-cn.sh);
5. 检测 Transmission 是否已启动;
6. 指定安装目录;
9. 安装最新代码库中的内容(master);
===================
0. 退出安装;
请输入对应的数字:
至此便可在Ubuntu 18.04上安装最新版Transmission,本文结束。