1、 BT簡介
BitTorrent是一種新型共享軟件方式,優勢在于不限制下載帶寬和聯接線程仍能提供高速下載服務,下載的人越多,下載速度不下降反而更穩定,相比之下FTP僅能提供一定數目內的聯接和有限的帶寬(下載的人越多,速度越慢) BitTorrent更適合大文件的下載。
2、 下載安裝python
BitTorrent-3.4.2要求python的版本在2.x以上,如果你還用的是python-2.x以下的版本請到 http://www.python.org/ftp/python/2.3.4/Python-2.3.4.tgz 下載python的最新版本,然后:
1) tar –zxvf python-2.3.4.tgz
2)cd python-2.3.4
3)configure –prefix=/usr/local/python-2.3.4
4)make && make install
5)mv /usr/bin/python /usr/bin/python-1.5
6)ln –s /usr/local/python-2.3.4/bin/python /usr/bin/python
OK, 和一般linux下編輯安裝軟件一樣,Python 安裝完成了。
4、下載安裝BitTorrent
你可以到 http://bitconjurer.org/BitTorrent/download.html 去下載最新的*nux下用的tar 或zip 包,然后進行安裝:
1) tar –zxvf BitTorrent-3.4.2.tar.gz
2) cd BitTorrent-3.4.2 (BitTorrent不用再去編輯,直接就可以用了。)
5、啟動BitTorrent的track服務,這個服務用來跟蹤、分發所有下載情況
./bttrack.py -–port 6969 --dfile dstate >;>; /home/log/bttrack.log &
建義用普通用戶來啟動這個服務,這樣對安全有好處。這個命令會在當前目錄生成一個dstate的文件,并打開6969端口 ,你可以在IE內打入:http://ip:6969/去看服務的相關信息。(當然,現在還沒有內容,生成*.torrent發布文件及種子后就會有)。這個命令同時會在/home/log目錄下生成一個bttrack.log 的apache日志格式的日志文件,用于今后做日志分析、統計。沒有這個目錄的話請建一個吧,注意要是這個普通用戶可寫的:)
6、制作BT的發布文件
為了能讓他人下載你的東西 ,你先得做一個以.torrent結尾的BT發布文件:
./btmakemetafile.py /home/bj3ftp/ftp/Patch/SWDOL/安裝盤/ http://IP:6969/announce
“/home/bj3ftp/ftp/Patch/SWDOL/安裝盤/” 是你要給他人下載的目錄或文件
“http://IP:6969/announce” 是你剛做的track服務器的IP及端口
這個命令完成后,會在/home/bj3ftp/ftp/Patch/SWDOL/下生成一個”安裝盤.torrent”的發布文件。把它放到WEB 、論壇 或 FTP等人們從網上能下載到的地方,這樣人們就可以通過這個文件去找track服務器及種子下載里實際內容了。
7、 生成第一個種子(seed)
“種子“這個概念曾經使我郁悶過一段時間,BT服務器的track服務并不提供下載服務,提供下載的是他的種子(seed),也就是一個已經下載完成或正在下載的客戶端。因為一開始沒有這樣的種子,所以你得先自己生成一個:
./btdownloadheadless.py --max_allow_in 20 --max_upload_rate 500 --minport 6888 --maxport 6888 /home/bj3ftp/ftp/Patch/SWDOL/安裝盤BT下載.torrent --saveas /home/bj3ftp/ftp/Patch/SWDOL/安裝盤
--max_allow 20 指這個種子最多可以接受20個連接
--max_upload_rate 500 指這個種子最大的可以接受下載的帶寬 500 KB(byte)/s,這樣可以控制下載帶寬。
--minport 6888 --maxport 6888 最大最小監聽端口,這樣寫就是說種子只監聽6888端口,這樣方便在防火墻上開端口。
/home/bj3ftp/ftp/Patch/SWDOL/安裝盤BT下載.torrent 發布文件的位置
--saveas /home/bj3ftp/ftp/Patch/SWDOL/安裝盤 實際文件的位置
這個命令會在BT服務器本地生成第一個種子,供他人下載。
8、 最后是一個在linux上啟動、關閉、顯示BT服務的腳本:
#!/bin/bash
case $1 in
start)
/home/joybaby/BitTorrent-3.4.2/bttrack.py --port 6969 --dfile dstate >;>; /home/log/bttrack.log &
sleep 1
/home/joybaby/BitTorrent-3.4.2/btdownloadheadless.py --max_allow_in 20 --max_upload_rate 500 --minport 6888 --maxport 6888 /home/bj3ftp/ftp/Patch/SWDOL/安裝盤BT下載.torrent --saveas /home/bj3ftp/ftp/Patch/SWDOL/安裝盤 >;&/dev/null &
echo "BT started"
;;
stop)
ps -efw | grep 'bttrack.py' | grep -v grep | awk '{print $2}' | xargs kill && killall python ||
echo "BT not stoped,Please kill it by hand"
;;
show)
ps -efw | grep python | grep -v grep
;;
*)
echo "Usage:./btseed.sh start|stop|show"
;;
Esac
OK,到此,linux下安裝BT服務器完成了,呵呵。
不過,還有一個問題想請教大家,默認BT的track服務會接受所有的*.corrent文件的發布,也就是說你用./btmakemetafile.py /目錄/文件 http://IP:6969/announce 命令就可以使用任何一臺你所知IP的BT track服務器來跟蹤、發布你生成的.torrent文件,有什么方法可以讓tracker服務器只接受指定IP的發布?