环境准备

  1. 将Hexo部署到树莓派上
  2. 安装nodejs
    1
    sudo apt-get install nodejs
    或编译安装(树莓派这性能 还是放弃吧)
    1
    2
    3
    4
    5
    6
    wget https://nodejs.org/dist/v12.18.3/node-v12.18.3.tar.gz
    tar -xzf node-v12.18.3.tar.gz
    cd node-v12.18.3
    ./configure
    make
    sudo make install

安装下载工具Aria2

Aria2 是一个多平台轻量级,支持 HTTP、FTP、BitTorrent 等多协议、多来源的命令行下载工具。Aria2 可以从多个来源、多个协议下载资源,最大的程度上利用了你的带宽。Aria2 有着非常小的资源占用,在关闭磁盘缓存的情况下,物理内存占用通常为 4M(正常 HTTP/FTP 下载的情况下),BitTorrent 下载每秒2.8M/S的情况下,CPU 占有率约为 6%。Aria2 支持 JSON-RPC 和 XML-RPC 接口远程调用。(这一段绝对没有水字数,真的真的没有)

  1. 从github上下载源代码
    项目地址
    找到最新版本的链接
    1
    2
    3
    mkdir ~/Downloads
    cd ~/Downloads
    wget https://github.com/aria2/aria2/releases/download/release-1.35.0/aria2-1.35.0.tar.gz
  2. 利用tar解压缩
    1
    tar zxvf aria2-1.35.0.tar.gz
    注:tar命令后的zxvf是四个参数,z代表Gzip格式,x代表解压,v代表显示操作过程,f代表该操作对应一个文件(PS:本段说明来源于《树莓派开始,玩转Linux》)
  3. 编译Aria2程序
    1
    2
    3
    4
    cd aria2-1.35.0
    ./configure
    make
    sudo make install
    可以使用aria2c -v验证安装

    Aria2的使用

    详见Aria2官网

安装图形化下载工具

这里使用的是webui-aria2

1
2
3
cd ~/Downloads
git clone git@github.com:ziahamza/webui-aria2.git
cd webui-aria2

安装screen

使用telnet或SSH远程登录linux时,如果连接非正常中断,重新连接时,系统将开一个新的session,无法恢复原来的session.screen命令可以解决这个问题。Screen工具是一个终端多路转接器,在本质上,这意味着你能够使用一个单一的终端窗口运行多终端的应用。(以上内容摘自百度百科 我真的没有水字数)

1
sudo apt-get install screen

准备配置文件

1
2
3
mkdir ~/.config
mkdir ~/.config/aria2
/home/pi/.config/aria2/aria2.conf

配置文件内容如下,根据自己需求更改即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
## 文件保存相关 ##

# 文件保存目录
dir=/home/pi/Downloads
# 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
disk-cache=32M
# 断点续传
continue=true

# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
# 预分配所需时间: none < falloc ? trunc < prealloc
# falloc和trunc则需要文件系统和内核支持
# NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
file-allocation=trunc

## 下载连接相关 ##

# 最大同时下载任务数, 运行时可修改, 默认:5
#max-concurrent-downloads=100
# 同一服务器连接数, 添加时可指定, 默认:1
# 官方的aria2最高设置为16, 如果需要设置任意数值请重新编译aria2
max-connection-per-server=16
# 整体下载速度限制, 运行时可修改, 默认:0(不限制)
#max-overall-download-limit=0
# 单个任务下载速度限制, 默认:0(不限制)
#max-download-limit=0
# 整体上传速度限制, 运行时可修改, 默认:0(不限制)
#max-overall-upload-limit=0
# 单个任务上传速度限制, 默认:0(不限制)
#max-upload-limit=0
# 禁用IPv6, 默认:false
# disable-ipv6=true

# 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
# 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
min-split-size=10M
# 单个任务最大线程数, 添加时可指定, 默认:5
# 建议同max-connection-per-server设置为相同值
split=16

## 进度保存相关 ##

# 从会话文件中读取下载任务
input-file=/home/pi/.config/aria2/aria2.session
# 在Aria2退出时保存错误的、未完成的下载任务到会话文件
save-session=/home/pi/.config/aria2/aria2.session
# 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
save-session-interval=60

## RPC相关设置 ##

# 启用RPC, 默认:false
enable-rpc=true
# 允许所有来源, 默认:false
rpc-allow-origin-all=true
# 允许外部访问, 默认:false
rpc-listen-all=true
# RPC端口, 仅当默认端口被占用时修改
# rpc-listen-port=6800
# 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
rpc-secret=yourpassword
# 启动SSL
# rpc-secure=true
# 证书文件, 如果启用SSL则需要配置证书文件, 例如用https连接aria2
# rpc-certificate=
# rpc-private-key=

## BT/PT下载相关 ##

# 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
follow-torrent=true
# 客户端伪装, PT需要
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77
# 强制保存会话, 即使任务已经完成, 默认:false
# 较新的版本开启后会在任务完成后依然保留.aria2文件
#force-save=false
# 继续之前的BT任务时, 无需再次校验, 默认:false
bt-seed-unverified=true
# 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
# bt-save-metadata=true
# 单个种子最大连接数, 默认:55 0表示不限制
bt-max-peers=0
# 最小做种时间, 单位:分
# seed-time = 60
# 分离做种任务
bt-detach-seed-only=true

接着新建aria2.session文件
1
sudo nano /home/pi/.config/aria2/aria2.session

直接保存退出即可

运行!

  1. 运行aria2c
    1
    2
    screen -S aria2c
    aria2c --enable-rpc --rpc-listen-all
    然后Ctrl+A+D挂起
  2. 运行webui-aria2
    1
    2
    3
    screen -S webui-aria2
    cd ~/Downloads/webui-aria2
    node node-server.js
    Ctrl+A+D挂起
    然后打开http://raspberrypi:8888/
    或树莓派IP地址:8888

使用!

在如图位置输入在aria2.conf文件rpc-secret中的值

接着就可以直接使用了