BT服务器架设Linux.doc_第1页
BT服务器架设Linux.doc_第2页
BT服务器架设Linux.doc_第3页
BT服务器架设Linux.doc_第4页
BT服务器架设Linux.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

教程 用Bittorrent和PHP搭建BT Tracker服务器和发布页这玩意可真是困扰了我好几天,终于基本搞定了。很早前就想整个BT服务器玩玩,一直都是最后半途而废。这次总算是把整个过程都弄明白了,其实根本就不是什么难事情,就是资料太难找了,在GOOGLE搜 的关于架设BT服务器的文章还是几年前的那几篇老掉牙的文章,英文又菜得不得了,看文章得用星际译霸一个个翻译。搞得头大了好几天。现在国内网络上 比较常见的track主要是Bitcomettrack,94BT,还有个btmas,全都不开源,当然也就不在我的选择范围之内了国外网络上的track主要是bittorrent,BNBT,还有一些完全用PHP做的tracker.Bittorrent是最原版的BT track了,虽然除了一个 track的功能,但是你可以在上面做很轻易的扩充,也是我的最终选择。BNBT是用C+编写的track,还带了PHP的发布页面,但感觉发布系统做得太粗糙了,本来想拿过来改一下,看了看代码发现C的部分把很多功能都已经包括进去了,也懒得去研究它的代码,于是作罢。至于纯粹用PHP做的tracker和发布系统,经过连续几天在 上的搜索,找到了一个非常优秀的,BT系统 :Tbsource 。做的超级优秀!其功能齐全程度几乎相当于一个论坛了,看了下代码,好象主要是通过把种子和连接信息写入MYSQL种来实现的,种子信息还好,但是连接信息是时刻在变化的,这样对数据库的操作会不会太频繁了?可能是我没完全看懂它的原理。我经常上的 和就是用Tbsource作的,速度和稳定性都很好啊!但是正因为T bsource做的太完善了,我都不知道如何去修改。以后有时间再详细研究下,把其中核心的部分抽出来作成DISCUZ的BT插件,应该是个好主意。最后还是回到了bittorrent,就用个 tracke就可以了,自己用PHP写个BT发布索引页,应该很简单,省得去研究别人得代码。安装 Bittorrent#apt-get install bittorrent启动 track#bttrack dfile downloadlogfile.txt port 8099意思就是启动TRACKER,并在当前目录建立日志文件, downloadlogfile.txt ,设置端口为8099以这种方式启动 tracker的话是不论谁都可以拿你的 tracker做服务器的,如果你想限制只允许上传到本站的种子才能用该服务器的话,可以用下面这种方式启动。#bttrack port 8099 show_names l allowed_dir /mytorrents dfile downloadlog.txt这样的话就只对已经上传到本站/mytorrents目录下的种子提供track服务。track这样就 可以以了,下面的问题就是如何编写发布系统了思路很简单,上传BT种子到指定的目录,分析BT种子文件,获得文件名,文件大小等信息并插入数据库,这些信息都是很好搞定的。难搞定的是做种人数目,下载人 数等信息 ,这些数据都是即时的。是直接通过track插入数据库好还是通过PHP 定时查询tracker再在索引页面现实。通过track直接插入数据库的效率肯定要高一点,但觉得这样的即时信息有必要做这样平凡的插入工作么,还不如 通过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” )返回数组的 hash信息(hash要用sha1()解码)$filesize=$array”info”length”/1048576返回文件大小如果是用文件夹做的种子,可以通过下面的方法来获得文件大小获得文件名:$filename = $array”info”name”把上面的种子信息整理下就可以放到数据库里面去了接下来的问题就是BT的即时信息的获得问题啦。这些信息可以通过向BT服务器发送GET请求来获得例如假如你用 bittorrent track 的地址是 :8099/announcd那么你应该向这个地址发送请求::8099/scrape要取得一个种子的信息你需要提供种子的info_hash(这在我们分析种子信息时已得到了)例如: :8099/scrape?info_hash=.一开始我不管怎么样都没办法取回返回信息,在网上逛了好几天才找到答案原来在分析种子时得到的info_hash 不能直接用与发送GET请求,还需要经过unicode编码算法如下:php种可以通过函数很简单得实现$s = 4686AA54744019E3B44C6E8F5E90F47F3E8E87F8;$t = pack(H*, $s);$url_hash=urlencode($t);ok 现在就可以向track 发送请求了。require_once (”BEncode.php”);require_once (”BDecode.php”);$info = BDecode(file_get_contents(”:8099/scrape?info_hash=”.$url_hash);返回来的$info是一个数组,我们可以从中取得想要的信息例如:完成数:$infofiles0complete;/破下载数:$infofilesaddslashes(hex2bin($hash)incomplete;其中 hex2bin()是一个16进制转2进制的函数,网上有很多的。核心内容就这么多,扩展起来就很简单了,可以就做一个索应页面,也可以做个强大的发布系统。这里有一篇比较详细的结合MYSQL 的代码http:/www.norskwebforum.no/pastebin/976完!转自疯狂小强的博客原文地址:/xiaoqiang/2 . %e9%a1%b5%e3%80%82//xiaoqiang/2 . %e4%b8%8b%ef%bc%89//forum-46-1.html原创 原创PT建站源码(PT服务器原程序)汇总Tbsource官方网站(已失效):/下载地址:/thread-5152-1-1.html使用站点:CCFbits程序介绍:Tbsource应该算是最古老的PT源码,在2005年12月1日发布了一个alpha版后,代码就停止了更新,它是按照GPL协议发 布的,可以实现PHP数据库TRACKR,但论坛功能不行,php脚本比较简单比较好读,国内目前的Nexus Project也基于它开发的,只是目前未开源属于个人商业代码。Tbsource的代码修改比较容易上手,但是其功能上也过于简单,特别是在管理功能 上。而且其代码不太完善,不过可以根据自己的需要进行增加或调整功能。对于phper来讲,可以利用tbsource来开发一些适于自己应用需要的PT站 点,包括汉化。总体来讲,使用Tbsource建PT站,需要较多的php知识,需要对脚本进行很多修改。TorrentTrader官方网站:/下载地址:/thread-5152-1-1.html程序介绍:开源程序,TorrentTrader是用PHP编写的torrent tracker平台。TorrentTrader相比提供了管理界面,增加了不少管理功能,比如用户、种子的管理等。但其PT下载方面的功能也不太完善,并不直接提供论坛。Xbtit官方网站:/下载地址:/thread-5152-1-1.html程序介绍:开源程序,xbtit的平台就比较完善了,特别是在管理界面上,也提供了很细致的tracker设置和简单的论坛功能。xbtit的语言包也较丰富,汉化起来也比较简单,使用起来倒是比较方便。TBDev官方网站:/下载地址:/thread-5152-1-1.html使用站点:MySiLU程序介绍:tbdev应该算是tbsource的后续开发版本了,代码功能相比tbsource增加了很多,功能上已经很成熟,尤其是web管理功能。MySiLU的PT站通过发布的开发界面可以看出也是根据TBDEV来汉化修改的。Nexus Project使用站点:HDchina、CHDBits、HDStar、PTShow、葡萄等程序介绍:免费授权程序,Nexus Project由来自浙江大学的Nexus团队发起并开发完成。它的目标是代替TBSource项目,提供一个完整的、有序的、重视用户信誉和知识的资源分享社 区的解决方案。Nexus Project第一阶段的版本是基于TBSource开发的。我们在后者的基础上添加或完善了大量功能,同时极大地提高了代码效率。除TBSource 外,我们还吸取了一些其它private tracker的想法或代码,如Bit-HDTV,What.cd和SceneTorrents。晨光版(CGBTSource)官方网站:/使用站点:北邮人BT、晨光BT、乐乎BT、HUDBT等程序介绍:北京交通大学所用的IPv6 BT服务器代码,现免费提供给了北京师范大学等国内10所高校,以协助他们进行IPv6应用研究及部署,目前最新版本为v0.5。其他PT程序:bittorrentr 鼻祖啊,这个在迅雷上可以搜到。webmasterr 收费在300左右。gazella(/) 国外很大大站是用的这家的,也就是what.cd那种介面。另外,东北大学的六维空间,可以说是目前与Discuz! 7.0.0整合最好的PT站;西安交通大学的XJTUPT,由XJTUNS团队基于第二代BT技术(PrivateTracker)而开发,现在进入1.2版本的开发阶段。总的说来,国内网站如需要建PT站的,建议采用Nexus Project,源码需要联系作者购买,价格2000以上,如果是高校需要建PT站,则建议使用晨光版,源码请与D大联系,而对于一般用户来说,就只有选择Xbtit好了。乱世狂人汇总整理 2009.7.18原文地址:/read.php/231.htm转载请注明出处及本地址,谢谢2009.10.24最后更新Tbsource tbsource_01122005_alpha.zip (938.21 KB) TorrentTrader TorrentTraderClassic_v1.09.part1.rar (1 MB) TorrentTraderClassic_v1.09.part2.rar (1 MB) TorrentTraderClassic_v1.09.part3.rar (637 KB) Xbtit Btit_148.zip (934.21 KB) xbtit 2.0汉化包.zip (26.65 KB) TBDev TBDev.09.07.09-rev.1166.rar (803.52 KB) 1评分次数owhateveryouwant转载请注明出自IPv6之家,本帖地址:/thread-5152-1-1.html本主题由 admin 于 2009-10-24 22:11 设置高亮收藏 分享 评分 乱世狂人blog/回复 引用 订阅 TOPadmin管理员UID1 帖子4689 精华3 积分5061 金钱5650 V币 在线时间2251 小时 注册时间2008-11-17 最后登录2009-12-9 2# 发表于 2009-7-18 17:11 | 只看该作者三种PT建站脚本搜索并了解了Private Torrent的一些东西,这两天也尝试了下搭建PT站点。目前的PT站点基本都是php+mysql环境,数据库操作比较频繁,如果用户过多可能会造成 一些负载,所以目前比较大的一些高清PT站点通进行了注册人数的限制,但是仍然也会时常出现web响应慢的情况,如CHD在开放前期遇到 的访问问题。试验的PT脚本有三种,Tbsource(/projects/tbsource),TorrentTrader(/),xbtit(/),三者均能下载开源代码,前两者遵循GNU。三者的原理相同,都是利用php-tracker来控制下载、更新bt信息,使用mysql来保存torrent和peer的各种信息。Tbsource应该算是最古老的PT代码了,2005年以后代码就停止了更新,php脚本比较简单比较好读,后两者代码中有很多借鉴其处,国内目前的 Nexus Project也基于它开发的,只是目前未开源属于个人商业代码。Tbsource的代码修改比较容易上手,但是其功能上也过于简单,特别是在管理功能 上。而且其代码不太完善,不过可以根据自己的需要进行增加或调整功能。对于phper来讲,可以利用tbsource来开发一些适于自己应用需要的PT站 点,包括汉化。总体来讲,使用Tbsource建PT站,需要较多的php知识,需要对脚本进行很多修改。我利用Tbsource搭建了一个,地址如下:71/tbsource/TorrentTrader相比提供了管理界面,增加了不少管理功能,比如用户、种子的管理等。但其PT下载方面的功能也不太完善,并不直接提供论坛。利用TorrentTrader搭建的地址如下:71/TorrentTrader/xbtit的平台就比较完善了,特别是在管理界面上,也提供了很细致的tracker设置和简单的论坛功能。xbtit的语言包也较丰富,汉化起来也比较简单,使用起来倒是比较方便。利用TorrentTrader搭建的地址如下:71/xbtit/ 网站地址:/论坛地址:/导航地址:/博客地址:/介绍:下一代互联网爱好者的天堂 中国最大的IPv6资源网站 最好的学习和交流IPv6的地方。回复 引用 TOPadmin管理员UID1 帖子4689 精华3 积分5061 金钱5650 V币 在线时间2251 小时 注册时间2008-11-17 最后登录2009-12-9 3# 发表于 2009-7-18 17:12 | 只看该作者xbtit的邀请码hack及汉化看来目前PT是很多人关心的系统,从访问统计可以看到很多通过搜索引擎过来的关键词pt、tbsource,xbtit之类的,大容量资源让越来越多的互 联网用户通过SNS的BT方式来共享,这应该是将来一段时间内互联网高速资源下载的一种方式,但是目前C2C的模式只适用于大容量的资源。但目前PT软件资源的确少得可怜,Tbsource不更新了,国内基于它做得CHDbits之类的代码又不走开源路线,所以这方面资源特别是中文资源太少。在google上检索tbsource和xbtit我的页面竟能排上第一页,可见一斑。xbtit应该算目前资源和关注人群比较多的系统了,从它的论坛(/smf/index.php)上可以看到交流的人还不少,在hack方式上它分为open source和private两种方式,后一种不太了解恐怕还是商用购买的方式了,不过open source的资源已经不少了。xbtit默认不提供邀请注册模式,所以必须通过hack来添加这种功能。我下载了open source的invite 试了试,基本实现了简单功能。下载和安装页面如下:HACK Simple Invite System在private也有一个invite hack,从介绍上来看功能很完备,可以不提供公开的下载,地址如下:HACK Invite System by dodge从某种程度来讲,xbtit系统和tbsource相比略显复杂,虽然保留了很多接口但仍然定制性较差,tbsource的简单代码就让人容易上手多了,应该是各有所爱吧。小范围的搭建PT站点,这两者都可以用来玩玩。还是希望能出现中文的PT开源系统,呵呵。原文地址:/read.php?268 网站地址:/论坛地址:/导航地址:/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论