(5)树莓派安装下载工具aria

匿名 (未验证) 提交于 2019-12-02 23:04:42
git clone https://github.com/aria2/aria2.git  vi aria2/src/OptionHandlerFactory.cc   OptionHandler* op(new NumberOptionHandler(PREF_MAX_CONNECTION_PER_SERVER,                                               TEXT_MAX_CONNECTION_PER_SERVER,                                            // "1", 1, 16, 'x'));                                               "1", 1, 256, 'x'));  ### 用于修改每个服务器最大连接数   OptionHandler* op(new UnitNumberOptionHandler( //PREF_MIN_SPLIT_SIZE, TEXT_MIN_SPLIT_SIZE, "1M", 1_m, 1_g, 'k'));  PREF_MIN_SPLIT_SIZE, TEXT_MIN_SPLIT_SIZE, "1M", 256_k, 1_g, 'k')); # 用于调整每个文件拆分 
apt-get install libgnutls28-dev nettle-dev libgmp-dev libssh2-1-dev libc-ares-dev libxml2-dev zlib1g-dev libsqlite3-dev pkg-config libcppunit-dev autoconf automake autotools-dev autopoint libtool git gcc g++ libxml2-dev make quilt  libsysfs-dev -y

需要安装这些依赖包防止编译出现问题

cd aria2  autoconf -i  ./configure && make && make install 
编译过程中可能出现异常  getrandom_linux.c:40:24: fatal error: sys/random.h: No such file or directory  #include <sys/random.h>                         ^ compilation terminated. Makefile:2276: recipe for target 'getrandom_linux.lo' failed make[3]: *** [getrandom_linux.lo] Error 1 make[3]: Leaving directory '/opt/aria2/src' Makefile:2341: recipe for target 'all-recursive' failed make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory '/opt/aria2/src' Makefile:556: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/opt/aria2' Makefile:467: recipe for target 'all' failed make: *** [all] Error 2   解决方案 vim /src/getrandom_linux.c   注释掉  /* #include <sys/random.h> */ 即可

编译过程真的是很漫长啊 c++ 编译果然名不虚传. 主要还是树莓派性能问题
直到编译完成 可以通过 aria2 -D 启动

