aria2 接入 cloudreve

说明

简要

在 linux 系统上安装 aria2 、并接入 cloudreve 实现用户友好的可视化离线下载管理。

软件

aria2: aria2 是一个跨平台、开源的下载软件,支持多下载方式,比如http、https、ftp、磁力链、bt种子下载。官网首页:https://aria2.github.io/

cloudreve:cloudreve是一个开源的网络云盘解决方案,支持本地,异机,多家云存储整合。官网首页:https://cloudreve.org/

原因

cloudreve 的离线下载由 aria2 驱动。但是 cloudreve 最后是以可执行文件交付的,而 aria2 则是以命令行、软件包的形式交付的。所以两者的使用并不相同。

开始

创建用户

为了方便处理 cloudreve 和 aria2 的云存储,干脆就创建一个新的用户:

sudo adduser <new_user_name>

为新用户设置密码:

sudo passwd <new_user_name>

为新用户添加sudo权限,这样在后续操作的时候可以方便很多:编辑 /etc/sudoers 文件,找到类似root ALL=(ALL:ALL) ALL的行,然后复制一份,变成<new_user_name> ALL=(ALL:ALL) ALL,然后保存,之后使用新用户就可以正常使用sudo了。

安装 aria2 并配置

在 aria2 的官网可以看到下载的方式。绝大部分 linux 都可以在包管理器中下载和安装。对于 macos ,可以使用 homebrew 安装。可以先使用su命令切换到我们刚才为云盘专门设置的用户。

su <new_user_name>

安装过程很简单,就是使用类似aptyum安装。(选择操作系统适合的)

sudo apt install aria2
yum -y install aria2

之后,我们需要配置 aria2。如果通过yum或者apt方式安装的,有可能不会生成默认配置文件,所以我们需要自己创建默认的配置文件夹。通常,Aria2 的配置文件名为 aria2.conf,可以放置在 /etc/aria2/ 目录下。

aria2 的配置文件大致如下:

基本设置

  • dir:指定下载文件的保存目录,默认是当前目录。

  • input-file:指定一个文件作为输入,其中包含了需要下载的链接等信息。

  • save-session:指定一个文件路径,用于保存会话信息,方便在程序重启后恢复未完成的下载任务。

  • continue:设置是否继续下载已部分完成的文件(默认值为 true)。

下载控制

  • max-concurrent-downloads:设置同时进行的最大下载任务数。

  • max-connection-per-server:对单个服务器的最大连接数,可以提高下载速度。

  • min-split-size:当文件大于这个值时,aria2 将尝试分割文件并使用多个连接下载。单位可以是 K、M 或 G。

  • split:每个任务使用的最大线程数,可以与 min-split-size 结合使用以优化下载性能。

连接设置

  • check-certificate:是否检查 SSL/TLS 证书(默认为 true)。

  • follow-torrent:是否跟随 torrent 文件中的 URL 列表(默认为 false)。

  • bt-enable-lpd:是否启用本地节点发现(Local Peer Discovery,LPD),有助于发现同一局域网内的种子客户端(默认为 false)。

bt下载设置

  • listen-port:设置监听端口,用于接收其他 BitTorrent 客户端的连接请求。

  • dht-listen-port:设置 DHT 网络监听端口。

  • enable-dht:是否启用 DHT (Distributed Hash Table) 功能,这有助于在没有 tracker 的情况下发现其他 peer(默认为 false)。

  • enable-dht6:是否启用 IPv6 的 DHT 支持(默认为 false)。

  • bt-stop-timeout:当没有活动 peer 时,等待的时间(秒)后停止下载。

其他设置

  • log:指定日志文件的位置,记录 aria2 的运行日志。

  • log-level:设置日志级别,如 error、warn、info、debug 等。

  • daemon:是否以后台模式运行 aria2(默认为 false)。

  • rpc-listen-all:RPC 服务是否监听所有网络接口(默认为 false)。

  • rpc-allow-origin-all:是否允许所有源访问 RPC 接口(默认为 false),对于安全性有要求的场景建议关闭。

按照 cloudreve 的要求,需要在其配置文件中启用 RPC 服务,并设定 RPC Secret。所以需要添加如下内容:

# 启用 RPC 服务
enable-rpc=true
# RPC监听端口
rpc-listen-port=6800
# RPC 授权令牌,可自行设定
rpc-secret=<your token>

之后,创建必要的目录(比如上文的log),并且给相关用户足够的权限以写入日志文件。

sudo mkdir -p <下载路径>
sudo mkdir -p /var/log/aria2
sudo mkdir -p /var/run/aria2
sudo chmod -R 755 <下载路径>
sudo chmod -R 755 /var/log/aria2
sudo chmod -R 755 /var/run/aria2

启动 aria2

使用 systemd 服务来管理 Aria2 的启动和停止。首先,确保 Aria2 的服务文件存在:

sudo systemctl enable aria2

然后启动 Aria2 服务:

sudo systemctl start aria2

如果 aria2 的服务文件不存在,可以创建相关的服务文件:在 /etc/systemd/system/ 目录下创建一个名为 aria2.service 的文件,并写入如下数据:

[Unit]
Description=Aria2c Download Manager
After=network.target

[Service]
User=<new_user_name>
Group=<new_user_group>
ExecStart=/usr/bin/aria2c --conf-path=<配置文件路径>
Restart=on-failure
RestartSec=10s

[Install]
WantedBy=multi-user.target

之后重新重新加载 systemd 配置

sudo systemctl daemon-reload

启动 Aria2 服务并设置开机自启:

sh
深色版本
sudo systemctl start aria2
sudo systemctl enable aria2

6. 检查 Aria2 服务状态

确保 Aria2 服务正在运行:

sudo systemctl status aria2

如果成功了,大概是这样的样子:

接入 cloudreve

在 cloudreve 后台控制面板中,打开离线下载节点,找到需要编辑的节点。打开“是否需要主机接管离线下载任务?”,然后按照规则进行编辑。

其中,RPC 授权令牌需要和相关的配置文件/etc/aria2/aria2.conf相同。之后需要给 cloudreve 一个下载的缓存地址。我推荐这个缓存地址的存储空间大一点,因为 cloudreve 在处理远程下载的时候,如果目标存储是第三方,那么会先下载到这个缓存的地址后再转存到第三方的存储策略中。缓存的目录需要给 cloudreve 进程的用户足够的读、写权限:sudo chown <cloudreve> <缓存的目录>,当然,如果希望递归给下面的目录,可以添加-R参数:sudo chown -R <cloudreve> <缓存的目录>

这样,cloudreve 就可以正常接入 aria2,并且可以使用 aria2 进行离线下载了。

文章「aria2 接入 cloudreve」,由本站用户「Admin」发布。文章仅代表Admin观点,不代表本站立场。
页面网页地址「https://xiaozhiyuqwq.top/p/2549」。
如您对文章及其附件提出版权主张,或进行引用转载等,请查看我们的【版权声明】
无评论:-)

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