bt种子文件文件结构

  估计80%以上接触互联网的人都知道bt是什么东西,任何一个用bt下载的人都知道这样一个概念,种子。bt种子就是记录了p2p对等网络中tracker, nodes, files等信息,也就是说,这个种子告诉你,你要下载什么,到哪里下载。bt种子文件有自己的文件格式,下面简单看看bt种子文件的结构。
  在开始之前,我们先介绍bencode这种编码格式,因为bt种子文件,包括以后的DHT网络中,都是用这种编码的。网上有很多介绍,这里简单再重复一遍。bencode有4种数据类型:string, integer, list 和 dictionary。

  1. string
    字符是以这种方式编码的: <字符串长度>:<字符串>。
    如hell: 4:hell
  2. integer
    整数是一这种方式编码的: i<整数>e。
    如1999: i1999e
  3. list
    列表是一这种方式编码的: l[数据1][数据2][数据3][…]e。
    如列表[hello, world, 101]: l5:hello5:worldi101ee
  4. dictionary
    字典是一这种方式编码的: d[key1][value1][key2][value2][…]e,其中key必须是string而且按照字母顺序排序。
    如字典{aa:100, bb:bb, cc:200}: d2:aai100e2:bb2:bb2:cci200ee

  很多语言都有bencode的实现,Python版本可在pypi里面找到: bencode

  bt种子文件是使用bencode编码的,整个文件就dictionary,包含以下键。

  1. info, dictinary, 必选, 表示该bt种子文件的文件信息。

    文件信息包括文件的公共部分

    piece length, integer, 必选, 每一数据块的长度
    pieces, string, 必选, 所有数据块的SHA1校验值
    publisher, string, 可选, 发布者
    publisher.utf-8, string, 可选, 发布者的UTF-8编码
    publisher-url, string, 可选, 发布者的URL
    publisher-url.utf-8, string, 可选, 发布者的URL的UTF-8编码

    如果bt种子包含的是单个文件,包含以下内容

    name, string, 必选, 推荐的文件名称
    name.utf-8, string, 可选, 推荐的文件名称的UTF-8编码
    length, int, 必选, 文件的长度单位是字节

    如果是多文件,则包含以下部分:

    name, string, 必选, 推荐的文件夹名称
    name.utf-8, string, 可选, 推荐的文件名称的UTF-8编码
    files, list, 必选, 文件列表,每个文件列表下面是包括每一个文件的信息,文件信息是个字典。

    文件字典

    length, int, 必选, 文件的长度单位是字节
    path, string, 必选, 文件名称,包含文件夹在内
    path.utf-8, string, 必选, 文件名称UTF-8表示,包含文件夹在内
    filehash,string, 可选, 文件hash。
    ed2k, string, 可选, ed2k信息。

  2. announce, string, 必选, tracker 服务器的地址
  3. announce-list, list, 可选, 可选的tracker服务器地址
  4. creation date, interger, 必选, 文件创建时间
  5. comment, string, 可选, bt文件注释
  6. created by, string, 可选, 文件创建者。

  上面列举的可能不是很完整的,但是大体上主要的字段没有重大的错误。

  POST AT: http://luoguochun.cn

时间: 2024-10-12 16:36:41

bt种子文件文件结构的相关文章

bt种子文件文件结构分析(转)

估计80%以上接触互联网的人都知道bt是什么东西,任何一个用bt下载的人都知道这样一个概念,种子.bt种子就是记录了p2p对等网络中tracker, nodes, files等信息,也就是说,这个种子告诉你,你要下载什么,到哪里下载.bt种子文件有自己的文件格式,下面简单看看bt种子文件的结构. 在开始之前,我们先介绍bencode这种编码格式,因为bt种子文件,包括以后的DHT网络中,都是用这种编码的.网上有很多介绍,这里简单再重复一遍.bencode有4种数据类型:string, integ

使用C#实现DHT磁力搜索的BT种子后端管理程序+数据库设计(开源)

直接上程序界面,了解整体工作流程是什么样子的,求服务器进行挂机测试,需要固定IP,空间大概需要10G左右(主要是BT种子占用空间过大),最好有SQLSERVER来做为存储数据库,目前采用的是ACCESS数据库做为测试,怕后期数据过百万,对网站进行查询操作很慢. 如果程序运行的时间够长,基本上网络上的种子都会过来,相当于搜片神器了. 开源地址:https://github.com/h31h31/H31DHTMgr 程序下载:H31DHT下载 也提供ASP网站的访问模式: 正在运行中的状态: 本次主

