aria2 mac

aria2 mac– macOS下BT神器

Aria2是一个轻量级多协议和多源命令行下载工具。它支持 HTTP/HTTPS,FTP,SFTP,BitTorrent 和 Metalink。Aria2目前有macOS、 Windows 和 Android版,本文主要以aria2 mac为主。Aria2可以从多个源/协议下载一个文件,并尝试利用您的最大下载带宽。我们来看看它的“过人之处”。

  • 轻量级。Aria2不需要太多内存和 CPU 时间。当磁盘缓存关闭时,物理内存使用通常为4MiB (正常的 HTTP/FTP 下载),9MiB (BitTorrent 下载)。在下载速度为2.8 MiB/sec 的 BitTorrent 中,CPU 占用率约为6% 。这是以单核计算,多核的小伙伴➗N吧
  • 全功能 BitTorrent 客户端。你想在 BitTorrent 客户端的所有功能都可用: DHT,PEX,加密,磁铁 URI,网络播种,选择性下载、Local Peer Discovery(本地用户发现) and UDP tracker(UDP跟踪)。

好吧,这里我们要先介绍一下BT的原理。

BT下载的原理

BitTorrent协议,由美国的程序员布莱姆·科亨于2001年4月时发布。这位可是Steam游戏平台的开发者之一,同时科亨也是游戏爱好者心中的大神。科亨的BitTorrent下载软件第一版,是python语言编写,并公开代码,之后的BT下载软件,也是按照这个模型来编写的。

从此之后,BT就一发不可收拾。最高峰是在2004年,据坊间传闻:当年网路流量总数的40%来自于种子下载。即便在今日,种子下载也占有全球网路流量的6%。网路流量总数的40%!这是多么恐怖😱的比例,可想而知,当年BT多么流行。由于种子下载占用网络上大量的频宽,而且,涉及版权、内容审核等问题,所以,使用bt的用户一直下降。

bt下载的原理

一般的HTTP/FTP下载–也就是通常我们直接在浏览器中下载文件,下载文件仅在某个或某几个服务器,下载的人太多,服务器的带宽很易不胜负荷,变得很慢。而BitTorrent协议下载的特点是,下载的人越多,提供的带宽也越多,下载速度就越快。同时,拥有完整文件的用户也会越来越多,使文件的“寿命”不断延长。

BT原理在该图示中,由不同颜色区分的是某一文件的不同部分,当传输开始时,只有种子发布者拥有全部文件,在传输进行中,有部分用户获得部分文件(带颜色线条表示),随着传输的继续,文件已经全部公布在系统中,此时,种子拥有者可以退出,也不会影响该文件的传播。

使用BT软件为什么被限速


BT下载大量占用网络频宽

种子下载占用网络上大量的频宽,这对于ISP等网络服务商的利益有很大损害。为什么会这样呢?我们互相下载文件,还影响电信呢?又不是没给钱?年年都缴宽带费。这就要找找运营商的黑材料

ISP网络运营商,这群家伙和黑社会、麦当劳的管理体现如出一辙。大ISP向小的ISP提供网络接入,并向其收费,如何收费:根据流量大小来收费。而最核心的大ISP之间则形成peer-peer对等关系,相互之间转发流量不收费。而,我们普通用户安装的宽带,包括手机上网,其实都是由小ISP提供的。

网络的连通性并不代表路由的可达性,路由器是网络节点之间传输流量的必要设备。小ISP(特别是下游的ISP)是不愿意给其它ISP提供流量中转服务的,因为:流量越多这些ISP就需要向上一级缴纳更多费用。

搞明白ISP的管理,我们来看看BT下载:只要在这个网络内拥有了BT下载的节点,它就可能给其它网络进行流量的中转,这些节点包括:服务器、用户计算机。ISP可以找较大的服务器收费,不然ISP不会给这些服务器上网。然而,对于普通用户ISP就没办法了:我们又不是没缴宽带费?

