PDA

查看完整版本 : 建设BT服务器方法


Tony
2005-01-13, 03:10 AM
帶寬小的人可以干大事!丢掉ftp server,建BT Server。

例如对于电信的512kbits/s的ADSL(也就是64kByte/s),把电脑变成BT Server,效果就像传销一样,例如你把naruto31.rm共享,假如有30人在下载,那么这30人都是你的下线(给钱你花)(也就是为你服务)(作为一个服务器提供下载服务),假如下载的人都是用ADSL在下载,那么你相当提供30*64KBytes/s=1920KBytes/s的带宽。越多人下,他们为你提供的带宽越多。不象ftp server,越多人下,你为他们提供的带宽越多。

需要软件Bit Torrent Source Code (BT源代码,py格式文件)下载
Complete Dir (制作.torrent的软件)下载
Python Source Code (py编译器) 下载

操作

安装Python Source Code
解压BT.zip到C:\BT(BT源代码)
以omg.wmv为例,要把omg.wmv共享,用Complete Dir制作omg.wmv.torrent
在开始——〉运行,分别打入:
c:\BT\bttrack.py --port 6969 --dfile dstate
(以下是一行,不是两行)
c:\BT\btdownloadheadless.py --url http://www.animeconnection.net/bt/omg.wmv.torrent (http://www.animeconnection.net/bt/omg.wmv.torrent) ;--saveas C:Inetpubwwwrootomg.wmv --display_interval 2 --minport 6881 --maxport 7000

BitTorrent 使用心得 (切斯特·杨)

有一段时间了,越来越多的老外 fansub group 用 BitTorrent(简称 BT)来发布他们的最新作品,自从用了 BT 之后,抓 ensub anime 越来越方便了,而且速度很快。以前每天都要开几十个 channel,每次新作品发布都和打仗一样,非眼明手快不可。现在除了帮忙 distro 的 channel,少数还没有用 BT 的 channel 之外,其他的 channel 都很少去了,虽然 fansub group 增加了不少,每天的新作品也天天增多,但抓起来反而更加轻松。

BT 是一个 free 的下载工具,用类似 eDonkey 的方式,不象 FTP 或者 P2P 软件(IRC/PP/WinMX)那样只有一个发送源,而是所有正在抓某个文件或者已经抓好了某个文件但还没有把下载窗口关闭的人都是发送源。抓的人越多,我下载的速度也越快,抓完之后再把下载窗口开一阵子,比如一个晚上。

类似的工作方式,使得 BT 和 eDonkey 一样有 FTP 和传统 P2P 不可比拟的速度优势,但同样也需要下载的人能自觉得继续提供文件。但与 eDonkey 相比,BT 还是有一些自己的特色。

在 BT 上不用担心会抓到死档,BT 把提供全档的人称为 种子(SEED),正在下载的人称为客户(Client),某一个文件现在有多少种子多少客户是可以看到的,只要有一个种子,就可以放心的下载,一定能抓完。当然,种子越多、客户越多的文件抓起来的速度会越快。

用 BT 不需要指定服务器,虽然在 BT 里面还是有服务器的概念,但使用 BT 的人并不需要关心服务器在哪里。BT 的服务器称为 Tracker,把文件用 BT 发布出来的人需要知道该使用哪个服务器来为要发布的文件提供 Tracker。

BT 虽然有一个客户端,但是没有用户界面,你也不会在开始菜单里面看到有 BT 的入口。客户端装完之后,感觉上就象是消失了一样。

用 BT 下载,需要得到一个扩展名是 .torrent 的文件,这个文件很小,最多几十K,这么小的文件传输是很快的,得到这个文件的方法很多,比如放在某个 Web 服务器上,或者用 FTP 和传统的 P2P 来得到,甚至作为附件贴在论坛上。这个文件里面存放了对应的发布文件的描述信息、该使用哪个 Tracker、文件的校验信息等,BT 用文件关联来对其进行处理。

得到了这个文件之后,直接双击打开,会弹出一个文件保存对话框,选择该把下载的文件放在什么地方。然后就可以看到下载开始进行了,BT 的下载过程正好和 eDonkey 相反,一开始会感觉比较慢,但很快的,速度突飞猛进。感觉 BT 对带宽的使用很有效,单个文件上传和下载的速度都很快。

如果传输中间断掉了,也没有关系,再次打开 .torrent 文件,BT 会自动的续传。

BT 对于文件数量不多的发布,比如 fansub groups 的最新 release,还是非常好用的,不需要每个 group 做自己的 tracker 服务器,因为负担小,大家可以共用一个。作品的发布速度也很快,只要一开始找几个种子,就会像滚雪球一样,越来越多,越来越快。要是 BT 能提供一个类似种子库的东西就更好了。

BT 的主页:http://bitconjurer.org/BitTorrent/index.html (http://bitconjurer.org/BitTorrent/index.html)
BT 客户端下载:
http://osdn.dl.sourceforge.net/s ... /bittorrent-3.1.exe (http://osdn.dl.sourceforge.net/sourceforge/bittorrent/bittorrent-3.1.exe)
推荐下载门户:
http://anime.mircx.com (http://anime.mircx.com/),这里能找到几乎所有的最新发布的 ensub anime 下载入口,链接到各 group 自己的下载页面。

用BT发布资源的简单教程

一,首先你一定要学会如何用BT下载,这是必要条件。如果不会请先看以上介绍;

二 制作.torrent文件:(此文件很小,才几十KB,用来通过各种方式发放出去给下载者)

1,下载制作.torrent软件的程序并安装:
http://unc.dl.sourceforge.net/so ... mpletedir-1.0.1.exe (http://unc.dl.sourceforge.net/sourceforge/bittorrent/completedir-1.0.1.exe);

2,安装成功,就可以运行C:\Program Files\completedir\btcompletedirgui.exe;

3,点击select选择所要共享文件的目录(例如:D:\游戏发行),
然后在第二行announce url:输入“http://bbfans.3322.org:6969/announce (http://bbfans.3322.org:6969/announce)” 这是tracker的地址
第三行piece size用缺省的就可以了。

4,接着点击make开始制作.torrent文件,(共享1GB可能需要2分钟左右的时间。)最后任务完成,可以结束completedir-1.0.1.exe程序。此时.torrent文件已经制作成功。接下来就是把你制作出来的.torrent文件通过任何方式发放出去,如通过web,email,ftp或DC。
注意:这里选取了目录游戏发行,所以在“D:\游戏发行”下会生成civ3ptwstandalone.torrent,03_02_12_城市百分百_新世纪(繁体中文版).torrent,02.28.03.Harbinger-FLT.torrent等等的文件,所以BT支持直接共享一整个目录。

三,此时,还需要你提供一个发放源:
1,点击一个你制作的.torrent文件,然后自动跳出一个对话框让你选择路径,此时不能把路径搞混,应该选择你刚选的文件源。 例如:
上面所说的civ3ptwstandalone.torrent文件,这时我们选择的路径为“D:\游戏发行civ3ptwstandalone\”,确定,再经过2分钟左右的时间核算成功就正式提供上传服务了(感谢你咯)。

2,检查你是否在共享:你可以浏览http://bbfans.3322.org:6969/ (http://bbfans.3322.org:6969/) ;可以看到一行新的代码。这行新代码前的seed数字为1就表示你已经是种子提供上传服务了.

BitTorrent服务器架设指南

BitTorrent是一种新型共享软件方式,优势在于不限制下载带宽和联接线程仍能提供高速下载服务,下载的人越多,下载速度不下降反而更稳定,相比之下FTP仅能提供一定数目内的联接和有限的带宽(下载的人越多,速度越慢) BitTorrent适合于提供10M以上的文件下载,小的文件可集中于同一目录统一提供下载RMVB、AVI等类型的电影文件最适合通过BitTorrent方式共享,经一个多月的测试,对于600M以上电影,50K上传带宽(如ADSL)的服务器,同时提供下载的文件不要多于2个,100K上传带宽同时提供3、4个文件下载最合适,100K以上上传带宽可按此类推

A)下载python(约8M),http://www.python.org/ftp/python/2.3/Python-2.3a2.exe (http://www.python.org/ftp/python/2.3/Python-2.3a2.exe),安装到c:\python23

B)安装BitTorrent服务器程序(约130k)。http://bitconjurer.org/BitTorrent/BitTorrent-3.1.zip (http://bitconjurer.org/BitTorrent/BitTorrent-3.1.zip),解压到c:\bittorrent-3.1

C)在c:\bittorret-3.1目录建立三个批处理文件:
1.bat
c:\python23\python bttrack.py --port 6969 --dfile dstate

2.bat
c:\python23\python btmakemetafile.py c:\avi\demo.avi http://myiporhostsname:6969/announce (http://myiporhostsname:6969/announce)

3.bat
c:\python23\python btdownloadheadless.py --url http://myiporhostsname/demo.avi.torrent (http://myiporhostsname/demo.avi.torrent) ;--saveas c:\avi\demo.avi

D)如果没有安装或运行WEB服务器,安装或运行WEB服务器

E)假设本机的域名是demo.vip.com,WEB服务器目录是c:\httpd,要将c:\movies\thehours目录里的avi电影和字幕文件进行共享,执行如下步骤:
a.
执行1.bat

b
将2.bat中的c:\avi\demo.avi改成c:\movies\thehours,将http://myiporhostsname改成http://demo.vip.com (http://demo.vip.com/)
执行2.bat

如果执行正常,应在c:\movies目录下生成thehours.torrent文件,将此文件拷到c:\httpd

c.
将3.bat中的http://myiporhostsname/demo.avi.torrent (http://myiporhostsname/demo.avi.torrent)改成http://demo.vip.com/thehours.torrent (http://demo.vip.com/thehours.torrent),将c:\avi\demo.avi改成c:\movies,执行3.bat

如果执行正常,程序将读取文件,完成后显示percent done: 100.0的信息并不断刷新

执行完上述三步后你就可以发布你的共享文件,http://demo.vip.com/thehours.torrent (http://demo.vip.com/thehours.torrent),发布其它文件重复执行2、3步

如何用BitTorrent共享自己的文件

BitTorrent工作原理,BitTorrent分为tracker和client两部分。
以发布一个软件为实例:
先安装一个tracker服务器,此服务器需要相对稳定的为client提供服务。
然后将要发布的软件打包成一个,或多个文件。用程序对该文件进行分析
btmakemetafile,会将该文件分成多个段和创建checksum信息以保证下载数据的正确性,
btmakemetafile,会创建一个包含tracker服务器信息,文件分段和checksum信息的,以.torrent
为扩展名的很小的文件,然后用程序发布第一个client, 每个client都
会和tracker建立连接,因为第一个client为起始client,所以他必须包含完整的文件。

现在你可以发布.torrent文件了,当二个人(client2)开始下载的时候,会和tracker服务器建立联系,已取得已有client的信息(如client1),他会依照.torrent的文件划分规则开始向client1下载数据。比如将发布的文件分为10段,这时他开始下在第一段,当client3下载的时候tracker会自动告诉他从client2下载文件的第一段,而从client1下载文件的其他段,以次类推,每个client可以同时从其他client那里下在他们已有的数据段,而下载的同时,也向其他client提供自己已下载的数据段,从而
不仅提高了大家的下载速度也减轻了第一个release者的带宽压力。