当前位置:首页 » 操作系统 » Bt源码

Bt源码

发布时间: 2023-10-31 21:34:09

① 什么是BT下载

BitTorrent协议(简称BT,俗称比特洪流、BT下载、变态下载)是一个网络文件传输协议,它能够实现点对点文件分享的技术。比起其他点对点的协议,它更有多点对多点的特性,这个特点简单的说就是:下载的人越多,速度越快。下载完不马上关闭BitTorrent软件,就可以成为种子(拥有完整的文件者)分流让其他人下载。

原理简述
BT原理普通的HTTP/FTP下载使用TCP/IP协议,BitTorrent协议是架构于TCP/IP协议之上的一个P2P文件传输协议,处于TCP/IP结构的应用层。 BitTorrent协议本身也包含了很多具体的内容协议和扩展协议,并在不断扩充中。

根据BitTorrent协议,文件发布者会根据要发布的文件生成提供一个.torrent文件,即种子文件,也简称为“种子”。

.torrent文件本质上是文本文件,包含Tracker信息和文件信息两部分。Tracker信息主要是BT下载中需要用到的Tracker服务器的地址和针对Tracker服务器的设置,文件信息是根据对目标文件的计算生成的,计算结果根据BitTorrent协议内的B编码规则进行编码。它的主要原理是需要把提供下载的文件虚拟分成大小相等的块,块大小必须为2k的整数次方(由于是虚拟分块,硬盘上并不产生各个块文件),并把每个块的索引信息和Hash验证码写入.torrent文件中;所以,.torrent文件就是被下载文件的“索引”。

下载者要下载文件内容,需要先得到相应的.torrent文件,然后使用BT客户端软件进行下载。

下载时,BT客户端首先解析.torrent文件得到Tracker地址,然后连接Tracker服务器。Tracker服务器回应下载者的请求,提供下载者其他下载者(包括发布者)的IP。下载者再连接其他下载者,根据.torrent文件,两者分别对方告知自己已经有的块,然后交换对方没有的数据。此时不需要其他服务器参与,分散了单个线路上的数据流量,因此减轻了服务器负担。

下载者每得到一个块,需要算出下载块的Hash验证码与.torrent文件中的对比,如果一样则说明块正确,不一样则需要重新下载这个块。这种规定是为了解决下载内容准确性的问题。

一般的HTTP/FTP下载,发布文件仅在某个或某几个服务器,下载的人太多,服务器的带宽很易不胜负荷,变得很慢。而BitTorrent协议下载的特点是,下载的人越多,提供的带宽也越多,种子也会越来越多,下载速度就越快。

而有些人下载完成后关掉下载任务,提供较少量数据给其他用户,为尽量避免这种行为,在非官方BitTorrent协议中存在超级种子的算法。这种算法允许文件发布者分几步发布文件,发布者不需要一次提供文件所有内容,而是慢慢开放的下载内容的比例,延长下载时间。此时,速度快的人由于未下载完必须提供给他人数据,速度慢的人有更多机会得到数据。

[编辑] DHT网络
目前,又发展出DHT网络技术,使得无Tracker下载成为可能。

DHT全称为分布式哈希表(Distributed Hash Table),是一种分布式存储方法。在不需要服务器的情况下,每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整个DHT网络的寻址和存储。使用支持该技术的BT下载软件,用户无需连上Tracker就可以下载,因为软件会在DHT网络中寻找下载同一文件的其他用户并与之通讯,开始下载任务。

有些软件(比特精灵)还会自动通过DHT搜索种子资源,构成种子市场。

另外,这里使用的DHT算法叫Kademlia(在eMule中也有使用,称为KAD,具体实现协议有所不同)。

这种技术好处十分明显,就是大大减轻了Tracker的负担(甚至不需要)。用户之间可以更快速建立通讯(特别是与Tracker连接不上的时候)。

[编辑] BT中相关概念
Tracker:收集下载者信息的服务器,并将此信息提供给其他下载者,使下载者们相互连接起来,传输数据。

种子:指一个下载任务中所有文件都被某下载者完整的下载,此时下载者成为一个种子。发布者本身发布的文件就是原始种子。也指.torrent文件。

做种:发布者提供下载任务的全部内容的行为;下载者下载完成后继续提供给他人下载的行为。

