linux aria2 离线,使用aria2做离线下载

作者:matrix

被围观: 3,748 次

发布时间:2018-12-19

分类:零零星星 |

7 条评论 »

💡NOTICE:这是一个创建于 879 天前的主题,其中的信息可能已经有所发展或是发生改变。

官网:https://aria2.github.io/

aria2属于垮平台的命令行下载工具,支持多协议BT磁力链.很多网盘下载工具都是用aria2作为下载器

远端服务器做为下载工具的话可以很方便的实现离线下载功能

测试环境:Ubuntu

安装

sudo apt-get install aria2

若需要安装最新版本:

https://github.com/aria2/aria2/releases

wget https://github.com/aria2/aria2/releases/download/release-1.34.0/aria2-1.34.0.tar.gz

tar -xvf aria2-1.34.0.tar.gz

cd aria2-1.34.0

./configure

make & make install

cp ./src/aria2c /usr/local/bin

aria2c -v #查看版本

配置

sudo mkdir /etc/aria2 #存放conf配置文件的路径

sudo touch /etc/aria2/aria2.session #新建session文件

sudo chmod 777 /etc/aria2/aria2.session #设置aria2.session可写

sudo vi /etc/aria2/aria2.conf #创建并编辑下载操作的配置文件

若不特殊存放aria2默认会读取~/.aria2/aria2.conf中的配置文件

写入以下内容:

# rpc加密密钥

#rpc-secret=xxxxxx

#允许rpc

enable-rpc=true

#允许所有来源, web界面跨域权限需要

rpc-allow-origin-all=true

#允许非外部访问

rpc-listen-all=true

#RPC端口, 仅当默认端口被占用时修改

#rpc-listen-port=6800

#最大同时下载数(任务数), 路由建议值: 3

max-concurrent-downloads=5

#断点续传

continue=true

#同服务器连接数

max-connection-per-server=10

#最小文件分片大小, 下载线程数上限取决于能分出多少片, 对于小文件重要

min-split-size=1M

#单文件最大线程数, 路由建议值: 5

split=100

#下载速度限制

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=*

#从会话文件中读取下载任务

input-file=/etc/aria2/aria2.session

#在Aria2退出时保存`错误/未完成`的下载任务到会话文件

save-session=/etc/aria2/aria2.session

#定时保存会话,需要1.16.1之后的release版

#save-session-interval=60

#下载文件的保存路径, 默认为当前启动位置

dir=/home/你的用户名/下载

#禁用IPv6, 默认:false

disable-ipv6=true

#文件缓存, 使用内置的文件缓存, 如果你不相信Linux内核文件缓存和磁盘内置缓存时使用, 需要1.16及以上版本

#disk-cache=0

#另一种Linux文件缓存方式, 使用前确保您使用的内核支持此选项, 需要1.15及以上版本(?)

#enable-mmap=true

#文件预分配, 能有效降低文件碎片, 提高磁盘性能. 缺点是预分配时间较长

#所需时间 none < falloc ? trunc << prealloc, falloc和trunc需要文件系统和内核支持

file-allocation=prealloc

#启用本地节点查找

bt-enable-lpd=true

#添加额外的tracker

bt-tracker=

#单种子最大连接数

#bt-max-peers=55

#强制加密, 防迅雷必备

#bt-require-crypto=true

#当下载的文件是一个种子(以.torrent结尾)时, 自动下载BT

follow-torrent=true

#BT监听端口, 当端口屏蔽时使用

#listen-port=6881-6999

#不确定是否需要,为保险起见,need more test

enable-dht=false

bt-enable-lpd=false

enable-peer-exchange=false

#修改特征

user-agent=uTorrent/2210(25130)

peer-id-prefix=-UT2210-

#修改做种设置, 允许做种

seed-ratio=0

#保存会话

force-save=false

bt-hash-check-seed=true

bt-seed-unverified=true

bt-save-metadata=true

#定时保存会话,需要1.16.1之后的某个release版本(比如1.16.2)

#save-session-interval=60

说明:

注意修改下载文件的保存路径

运行

sudo aria2c --conf-path=/etc/aria2/aria2.conf -D

说明:

-D 参数表示为后台运行

ctrl+c 停止 或直接kill进程

配置系统服务

sudo vi /etc/init.d/aria #

说明:这里使用server aria restart就可以完成重启操作

没有使用aria2c是以为下面的命令killall 会杀掉同名的所有进程 其中也包括当前执行的脚本。否则会导致restart无效 显示Terminated提示

参考:https://blog.csdn.net/wsclinux/article/details/50387121

添加如下内容:

#!/bin/sh

### BEGIN INIT INFO

# Provides: aria2

# Required-Start: $remote_fs $network

# Required-Stop: $remote_fs $network

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description: Aria2 Downloader

### END INIT INFO

# 保存到/etc/init.d/aria

# 启动此服务 server aria restart

CONF=/etc/aria2/aria2.conf #配置文件路径

case "$1" in

start)

echo -n "Starting aria2c"

aria2c --conf-path=$CONF -D

;;

stop)

echo -n "Shutting down aria2c "

killall aria2c

;;

restart)

killall aria2c &>/dev/null

echo "starting"

sleep 3

aria2c --conf-path=$CONF -D

echo "done"

;;

*)

echo "Usage: $0 {start|stop|restart}"

exit 1

;;

esac

exit

sudo chmod 755 /etc/init.d/aria #修改文件权限

#调用

#service aria {start|stop|restart}

使用

chrome 扩展:https://chrome.google.com/webstore/detail/yaaw-for-chrome/dennnbdlpgjgbcjfgaohdahloollfgoc

在线web UI:

https://github.com/mayswind/AriaNg

http://webui-aria2.ghostry.cn/

配置JSON-RPC路径:默认为 http://主机地址:端口/jsonrpc

若启用rpc-secret token验证内容为xxxxxx:

http://token:xxxxxx@主机地址:端口/jsonrpc

Aria2 bt-tracker列表的更新脚本

避免下载为速度0kb 最好定时每天高新

保存:/root/aria2c-track-update.sh

#!/bin/bash

CONF=/etc/aria2/aria2.conf #配置文件路径

list=`wget -qO- https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_all_ip.txt|awk NF|sed ":a;N;s/\n/,/g;ta"`

if [ -z "`grep "bt-tracker" $CONF`" ]; then

sed -i '$a bt-tracker='${list} $CONF

echo add......

else

sed -i "s@[#]*bt-tracker.*@bt-tracker=$list@g" $CONF

echo update......

fi

service aria restart

定时任务:

每天定时更新种子track list 且自动重启aria2c服务

chmod +x /root/aria2c-track-update.sh

crontab -e #编辑定时任务

* 0 * * * /root/aria2c-track-update.sh

参考:

https://www.jianshu.com/p/b2649d073741

http://aria2c.com/usage.html

https://www.moerats.com/archives/374/

https://blog.csdn.net/daloyanf/article/details/78919749

编译安装报错"virtual memory exhausted: Cannot allocate memory":http://muchfly.iteye.com/blog/2296506

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值