所以,ISP一定要黑化BT下载,这严重危害了他们的集体利益。

日本黑社会

我们打个比方:我们是社区里的居民,被各种小ISP封闭管理,并向他们缴纳保护,小ISP会不时的向我们推销违禁品。这时候,如果你看上了,但你听远方的哥们说,他们的社区价格更低,你们开始私下交易。不要小看这种交易,这是“违法的”,我们挑战了ISP的利益分配原则。这些违禁品,每一层的利差,都是各级ISP利益分配的结果。

流媒体

目前的流媒体–使用BT技术

视频流量占网络流量的比例越来越大, 而传统网络本身对于视频流媒体不能提供很好的支持。这与当年BT下载出现的情况相同,最终导致会导致ISP服务质量的下降。而,通过部署在服务器,能够对流媒体传输进行优化, 可以由内容提供商建设,也可以由 ISP 统一建设后由内容提供商根据需要购买资源, 这样,整个系统就形成闭环,可以由ISP同一管理利益分配。

我们 对比 BT下载:其实两者基本原理相同,可以说“本是同根生,相煎何太急”。之所以封杀BT下载软件,而流媒体却没事,根本的原因就是利益。

BT技术会侵犯版权吗?


这个要看情况,比如电影、音频,如果你买了有版权的,又通过BT分享出来,那可以是侵犯版权。而一些不符合当地法规的内容也BT出来,可能就违法了。

这些其实和BT下载是否违法无关,BT下载只是一种网络工具,有人用来犯法,不等于使用BT软件的人都犯法。这和使用VPN软件是一样道理的,同样是软件,一种工具。就好比菜刀用来切菜,用来砍人肯定犯法啦。所以,各位小伙伴可以大胆使用BT下载。

BT下载的特点


BT 下载的文件是其他用户上传给你的,BT下载速度来自其他用户的上传速度。你链接到的做种上传用户越多,你的下载速度就越快,如果没人做种,那你用什么都没速度。BT下载包含了三个主要概念:

peer(同等的人): 在你获得一个有效用户后才会起作用,Peer 会获取该用户客户端里的用户信息。

DHT: 是一种分布式存储方法,相当于 Peer 的进阶,每个人都储存一部分 DHT 网络信息,需要的时候会通过该网络获得用户,然后再从该用户处获得更多的网络和用户,在连不上 Tracker 的时候很有效,但缺点是一开始是没有 DHT 网络的,必须要养一段时间(下载一些热门资源)才行。

Tracker: 它会追踪下载同一个资源的用户,帮助你与其他用户建立连接,让其他用户把文件上传给你(给你提供下载速度),而你又把下载好的文件上传给其他需要的人(给别人提供下载速度)。

这三个并不存在哪个可以替代哪个或者谁比谁技术更先进的问题,因为它们之间是互补的,同时使用可以最大化寻找用户效果。不过 Peer、DHT 不支持自定义,但 Tracker 目前主流软件都支持自定义了。Tracker 因为不是去中心化的,所以经常被版权公司针对、攻击,所以 Tracker 需要经常更换,因此就需要支持自动更新 Tracker 地址的 BT 软件。

BT协议有哪些


BT协议经历了两次大发展:

有服务器参与

下载时,BT客户端首先解析种子文件得到Tracker地址,然后连接Tracker服务器。Tracker服务器回应下载者的请求,提供下载者其他下载者(包括发布者)的IP。Tracker服务器是什么?其实不用管,把它想成是种子存放点就行了,这个服务器就是个中转站,里面保存的是资源的分布式信息

无服务器参与

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

这其实也容易理解:去中性化嘛,和比特币差不多了,客户端有两个关键功能就行:小范围的路由、存储一小部分数据。计算机硬件和软件之间是没有明显界限的:软件可以模拟硬件,硬件也可以仿真软件,所以,客户端也可以通过软件实现路由器的部分功能,只是,效率低罢了。

种子服务器是一种代理

