通过分布式的BitTorrent建立一个种子箱(DHT)

该re’s very little writing on how content creators — whether it be authors, software developers, photographers, or amateur musicians or movie makers — can utilize the BitTorrent protocol to distribute their works. With this tutorial, I hope to help people with the technical bits required to set up a web server to share files over BitTorrent; with a special focus on fully utilizing the distributed aspects of BitTorrent and keeping bandwidth costs down.

本教程将告诉你如何保证透过BitTorrent与低成本种​​子箱分布式文件的长期可用性。在本教程中,我假设种子箱将是一个廉价的虚拟专用服务器(可能与Web服务器共享),或者甚至可能是树莓派。种子箱将有助于确保客户会得到你的文件,并确保了长时间的良好的用户体验。

本教程的目的是Fedora Linux系统,但这些指令直接适用于CentOS的红帽企业Linux(RHEL)为好。大部分包含在本教程中的概念和主题将适用于所有的Liyabo88 appnux发行版,甚至其他操作系统,虽然具体的工具来具体化它们可能会有所不同。

通过BitTorrent的介绍分配

BitTorrent是一个协议,其中的文件,人们想下载的切成小块。每当有人想下载一个文件,他们可以从多个其他人的作品,并把它重新走到一起使用的BitTorrent客户端。对于较大的文件传输,这往往比直接从几乎总是强加给每个用户的带宽限制,以避免一个用户节流的服务器一台服务器下载速度更快。BitTorrent的的分布式特性意味着没有一个用户,被称为“同伴”,将携全体分布负载,因此可以用来降低带宽和服务器成本的同时,用户经常会从多个同龄人更大的总下载速度。

透过BitTorrent分发文件是很容易的。任何客户端可以创建山洪,和所有你需要做的,它们发布是您共享torrent文件或与世界磁铁链接。客户端创建的洪流上会种子文件到任何人谁是兴趣下载它。但你如何共享文件在BitTorrent和保证,他们将仍可供长时间?你要么需要永远关闭您的笔记本电脑,客户端驻留,或者建立一个服务器的种子从洪流专用承诺。我会解决后者的做法。

对等群体,谁拥有该文件的哪一部分,已经由一个集中的服务器跟踪的信息称为跟踪器。当你创建你的torrent文件,你可以嵌入在文件中跟踪的信息告诉大家哪里去发现(这件或)谁的文件,也在线。

依托分布式哈希表(DHT)的更先进的方法,完全是分散的,不需要中央跟踪服务器。BitTorrent的每个用户管理整个DHT网络的一小部分和用户本身管理跟踪器之前处理它们之间的作用。

透过BitTorrent分发意味着你放弃了你的文件的分布精细控制,但您会收到来自大家谁愿意下载该文件以换取免费的带宽。对于大文件,在带宽和基础设施的成本节省是巨大的一个流行的文件。yabo88软件下载由于不依赖于跟踪器,服务器甚至不需要协调用户之间的下载,一切都是自我管理。所有你需要做的是共享您的文件与BitTorrent的社区,并继续在分享时间,以确保您的文件的长期可用性。这就是本教程的用武之地。

需要注意的是,作为上述要求可能会建议,该设置将不提供快速传输速度,但只能作为一种低成本和慢播种机可以保持可用随着时间的推移。如果你想确保快速下载以及可用性您可以增加内存,同行,以及带宽限制实验。

安装和配置传输

没有特殊的软件是需要分享的BitTorrent文件,可以使用任何客户端。我发现传输客户端很是为因为它与其他客户端兼容性好一台服务器上使用的最佳替代产品,支持所有最新的协议标准,易于使用,并具有低内存占用。

要开始,从你的包管理器安装传输监控程序(服务器使用非图形的变体),并开始一次以创建默认的文件和目录,你需要将工作与更高版本。

DNF安装传输守护进程systemctl启动传输守护

然后创建的/ var / lib中/传输/播种目录,并将其分配给新的“传播当你安装的传输时创建”用户帐户:

MKDIR -p的/ var / lib中/传输/播种CHOWN传输:传输的/ var / lib中/传输/播种

你现在应该有一组目录和默认的配置文件进行传输。请确保您调整传输的主配置文件之前停止传输服务。否则,你的更改将被覆盖传输退出时。

systemctl停止传输守护

然后继续开拓和修改/var/lib/transmission/.config/transmission-daemon/settings.json在你喜欢的文本编辑器。它应该已经包含了所有在其默认状态下的默认配置选项。这里的变化,你应该为默认值的概要:

