远程用树苺派利用空闲时间下载大文件,需要百度云、aria2和VPS。因为网络运营商给的IP不是真的公网IP,而且免费的动态域名服务不稳定,所以用VPS把树苺派上的端口转发到外网。
树苺派
在树苺派上部署aria2下载服务,并发布到VPS。
安装aria2,创建以下配置文件,修改/media/sda1为实际下载目录:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| dir=/media/sda1
file-allocation=prealloc
continue=true
log-level=info
#log-level=debug
max-connection-per-server=10
summary-interval=120
daemon=true
enable-rpc=true
rpc-listen-port=6800
rpc-listen-all=true
max-concurrent-downloads=3
save-session=/etc/aria2/save-session.list
input-file=/etc/aria2/save-session.list
log=/media/sda1/aria.log
disable-ipv6=true
disk-cache=25M
timeout=600
retry-wait=30
max-tries=0
user-agent=netdisk;4.4.0.6;PC;PC-Windows;6.2.9200;WindowsBaiduYunGuanJia
|
我的树苺派用Archlinux,创建systemd的服务配置文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
| [Unit]
Description=aria2c -- file download manager
After=network.target
[Service]
Type=forking
User=%i
WorkingDirectory=%h
Environment=VAR=/var/%i
ExecStart=/usr/bin/aria2c --daemon --enable-rpc --rpc-listen-all --rpc-allow-origin-all -c -D --conf-path=/etc/aria2/aria2.conf
[Install]
WantedBy=multi-user.target
|
激活并启动aria2服务。
在NGINX的WWW目录下安装aria2的Web界面:
1
| git clone https://github.com/binux/yaaw.git
|
发布本地服务到VPS:
1
2
3
4
5
| # 发布NGINX
autossh -M 5122 -R 80:localhost:80 myvps.com
# 发布aria2
autossh -M 5124 -R 6800:localhost:6800 myvps.com
|
autossh用于保持SSH连接,需要VPS上启动TCP Echo服务。
VPS
在VPS上启用TCP Echo服务,安装xinetd并修改配置文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
| service echo
{
disable = no
id = echo-stream
type = INTERNAL
wait = no
socket_type = stream
user = root
server = /usr/bin/cat
log_on_failure += USERID
flags = REUSE
only_from = 127.0.0.1
}
|
远程主机
在远程主机上配置浏览器的代理规则,对http://localhost/yaaw和http://localhost:6800/jsonrpc两个URL使用VPS上的VPN或Shadowsocks代理。
安装Chrome扩展,然后到百度云盘里设置aria2的RPC地址为“http://localhost:6800/jsonrpc”即可。