在VPS上安裝BT軟體Transmission
在VPS上安裝BT軟體Transmission
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
Step.1 首先安裝基本套件
如果沒有安裝rpmforge跟EPEL這2個官方認可的第三方套件庫的話就要手動安裝perl-XML-Parser唷!所以要記得先安裝。
i386 / 32位元
rpm --import http://download.fedora.redhat.com/pub/epel/RPM-GPG-KEY-EPEL-5
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm -ihv http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -ihv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
x84_64 / 64位元
rpm --import http://download.fedora.redhat.com/pub/epel/RPM-GPG-KEY-EPEL-5
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm -ihv http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
rpm -ihv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
然後開始利用YUM做簡便安裝,指令就下面這串啦
yum -y install gcc gcc-c++ m4 make automake libtool gettext openssl-devel pkgconfig perl-libwww-perl perl-XML-Parser curl curl-devel libevent-devel libevent libidn-devel zlib-devel which
Step.2 下載Transmission以及必備套件然後開始安裝
cd /usr/src
wget http://ftp.gnome.org/pub/gnome/sources/intltool/0.40/intltool-0.40.6.tar.gz
wget http://ftp.gnu.org/gnu/libiconv/libiconv-1.14.tar.gz
wget http://download.transmissionbt.com/files/transmission-2.41.tar.bz2
這邊開始要按照順序安裝唷!
tar zxf libiconv-*.tar.gz
cd libiconv-*
./configure --prefix=/usr/local/libiconv
make && make install
cd ..
tar zxf intltool-*.tar.gz
cd intltool-*
./configure --prefix=/usr
make -s
make -s install
cd ..
tar xjf transmission-*.tar.bz2
cd transmission-*
/sbin/ldconfig
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
./configure --prefix=/usr --enable-lightweight
make -s
make -s install
cd ..
Step.3 再來新增Transmission啟動腳本要用到的使用者,***密碼部分要輸入兩次!***
useradd transmission
passwd transmission
Step.4 建立 Transmission 的設定檔目錄以及下載目錄
mkdir -p /usr/local/transmission/
mkdir -p /web/www/transmission/incomplete/
chown -R www:www /web/www/transmission/
chmod 777 /web/www/transmission/
Step.5 啟動Transmission產生Transmission的設定檔 ***此步驟要執行2次***
/usr/bin/transmission-daemon -g /usr/local/transmission
killall transmission-daemon
Step.6 編輯Transmission設定檔,這邊我有把遠控的port改成5566。
cp /usr/local/transmission/settings.json /usr/local/transmission/settings.json.bak
vi /usr/local/transmission/settings.json
比較重要的設定如下:
"download-dir": "/web/www/transmission",, // 下載完成儲存的位置
"incomplete-dir": "/web/www/transmission/incomplete",, // 尚未下載完成儲存的位置
"blocklist-enabled": true, // 啟用黑名單
"dht-enabled": true, // 啟用DHT支援
"encryption": 1, // 傳輸加密
"open-file-limit": 64, // 最大開啟檔案數量
"peer-limit-global": 240, // 最大連接數
"peer-limit-per-torrent": 60, // 單一任務連接數
"peer-port": , // 指定網頁管理模組的port
"rpc-authentication-required": true, // 啟用使用者認證方式
"rpc-username": "lulala", // 登入的使用者名稱
"rpc-password": "balala", // 登入的使用者密碼
"rpc-whitelist-enabled": false, // 啟用IP認證模式,這個模式是認IP的唷! 有安全需要再啟動
"rpc-whitelist": "127.0.0.1,其他可以連的IP", // 指定認可的IP位置,以,區隔
"speed-limit-down": 100, // 限制下載速度,以KB/Sec計算
"speed-limit-down-enabled": false, // 啟用限制下載速度
"speed-limit-up": 100, // 限制上傳速度,以KB/Sec計算
"speed-limit-up-enabled": false, // 啟用限制上傳速度
"upload-slots-per-torrent": 30 // 每個Torrent的上傳連接數量,台灣跛腳的網路請設10
如果是用在動物機上開啟檔案數量和連接數就不可以調太高,免得負載太高而罷工,除了以上的設定值之外其他參數也可以參考官網的維基都有說明
Step.7 最後在編輯一下iptables規則,加入Transmission使用的port
/etc/init.d/iptables stop
iptables -A INPUT -p tcp --dport 5566 -j ACCEPT
iptables -A INPUT -p tcp --dport 59999:61000 -j ACCEPT
/etc/init.d/iptables save
/etc/init.d/iptables restart
Step.8 全部搞定了,然後新增一個Transmission啟動腳本,內容如下
vi /etc/init.d/transmission
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
#!/bin/bash
#
# chkconfig: - 16 84
# description: Start up transmission-daemon
#
# processname: transmission-daemon
# config: /etc/sysconfig/transmission
# source function library
. /etc/rc.d/init.d/functions
# Get network config
. /etc/sysconfig/network
[ "${NETWORKING}" = "no" ] && exit 0
# Defaults
TRANSMISSION_HOME=/usr/bin/transmission-daemon
DAEMON_USER="transmission"
DAEMON_ARGS="-g /usr/local/transmission"
# Daemon
NAME=transmission-daemon
DAEMON=$(which $NAME)
DAEMON_PIDFILE=/var/run/$NAME.pid
DAEMON_LOCKFILE=/var/lock/subsys/$NAME
DAEMON_SCRIPTNAME=/etc/init.d/$NAME
DAEMON_LOGFILE=/var/log/$NAME.log
[ -x "$DAEMON" ] || exit 0
start() {
echo -n $"Starting ${NAME}: "
if [ -n "$TRANSMISSION_HOME" ]; then
export TRANSMISSION_HOME
fi
su - $DAEMON_USER -c "$DAEMON $DAEMON_ARGS"
sleep 2
status $NAME &> /dev/null && echo_success || echo_failure
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
touch $DAEMON_LOCKFILE
pidof -o %PPID -x $NAME > $DAEMON_PIDFILE
fi
echo
}
stop() {
echo -n $"Shutting down ${NAME}: "
killproc $NAME
RETVAL=$?
[ $RETVAL -eq 0 ] && /bin/rm -f $DAEMON_LOCKFILE $DAEMON_PIDFILE
echo
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status $NAME
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|status}" >&2
exit 3
;;
esac
|
然後給權限,啟動之後打開瀏覽器輸入http://IP或域名:5566/就能遠控Transmission了。
chmod +x /etc/init.d/transmission
chkconfig --level 345 transmission on
chown -R transmission:transmission /usr/local/transmission/
service transmission start
測試完畢,打包收工啦!
cd /usr/src
rm -rf libiconv-*
rm -rf intltool-*
rm -rf transmission-*
--------------
- 下載Transmission啟動腳本範本檔
- 搭配FlexGet來實現讀取RSS自動下載功能
Transmission除了網頁介面之外還有非常好用的遠控軟體,我現在就是在用transmission-remote-dotnet(需要加裝 Microsoft .NET Framework 2.0)來搭配使用,transmission-remote-dotnet這套雖然只有支援Win系列的OS,但是有支援UTF-8,就算是簡體中文的檔名也能正確的顯示,而且掛10幾個種子也只吃20多MB記憶體。
另外transmisson-remote-gui這套提供了Mac OS、Windows、Linux-i386 binary、Source code,不過這套沒有中文介面,不支援UTF-8,我使用時中文都會變亂碼。
其他的Transmission使用教學
在VPS上安裝BT軟體Transmission的更多相关文章
- [Python學習筆記] 在Centos上安裝 Django
曾在模擬器跟Digital Ocean上安裝成功,我在 Digital Ocean上的是CentOS 7 x64,模擬器的則是Centos 6.雖然Centos 本身已經裝好 Python 但是是2. ...
- python 3.x上安裝web.py
python 3.x上安裝web.py 查询之后,安装时使用pip3 install web.py==0.40.dev0 最終可以运行 app.py import weburls=( '/',' ...
- [Windows Server] 在 Windows Server 2012 上安裝 .NET Framework 3.5 - 摘自网络
官方: Applies To: Windows 8, Windows 8.1 For a Windows Server® 2012 core installation that is not conn ...
- 如何在 Mac上 安裝 .NET Core 2.1 ?
一.前言 Free. Cross-platform. Open source. A developer platform for building all your apps. --- .net co ...
- Ubuntu 12.04不能在華碩F81se系列電腦上安裝解决辦法
本人華碩F81se系列的電腦,剛開始是裝的ubuntu 10.04的系統,周末閑的無聊,就想把系統換成ubuntu 12.04的,從ubuntu官網上下載了12.04的安裝包,下了個usb insta ...
- linux 上安裝lnmp
1.確保有一台服務器可以正常運行 2.熟練知道一些基本的命令 3.這裡我以lnmp集成環境為例 https://lnmp.org/install.html 4.安裝大約30分鐘左右 5.安裝完畢,訪問 ...
- [Xamarin] 取得所有已安裝軟體清單 (转帖)
最近會用到,簡單記錄一下,抓取所有該手機已經安裝的軟體清單 結果圖: 首先介紹一下Layout : \Resources\Layout\Main.axml <?xml version=&quo ...
- 鸟哥之安裝 CentOS7.x
http://linux.vbird.org/linux_basic/0157installcentos7.php since 2002/01/01 新手建議 開始閱讀之前 網站導覽 Linux 基礎 ...
- FreeBSD 安裝 Tomcat JAVA JDK1.6 筆記
首先是安裝軟體 cd /usr/ports/java/jdk16/ make 在這一步,需要你手動到sun.com上下載幾個安裝包,按提示下載好後加入到 /usr/ports/distfiles/,再 ...
随机推荐
- js获取当前年月日
function GetDate(){ var now = new Date(); var year = now.getFullYear(); //年var month = now.ge ...
- 每天一个小算法(5)----找到链表倒数第K个结点
估计这个问题在面试中被问烂了. 思路是先找到正数的第K个结点的指针pT,然后和指向头结点的指针pN一起向后移动,直到第K个指针指向NULL,此时pN指向的结点即倒数第K个结点. 如图: #includ ...
- APM代码学习笔记3:执行过程
以Linux平台ArduPlane为例 \ArduPlane\Plane.cpp 定义Plane类 继承自AP_HAL::HAL::Callbacks ,获取hal对象. \ArduPlane\Ard ...
- MFC窗口实现最小化到托盘 右键菜单和还原
//.h文件 void toTray();//最小化到托盘 void DeleteTray();//删除托盘图标 afx_msg LRESULT OnShowTask(WPARAM wParam,LP ...
- 数组序列的capacity及size函数
#include<iostream>#include<vector>using namespace std;int main(){ vector<int> i ...
- 无法打开 configsource 文件
右键点击*.config文件,属性里的“复制到输出目录”选项,选择“始终复制”或“如果较新则复制”,这样生成或运行时,该文件就会出现在bin目录或obj目录中.
- MYSQL 退出的三个方式
方式1: exit 方式2: quit 方式3: \q
- 8_Times_Tables
8 // // ViewController.swift // Times Tables // // Created by ZC on 16/1/9. // Copyright © 2016年 ZC. ...
- Android TextWatcher应用实例
(1)使用TextWathcer限制输入字符个数布局中EditText在android布局中经常用到,对EditText中输入的内容也经常需要进行限制,我们可以通过TextWatcher去观察输入框中 ...
- findbugs的ant脚本实践
<?xml version="1.0" encoding="UTF-8"?> <project name="codeCheck&qu ...