迅雷BT种子制作方法

迅雷BT种子制作方法 BT种子制作是用来存放东西位置,类似创建一个服务器,然后把链接做出来,别人就通过制作好BT种子,进行下载到服务器的内容.因此便于在网上传播,同时由于支持多点下载,使其下载文件的速度和性能得到很大的改善.那BT种子怎么制作呢?现在就和大家说一下BT种子制作的方法. 方法如下: 1.下载"BitTorrent"程序,该程序用于制作bt种子文件.下载完成后,安装该程序. 2.运行BitTorrent程序,在打开的程序主界面中点击"文件"→"

【归纳备忘】收集的一些BT种子搜索网址,这些网址太神奇了。

收集的一些BT种子搜索网址,这些网址太神奇了,不知道怎么实现的,搜电影非常方便. 1.一起搜BT 本人最常用的一个,速度比较快,资源非常多,应用仅有. http://www.yqsobt.com 2.BTDigg 因为这个站对中文资源支持比较好,而且支持种子内部搜索. https://btdigg.org/ 3.磁力搜索-手撕包菜 中文站点,简洁好用. http://bt.shousibaocai.com/ 4.Bt Kitty 中文站点,特色是文件标签,可以提供类似的资源. http://bt

BT种子 kitty

一种电脑“.torrent”文件.装有BT(BitTorrent)下载必须的文件信息,作用相当于Http下载里的Url链接. 一个用户要利用BitTorrent协议下载文件之前,先要从某个网站下载一个包含该文件相关信息的“.torrent”文件. 该种子文件包含一个称为“追踪器(tracker)”的服务器结点(因特网上有很多追踪器)的地址,该追踪器负责维护参与一个特定文件分发的所有对等方的信息. 如何下载本站BT 网盘广告太多的解决办法

利用DHT网络,爬取bt种子。

DHT网络爬虫 传统的Bittorrent服务 传统的BT服务是由两部份组成的,tracker服务和p2p服务,通过前者用户可以知道谁拥有资源,后者是通过前者向拥有资源的用户发起下载. Trackerless 目前在大多数国家,提供tracker服务都是非法的.最终有一天tracker服务会像edonkey的服务一样消失.trackerless的需求于是变得迫切起来. DHT网络 DHT网络就是解决trackerless目前运用最广的方案,核心算法叫Kademlia,也就是所谓的异或算法.在Bi

bt 介绍以及 bt 种子的hash值(特征值)计算

bt种子的hansh值计算,最近忽然对bt种子感兴趣了(原因勿问) 1. bt种子(概念) bt 是一个分布式文件分发协议,每个文件下载者在下载的同时向其它下载者不断的上传已经下载的数据,这样保证下载越快,上传越快,从而实现告诉下载 2. bt 如何实现下载同时上传文件 这个需要从文件本身说起,bt文件包含了两部分信息,一部分是Tracker信息,一部分是文件信息,tracker信息主要是记录下载过程中需要的tracker服务器地址和针对tracker服务器的设置,文件信息是根据对目标文件的计算

bt种子爬虫程序和种子解析(大蟒蛇语言编写)

最近亲眼看到快播被大批警察包围,感觉到快播注定要关闭很多东西,很多宅男宅女们又要寂寞了,于是乎,疯狂的研究DHT网络技术 看到网上也有开源的代码,这不,我拿来进行了二次重写,呵呵,上代码: #encoding: utf-8 import socket from hashlib import sha1 from random import randint from struct import unpack, pack from socket import inet_aton, inet_ntoa

bt种子简介与magnet磁力介绍

BT下载相信老司机们都接触过,绝大部分网友也曾经热血贲张地在网络上狂呼"求种".不过有一个现象大家不知道注意过没,这两年尽管大家叫的仍是"求种""发图不发种,XX被人捅",但求到的资源,却往往不是BT种子了,而且一串串的神秘代码,也就是BT磁力链Magnet链接. 为什么BT种子会慢慢被磁链取而代之?它们都可以用于BT下载,除了文件和字符串这表面上的区别,背后的技术上又有何不同? BT种子有何局限? BT下载大家都用得多,不过其背后原理,或许也只