BT 种子,磁力链接是个啥?

news2024/9/29 23:23:32

[科普向] BT 种子、磁力链接到底是什么?

BitTorrent

我们平时所说的 BT 种子,实际上指的是由 BitTorrent 协议所生成的一个包含资源信息的文件。与传统的网络传输协议不同,BitTorrent 协议是一种以 Peer-To-Peer(P2P) ,即 用户对用户 模式为主的资源分享协议,采用的是一种 去中心化 的思想,不需要一个专门的文件发布者或者发布平台。

我们平常所使用的 HTTPFTP 等协议需要一个 中心发布者 在网络上发布文件,即一种 点对多 的形式。当然,如果中心发布者由于某种原因被 ban 或者删除了资源,那么我们就无法下载到心爱的 ~~小姐姐~~ 资源了。

所以,从理论上来说,一个 bt 种子只要发布了,种子所包含的资源就 永远 存在于互联网上。


BitTorrent 协议的 思想 是将一个文件划分为 大小相等 的 n 块,块大小必须为 $2^k$ 的整数次方。例如一个 100M 的文件,按照每块 1024k 的大小被分为 100 个小块,每块块中包含 索引信息 和 Hash 值,而我们的下载过程实际上就是 块的交换过程。

BitTorrent 协议的资源发布者会根据要求,制作一个包含资源下载信息,例如 Tracker 服务器地址文件大小文件名块文件大小 等信息的 .torrent 文件,这个过程也就是我们平时说的 做种

下图是我利用 BitComet 软件做的一个种子,大家可以看一下。

                                                                     做种

如果我们要下载 BT 资源,首先要得到对应的 .torrent 文件,然后用专门的下载软件,例如 BitComet、qBittorrent、utorrent 等进行下载,下载过程大概为:

  • 读取 .torrent 文件信息,载入内存
  • 得到文件内的 Tracker 地址,连接 Tracker 服务器
  • Tracker 服务器回应下载请求,记录你的 IP 并告知其它下载者的 IP 地址
  • 你与其他在线的下载者连接,交换各自没有的块
  • 验证得到的块信息,若不同,则需要重新下载

由此可以看出,Tracker 是很重要的一个东西。一但 Tracker 服务器被封,我们也都无法进行下载了。由此,磁力链接 诞生了。

磁力链接

磁力链接(Magnet URI scheme),是对等网络中进行信息检索和下载文档的电脑程序。和基于“位置”连接的统一资源定位符不同,磁力链接是基于元数据(metadata)文件内容,属于统一资源名称

例如这一串链接:

magnet:?xt=urn:btih:53SWOUDWKG6ORSKTJHHE3QXTIBOGU5WU

magnet 为协议名;xt 表示资源定位点; urn:btih 表示 Hash 方法名,最主要的就是后面唯一的一串 40 位 16 进制的数字。磁力链接利用 DHT 技术(分布式哈希表,Distributed Hash Table)和 PEX (Peer Exchange)实现了资源的 “随意” 传播,根本无法禁止。

磁力链接下载的本质是将每一个人都变为 Tracker 服务器,将资源与下载者对应起来,每位下载者保存 部分 信息。这样,在下载资源时,只需寻找拥有所需资源的下载者。

打个比方,A 认识 B,B 认识 C, C 认识 D 和 E;如果 A 想认识 E,就可以通过 B 和 C 的介绍来认识 D,不需要 A 一个个去寻找 E。

具体原理比较复杂,可以去看 回形针 的  视频 详细了解

如何下载?

讲了这么多,那如何下载 BT种子 或者 磁力链接 呢?

使用专门的客户端

在互联网上的常见的支持 BT 下载的客户端有 BitComet、uTorrent、qBitTorrent、Motrix、FDM 等,当然,最重要的还是 Tracker 服务器,可以通过 GitHub 上的一个 项目 来获取到比较好的 Tracker 地址。

第三方支持

百度网盘、115 网盘、迅雷等软件也可以下载。但由于版权和一些其它问题,~~大家懂的都懂~~,效果不是太理想。

自己动手,丰衣足食

有条件的可以使用 Aria2 来自己动手搭建


以上内容仅供简单科普,部分地方措辞等可能不太准确或出现错误,请多多包涵~
错误的地方可向我说明,我会尽量修改~

参考链接

BitTorrent协议与MagNet协议原理

回形针:别再问我什么是 BT 种子

BT种子的原理是什么?

wiki-BT

wiki-磁力链接

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/737312.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【KingbaseES】查看表空间大小

查询单表空间大小 SELECT sys_size_pretty(sys_tablespace_size(sys_default))查看所有表空间大小(不包含系统表空间,包含默认表空间) SELECT oid,spcname AS "Name",sys_size_pretty(sys_tablespace_size(spcname)) AS "Lo…

2. SpringBoot快速回顾(@value读取配置文件)

