# 前言
Play With Docker 是 Dockers hub 提供的免费的远程主机,并且自带 docker 环境,方便用户安装 docker 容器并测试,
之前申请的微软 E5 OneDrive 有 5T 空间,说实话空间虽然大,但是在国内访问速度太慢
于是尝试在这个白嫖的远程主机中安装 Aria2 + Rclone,下载资源并上传到 OneDrive 中
# 基本环境和工具
- Play With Docker 远程主机
- Aria2 下载工具
- Rclone 挂载工具
- OneDrive 云存储
# 登录远程主机
Play With Docker 远程主机,在浏览器上无法使用复制粘贴功能,可以用本地主机 ssh 登录。
# ssh 登录远程主机 | |
ssh ***@direct.labs.play-with-docker.com |
需要注意该远程主机的空间
# 安装 rclone
# 安装拓展工具 | |
apk add wget curl ca-certificates fuse | |
# 下载 Rclone | |
wget https://downloads.rclone.org/v1.61.1/rclone-v1.61.1-linux-amd64.zip | |
unzip rclone-*-linux-amd64.zip | |
cd rclone-*-linux-amd64 | |
cp rclone /usr/bin/ | |
chown root:root /usr/bin/rclone | |
chmod 755 /usr/bin/rclone | |
mkdir -p /usr/local/share/man/man1 | |
cp rclone.1 /usr/local/share/man/man1/ | |
mandb | |
# 创建 rclone 的挂载 OneDrive 节点(可以忽略) | |
mkdir /usr/local/onedrive |
# 安装 Aria2
下载 aria2.sh 完成后,执行脚本,根据选项进行安装
wget -N git.io/aria2.sh && chmod +x aria2.sh && ./aria2.sh |
默认安装成功后
Aria2 简单配置信息: | |
IPv4 地址 : | |
IPv6 地址 : | |
RPC 端口 : 6800 | |
RPC 密钥 : | |
下载目录 : /root/downloads | |
AriaNg 链接 : |
注意:此时 aria2 只能正常下载
如需要下载并上传需要修改配置 .aria2c/aria2.conf
下载完成后执行的命令 原先的配置是 /root/.aria2c/clean.sh 需要修改成 upload.sh 才能上传
on-download-complete=/root/.aria2c/upload.sh
并且之前绑定的 Rclone name 需要和 /root/.aria2c/script.conf 中的配置对应
网盘名称 (RCLONE 配置时填写的 name)
drive-name=OneDrive
修改配置后需要重启 aria2 服务,可参考 进阶 Aria2c 命令行方式
# 安装 AriaNG
Aria2 没有图形化界面,需要安装 AriaNG,因为当前远程主机有 docker 环境,可以直接用 docker 安装,
访问 主机地址:6880 进入配置页面
然后根据上面的信息配置,配置 AriaNG,注意白嫖的远程主机的地址,配置好 RPC, 就可以使用了。
docker run -d \ | |
--name ariang \ | |
--restart unless-stopped \ | |
--log-opt max-size=1m \ | |
-p 6880:6880 \ | |
p3terx/ariang |
# 进阶 Aria2c 命令行方式
准备
# 复制一个新的配置文件 | |
cp .aria2c/aria2.conf .aria2c/aria3.conf | |
# 修改配置 必须注释 aria2.session,因为命令行方式,直接输入下载链接参数 | |
vi .aria2c/aria3.conf | |
# 从会话文件中读取下载任务 | |
#input-file=/root/.aria2c/aria2.session | |
# Aria2 退出时或指定的时间间隔会保存 `错误 / 未完成` 的下载任务到会话文件 | |
#save-session=/root/.aria2c/aria2.session | |
# 下载完成后执行的命令 原先的配置是 /root/.aria2c/clean.sh 需要修改成 upload.sh 才能上传 | |
on-download-complete=/root/.aria2c/upload.sh |
编辑 script.conf
vi /root/.aria2c/script.conf
# 编辑 script.conf | |
vi /root/.aria2c/script.conf | |
# 网盘名称 (RCLONE 配置时填写的 name) | |
drive-name=OneDrive | |
# 注意 Rclone 配置时 name 必须相同 | |
Current remotes: | |
Name Type | |
==== ==== | |
OneDrive onedrive |
命令行示例
# | |
# --conf-path 读取配置文件 | |
# -D 守护进程 | |
# -S *.torrent 获取种子列表 | |
# --select-file=1,4-7 *.torrent 选择要下载内容 如:1,4,5,6,7 | |
# 避免冲突,先把之前启动的 aria2 关闭,可以通过./aria2.sh 脚本关闭,也可以 kill <pid> | |
# 查找 aria2 的 pid | |
ps -ef | grep aria2 | |
kill <pid> | |
# aria2c 命令行示例, 测试是否能够正常下载上传 | |
aria2c --conf-path=/root/.aria2c/aria3.conf 'https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png' |
# Rclone 挂载 OneDrive
参考地址 https://blog.csdn.net/weixin_55873007/article/details/126581328
- 首先 OneDrive 需要注册应用(其中选择 web 填写 http://localhost:53682),并创建密钥
- 获得 client_id 和 client_secret 后,通过 rclone 获得 token
- 如果 Rclone 所在的宿主机自带图像化界面和浏览器,则可以根据 rclone config,一步步配置
- 否则也可以其他带浏览器的机器上,如果 windows 也下载个 rclone.exe 获得 token, 复制到宿主机中
- 注意:之前下载最新版本的 rclone, 挂载过程中遇 fuse 问题,看讨论需要 fuse3, 没搞好
- 于是下载 v1.16.1 版本,正常挂载
- 如果单纯为了把 aria2 的下载内容上传到 OneDrive 中,rclone mount 步骤可以省略
# 挂载到 /usr/local/onedrive | |
rclone mount OneDrive:/ /usr/local/onedrive --allow-other --allow-non-empty --vfs-cache-mode writes & | |
# 取消挂载 | |
fusermount -u /usr/local/onedrive |
# 参考链接
- https://p3terx.com/archives/offline-download-of-onedrive-gdrive.html
- https://blog.csdn.net/weixin_55873007/article/details/126581328
- https://rclone.org/commands/rclone_mount/
- https://www.blueskyxn.com/202209/6510.html