[FreeBSD] 安裝 rtorrent + screen + rtgui

一直以來都是用 mldonkey 來下載 torrent 的,結果最近一直出現錯誤:

2010/04/05 13:39:59 [DNS] could not resolve btfans.3322.org, check URL
2010/04/05 13:40:00 [DNS] could not resolve tracker.ydy.com, check URL
2010/04/05 13:40:00 [DNS] could not resolve tracker.bitebbs.com, check URL
2010/04/05 13:40:00 [DNS] could not resolve tracker.thepiratebay.org, check URL
2010/04/05 13:40:00 [DNS] could not resolve tracker.prq.to, check URL

改了 /etc/resolv.conf 也沒有用,就乾脆轉到 rtorrent 來了。

rtorrent 是直接在命令列操作的軟體,只要把你的 torrent 檔案放在自己設定的目錄下,他就可以自動開始下載。不過,要啟動他還麻煩的。如果你是用遠端進入,那必須要用 screen 來操作,不然你登出之後,rtorrent 也就結束了。所以有人寫了個 shell script,可以在開機的時候自動啟動。另外,因為我習慣從 web 來管理,所以還安裝了 rtgui。另外 rtorrent 還有一個缺點:不能設定下載後資料夾跟檔案的權限,這樣我就不能用 FTP 刪除檔案了(目前只能先用 crontab 解...>"<)。
安裝 rtorrent:

#cd /usr/ports/net-p2p/rtorrent
#make install clean  //安裝軟體,安裝選項請勾選XMLRPC選項

安裝好之後,設定檔(.rtorrent.rc)放在使用者的家目錄下面:

# 每 torrent 最小/最大連接數
min_peers = 50
max_peers = 200
# 每 torrent 最大上傳數
max_uploads = 2
# 上傳和下載速度限制,設0=無限制.(單位 KiB)
download_rate = 0
upload_rate = 50
# 隨機 port 範圍
port_range = 6890-6999
# 下載檔名編碼
encoding_list = UTF-8
# 下載檔案存放目錄
directory = /home/BT/temp/incoming/directories
# 快取存放目錄(放置下載進度和 DHT)
session = /home/BT/temp/incoming
# scgi 開啟的 port
scgi_port =127.0.0.1:5000
# DHT 開關
dht = on
# DHT port (預設為 6881)
dht_port = 6881
# 放在此目錄的中的 torrent 會自動加入列表
schedule = watch_directory,10,10,load_start=/home/BT/torrents/*.torrent
# 硬碟空間少於100M就自動停止下載
schedule = low_diskspace,5,60,close_low_diskspace=100M

這樣 rtorrent 就可以用了。
安裝 screen:

#cd /usr/ports/sysutils/screen
#make install clean

使用 screen 執行 rtorrent:

#screen    //開啟一個 screen
#rtorrent  //執行 rtorrent
rTorrent快捷键:
選擇:上、下、左、右四個方向鍵
開始下載:CTRL+S
暫停下載:CTRL+D
停止下載:CTRL+K
刪除任務:在停止或暫停狀態下 CTRL+D
檢查完整度:CTRL+R
退出:CTRL+Q
(退出後,在 screen 命令列下,按Ctrl+D將screen丟入背景執行)
#screen -r  //重新取回 screen

然後,也可以自己建立一個開機自動啟動檔(放在 /usr/local/etc/rc.d/ 下面):

#!/bin/sh
case "$1" in
start)
echo -n "Starting rtorrent"
su - BT -c "screen -A -m -d -S rtorrent /usr/local/bin/rtorrent" &
echo "."
;;
stop)
echo -n "Stopping rtorrent"
ppid=`ps ax | grep "/usr/local/bin/rtorrent" | grep -v grep | grep -v screen | awk '{ print $1 }'`
kill ${ppid}
echo "."
;;
restart)
echo -n "Restarting rtorrent"
ppid=`ps ax | grep "/usr/local/bin/rtorrent" | grep -v grep | grep -v screen | awk '{ print $1 }'`
kill ${ppid}
sleep 1
su - BT -c "screen -A -m -d -S rtorrent /usr/local/bin/rtorrent" &
echo "."
;;
*)
echo "Usage: {start|stop|restart}" >&2
exit 1
;;
esac
exit 0

安裝 rtgui:

#cd /usr/ports/net-p2p/rtgui
#make install clean
#cd /usr/local/www/rtgui
#cp config.php.example config.php
#ee config.php
// 種子目錄(上傳 torrent 的目錄)
$watchdir=”/home/BT/torrents/”;
// 下載存放目錄(計算磁碟剩餘空間用)
$downloaddir=”/home/BT/temp/incoming/directories”;
#chmod 755 /usr/local/libexec/apache22/mod_scgi.so  //更改 mod_scgi 權限
#ee /usr/local/etc/apache22/httpd.conf   //將 mod_scgi 和 rtgui 加進去 Apache 的設定
LoadModule scgi_module libexec/apache22/mod_scgi.so //加入mod_scgi.so模組
SCGIMount /RPC2 127.0.0.1:5000
Alias /rtgui "/usr/local/www/rtgui"
 <Directory "/usr/local/www/rtgui/">
 Options none
 AllowOverride Limit
 Order Deny,Allow
 Allow from all
 </Directory>

rtgui 優點:上傳 torrent 可以用網址或是上傳檔案。
參考資料:Net網誌Li Jun's Blog

Please follow and like us:

0 comments on “[FreeBSD] 安裝 rtorrent + screen + rtgui

2 Pings/Trackbacks 於 "[FreeBSD] 安裝 rtorrent + screen + rtgui"

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *