1、 BT簡介
BitTorrent是一種新型共享軟件方式,優(yōu)勢在于不限制下載帶寬和聯(lián)接線程仍能提供高速下載服務(wù),下載的人越多,下載速度不下降反而更穩(wěn)定,相比之下FTP僅能提供一定數(shù)目內(nèi)的聯(lián)接和有限的帶寬(下載的人越多,速度越慢) 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 包,然后進(jìn)行安裝:
1) tar –zxvf BitTorrent-3.4.2.tar.gz
2) cd BitTorrent-3.4.2 (BitTorrent不用再去編輯,直接就可以用了。)
5、啟動BitTorrent的track服務(wù),這個服務(wù)用來跟蹤、分發(fā)所有下載情況
./bttrack.py -–port 6969 --dfile dstate >;>; /home/log/bttrack.log &
建義用普通用戶來啟動這個服務(wù),這樣對安全有好處。這個命令會在當(dāng)前目錄生成一個dstate的文件,并打開6969端口 ,你可以在IE內(nèi)打入:http://ip:6969/去看服務(wù)的相關(guān)信息。(當(dāng)然,現(xiàn)在還沒有內(nèi)容,生成*.torrent發(fā)布文件及種子后就會有)。這個命令同時(shí)會在/home/log目錄下生成一個bttrack.log 的apache日志格式的日志文件,用于今后做日志分析、統(tǒng)計(jì)。沒有這個目錄的話請建一個吧,注意要是這個普通用戶可寫的:)
6、制作BT的發(fā)布文件
為了能讓他人下載你的東西 ,你先得做一個以.torrent結(jié)尾的BT發(fā)布文件:
./btmakemetafile.py /home/bj3ftp/ftp/Patch/SWDOL/安裝盤/ http://IP:6969/announce
“/home/bj3ftp/ftp/Patch/SWDOL/安裝盤/” 是你要給他人下載的目錄或文件
“http://IP:6969/announce” 是你剛做的track服務(wù)器的IP及端口
這個命令完成后,會在/home/bj3ftp/ftp/Patch/SWDOL/下生成一個”安裝盤.torrent”的發(fā)布文件。把它放到WEB 、論壇 或 FTP等人們從網(wǎng)上能下載到的地方,這樣人們就可以通過這個文件去找track服務(wù)器及種子下載里實(shí)際內(nèi)容了。
7、 生成第一個種子(seed)
“種子“這個概念曾經(jīng)使我郁悶過一段時(shí)間,BT服務(wù)器的track服務(wù)并不提供下載服務(wù),提供下載的是他的種子(seed),也就是一個已經(jīng)下載完成或正在下載的客戶端。因?yàn)橐婚_始沒有這樣的種子,所以你得先自己生成一個:
./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 最大最小監(jiān)聽端口,這樣寫就是說種子只監(jiān)聽6888端口,這樣方便在防火墻上開端口。
/home/bj3ftp/ftp/Patch/SWDOL/安裝盤BT下載.torrent 發(fā)布文件的位置
--saveas /home/bj3ftp/ftp/Patch/SWDOL/安裝盤 實(shí)際文件的位置
這個命令會在BT服務(wù)器本地生成第一個種子,供他人下載。
8、 最后是一個在linux上啟動、關(guān)閉、顯示BT服務(wù)的腳本:
#!/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服務(wù)器完成了,呵呵。
不過,還有一個問題想請教大家,默認(rèn)BT的track服務(wù)會接受所有的*.corrent文件的發(fā)布,也就是說你用./btmakemetafile.py /目錄/文件 http://IP:6969/announce 命令就可以使用任何一臺你所知IP的BT track服務(wù)器來跟蹤、發(fā)布你生成的.torrent文件,有什么方法可以讓tracker服務(wù)器只接受指定IP的發(fā)布?