bt服务器架设linux

bt服务器架设linux

ID:32398492

大小:221.50 KB

页数:10页

时间:2019-02-04

bt服务器架设linux_第1页
bt服务器架设linux_第2页
bt服务器架设linux_第3页
bt服务器架设linux_第4页
bt服务器架设linux_第5页
资源描述:

《bt服务器架设linux》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、[教程]用Bittorrent和PHP搭建BTTracker服务器和发布页这玩意可真是困扰了我好几天,终于基本搞定了。很早前就想整个BT服务器玩玩,一直都是最后半途而废。这次总算是把整个过程都弄明白了,其实根本就不是什么难事情,就是资料太难找了,在GOOGLE搜的关于架设BT服务器的文章还是几年前的那几篇老掉牙的文章,英文又菜得不得了,看文章得用星际译霸一个个翻译。搞得头大了好几天。现在国内网络上比较常见的track主要是Bitcomettrack,94BT,还有个btmas,全都不开源,当然也就不在我的选择范围之内了国外网络上的track主要是

2、bittorrent,BNBT,还有一些完全用PHP做的tracker.Bittorrent是最原版的BTtrack了,虽然除了一个track的功能,但是你可以在上面做很轻易的扩充,也是我的最终选择。BNBT是用C++编写的track,还带了PHP的发布页面,但感觉发布系统做得太粗糙了,本来想拿过来改一下,看了看代码发现C的部分把很多功能都已经包括进去了,也懒得去研究它的代码,于是作罢。至于纯粹用PHP做的tracker和发布系统,经过连续几天在sf.net上的搜索,找到了一个非常优秀的,BT系统:Tbsource。做的超级优秀!其功能齐全程度几

3、乎相当于一个论坛了,看了下代码,好象主要是通过把种子和连接信息写入MYSQL种来实现的,种子信息还好,但是连接信息是时刻在变化的,这样对数据库的操作会不会太频繁了?可能是我没完全看懂它的原理。我经常上的www.filemp3.org和bmtorrents.net就是用Tbsource作的,速度和稳定性都很好啊!但是正因为Tbsource做的太完善了,我都不知道如何去修改。以后有时间再详细研究下,把其中核心的部分抽出来作成DISCUZ的BT插件,应该是个好主意。最后还是回到了bittorrent,就用个tracke就可以了,自己用PHP写个BT发布

4、索引页,应该很简单,省得去研究别人得代码。安装Bittorrent#apt-getinstallbittorrent启动track#bttrack–dfiledownloadlogfile.txt–port8099意思就是启动TRACKER,并在当前目录建立日志文件,downloadlogfile.txt,设置端口为8099以这种方式启动tracker的话是不论谁都可以拿你的tracker做服务器的,如果你想限制只允许上传到本站的种子才能用该服务器的话,可以用下面这种方式启动。#bttrack–port8099–show_namesl–allow

5、ed_dir/mytorrents–dfiledownloadlog.txt这样的话就只对已经上传到本站/mytorrents目录下的种子提供track服务。track这样就可以以了,下面的问题就是如何编写发布系统了思路很简单,上传BT种子到指定的目录,分析BT种子文件,获得文件名,文件大小等信息并插入数据库,这些信息都是很好搞定的。难搞定的是做种人数目,下载人数等信息,这些数据都是即时的。是直接通过track插入数据库好还是通过PHP定时查询tracker再在索引页面现实。通过track直接插入数据库的效率肯定要高一点,但觉得这样的即时信息有必

6、要做这样平凡的插入工作么,还不如通过PHP定时查寻track并生成静态页面现时出来。OK暂时就这么干了!首先是BT种子文件的分析问题,网络上有牛人用PHP编写的两个流传甚广的种子解析文件,BDecode.php和BEncode.php.把这两个文件include后$array=BDecode(path/to/you/down.torrent);$array返回的是你种子文件信息的数组。其中$array[”announce-list”]是该种子使用的tracker列表$infohash=sha1(BEncode($array[”info”])返回数

7、组的hash信息(hash要用sha1()解码)$filesize=$array[”info”][”length”]/1048576返回文件大小如果是用文件夹做的种子,可以通过下面的方法来获得文件大小获得文件名:$filename=$array[”info”][”name”]把上面的种子信息整理下就可以放到数据库里面去了接下来的问题就是BT的即时信息的获得问题啦。这些信息可以通过向BT服务器发送GET请求来获得例如假如你用bittorrenttrack的地址是http://www.mybt.com:8099/announcd那么你应该向这个地址发

8、送请求:http://www.mybt.com:8099/scrape要取得一个种子的信息你需要提供种子的info_hash(这在我们分

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。