目录 | Table of Contents
一直想自己弄一个BT下载服务器,迅雷的离线下载确实很好用,但是也有很多局限性,毕竟自己搭建的话,可以全部自定义,想要什么功能就有什么功能。在线播放的也不需要各种等。与迅雷各种吸血下载还有对参数含糊其辞相比,一个Linode 2048的服务器250 Mbps Network Out,相当于30MB/s的专用下载带宽都是明确标示。主要瓶颈将会出现在接收电脑的带宽上。
虽然,由于相同资源可以重复使用,迅雷提供很大的离线储存空间,但是这些东西,自己弄的肯定专业得多了,不会因为节约成本,而出现某些资源不能下载的情况,或者需要进入队列等待离线的情况。
安装 Transmission
主要使用的是 Transmission 这个软件,安装这个软件是很方便的。
yum -y install transmission transmission-daemon
装完之后,需要创建目录和设置文件
vim /var/lib/transmission/.config/transmission-daemon/settings.json
记得将这个目录设置成 transmission用户和用户组的
chown -R transmission:transmission /var/lib/transmission/
在写这个文件的时候,需要将transmission-daemon 关掉,因为程序在关掉的时候,会将正在使用的设置覆盖保存到那个位置。
设置文件是json格式,在设置文件中主要填入几样东西
{ "download-dir": "/home/transmission/download", "incomplete-dir": "/home/transmission/download", "rpc-authentication-required": true, "rpc-password": "登陆密码", "rpc-username": "登陆用户名", "rpc-whitelist-enabled": false, "rpc-bind-address": "网页端的监听地址", }
将下载的目录的用户更改一下
chown -R transmission:transmission /home/transmission/download/
设置防火墙
需要打开BT下载需要用到的端口
#bt 允许 iptables -A INPUT -p udp --destination-port 49152:65535 -j ACCEPT
这里的端口范围使用的是默认的范围。在运行了Transmission后,设置文件或出现很多新的参数,可以在里面找到,并且可以自定义。在网页端也可以设置。
如果使用的是Firewalld, Transmission-bt 已经设置好了服务文件,只需要
firewall-cmd --add-service=transmission-client --permanent firewall-cmd --reload
配置网页端
网页这里使用了nginx的代理,只需要添加一下配置,并且重启一下nginx。默认的网页端的端口号是9091,可以在设置文件中修改。
#BT site server { listen 80; listen [::]:80; server_name 网站的域名; limit_conn limit_addr 10; root /var/www/cache/torrent; location / { proxy_no_cache 1; proxy_cache_bypass 1; proxy_pass http://127.0.0.1:9091; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
在传递资源的网站记得将 gzip 关掉,因为gzip开启了资源的Header就没有了Content-Length了,会影响加载进度。