Ubuntu 18.04 安装最新版Transmission并使用nginx进行反代

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,本文结束。

上一篇
下一篇