NordVPN -p2p

通常,每个用户都会从一个服务器或服务器网络下载文件。通过 BT下载软件,每个下载者也会成为一个上传者,使文件共享过程更加高效。许多互联网服务提供商 (ISP) 阻止用户使用它,文件共享要用在合法的地方 。

BT下载技术非常适用于以下场景:

  • 免费访问数据的公开发布内容(例如,开源软件、公共领域视频、科学数据或大型政府信息集)
  • 内部共享的大量企业数据
  • 向庞大的用户群推送软件更新 – Microsoft 就是这样做的

使用的时候最好考虑安全问题:

  • 在网络上传或下载相同文件的每个设备可以看到彼此的 IP 地址
  • 您的互联网服务提供商还可以快速检测到您正在使用 BT下载软件
  • ISP可能会拒绝您访问文件共享网站或设置带宽限制,这样会降低您的网速,bt下载速度慢也有这方面的因素。
  • 因此,信息共享的优势对您的隐私来说并不是好事。

Aria2下载的原理

在这就可以发挥威力了,我们来分析一下,如何实现加速BT!

Aria2的下载原理

BT下载快:要种子多、上传的人多。种子多不是指种子文件,种子多是下载完成的人多,而且保持上传,下完就跑的是不算有种之人的。如果一个种子没有人上传,那么,无论用什么方法包括vpn也没用,下载速度还是为0!

热门种子

BT下载慢,我们首先要排除:真的少人做种、或者无人做种。当我们满怀希望下了热门种子,结果下载速度为0!这真的打击人,真的怀疑被BT软件给骗了。

这就涉及到Tracker服务器、DHT分布式存储、用户本地路由这些功能了:

分布式存储
  • Tracker服务器会存储你的信息,同时会将种子有关的用户数据发送给你,你根据这些信息连接对应的用户,从他们那下载文件。
  • DHT也是这种功能,你可以通过接入DHT网络从而分享以及获得数据,也就是Tracker服务器存储的用户数据,分布到每个用户的个人计算机上。
  • 用户本地路由是和上面两个功能相结合的,有了路由文件(一会设置Aria2 的时候可以看到这个文件),通信接口就畅顺了。

好吧,我们的目的:是为原版的Aria2添加必要的功能,解决第一次安装BT下载软件,下载慢的问题。并实现迅雷的功能,即:下载冷门种子也可以得到不错的速度。那么,针对BT下载的3个主要功能做如下增强

  1. 添加Tracker服务器表列;
  2. 打开DHT增强设置;
  3. 想办法在第一次使用Aria2的时候,获得完整的用户本地路由文件。

安装Aria2


安装Aria2

Aria2 的官网在GitHub,下载连接就在主页。这“家伙”对用户一律假设是“老手”,安装设置一律靠自己,官方文档非常详细,但对新手不太友好。windows、macOS版的安装,其实也没什么安装—下载了执行文件,按照官网上的说明,在Terminal(macOS下)、PowerShell(windows下)输入命令就可以下载。

Aria2官方文档

问题是:你下载去那啊?这个在windows下面还问题不大,文件之间下载在Aria2的目录里面,macOS的要找,而且macOS的新手,或者不习惯Terminal的小伙伴,就麻烦了。所以,我们还是要分开两步:第一,编写一个设置文件;第二,加个图形图形界面。

Aria2设置

以下我以macOS为例(之间会说明windows版的不同之处),说明详细设置。这样做可以有些小伙伴觉得烦,其实通过自己一步步的设置成功,你不但对BT下载的原理更加理解,同时,你将对上面介绍的三种图形界面的BT下载软件,有更好的认识,设置起来驾轻就熟

下面新建一个文本文件,实际上完全可以在图形界面下,新建文件夹

# 首先,新建一个设置文件,每行前#是说明,$是命令行提示符
# 回到用户的根目录
$ cd ~
# 新建一个目录:Aria2
$ mkdir aria2
# 进入目录
$ cd aria2
# 新建设置文件:aria2.conf
$ touch aria2.conf

