[TOC]

1.前言

描述:对于某度或者某讯来说,普通用户下载的速度可是少得可怜几KB几KB得,这时候我们这篇文章就尤为重要了;

常用得方式(方法):

用户脚本管理器:https://greasyfork.org/zh-CN


2.Aria2-AriaNg

描述:Aria2作为一款Linux下的下载神器,很多极客都在使用,可以下载http资源.种子文件、磁力链接等,功能强大,而且整合Chrome插件可以摆脱百度云盘的速度限制
简单的说可以直接利用网页ariang监听Aria2开放的6800端口进行简化下载输入命令的复杂性,结合Pandownload进行提取出URL简直爽歪歪;

Aria2具有特点:

  • 1、高速,自动多线程下载;断点续传;
  • 2、轻量占用内存非常少,通常情况平均4~9MB内存占用(官方介绍);
  • 3、多平台。支援 Win/Linux/OSX/Android 等操作系统下的部署;
  • 4、模块化。分段下载引擎,文件整合速度快;
  • 5、支持RPC界面远程;
  • 6、全面支持BitTorrent协议;

联合使用产品:

(1) 操作流程

  1. 打开AriaNg网页测试:http://ariang.mayswind.net/latest/#!/downloading

  2. 再AriaNg设置中设置Aria2 RPC 信息

WeiyiGeek.

  1. 运行aria2c进行监听6801端口

    PS F:\ChoromeDownload\aria2\aria2> aria2c --enable-rpc --rpc-listen-all=true --rpc-allow-origin-all --rpc-listen-port=6801 -c -D
  2. 刷新Ariang页面进行本地得Aria2链接;

WeiyiGeek.

  1. 新建下载链接进行下载即可;

WeiyiGeek.


(2) Aria2安装
描述:在Linux中aria2不能向在Win中进行开箱即用,需要进行相应得配置,并且是可以安装在路由器上面的;

#yum安装
yum install epel-release #安装EPEL源 = EPEL的全称叫 Extra Packages for Enterprise Linux
yum install aria2 -y

#编译安装,Aria2 1.17.1以上版本要求gcc >= 4.8.3 or clang >= 3.4
yum -y install clang #安装clang
#安装GCC,通过SCL安装GCC
#CentOS 6
wget https://copr.fedoraproject.org/coprs/rhscl/devtoolset-3/repo/epel-6/rhscl-devtoolset-3-epel-6.repo -O /etc/yum.repos.d/rhscl-devtoolset-3-epel-6.repo
yum install devtoolset-3-gcc devtoolset-3-gcc-c++ devtoolset-3-binutils devtoolset-3-gcc-gfortran
scl enable devtoolset-3 bash #启用SCL环境中新版本GCC
gcc --version #检查反馈的第一行是不是gcc (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6),是的话说明环境成功

#编译Aria2
wget https://github.com/aria2/aria2/releases/download/release-1.29.0/aria2-1.29.0.tar.gz #这里可以自己替换最新的版本
tar xzvf aria2-1.29.0.tar.gz
cd aria2-1.29.0
./configure
make
make install
man aria2c #这个是aria2使用手册,看得懂的看,看不懂就不用运行。如果运行了,按一下Q键就可以退出

管理脚本(推荐)
该脚本默认使用配置文件启动,可自行修改配置文件内容

wget http://7jps5o.com1.z0.glb.clouddn.com/aria2/conf/aria2 -O /etc/init.d/aria2
chmod +x /etc/init.d/aria2

启动 : /etc/init.d/aria2 start
停止:/etc/init.d/aria2 stop
重启:/etc/init.d/aria2 restart


(3) Aria2配置
在/root目录创建aria2文件夹,在文件夹内创建aria2.session和aria2.log文件并且创建配置aria2.conf

mkdir .aria2 & cd .aria2
touch aria2.session aria2.log


注意:需要修改文件保存路径和RPC授权令牌,以备注“手动更改”。 保存并修改以下代码创建为aria2.conf文件。

## 文件保存相关 ##
# 文件默认保存路径设置
dir=/home/data
# 文件自动重命名
auto-file-renaming=false
# 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
disk-cache=32M
# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
# 预分配所需时间: none < falloc ? trunc < prealloc
# falloc和trunc则需要文件系统和内核支持
# NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
file-allocation=none