[编辑] BitTorrent与自由软件
BitTorrent对于大型文档和自由软件如Linux、FreeBSD的发布帮助很大。对于发布数百MB以至数GB的文件时,如Fedora的光盘镜像格式档,BitTorrent的使用能大大减低服务器的数据流量从而减低发布的成本。另外,一般有新版本软件推出时,服务器必定人山人海,使用BitTorrent也能大大减低繁忙时间服务器的负担。

[编辑] 优秀的BT软件
BT Plus!
BitComet
BitLord
BitBuddy
BitTornado
Azureus
µTorrent
比特精灵
BitTorrent

[编辑] 历史
2002年,布莱姆·科亨在CodeCon初次露面,发表首个BT软件BitTorrent。它以python写成,以MIT许可证发布。

[编辑] 负面影响
BT下载方式目前引起社会的广泛讨论。

利用BT免费发布版权内容肯定损害版权所有者的合法权益,但传播非收费性内容的好处有目共睹。争论的焦点是,是否应因此立法全面禁止BT,并且对从事BT下载的人作出惩罚。但到目前为止,中国大陆和西欧国家等,如德国,对BT仍没有任何法律上的约束。而在香港,已经有人(绰号为古惑天皇)因为发布电影的种子而被海关拘捕。2005年10月24日,香港司法机关裁定“古惑天皇”的侵权罪成立,需要即时“监禁”三个月。香港工商贸易部门领导曾俊华与“海关关长”汤显明对今次裁决感到欢迎,并表示香港将不容忍任何侵权行为的存在,同时政府亦会随时与商人合作打击侵权行为。而在台湾,由于需受到美国特别301条款报复的压力,因此经常与IFPI及商业软件联盟(BSA)等商业版权组织合作查缉提供BT来源的网站及讨论区,台湾论坛首度因为供应BT下载遭到被捕,卡提诺王国为全台湾最大的BT以及违法分享最大的分享平台,也于不久后被法务部调查。

[编辑] 支援BT下载协定的浏览器
Opera 8.10 Preview 2 (正式版未发布该功能)

② 手机tracker怎么添加

手机tracker添加办法:GPS Tracker是GPS跟踪器,主要用在人员定位,车辆定位,野外工程勘测,物流调度等场景。

不管是工作场合,还是朋友间联系,手机通讯录依然有着强大的价值。在手机更换频繁的今天,通讯录备份也显得格外重要。换手机,换号了,手机丢了,或者手机故障,这些因素都可能导致手机通讯录的丢失,最好是提前QQ同步助手做好备份。

BT源码的分布:

把BT的源码展开之后,可以看到有一些python程序,还有一些说明文件等等,此外还有一个BitTorrent目录。这些 python程序,实际是一些小工具,比如制作 metafile的、运行tracker服务器的、运行BT client端的 btdownloadheadless等等。

而这些程序中,用到的一些 python 类的实现,都放在子目录 BitTorrent 下面。我们的分析工作,通常是从工具程序入手,而随着分析的展开,则重点是看 BitTorrenet子目录下的代码。

③ bt代码怎么用啊

这个算是种子可以通过这个找到服务器,进搏春闭而下载下来。
有了这个种子可以通过其他下载工具下载如迅雷等森敬等下载方法基裂:
打开迅雷---文件--新建任务--普通任务--把这个源代码复制到下载链接里就行了你这个好像是三枪吧

热点内容
安卓手机怎么联系汽车 发布:2024-11-30 14:12:00 浏览:648
python代码性能 发布:2024-11-30 14:11:57 浏览:678
php变量是否存在 发布:2024-11-30 13:53:00 浏览:954
数组下标过大编译错误吗 发布:2024-11-30 13:52:51 浏览:639
检测5g信号密码是多少 发布:2024-11-30 13:52:51 浏览:258
c语言实现复数运算 发布:2024-11-30 13:30:17 浏览:768
安卓手机要怎么下载突击队ol 发布:2024-11-30 13:03:42 浏览:637
修改密码sql语句 发布:2024-11-30 12:54:54 浏览:156
搭建手游用什么服务器 发布:2024-11-30 12:54:09 浏览:171
四川密码门锁在哪里买 发布:2024-11-30 12:50:29 浏览:401