Select Page

Centos / Debian 安装配置Transmission 笔记

Centos / Debian 安装配置Transmission 笔记
前几天朋友给了我一枚M-team的邀请,我也就好奇试着挂一下PT。

aria2虽然也可以挂PT,但还是怕被检测出来封号,为了不连累朋友,所以转战Transmission。

网上多数的教程基本都是互相转载的,有一些是互相矛盾,说白了就是转的人自己没有真的实践过。

折腾了几个小时,想记录一下,也方便以后搜到这篇文章的人。

Centos 7
安装EPEL库
使用root用户登录,运行以下命令:
yum install epel-release
yum -y update
安装与配置
使用root用户登录,运行以下命令:
yum install transmission-daemon
启动Transmission
systemctl start transmission-daemon.service
安装后打开浏览器,登录http://domain:9091或http:// server-ip:9091

然后会发现如下文字

403: Forbidden

Unauthorized IP Address.

Either disable the IP address whitelist or add your address to it.

If you're editing settings.json, see the 'rpc-whitelist' and 'rpc-whitelist-enabled' entries.

If you're still using ACLs, use a whitelist instead. See the transmission-daemon manpage for details.

因为编辑json文件需要停止Transmission的工作状态,不然而会强行写保护改回去,所以先停止Transmission
systemctl stop transmission-daemon.service
配置json文件
vim /var/lib/transmission/.config/transmission-daemon/settings.json
这里我就不全部贴出每一项配置了,感兴趣的请去查阅官方的Documentation,此处我的修改是用来挂PT的仅供参考
#第14行修改为"dht-enabled": false,

#第20行修改为"encryption": 2,

#第49行修改自定义的密码"rpc-password": "mypassword",

#第52行修改成自定义的登录账号名称"rpc-username": "myusername",

#第54行修改为"rpc-whitelist-enabled": false,

启动Transmission
systemctl start transmission-daemon.service
打开浏览器输入地址就可以使用 http://yourdomain:9091或http:// server-ip:9091 
如果更改了json文件中的下载地址,需要赋予权限和更改用户组:
mkdir -p /home/wwwroot/pt
chmod -R 755 /home/wwwroot/pt
chown -R transmission /home/wwwroot/pt
chgrp -R transmission /home/wwwroot/pt
然后我再安利一个远程的管理gui,非常方便,功能多不少。

https://github.com/transmission-remote-gui/transgui

顺便提一下设置里的远程主机填LNMP对应的虚拟主机servername就行了(比如www.aliyun.com)

配置文件参数解释

"alt-speed-down": 50, 时段限速下载最大值,KB/s

"alt-speed-enabled": false, 是否启用时段限速,默认关闭(计算方法这么复杂,如果不是特殊需求的话,还是不启用的好)

"alt-speed-time-begin": 540, 时段限速开始时间,和时段限速结束时间,计算方法相同

"alt-speed-time-day": 127, 时段限速日期(星期几),127表示每天,是用7位二进制数表示,然后转换成十进制数填入。例如0000001表示周日,1000000表示周六,0000010表示周一,0000100表示周二。如果你只要在周六周日限速,该数应该为1000001,转换为十进制就是65;如果你只要在工作日(周一至周五)限速,该数应该为0111110,转换为十进制就是62

"alt-speed-time-enabled": false, 启用时段限速日期,默认不开启,如果开启,那么alt-speed-enabled一定要是false,两者之间只能启用一项,如果同时设置为true,则alt-speed-enabled有效

"alt-speed-time-end": 1020, 时段限速结束时间,从0点到开始时间的分钟数,例如8:00就是8*60=480。该时间用的是GMT,即北京时间-8小时,例如计划北京时间8:30分开始,这个数字就应该是(8-8+24)*60+30=1470

"alt-speed-up": 50, 计划时段限速值,KB/s

"bind-address-ipv4": "0.0.0.0", IPv4地址绑定

"bind-address-ipv6": "::", IPv6地址绑定

"blocklist-enabled": false, 启用黑名单

"blocklist-url": "http://www.example.com/blocklist",

"cache-size-mb": 4, 缓存大小,单位MB,建议设置内存大小的1/6~1/4

"dht-enabled": true, 启用DHT网络(通过tracker寻找节点),默认启用

"download-dir": "/var/lib/transmission/Downloads", 下载完成的保存路径

"download-queue-enabled": true, 开启下载队列

"download-queue-size": 5, 下载队列数设置,默认5,表示同时最多只能下载5个任务,多余的需要等待

"encryption": 1, 等于0时不加密,1是优先加密,2是必须加密

"idle-seeding-limit": 30, 空闲30分钟后停止做种,默认30

"idle-seeding-limit-enabled": false, 是否启用空闲时间停止做种

"incomplete-dir": "/var/lib/transmission/Downloads", 未下载完成的保存路径

"incomplete-dir-enabled": false, 启用未下载完成的保存路径

"lpd-enabled": false, 关闭LDP(本地节点发现,用于在本地网络寻找节点)

"message-level": 2, 日志消息等级

"peer-congestion-algorithm": "",

"peer-id-ttl-hours": 6,

"peer-limit-global": 200, 全局种子最大连接数

"peer-limit-per-torrent": 50, 每个种子最多连接数

"peer-port": 51413, 传入端口号

"peer-port-random-high": 65535, 传入端口号随机值范围上限

"peer-port-random-low": 49152, 传入端口号随机值范围下限

"peer-port-random-on-start": false, 启用随机端口,默认是关闭的,如果改成true,则启动transmission时会在传入端口号范围上限和下限随机选
择一个端口