“下载目录”: “在/ var / lib中/传输/播种”, “不完全-DIR”: “在/ var / lib中/传输/播种”, “DHT-启用”:真正的 “启用PEX-”:真实,“对限每洪流”:10, “启用端口转发-”:假, “队列停顿的启用”:假 “限速向下”:50,“限速启用下行“:真正的‘限速向上’:50,‘限速向上启用’:真正的‘上传时隙每洪流’:5,‘用户已经给予的知情同意书’:真正的 “手表目录”: “启用手表DIR-” “的/ var / lib中/传输/播种”,:真正的,

本节的其余部分将覆盖这些选项的更深入。你不妨跳到下一章节如果你觉得舒服,你理解上面的选项和值。

手表目录启用手表DIR-:传输将寻找在目标目录中新的torrent文件,并会增加这些以下载和种子名单。此目录是你以后,你希望分发添加新的种子。

对涨停的洪流上传时隙每洪流:第一个值应为大约一倍后者的值。对等限制控制你的服务器有多少人愿意到有关torrent沟通,而后者有多少是愿意它在任何给定时间上传到。这些值甚至应该保持低时文件利息高的BitTorrent的手段,其他人也将代表您要分发文件的分布特性。保持低的值是保持传输的内存使用量低的最重要的指标之一。

PEX启用:与对等交换(PEX)启动,这人有和没有上传插槽将关于谁拥有可用的全部或部分文件中的其他人被告知。通过共享这些信息,人们可以更容易地发现谁做都可以上传通道的其他用户。谁已经知道谁拥有文件的其他用户,向用户通常更有效的执行速度较慢的行动DHT网络。这个系统就是为什么你的同行队列限制应该比你的上传插槽极限。

速度跌停限速向上:控制最大的上传和下载带宽昆明植物研究所。设置这个低很多降低带宽成本,客户将更有可能获得超过时,你慢同行选择其他同行。如你不希望自己承担分配带宽的冲击,这些都应该只有当你已经更多的带宽和内存矛增加。

启用队列停滞,:设置为禁用,以防止传输从人停下种子文件的时期时,有你的文件低利率的。由于传输的服务为您的文件长期可用性分发节点,它不应该永远暂停您的任何洪流。

启用DHT-:注册您的客户端和山洪全球分布式哈希表(DHT)的网络中,这样的同行可以找到你的播种机。在默认情况下,你甚至不应该,如果您选择使用跟踪器关闭这个功能。

关于变速箱的许多配置选项的更多信息,可从ConfigFiles wiki页面

配置传输系统

接下来,我们将调整一些系统配置为传输包括系统服务文件(“初始化脚本“)和系统的防火墙。我们将通过调整系统服务文件,以保持传输的足迹尽可能小开始。

如果你不打算低端系统上运行的传输或有无限的带宽,你要仔细查看systemd.execsystemd.resource控制。对于使用价格合理的托管服务器和树莓派之间的任何东西大家,下面的建议应该工作的伟大。

通过复制传播到该位置的系统提供的systemd服务文件定制服务文件,以避免未来的系统更新覆盖您的修改开始:

CP /usr/lib/systemd/system/transmission-daemon.service的/ etc / systemd /系统/

打开和修改/etc/systemd/system/transmission-daemon.service在你最喜欢的文本编辑器。添加这些语句在现有的底部[服务]该文件的部分(省略了省略号):

[服务] ...尼斯= 16个IOSchedulingClass =空闲CPUSchedulingPolicy =空闲MemoryMax = 25M MemoryHigh = 35M ProtectSystem =真

这些选项指定的进程与低系统优先级,并与CPU和磁盘上的低影响运行,以及保持低参数内的内存使用情况。这将防止传输吃所有的可用系统资源。

安装该服务文件的新副本后,你需要重新加载systemd服务缓存,从而为新的文件是系统可见:

systemctl守护重装

最后一步,我们开始传输服务,并开始寻找到加入种子之前,是允许的BitTorrent通过系统防火墙(FirewallD)的谈话:

防火墙-CMD --permanent --service = “传输客户” --add端口 “51413 / TCP的” 防火墙-CMD --permanent --zone = “公共” --add服务= “传输客户”防火墙CMD --reload

请注意,默认传输客户端服务只有打开TCP端口51413.的DHT和μTP协议扩展需要UDP可用同一个端口上很好。待定为此进退两难firewalld,您必须手动包括如图所示添加传输服务您的防火墙规则时,下面的UDP端口51413。

