VPS 还能怎玩?! 装Proxy,装VPN,这还不够,我还用来挂种子够狠吧 ? 反正频宽闲也是闲者,不过安装前最好事先问问主机商是否允许,合法的文件大多都是OK的。偶用YUM装了几个软体总觉都怪怪的,毕竟不是该软体最新的版本,再加上CentOS是一套强调安全的系统,当然对P2P这玩意不会太支援,我装过了纯网页介面的Torrentflux,很多人推荐的rTorrent,但是最后还是选择了Transmission ?
Transmission是一套Linux底下的BT Client,除了有繁体中文介面、支援UTF-8、介面简洁又漂亮、占用资源少之外也有很多热心人士写方便的外挂加强他的方便性,程式本身支援DHT、PEX,也能加密以及线上更新黑名单功能,可以在桌面运行也可以在console下跑,并且内建了网页管理模组,完全不需要架设伺服器,装好Transmission就可以远端控制了! ?
这边简单滴把安装过程做个纪录,环境是CentOS 5.5的系统,开始自己编译吧! ?
安装方法
*********更新历史*********
2009/12/04 – 首次发表
2010/09/22 – 更新版本为1.93
2010/10/17 – 更新版本为2.10(已增加CentOS专用的启动脚本)
2010/11/12 – 更新版本为2.11(好像跑的快一点)
2010/11/22 – 更新版本为2.12(主要应该是修正了偶而程式会突然耍冷当掉,其他更新了什么看这吧→官网维基)
2011/10/20 – 更新版本为2.41
2019/11/16 – 更新版本为2.94 for CentOS 7
Step.1 首先新增EPEL、SCL官方Repo
1 2 3 |
yum install -y epel-release centos-release-scl-rh centos-release-scl yum-utils sudo yum-config-manager --enable epel centos-sclo-rh centos-sclo-sclo sudo update -y |
然后开始利用YUM安装必备套件,指令就下面这串啦 ?
1 |
yum install -y gcc gcc-c++ m4 make automake libtool gettext openssl-devel pkgconfig perl-libwww-perl perl-XML-Parser curl curl-devel libidn-devel zlib-devel which python-devel sqlite-devel xz |
Step.2 下载Transmission以及必备套件然后开始安装
1 2 3 4 |
cd /opt wget https://github.com/libevent/libevent/releases/download/release-2.1.11-stable/libevent-2.1.11-stable.tar.gz wget http://ftp.gnu.org/gnu/libiconv/libiconv-1.16.tar.gz wget https://github.com/transmission/transmission-releases/raw/master/transmission-2.94.tar.xz |
这边开始要按照顺序安装唷!
1 2 3 4 |
cd /opt tar zxf libiconv-*.tar.gz tar zxf libevent-*-stable.tar.gz xz -d transmission-*.tar.xz && tar xf transmission-*.tar |
1 2 3 4 5 |
cd /opt cd libiconv-* ./configure --prefix=/usr --sysconfdir=/etc make && make install /sbin/ldconfig |
1 2 3 4 5 6 |
cd /opt cd libevent-*-stable ./configure --prefix=/usr --sysconfdir=/etc make && make install export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH /sbin/ldconfig |
1 2 3 4 |
export PKG_CONFIG_PATH=/usr/lib/pkgconfig:$PKG_CONFIG_PATH cd /opt/transmission-* ./configure --prefix=/usr CFLAGS=-liconv --enable-lightweight --enable-utp --enable-nls make -s && make -s install |
PS. 主程式configure失败时可切换成此指令再试一次./configure --prefix=/usr --enable-lightweight --enable-utp --enable-nls
Step.3 建立Transmission的相关目录
1 2 3 4 5 6 |
cd /opt rm -rf intltool-* libiconv-* libevent-* transmission-* mkdir -p /usr/local/transmission mkdir -p /opt/transmission/incomplete mkdir -p /opt/transmission/complete mkdir -p /opt/transmission/torrent |
Step.4 启动Transmission产生Transmission的设定档 ***此步骤要执行2次***
1 2 3 4 |
/usr/bin/transmission-daemon -g /usr/local/transmission killall transmission-daemon /usr/bin/transmission-daemon -g /usr/local/transmission killall transmission-daemon |
Step.5 编辑Transmission设定档,这边我有把远控的port改成5566。
cp /usr/local/transmission/settings.json /usr/local/transmission/settings.json.bak
vi /usr/local/transmission/settings.json
比较重要的设定如下:
"download-dir": "/opt/transmission/complete", // 下载完成储存的位置
"incomplete-dir": "/opt/transmission/incomplete", // 尚未下载完成储存的位置
"script-torrent-done-enabled": true, // 下载完成后呼叫script
"script-torrent-done-filename": "/var/lib/scripts/posttorrent.sh", // 呼叫的script所在位置
"open-file-limit": 128, // 最大开启档案数量
"peer-limit-global": 480, // 最大连接数
"peer-limit-per-torrent": 60, // 单一任务连接数
"peer-port":59999, // Transmission连接使用的port
"ratio-limit": 2.0000, // 上下传比例达到多少停止做种
"ratio-limit-enabled": false, // 启用可限制上下传比例
"rpc-enabled":true, // 启用网页管理模组
"rpc-bind-address": "0.0.0.0", // 指定IP位置
"rpc-port":5566, // 指定网页管理模组的port
"rpc-authentication-required": true, // 启用使用者认证方式
"rpc-username": "username, // 登入的使用者名称
"rpc-password": "password, // 登入的使用者密码
"rpc-whitelist-enabled": false, // 启用IP认证模式,这个模式是认IP的唷! 有需要再启动
"rpc-whitelist": "127.0.0.1,其他可以连的IP, // 指定认可的IP位置,以,做为区隔
"speed-limit-down-enabled": false, // 启用可限制下载速度
"speed-limit-down": 100, // 限制下载速度,以KB/Sec计算
"speed-limit-up-enabled": false, // 启用可限制上传速度
"speed-limit-up": 100, // 限制上传速度,以KB/Sec计算
"upload-slots-per-torrent": 30 // 每个Torrent的上传连接数量,过于跛脚的网路请设10
如果是用在动物机上开启档案数量和连接数就不可以调太高,免得负载太高而罢工,除了以上的设定值之外其他参数也可以参考官网的维基都有说明
Step.6 新增一个Transmission启动脚本
1 2 3 4 5 6 |
touch /var/log/transmission.log chmod 777 /var/log/transmission.log rm -f /etc/systemd/system/transmission.service wget -O /etc/systemd/system/transmission.service http://520.be/wp-upload/transmission.service.TXT chmod +x /etc/systemd/system/transmission.service systemctl daemon-reload |
Transmission启动脚本内容如下
1 2 3 4 5 6 7 8 9 10 11 12 |
[Unit] Description=Transmission BT Daemon After=network.target [Service] User=transmission LimitNPROC=500000 LimitNOFILE=500000 ExecStart=/usr/bin/transmission-daemon -f --log-error -g /usr/local/transmission --logfile /var/log/transmission.log [Install] WantedBy=multi-user.target |
Step.7 新增Transmission启动脚本要用到的使用者
***密码部分要输入两次***
useradd transmission && passwd transmission
# 设定权限
1 2 |
chown -R transmission:transmission /opt/transmission chown -R transmission:transmission /usr/local/transmission |
Step.8 编辑iptables规则,加入Transmission使用的port
1 2 3 4 5 |
service iptables stop iptables -A INPUT -p tcp --dport 5566 -j ACCEPT iptables -A INPUT -p tcp --dport 59999:61000 -j ACCEPT iptables-save | tee /etc/sysconfig/iptables systemctl restart iptables |
然后启动服务之后打开浏览器输入http://IP或域名:5566/就能远控Transmission了。 ?
1 2 |
systemctl enable transmission && systemctl start transmission && systemctl status transmission -l ps ax | grep transmission-daemon && netstat -tulpn | grep transmission* |
ref.
- 搭配FlexGet来实现读取RSS自动下载功能
- 在VPS上安装BT软体qBittorrent
- Transmission Remote GUI
- 图解 Transmission 入门
- Transmission 2.92 ~2.94 编译 for Centos 7 – 消失的亚特兰提斯
- 编译安装transmission报错的解决办法-嗟嗟嗟