"peer-socket-tos": "default", 设置传输TCP数据包的服务类型https://en.wikipedia.org/wiki/Type_of_service

"pex-enabled": true, 节点交换,参考https://en.wikipedia.org/wiki/Peer_exchange

"port-forwarding-enabled": true, 启用端口转发(uPnP),如果路由支持并且也开启了uPnP,则路由会自动做端口映射

"preallocation": 1, 预分配文件磁盘空间,0=关闭,1=快速,2=完全,默认取1,防止文件下载了一半后才发现磁盘空间不够,取2时耗时较多,但是可以减少磁盘碎片

"prefetch-enabled": true,

"queue-stalled-enabled": true,

"queue-stalled-minutes": 30,

"ratio-limit": 2, 上传下载比例达到多少停止做种

"ratio-limit-enabled": false, 启用上传下载比例

"rename-partial-files": true, 在未完成的文件名后添加后缀,默认true,incomplete-dir-enabled设置的路径带有.part后缀
以rpc开头的都是远程控制相关的参数

"rpc-authentication-required": false, 远程控制验证,默认关闭

"rpc-bind-address": "0.0.0.0", 远程控制地址绑定,默认表示任何地址都能访问

"rpc-enabled": true, 启用远程连接,默认启用

"rpc-password": "{cc29d57debb27f83469bbcd7fae81f64c789d3dfgw.f80LY", 默认密码这里是加密的,修改后会自动加密

"rpc-port": 9091, 网页GUI的端口号,可自行修改

"rpc-url": "/transmission/",

"rpc-username": "whsir", 远程电脑登录网页GUI的用户名称

"rpc-whitelist": "127.0.0.1", 允许远程连接的IP地址白名单,支持通配符,多个IP以逗号分隔

"rpc-whitelist-enabled": false, 启用IP认证模式,如果启用,那么只能在白名单的地址才能连接

"scrape-paused-torrents-enabled": true,

"script-torrent-done-enabled": false, 在torrent完成时运行脚本,默认关闭

"script-torrent-done-filename": "", 脚本路径

"seed-queue-enabled": false,

"seed-queue-size": 10,

"speed-limit-down": 100, 下载速度限制,默认100KB/s

"speed-limit-down-enabled": false, 启用下载速度限制。默认关闭

"speed-limit-up": 100, 上传速度限制,默认100KB/s

"speed-limit-up-enabled": false, 启用上传速度限制。默认关闭

"start-added-torrents": true, 添加种子文件后,自动开始,如果为false,添加种子后不会自动开始

"trash-original-torrent-files": false, 是否删除监控目录添加的种子文件,也就是说在watch-dir监控的目录下添加种子文件后,任务开始后会自
动删除添加的种子文件

"umask": 18, 文件权限的掩码,默认18即755权限,如果改成0是最高权限,下载回来的文件权限就是777

"upload-slots-per-torrent": 14, 每个种子上传连接数

"utp-enabled": true UTP传输是否启用

下面两个需要手动添加的选项,注意每行配置参数都是以逗号结尾,最后一行参数没有逗号(添加下面的参数一定要注意上面最后一行要以逗号结尾,例如"utp-enabled": true,)
"watch-dir": "/root/test", 自动监控种子目录,将种子文件下载或放在此文件夹下,会自动开始下载文件
"watch-dir-enabled": true 是否开启自动监控种子目录

Debian
安装与配置
使用root用户登录,运行以下命令:
apt-get update
apt-get install transmission-daemon -y
安装后打开浏览器,登录http://domain:9091或http:// server-ip:9091

然后会发现如下文字

403: Forbidden

Unauthorized IP Address.

Either disable the IP address whitelist or add your address to it.

If you're editing settings.json, see the 'rpc-whitelist' and 'rpc-whitelist-enabled' entries.

If you're still using ACLs, use a whitelist instead. See the transmission-daemon manpage for details.

因为编辑json文件需要停止Transmission的工作状态,不然而会强行写保护改回去,所以先停止Transmission
/etc/init.d/transmission-daemon stop
配置json文件,同上
vim /var/lib/transmission-daemon/info/settings.json
如果更改了json文件中的下载地址,需要赋予权限和更改用户组:
mkdir -p /home/wwwroot/pt
chmod -R 755 /home/wwwroot/pt
chown -R debian-transmission /home/wwwroot/pt
chgrp -R debian-transmission /home/wwwroot/pt
启动Transmission
/etc/init.d/transmission-daemon start
OK 至此已经安装成功可以使用了。

打开浏览器输入地址就可以使用 http://yourdomain:9091或http:// server-ip:9091

如果要给Transmission加上https防劫持也是可以的,我自己研究了下,分享出我Nginx反代的配置:
server {

listen 80;
server_name yourdomin.com;
return 301 https://$host$request_uri;
}

server {

listen 443;
server_name yourdomin.com;
root /usr/share/transmission/web;
ssl_certificate /usr/local/nginx/conf/vhost/xxx.pem;
ssl_certificate_key /usr/local/nginx/conf/vhost/xxx.key;

ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;

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;
}
}

About The Author

Jackie Sung

Jackie Sung, also known by his nick-name KK, always strives for the best and learn from the best. Influenced by the age of Internet, for the last few years, in his spare time, he's been working and living as a Freelance Web Engineer/ Web Developer & Designer/ Amateur Photographer/ Husky Lover. The work he provides is of highest quality, fully-customized responsive, and tested in a wide range of devices, which typically covers both front-end (HTML5/ CSS3/ JavaScript) and back-end (WordPress as the CMS) responsibilities.

Leave a reply

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

15 + 14 =

Pin It on Pinterest

Share This