aria2+ngrok代替xware进行远程离线下载

分类:学习笔记 标签:技术

最近给网件WDR4300升级了最新Openwrt Chaos Calmer 15.05
喜闻乐见的迅雷家的xware挂了,于是急需一个远程离线下载的替代方案
于是选择了aria2 + ngrokc 来完美再现任何网络下都能接入路由器安排下载,如图

<点击阅读更多>
  1. 安装aria2 1.18.8
    首先 aria2 在1.17之后的版本移除了对磁力链接的支持。
    只能找民间编译版,于是在恩山找到 [AR71xx] 带BT/磁力链支持的Aria2 1.18.8完整版,AR71xx 版
    通过winSCP或者其他方式上传到/tmp目录下,然后ssh命令行
    opkg install aria2_1.18.8-full_ar71xx.ipk
  2. 安装完成后配置aria2,这是我的aria2.config
    enable-rpc=true
    rpc-allow-origin-all=true
    rpc-listen-all=true
    dir=<挂载的下载目录>
    #e.g: /mnt/sda2/download/
    file-allocation=none
    #daemon=true
    split=10
    max-concurrent-downloads=3
    continue=true
    max-connection-per-server=5
    min-split-size=10M
    bt-enable-lpd=true
    bt-require-crypto=true
    follow-torrent=true
    #listen-port=6881-6999
    input-file=<挂载的下载目录>/.aria2/aria2.session
    save-session=<挂载的下载目录>/.aria2/aria2.session
    save-session-interval=60
    disable-ipv6=true
    rpc-secret=<你的安全码>
    #远程访问建议设置一个安全码,否则任何人都能给你添加下载任务(滑稽
  3. 接下来就是测试运行aria2了,把配置文件上传到/etc/aria2.config,远程执行
    aria2c --conf-path=/etc/aria2.config -c
    如果看见如下反馈

    root@HouWRT:~# aria2c --conf-path=/etc/aria2.config -c
    03/08 21:25:36 [NOTICE] IPv4 RPC: listening on TCP port 6800
    03/08 21:25:36 [NOTICE] IPv4 DHT: listening on UDP port 6920
    03/08 21:25:36 [NOTICE] IPv4 BitTorrent: listening on TCP port 6972
    那么恭喜你,aria2就配置好了
    只需要在路由器的启动脚本里面加上如下命令,注意 -D
    aria2c --conf-path=/etc/aria2.config -c -D
    然后打开 http://binux.github.io/yaaw/demo/ 在设置里修改为你的路由IP就可以管理下载了
    然而现在只能在局域网内管理下载,若要进行远程管理,光有内网IP是不够的,这时候ngrok就出场了
  4. 安装ngrok客户端和luci管理页面,同样是恩山获得 求一个 ngrok ar71xx ipk安装包
    同样通过winSCP上传然后ssh安装ngrok
    opkg install ngrokc_1.0-1_ar71xx.ipk & opkg install luci-app-ngrokc_1.0-1_all.ipk
  5. 测试ngrok 可用性,直接执行
    ngrokc
    不出意外你会获得这一一句话
    ngrokc: can't load library 'libmbedtls.so.8'
    但是少年啊不要慌,一句简单的命令就可以拯救你
    ln /usr/lib/libmbedtls.so.9 /usr/lib/libmbedtls.so.8
  6. 然后再次执行
    ngrokc
    这次的反馈应该就对了
    use ngrokc -SER[Shost:ngrokd.ngrok.com,Sport:443,Atoken:xxxxxxx] -AddTun[Type:tcp,Lhost:127.0.0.1,Lport:80,Rport:50199]
  7. 回到luci设置界面,设置如下

  8. 再次回到 http://binux.github.io/yaaw/demo/ 在设置里修改 JSON-RPC Path为
    http://token:<你的安全码>@<你的自定义域名>.tunnel.phpor.me/jsonrpc
    然后就可以愉快的外网添加下载任务了
最后再推荐一个chrome插件百度网盘助手 设置里同样添加
http://token:<你的安全码>@<你的自定义域名>.tunnel.phpor.me/jsonrpc
就能直接到处远程百度满速下载回家!

后记
ngrok除了提供类似的二级域名外也支持自定义域名,只需要修改你自己域名的CNAME到服务器就可以了

感谢各路民间大神的编译,工具,脚本
你可能还会对下列文章感兴趣:

0条评论 你不想来一发么↓

    想说点什么呢?

    您需要登录您的Google账号才能进行评论。