mkdir ~/aria2 && touch aria2.conf && aria2.session vim aria2.conf   # 基本配置 # 下载目录 dir=/mnt/B4T/Downloads # 下载从这个文件中找到的urls, 需自己建立这个文件 # touch /home/pi/.aria2/aria2.session input-file=/root/aria2/aria2.session # 最大同时下载任务数,默认 5 max-concurrent-downloads=20 # 断点续传,只适用于 HTTP(S)/FTP continue=true # HTTP/FTP 配置 # 关闭连接如果下载速度等于或低于这个值,默认 0 #lowest-speed-limit=0 # 对于每个下载在同一个服务器上的连接数,默认 1 max-connection-per-server=256 # 每个文件最小分片大小,例如文件 20M,设置 size 为 10M, 则用2个连接下载,默认 20M min-split-size=256k # 下载一个文件的连接数,默认 5 split=256 # BT 特殊配置 # 启用本地节点查找,默认 false bt-enable-lpd=true # 指定最大文件数对于每个 bt 下载,默认 100 #bt-max-open-files=100 # 单种子最大连接数,默认 55 bt-max-peers=128 # 设置最低的加密级别,可选全连接加密 arc4,默认是头加密 plain #bt-min-crypto-level=plain # 总是使用 obfuscation handshake,防迅雷必备,默认 false bt-require-crypto=true # 如果下载的是种子文件则自动解析并下载,默认 true #follow-torrent=true  bt-tracker=udp://tracker.coppersurfer.tk:6969/announce,udp://tracker.opentrackr.org:1337/announce,udp://tracker.internetwarriors.net:1337/announce,http://tracker.internetwarriors.net:1337/announce,udp://9.rarbg.to:2710/announce,udp://exodus.desync.com:6969/announce,udp://explodie.org:6969/announce,http://explodie.org:6969/announce,udp://public.popcorn-tracker.org:6969/announce,http://tracker.vanitycore.co:6969/announce,udp://tracker.vanitycore.co:6969/announce,udp://tracker1.itzmx.com:8080/announce,udp://ipv4.tracker.harry.lu:80/announce,http://tracker1.itzmx.com:8080/announce,udp://tracker.tiny-vps.com:6969/announce,udp://tracker.port443.xyz:6969/announce,udp://thetracker.org:80/announce,udp://open.stealth.si:80/announce,udp://open.demonii.si:1337/announce,udp://denis.stalker.upeer.me:6969/announce,udp://bt.xxx-tracker.com:2710/announce,http://tracker.port443.xyz:6969/announce,udp://tracker.torrent.eu.org:451/announce,udp://retracker.lanta-net.ru:2710/announce,udp://zephir.monocul.us:6969/announce,udp://tracker.uw0.xyz:6969/announce,udp://tracker.toss.li:6969/announce,udp://tracker.cypherpunks.ru:6969/announce,http://tracker.cypherpunks.ru:6969/announce,http://torrent.nwps.ws:80/announce,http://retracker.telecom.by:80/announce,http://open.acgnxtracker.com:80/announce,wss://ltrackr.iamhansen.xyz:443/announce,udp://tracker.iamhansen.xyz:2000/announce,https://tracker.fastdownload.xyz:443/announce,https://opentracker.xyz:443/announce,http://tracker4.itzmx.com:2710/announce,http://tracker3.itzmx.com:6961/announce,http://tracker.city9x.com:2710/announce,http://opentracker.xyz:80/announce,http://open.trackerlist.xyz:80/announce,udp://tracker2.itzmx.com:6961/announce,udp://tracker.swateam.org.uk:2710/announce,udp://tracker.kamigami.org:2710/announce,udp://tracker.ds.is:6969/announce,udp://pubt.in:2710/announce,http://tracker2.itzmx.com:6961/announce,http://tracker.torrentyorg.pl:80/announce,http://t.nyaatracker.com:80/announce,http://share.camoe.cn:8080/announce,http://retracker.mgts.by:80/announce,http://open.acgtracker.com:1096/announce,wss://tracker.openwebtorrent.com:443/announce,wss://tracker.fastcast.nz:443/announce,wss://tracker.btorrent.xyz:443/announce,udp://tracker.justseed.it:1337/announce,udp://packages.crunchbangplusplus.org:6969/announce,https://1337.abcvg.info:443/announce,http://agusiq-torrents.pl:6969/announce  # 为 BT 下载设置 TCP 端口号,确保开放这些端口,默认 6881-6999 listen-port=65298 #Set UDP listening port used by DHT(IPv4, IPv6) and UDP tracker dht-listen-port=65298 # 整体上传速度限制,0 表示不限制,默认 0 #max-overall-upload-limit=0 # 每个下载上传速度限制,默认 0 #max-upload-limit=0 # 种子分享率大于1, 则停止做种,默认 1.0 #seed-ratio=1 # 做种时间大于2小时,则停止做种 seed-time=120 # RPC 配置 # 开启 JSON-RPC/XML-RPC 服务,默认 false enable-rpc=true # 允许所有来源,web 界面跨域权限需要,默认 false rpc-allow-origin-all=true # 允许外部访问,默认 false rpc-listen-all=true # rpc 端口,默认 6800 rpc-listen-port=6800 # 设置最大的 JSON-RPC/XML-RPC 请求大小,默认 2M #rpc-max-request-size=2M # rpc 密码,可不设置 #rpc-passwd=raspberry # rpc 用户名,可不设置 #rpc-user=aria2pi # 高级配置 # This is useful if you have to use broken DNS and # want to avoid terribly slow AAAA record lookup. # 默认 false disable-ipv6=true # 指定文件分配方法,预分配能有效降低文件碎片,提高磁盘性能,缺点是预分配时间稍长 # 如果使用新的文件系统,例如 ext4 (with extents support), btrfs, xfs or NTFS(MinGW build only), falloc 是最好的选择 # 如果设置为 none,那么不预先分配文件空间,默认 prealloc file-allocation=none # 整体下载速度限制,默认 0 #max-overall-download-limit=0 # 每个下载下载速度限制,默认 0 #max-download-limit=0 # 保存错误或者未完成的下载到这个文件 # 和基本配置中的 input-file 一起使用,那么重启后仍可继续下载 save-session=/root/aria2/aria2.session # 每5分钟自动保存错误或未完成的下载,如果为 0, 只有 aria2 正常退出才回保存,默认 0 save-session-interval=300 # 若要用于 PT 下载,需另外的配置,这里没写  # 远程访问所需token密码 rpc-secret=xxxxx  # 设置user-agent user-agent=Mozilla/5.0 (Series40; Nokia2055/03.20; Profile/MIDP-2.1 Configuration/CLDC-1.1) Gecko/20100401 S40OviBrowser/5.5.0.0.27 

https://github.com/ngosang/trackerslist 设置bt track 加速bt下载
http://www.senra.me/solutions-to-aria2-bt-metalink-download-slowly/

touch /etc/init.d/aria2c vim /etc/init.d/aria2c   输入以下
#!/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 do_start() {         echo -n "Starting aria2c"              su root -c "aria2c --conf-path=/root/aria2/aria2.conf -D"             #这里的路径根据自己的来更改 } do_stop() {      echo -n "Shutting down aria2c "         pkill -f aria2c } do_restart() {     do_stop     sleep 1     do_start } case "$1" in start)    do_start    ;; stop)    do_stop    ;; status)   exit $?   ;; restart)   do_restart   ;; *)    echo "Usage: service aria2c {start|stop|status|restart}" >&2    exit 1    ;; esac exit

程序自启动 sudo update-rc.d aria2c defaults

先安装web服务器

apt-get install nginx -y  cd /var/www/html  wget https://github.com/mayswind/AriaNg/releases/download/0.5.0/AriaNg-0.5.0.zip  unzip AriaNg-0.5.0.zip  rm -rf AriaNg-0.5.0.zip  service nginx restart

至此就可以通过 host:80 访问 aria2 服务了, 需要配置json-rpc 配置成功后就可以访问

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!