接着,用你最熟悉的文本编辑器,将下面的设置保存到aria2.conf文件中。

#允许rpc
enable-rpc=true
#允许所有来源, web界面跨域权限需要
rpc-allow-origin-all=true
#允许外部访问,false的话只监听本地端口
rpc-listen-all=true
#RPC端口, 仅当默认端口被占用时修改
#rpc-listen-port=6800
#最大同时下载数(任务数), 路由建议值: 3
max-concurrent-downloads=5
#断点续传
continue=true
#同服务器连接数
max-connection-per-server=5
#最小文件分片大小, 下载线程数上限取决于能分出多少片, 对于小文件重要
min-split-size=10M
#单文件最大线程数, 路由建议值: 5
split=10
#下载速度限制
max-overall-download-limit=0
#单文件速度限制
max-download-limit=0
#上传速度限制
max-overall-upload-limit=0
#单文件速度限制
max-upload-limit=0
#断开速度过慢的连接
#lowest-speed-limit=0
#验证用,需要1.16.1之后的release版本
#referer=*
#文件保存路径, 默认为当前启动位置
dir=/Users/xxx/Downloads
#文件缓存, 使用内置的文件缓存, 如果你不相信Linux内核文件缓存和磁盘内置缓存时使用, 需要1.16及以上版本
#disk-cache=0
#另一种Linux文件缓存方式, 使用前确保您使用的内核支持此选项, 需要1.15及以上版本(?)
#enable-mmap=true
#文件预分配, 能有效降低文件碎片, 提高磁盘性能. 缺点是预分配时间较长
#所需时间 none < falloc ? trunc « prealloc, falloc和trunc需要文件系统和内核支持
file-allocation=prealloc

#添加tracker服务器
bt-tracker=udp://tracker.opentrackr.org:1337/announce,udp://tracker.internetwarriors.net:1337/announce,udp://exodus.desync.com:6969/announce,udp://tracker.cyberia.is:6969/announce,udp://opentracker.i2p.rocks:6969/announce,udp://47.ip-51-68-199.eu:6969/announce,http://open.acgnxtracker.com:80/announce,udp://open.stealth.si:80/announce,udp://www.torrent.eu.org:451/announce,udp://tracker.tiny-vps.com:6969/announce,udp://tracker.torrent.eu.org:451/announce,udp://retracker.lanta-net.ru:2710/announce,udp://tracker.moeking.me:6969/announce,http://tracker.dler.org:6969/announce,udp://ipv4.tracker.harry.lu:80/announce,udp://valakas.rollo.dnsabr.com:2710/announce,udp://opentor.org:2710/announce,udp://vibe.community:6969/announce,udp://tracker1.bt.moack.co.kr:80/announce,udp://tracker0.ufibox.com:6969/announce

#抗DMCA的服务器
enable-dht=true
bt-enable-lpd=true
enable-peer-exchange=true

如果是macOS系统,保存就好。而widnows版的用户需要修改两个地方

Aria2-Windows版下载目录设置

第32行是:Aria2-Windows版下载目录,需要把/改成\,也就是斜杠改成反斜杠,比如:d:\downloads.

Aria2-Windows版下载目录,需要把/改成\,也就是斜杠改成反斜杠,比如:d:\downloads.

第38行需改成:file-allocation=none,原因是:windows的磁盘格式比较落后,为了满足兼容性。

Aria2添加Tracker服务器列表

Aria2添加Tracker服务器列表

第42行,我最近搜集的Tracker服务器列表,已经添加到文件里面。Tracker服务器列表对于提升BT下载速度贡献极大,原理大家都看过。各位小伙伴可以收藏我的链接,或者在文章最后留下email地址,我有空可以发你们。

aria2 webui


使用图形界面前,需要首先启动Aria2 :