## 下载相关设置 ##
# URI复用
reuse-un=false
# 断点续传
continue=true
# 运行并发连接
follow-torrent=true
# 禁用netrc记录账号密码用于自动登录服务器
no-netrc=true
# 最大尝试次数
max-tries=0
# 文件未找到重试次数
max-file-not-found=5
# 使用UTF-8处理Content-Disposition
content-disposition-default-utf8=true
# 最大同时下载任务数,运行时可修改, 默认:5
max-concurrent-downloads=10
# 每个服务器最大连接数, 默认:1
max-connection-per-server=6
# 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
# 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
min-split-size=10M
# 单任务连接数,默认:5
split=20
# 整体下载速度限制, 运行时可修改, 默认:0
max-overall-download-limit=0


## 上传相关设置 ##
# 整体上传速度限制, 运行时可修改, 默认:0
#max-overall-upload-limit=0
# 单个任务上传速度限制, 默认:0
max-upload-limit=2M
# 启用对等交换
enable-peer-exchange=true
# 对等交互特征
peer-id-prefix=-TR2770-


## 网络监听设置 ##
# 禁用IPv6, 默认:false
disable-ipv6=true


## aria2设置 ##
# 禁用控制台输出
quiet=true
# 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
save-session-interval=60
# 启动加载文件
input-file=/root/.aria2/aria2.session
# 状态保存文件,在Aria2退出时保存`错误/未完成`的下载任务到会话文件
save-session=/root/.aria2/aria2.session
# 延迟加载input-file
deferred-input=true
# 客户端伪装, PT需要
peer-id-prefix=-TR2770-
# 请求的User-Agent设置
user-agent=Transmission/2.77


## BT/PT下载相关 ##
# 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
# follow-torrent=true
# BT监听端口, 当端口被屏蔽时使用, 默认:6881-6999
listen-port=51413
# 单个种子最大连接数, 默认:55
# bt-max-peers=55
# 打开DHT功能, PT需要禁用, 默认:true
enable-dht=true
# 打开IPv6 DHT功能, PT需要禁用
# enable-dht6=false
# DHT网络监听端口, 默认:6881-6999
# dht-listen-port=6881-6999
# 本地节点查找, PT需要禁用, 默认:false
# bt-enable-lpd=true
# 种子交换, PT需要禁用, 默认:true
enable-peer-exchange=true
# 分离仅做种的任务
bt-detach-seed-only=true
# 每个种子限速, 对少种的PT很有用, 默认:50K
# bt-request-peer-speed-limit=50K
# 做种时间30分钟
seed-time=30
# 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0
seed-ratio=0
# 强制保存会话, 即使任务已经完成, 默认:false
# 较新的版本开启后会在任务完成后依然保留.aria2文件
# force-save=false
# BT校验相关, 默认:true
# bt-hash-check-seed=true
# 继续之前的BT任务时, 无需再次校验, 默认:false
bt-seed-unverified=true
# 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
bt-save-metadata=true
# 无速度自动停止时间 秒
bt-stop-timeout=180
# tracker地址
bt-tracker=udp://62.138.0.158:6969/announce,udp://188.241.58.209:6969/announce,udp://93.158.213.92:1337/announce,udp://151.80.120.114:2710/announce,udp://151.80.120.114:2710/announce,udp://208.83.20.20:6969/announce,udp://5.206.19.247:6969/announce,udp://37.235.174.46:2710/announce,udp://54.37.235.149:6969/announce,udp://89.234.156.205:451/announce,udp://159.100.245.181:6969/announce,udp://185.181.60.67:80/announce,udp://194.143.148.21:2710/announce,udp://185.19.107.254:80/announce,udp://51.15.226.113:6969/announce,udp://142.44.243.4:1337/announce,udp://51.15.40.114:80/announce,udp://176.113.71.19:6961/announce,udp://46.148.18.250:2710/announce,udp://46.148.18.254:2710/announce


## RPC相关设置 ##
# 启用RPC, 默认:false
enable-rpc=true
# 允许所有来源, 默认:false
rpc-allow-origin-all=true
# 允许非外部访问, 默认:false
rpc-listen-all=true
# 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同
# event-poll=select
# 随机监听范围内的端口
listen-port=6881-6999
# RPC监听端口, 端口被占用时可以修改, 默认:6800
rpc-listen-port=6800
# 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
rpc-secret=<TOKEN>
# 设置的RPC访问用户名, 此选项新版已废弃, 建议改用 --rpc-secret 选项
rpc-user=ruyo
# 设置的RPC访问密码, 此选项新版已废弃, 建议改用 --rpc-secret 选项
rpc-passwd=RUYO.net

配置文件详细说明

mkdir /etc/aria2/
cat /dev/null & /etc/aria2/aria2.session
wget https://00img.top/data/20161060575174457728.conf -O /etc/aria2/aria2.conf


(4) Aria2使用

  1. 开启aria2
    默认情况下第一种的启动方法是没有保存设定的功能的,重启服务或服务器配置都会丢失。

    -D 用于后台执行,daemon 模式,这样ssh断开连接后程序不会退出和screen一样的效果这样便可以与AriaNg网页端进行联用;

    #第一种方法
    aria2c --enable-rpc --rpc-listen-all=true --rpc-allow-origin-all -c -D

    #第二种方法(推荐)
    aria2c --conf-path=/root/.aria2/aria2.conf -D

    #开机自动启动aria2,只需要将第二种方法添加至/etc/rc.d/rc.local文件底部
    #注意:centos7以后官方将/etc/rc.d/rc.local 的开机自启的权限默认禁止了.如果需要开启执行以下代码
    chmod +x /etc/rc.d/rc.local

实际案例:

#0.URL有缩减可以直接进行下载
aria2c "http://d0.baidupcs.com/file/a98b34355bccd232f85e4dc2f443118e" --header "User-Agent: WeiyiGeek/1.23.3"
4
#1.直接在命令行下载,下载完成后自动退出,就和wget 的工作方式一样。
aria2c "download.url"

#2.Aria2命令行使用。
#使用Aria2下载文件,只需在命令后附加地址即可。如:
aria2c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.6.tar.bz2

#3.分段下载。利用Aria2的分段下载功能可以加快文件的下载速度,对于下载大文件时特别有用。为了使用aria2的分段下载功能,你需要在命令中指定 -s 选项。如:
aria2c -s 2 http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.6.tar.bz2 #这将使用2连接来下载该文件。-s后面的参数值介于1~5之间,你可以根据实际情况选择。

#4.断点续传。在命令中使用-c选项可以断点续传文件。如:
aria2c -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.6.tar.bz2

#5.下载tor-rent文件。你也可以使用Aria2下载BitTor—-rent文件。如:
aria2c -o gutsy.torrent http://cdimage.ubuntu.com/daily-live/current/gutsy-desktop-i386.iso.tor-rent

#6.后台下载
aria2c -D url
aria2c –deamon=true url

#7.验证文件
aria2c –checksum=md5=别人提供的md5

#8.B-T下载
aria2c /tmp/CentOS-6.3-i386-bin-DVD1to2.torr-ent
aria2c http://mirrors.163.com/centos/6.6/isos/x86_64/CentOS-6.6-x86_64-minimal.tor-rent

#9.设置dht端口
aria2c –dht-listen-port=1234 .torrent

#10.下载需要引用页的文件
aria2c –referer=referurl url

#11.限速下载
aria2c –max-download-limit=500k url //单个文件
aria2c –max-overall-download-limit=500k url //全局

#12.下载需要Cookie验证的文件
aria2c –essay-header='Cookie:cookie名称=cookie内容' url
aria2c –load-cookies=cookie文件 url

#13.批量下载文本中所有URL
aria2c -i uris.txt
#注意:当源地址存在诸如&amp;,*等shell的特殊字符,请使用单引号或双引号把URI包含起来。

WeiyiGeek.aria2c下载

RPC Server模式:该模式可以配合下文的图形管理。
默认启动是 6800 端口,怕别人盗用可以设置用户名和密码(1.18.4以上版本支持密钥)


(5) 安装AriaNg
AriaNg是一个web端网站,需要自行安装php服务器,可使用lnmp等一键安装包,安装完服务器并解析域名后,进入网站根目录,直接下载最新版的AriaNg压缩包并解压。

#最新版本的可以打开链接查看 https://github.com/mayswind/AriaNg/releases
wget https://github.com/mayswind/AriaNg/releases/download/1.1.3/AriaNg-1.1.3.zip
unzip AriaNg-1.1.3.zip

点击AriaNg设置进入RPC设置,因为之前aria2都配置好了,只需要输入正确的Aria2 RPC 密钥即可,对就是之前手动修改的RPC授权令牌。
WeiyiGeek.


(6) 其他Aria2图形管理
图形管理界面可以不用和Aria2放到同一台机器上,也可以直接使用别人搭建好的UI。
比如以下这些都是可以的,直接将你的RCP信息输入即可。

PS: 你输入的信息只会保存在你本地,不会上传到别人的服务器上,代码都是开源的。

方法总结: