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 6688 --maXPort 6688 /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 6688 --maxport 6688 最大最小監聽端口,這樣寫就是說種子只監聽6688端口,這樣方便在防火牆上開端口。 /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 6688 --maxport 6688 /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 startstopshow" ;; Esac