在Terminal输入:aria2c –conf-path=”/Users/你的用户名/aria2/aria2.conf” -D,启动Aria2服务。这段的意思就是–用我们刚才编写的aria2.conf文件设置来启动。windows系统下,注意用改文件路径。

进入这个官方的网站,你就可以在里面管理下载文件了,这其实就是Aria2的图形管理界面了。具体的设置就很简单:所见即所得!

aria2 webui

首次使用注意⚠️事项


很多BT下载软件包括:Aria2 ,首次使用的时候,下载非常慢,有的甚至根本没有流量。我之前推荐的三款软件,都有这种问题。解决办法出来添加Tracker服务器列表,还有个窍门:

选择一个热门的BT种子下载后,做种几个小时。这样DHT的路由表就保存到你的本地计算机,从这开始,你可以享受BT的快感了。

VPN可以帮助macOS系统下BT下载速度


可以,因为VPN服务器都会提供这方面的服务–也就是Tracker服务器列表保存其中,并且,VPN也提供更好的路由,这些是我们个人很难搞定的。下面是我使用 威伯斯云 后的下载效果。

使用VPN后的Aria2下载

VPN服务器搜集到的服务器列表比我自己搜集的要详尽,另外,更重要的是VPN加密了我们的数据,BT下载没有被ISP限速!

macOS系统下BT下载的利器– 威伯斯云

logo

威伯斯云是一家提供Cisco(思科)定制VPN服务的互联网公司,他们的网站非常低调,但其实公司从2015年经营至今,公司实力不比某些花里胡哨的VPN公司弱。他们的网站首先非常低调,很明显,不是针对普通用户,不需要花里胡哨的界面吸引眼球。VPN服务商没有一定的实力是无法长期经营的,毕竟那么多网络设备、服务器需要购建和租用。


威伯斯云下载客户端

威伯斯云的客户端,包括:电脑端、手机端都是统一界面,安装和使用都非常简单,下面我们看看如何在iOS系统下,安装威伯斯云的客户端。首先,在国区的苹果市场,搜索“anyconnect”,会找到“Cisco AnyConnect”,截图如下:

在美区的苹果市场,搜索“anyconnect",会找到“Cisco AnyConnect"

安装后,AnyConnect会出现屏幕上,打开AnyConnect VPN的开关:

安装后,AnyConnect会出现屏幕上,打开AnyConnect VPN的开关

这一步,输入服务器地址:node.vps000.org:

输入服务器地址:node.vps000.org

最后,输入用户名、密码,登陆成功就OK了。

输入用户名、密码

我使用移动4G上网,基础网速如下:

使用移动4G上网,基础网速

然后连接威伯斯云进行测试,可以看出下载速度损失在10%左右,PING值也没有增加多少。

连接威伯斯云进行测试,可以看出下载速度损失在10%左右

去香港的YouTube看看4K视频,完全不是问题:

香港的YouTube看看4K视频

vps000-price
vps000 price

威伯斯云从2015年开业至今,一直都没有大的优惠活动,都是每天¥1元的平均成本使用。不过现在终于等到他们降价了:

365天180天90天30天
价格¥360¥180¥90¥30
赠送100天70天20天6天
价格/天0.770.720.820.83
折算每月价格¥23.1/月¥21.6/月¥24.6/月¥24.9/月

关于威伯斯云的详细测评,可以产品这篇文章

常见问题


为什么首次使用Aria2速度慢?

这是因为没有添加Tracker服务器列表,没有下载路由文件。请根据本指南逐步设置,你将获得非一般的BT体验

BT下载需要VPN服务吗?

是否使用VPN看自己的需求,如果是热门的种子,完全没必要,用我上面的设置就可以,速度慢,就慢慢下载。但是,如果是古老、或者冷门的种子,选择带有种子下载功能的VPN就非常有必要了。

BT下载为什么被限速

种子下载占用网络上大量的频宽,这对于ISP等网络服务商的利益有很大损害。

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注