树莓派安装Aria2 (内网 FRP穿透 HTTPS NTFS)
今天尝试在树莓派安装Aria2,下载到移动硬盘。过程中遇到很多问题,在此记录。
安装
1、安装Aria2
apt-get install aria2
2、安装Nginx
安装Nginx是为了反代Aria2的Jsonrpc接口,为其添加HTTPS证书。因为常用的Webui,比如这个,使用了HTTPS,如果Aria2的接口使用HTTP的话,会发生MixedContent错误,被Chrome拦截,无法连接。
apt-get install nginx
3、配置Aria2
这里有一个配置文件,其中的file-allocation
改成none
。否则下载文件时,将无法分配磁盘空间。Log中显示fallocate failed. cause: Operation not supported
。
增加以下配置项目:
log=/var/log/aria2.log
log-level=error
其他根据需要改动。
配置完成,运行aria2c --conf-path=/etc/aria2.conf -D
,将aria2后台运行。
4、配置Nginx
在/etc/nginx/conf.d/
里面新建一个aria2.conf
文件。
自行修改域名和证书文件路径。
server{
server_name 域名;
listen 443 ssl;
ssl on;
ssl_certificate /etc/ssl/证书文件.cer;
ssl_certificate_key /etc/ssl/证书密钥.key;
location /jsonrpc {
proxy_pass http://127.0.0.1:6800/jsonrpc;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
完成后运行命令nginx -s reload
使新的配置生效。
5、下载FRP
- 到这里下载FRP最新版的ARM文件。文件名类似于
frp_版本号_linux_arm.tar.gz
- 此处提供版本号为0.21.0的文件下载。点此下载
解压文件,放到
/home/frp
文件夹下mkdir /home/frp cd /home/frp wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_arm.tar.gz tar zxf frp_0.21.0_linux_arm.tar.gz mv frp_0.21.0_linux_arm/* . chmod +x frpc
6、配置FRP
此处使用一个大佬提供的免费FRP服务,http://freenat.win/
新建一个myfrp.conf
文件,修改以下配置文件后输入。
remote_port可能被占用,换一个即可。
[common]
server_addr = freenat.club
server_port = 7000
token = frp888
#开启树莓派ssh端口转发,不需要的可以不开
[my_pi_ssh]
privilege_mode = true
type = tcp
local_ip = 127.0.0.1
local_port = 22
use_gzip = true
use_encryption = true
authentication_timeout = 0
#如被占用,则自行选择一个空闲的端口
remote_port = 10090
#开启Aria2接口转发
[my_aria2_web]
type = http
local_ip = 127.0.0.1
local_port = 443
custom_domains = 你的域名
7、运行FRP
新建一个窗口来运行。
apt-get install screen -y
screen -R frp
cd /usr/local/frp
./frpc -c myfrp.conf
如果输出类似以下内容,并且没有报错,表示启动成功。同时按Ctrl、A、D三个键离开当前窗口。
root@raspberrypi:/usr/local/frp# ./frpc -c myfrp.conf
2018/10/10 04:42:05 [I] [proxy_manager.go:300] proxy removed: []
2018/10/10 04:42:05 [I] [proxy_manager.go:310] proxy added: [evan_pi_ssh my_aria2_web]
2018/10/10 04:42:05 [I] [proxy_manager.go:333] visitor removed: []
2018/10/10 04:42:05 [I] [proxy_manager.go:342] visitor added: []
2018/10/10 04:42:05 [I] [control.go:246] [***] login to server success, get run id [***], server udp port [7001]
2018/10/10 04:42:05 [I] [control.go:169] [***] [my_aria2] start proxy success
2018/10/10 04:42:05 [I] [control.go:169] [***] [my_pi_ssh] start proxy success
8、完结撒花
打开浏览器访问https://你的域名/jsonrpc?callback=1
,出现以下提示表示成功。
{"id":null,"jsonrpc":"2.0","error":{"code":-32600,"message":"Invalid Request."}}
管理命令
进入FRP的窗口
screen -ls
查看窗口列表,screen -r 821
或者screen -r frp
进入窗口。按Ctrl+A+D,离开窗口。root@raspberrypi:~# screen -ls There are screens on:
Sockets in /run/screen/S-root.
- 查看Aria2日志
tail /var/log/aria2.log -f
,这个命令会刷新新增的内容,按Ctrl+C退出。 - 重启Aria2
ps -aux | grep aria2
找到Aria进程的PID。
root@raspberrypi:~# ps -aux | grep aria2
root 2743 16.8 4.0 53440 17980 ? Ss 05:08 12:48 aria2c --conf-path=/etc/aria2.conf -D
root 3069 0.0 0.4 4364 1804 pts/3 S+ 06:24 0:00 grep aria2
上面示例中的pid就是2743。结束并重启。
kill 2743
aria2c --conf-path=/etc/aria2.conf -D
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。