如果有任何中介代理,防火墙,或NAT设备,您可能需要配置端口转发或以其他方式允许你在端口51413服务器TCP / UDP流量。

你现在就可以开始了传输守护,如果是没有任何错误的运行继续启用新的服务作为默认服务,将开始在每次系统启动:

systemctl使--now传输守护

现在,你应该已经得到了自己一个新的BitTorrent种子箱服务器!

增加的种子到种子

一个BT种子箱仅是好,因为它分配洪流。您可以创建一个洪流形成使用任何的BitTorrent客户端,如任何文件传播(可用来与图形用户界面的所有操作系统),或者使用专门工具来生成洪流如我的mitorrent程序对于发生山洪。你不应该设置一个跟踪器地址作为种子箱应该超过DHT发现。操作跟踪器是一个非常带宽和服务器资源密集型任务,并与DHT不再有任何需要它的。

当我们配置的传输收看新的种子,并存储在其下载的数据的/ var / lib中/传输/播种目录下,你可以简单地将您的torrent文件和数据文件在该目录中。

或者,你可以开始从BitTorrent客户端上PC传送无欲无求的数据文件和torrent文件本身上的BitTorrent。告诉你关于你想要的种子种子箱,执行发送远程命令并添加洪流的磁铁链接。您可以通过在大多数BT客户端上转移项目右击并选择“复制链接磁铁”找到。下面的例子命令将添加和下载我的跟踪服务的磁铁URI浏览器扩展你的种子箱来演示如何添加一个磁铁链接:

传输远程--add “磁体:XT =瓮:btih:0b26411f2b6e665b96f64f802260422234aa62de”

如果你设置了多个种子箱,说在世界各地的不同的数据中心,那么你只需要或者torrent文件或磁铁链接发送给每个服务器。该y’ll download and distribute the data files among themselves as soon as one of them — or even your local BitTorrent client — starts sharing the file. It’s quite quick and easy to scale.现在你和山洪思考。

您可以与您的客户或者通过给他们一个传统的torrent文件,或通过共享磁URI链接共享文件。我建议你使用torrent文件只有当你用传统或受限制的网上发布,不允许你发布一个磁铁URI系统工作在磁体链接。(我在看WordPress的!)

还请包括一个小的帮助文本,如“A BitTorrent客户端程序需要下载文件”旁边的torrent文件或链接磁铁在您的网站和其他分销渠道。您可以通过链接出去,并建议一个BitTorrent客户端,以及帮助你的用户。请记住,你应该推荐的BitTorrent客户端将与客户的设备上工作,因此建议为每个流行的操作系统。yabo88软件下载

托管选项

如果你不是愿意或能够配置和主机文件,你可能要考虑一些托管的BitTorrent分发选项。

亚马逊简单存储服务器(S3)报价零配置的BitTorrent这使您可以通过亚马逊的BitTorrent的追踪器分发文件。如果你想使用基于状态跟踪等发现亚马逊没有发布奔流到DHT网络,这是唯一的选项。

每GB亚马逊充电/存储的一个月,加上每个千兆从他们的服务器转移。Costs will be reduced by the distributed nature of BitTorrent, but as Amazon control the tracker and are financially motivated to serve your files themselves … let us just say I wouldn’t be surprised if the tracker favors Amazon’s hosted peers that they can charge for over other peers.

Mininova提供了“优质内容制作”无成本Mininova内容分发。这是谁,这是针对目前还不清楚,但他们似乎只接受电子书,音乐和视频产生。如果您有兴趣通过他们分发其他材料,我建议你与他们联系,并要求无论如何。

更新():Mininova是在停用,并不再提供BitTorrent的配送服务。

像亚马逊S3,Mininova将举办并通过自己的BitTorrent跟踪但不超过DHT种子文件。这又是一个奇怪的决定,因为我相信他们会有兴趣在降低成本的服务是免费提供了。我接触Mininova问多久他们举办的内容,被告知他们将无限期,但指出,“Mininova]可能开始下降旧的内容,没有人被下载”承载它。亚马逊或你的种子箱似乎是一个更可靠的长期选择,虽然Mininova绝对有最低门槛。

我希望这是足以让你开始拥有超过BitTorrent的分发您的数字资料。分布式网络是凉爽,尤其是当他们给你的客户提供更快的下载和帮助您节省金钱的同时!