目录 1.定义配置文件2. 定义Controller类3. 测试4. 优化4.1 封装实体类4.3 定义controller类4.2 测试 本文将介绍如何使用value读取配置文件的内容。 在实际项目中,往往会在配置文件中写项目部署需要配置的环境信息(数据库驱动,数据库账号密码…

mysql离线安装

MySQL离线安装 进行MySQL离线安装包,当前安装版本为MySQL8.0.32 下载页面:https://downloads.mysql.com/archives/community/ 下载地址:https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.36-1.el7.x86_64.rpm-bundle.tar 将下载完成的安…

【Linux】关于Linux系统挂载大于2TB磁盘的问题

之前在Linux系统挂载文件系统的时候,我已经习惯了使用 fdisk 命令来对磁盘进行分区。fdisk 常用的几个指令有: m 显示命令帮助菜单; n 创建新的分区; p 显示分区信息; t 修改分区类型(一般设置为8e&…

Transformer原理理解

本文介绍Transformer的基本原理,主要记录一下自己的学习过程。 论文:https://arxiv.org/abs/1706.03762 参考: http://jalammar.github.io/illustrated-transformer/https://zhuanlan.zhihu.com/p/338817680https://blog.csdn.net/longxin…

2023年05月份青少年软件编程Python等级考试试卷三级真题(含答案)

2023-05 Python三级真题 题数:38 分数:100 测试时长:60min 一、单选题(共25题,共50分) 1. 请选择,下面代码运行之后的结果是?( )(2分) a 2 b 4 try:…

声网 Agora音视频uniapp插件跑通详解

一、前言 在使用声网SDK做音视频会议开发时, 通过声网官方论坛 了解到,声网是提供uniapp插件的,只是在官方文档中不是很容易找到。 插件地址如下: Agora音视频插件 Agora音视频插件(JS) 本文讲解如何跑通演示示例 二、跑通Demo 2.1 环境安装: 参考: 2. 通过vue-…

Mellanox ConnectX-6-dx智能网卡 openvswitch 流表卸载源码分析

Mellanox ConnectX-6-dx智能网卡 具备流表卸载能力。智能网卡的部署方式兼容当前服务器ovs部署方式。而DPU bluefield 2,其要求ovs从服务器上转移到DPU上,这影响现有上层neutron架构,改造量大。 前置信息 OFED代码版本:Linux In…

Scratch 猴子踢球

scratch 猴子踢球 本程序转为HTML后运行,“猴子”角色跟随鼠标移动,“沙滩球”角色开始时生成20个并移动到随机位置,在碰到“猴子”角色时开始移动,碰到边缘或其它角色时反弹。 图形化程序如下 “沙滩球”角色 “猴子”角色

spring 详解四 IOC(spring Bean生命周期)

spring生命周期概述 spring Bean的生命周期是从Bean实例化之后,即通过反射创建对象之后,到Bean成为一个完整对象,最终存储在单例池中,然后在销毁的过程被称为spring Bean的生命周期,这部分不会介绍销毁过程&#xff0…

Spring限流之限流方案分析

文章目录 1 限流方案1.1 引言1.2 常用限流策略1.3 基于guava限流实现1.3.1 引入guava依赖1.3.2 自定义限流注解1.3.3 限流AOP类1.3.4 测试接口 1.4 基于sentinel限流实现1.4.1 引入sentinel核心依赖包1.4.2 自定义限流注解1.4.3 自定义AOP类实现限流1.4.4 自定义测试接口 1.5 基…

独立和相关(线性)的关系

相关(线性)>不独立 不相关(线性) 推不出 独立 (是因为不一定线性相关,可以沿曲线相关)

一起学SF框架系列5.7-模块Beans-BeanDefinition解析

开发人员按元数据规则定义了应用bean,了解SF如何根据定义解析成BeanDefiniton有助于深入理解框架实现。解析过程如下: 资源加载 从资源文件加载bean的元数据配置,实际过程如下图: 实际从指定的XML文件加载bean定义是从XmlBeanD…

电脑pdf如何转换成word格式?分享这三个方法给大家!

记灵在线工具是一个非常方便的PDF转Word工具,它可以帮助用户快速、准确地将PDF文件转换为Word格式。以下是使用步骤: 打开您的网络浏览器,访问记灵在线工具的官方网站。 在首页上找到并点击“PDF转Word”选项。 在新打开的页面中&#xff0…

如何在 SwiftUI 中配置 SwiftData

文章目录 前言创建模型模式和版本控制迈出关键的一步创建迁移计划创建模型容器从视图中查询模型从视图中访问模型上下文总结 前言 在 WWDC 2023 上,Apple 宣布了一个备受期待的新持久性刷新,以一种新的框架形式出现:SwiftData。SwiftData 从…

【设计模式】设计模式前置知识:UML类图入门

UML类图 介绍 UML–Unified modeling language UMl(统一建模语言),是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果UML本身是一套符号的规定,就像数学符号和化学符号一样,这些符号用于…

来啦!OceanBase 第7期技术征文活动获奖名单公布!

“小鱼”的诞生与成长离不开广大开发者的陪伴与支持,我们非常兴奋能把 4.1 版本的这一系列新能力带给大家,“小鱼”会游得更快更远,也会陪伴更多数据库开发者一同成长。 OceanBase 联合墨天轮技术社区,举行「4.1 上手体验」第五届…

基于SpringBoot+Hadoop+Vue的企业网盘系统

完整资料进入【数字空间】查看——baidu搜索"writebug" 1.1.1 选题的背景 随着信息网络技术的迅猛发展,云计算技术从它的概念提出已经开始在实际生产环境中使用了。大部分的东西都已经慢慢云端化,这种新型的技术也受到许多互联网人员的关注&a…

初阶C语言——三子棋

我们今天讲一个小游戏,三子棋大家应该都玩过吧,就是行和列,或者对角线上有一样大的字符时,就为获胜,今天我们就来写这样的一个代码实现这样的功能 首先我们要创建两个源文件和一个头文件 头文件game.h用来包含我们的头…

EmEditor制表符设置为空格

以下是具体操作 工具 - 当前配置属性 - 常规 - 制表符/缩进 - 将制表符转换为空格 前打对钩