Torrent文件格式
刚找到的,不敢独享,发来看看
Torrent文件格式
BT种子文件格式
BT种子文件使用了一种叫bencoding的编码方法来保存数据。
bencoding现有四种类型的数据:srings(字符串),integers(整数),lists(列表),dictionaries(字典)
编码规则如下:
strings(字符串)编码为:<字符串长度>:<字符串>
例如: 4:test 表示为字符串"test"
4:例子 表示为字符串“例子”
字符串长度单位为字节
没开始或结束标记
integers(整数)编码为:i<整数>e
开始标记i,结束标记为e
例如: i1234e 表示为整数1234
i-1234e 表示为整数-1234
整数没有大小限制
i0e 表示为整数0
i-0e 为非法
以0开头的为非法如: i01234e 为非法
lists(列表)编码为:l<bencoding编码类型>e
开始标记为l,结束标记为e
列表里可以包含任何bencoding编码类型,包括整数,字符串,列表,字典。
例如: l4:test5abcdee 表示为二个字符串["test","abcde"]
dictionaries(字典)编码为d<bencoding字符串><bencoding编码类型>e
开始标记为d,结束标记为e
关键字必须为bencoding字符串
值可以为任何bencoding编码类型
例如: d3:agei20ee 表示为{"age"=20}
d4:path3:C:/8:filename8:test.txte 表示为{"path"="C:/","filename"="test.txt"}
具体文件结构如下:
全部内容必须都为bencoding编码类型。
整个文件为一个字典结构,包含如下关键字
announce:tracker服务器的URL(字符串)
announce-list(可选):备用tracker服务器列表(列表)
creation date(可选):种子创建的时间,Unix标准时间格式,从1970 1月1日 00:00:00到创建时间的秒数(整数)
comment(可选):备注(字符串)
created by(可选):创建人或创建程序的信息(字符串)
info:一个字典结构,包含文件的主要信息,为分二种情况:单文件结构或多文件结构
单文件结构如下:
length:文件长度,单位字节(整数)
md5sum(可选):长32个字符的文件的MD5校验和,BT不使用这个值,只是为了兼容一些程序所保留!(字符串)
name:文件名(字符串)
piece length:每个块的大小,单位字节(整数)
pieces:每个块的20个字节的SHA1 Hash的值(二进制格式)
多文件结构如下:
files:一个字典结构
length:文件长度,单位字节(整数)
md5sum(可选):同单文件结构中相同
path:文件的路径和名字,是一个列表结构,如/test/test.txt 列表为l4:test8test.txte
name:最上层的目录名字(字符串)
piece length:同单文件结构中相同
pieces:同单文件结构中相同
实例:
用记事本打开一个.torrent可以看来类似如下内容
d8:announce35:http://www.manfen.net:7802/announce13:creation datei1076675108e4:infod6:lengthi17799e4:name62:MICROSOFT.WINDOWS.2000.AND.NT4.SOURCE.CODE-SCENELEADER.torrent12:piece lengthi32768e6:pieces20:?W ?躐?緕排T酆ee
很容易看出
announce=http://www.manfen.net:7802/announce
creation date=1076675108秒(02/13/04 20:25:08)
文件名=MICROSOFT.WINDOWS.2000.AND.NT4.SOURCE.CODE-SCENELEADER.torrent
文件大小=17799字节
原文地址:http://blog.csdn.net/zjg555543/article/details/4553338
Torrent文件格式相关推荐
- BitTorrent的协议及.torrent文件格式
BT下载要改版,在网上找到一些有关BT种子的信息: BitTorrent作为一种流行的P2P下载软件而被广泛使用.比起其他的P2P软件来,BitTorrent的优点有几点: 下载速度特别快.这是因为B ...
- linux修改torrent文件格式,最新版本μtorrent for Linux已经完全解决了中文文件名问题啦...
μtorrent for Linux开发很快啊,之前为了做种鸡,曾经在μtorrent for Linux还是rtorrent纠结过,由于怕编译(我使用时的rtorrent的IPv6 还要靠Patch ...
- linux修改torrent文件格式,linux下飞快的BT客户端rtorrent设置:详细解说
打开终端(以下代码如无特殊说明,均指在终端中的命令) 安装 sudo aptitude install rtorrent 建立下载目录 mkdir universe 建立下载历史目录 mkdir un ...
- 让IIS7.0.0.0支持 .iso .7z .torrent .apk等文件下载的设置方法
IIS默认支持哪些MIME类型呢,我们可以这样查看:打开IIS管理器(计算机--管理--服务和应用程序--Internet信息服务(IIS)管理器:或者Win+R,输入inetmgr,Enter),在 ...
- 一只会铲史的猫:我开发的软件一览
一.服务器类软件 1.1. HttpServer 一款Windows平台下基于IOCP模型的高并发轻量级web服务器. 技术特点如下: 1.完全采用IOCP模型,实现真正的异步IO,高并发.高可靠: ...
- BT通信中数据下载的分析和实现
2009-08-21 14:36 BT通信中数据下载的分析和实现 关键字: Redeployment zlib 单态 AOP LightboxBT通信技术作为一种优秀的P2P下载技术,在目前的文件共享 ...
- P2P-torrenttrackermagnetdht原理
1. Torrent 文件格式解析 种子文件包含以下数据: announce - tracker的URL info - 该条映射到一个字典,该字典的键将取决于共享的一个或多个文件: name - 建议 ...
- audio type多种类型_http content-type常见文件格式类型
.* application/octet-stream 二进制流,不知道下载文件类型 .pdf application/pdf PDF(Portable Document Format的简称,意为&q ...
- java 二进制报文头_转自:java 文件格式二进制头文件校验
转自:https://blog.csdn.net/useprogram/article/details/90637401 public class FileTypeUtil { private fin ...
最新文章
- 【PHP高效搜索专题(1)】sphinxCoreseek的介绍与安装
- oracle无法打开表的行集,Oracle错误ORA-22905:无法访问非嵌套表项中的行
- python pytest和allure环境_【转载】Python—Pytest+Allure定制报告
- 技术干货|基于Apache Hudi 的CDC数据入湖「内附干货PPT下载渠道」
- canvas学习之柱状图
- pytorch torch.save
- Angular6笔记之全局组件
- 洛谷 P2324 [SCOI2005]骑士精神
- 经典图像质量评价指标原理
- elasticsearch中forcemerge清除文件占用的磁盘空间
- Ubuntu设置PPPoE拨号上网
- Activity生命周期走向分析
- 焦距、光圈和景深的关系
- 点网络计算机怎么出现蓝屏,电脑总是出现蓝屏该怎么解决
- android编译错误记录
- 电脑没有无线网卡如何联网
- 爬虫(四十六)通用标准库 queue(三十七)
- 【机经】2022 蔚来汽车 在线测评-VE 人工智能
- 2020年8月Java语言程序设计(一)试题及答案
- ABB机器人profinet通讯传输正负整数及浮点数