前言

云盘下载的痛点:

  1. 要登陆,要下载各大云盘软件。
  2. 下载大文件时,主力电脑后台要一直挂着云盘服务。

在玩客云上搭建一个可以24小时下载任意云盘文件的的服务后:

  1. 免频繁登陆云盘,不用再下载各种云盘app。
  2. 下载大文件,无需值守。特别是晚上的时候再也不用亮着主力电脑的屏幕在那下载文件。
  3. 便宜,相较于大几千的nas设备。玩客云很香。

主要流程:

  1. 通过Alist 使用 WebDAV 方式接入云盘。查看AList文档

  2. ARM 设备(玩客云)上通过 rclone 将云盘挂载到本地。

  3. 把云盘文件拷贝到挂载在玩客云上的硬盘。

往期玩客云折腾

在拆了几次机器,刷了几次底包后,终于把服务搭起来了。

alist安装与配置

使用docker run命令创建并运行alist容器

1
2
3
4
5
6
7
8
9
docker run -d \
--restart=always \
-v /mnt/sda1/docker_data/alist:/opt/alist/data \
-p 5244:5244 \
-e PUID=0 \
-e PGID=0 \
-e UMASK=022 \
--name="alist" \
xhofe/alist:latest

浏览器输入ip:5244

登陆alist

首次启动,需要到日志中获取登陆密码

输入:

1
docker logs alist

找到这一行:

1
Successfully created the admin user and the initial password is: ghjfg 

用户名:admin

密码:ghjfg

注意把ghjfg替换成你自己的

添加云盘

以配置阿里云盘为例,其他云盘看alist官方文档。

阿里云盘 Open | AList文档 (nn.ci)

挂载路径建议填写云盘名称,设置的名称会在主页显示。

挂载路径

主页

reclone安装与配置

首先创建挂载目录

1
sudo mkdir -p /mnt/alist

安装 rclone及必要软件包

在 ARM 设备上先安装 rclonerclone 支持多种平台,包括 ARM。

安装 rclone

在 ARM 设备上通过以下命令安装 rclone

1
curl https://rclone.org/install.sh | sudo bash

检查并安装 FUSE:

rclone mount 依赖 FUSE(文件系统用户空间工具),如果系统没有正确安装或配置 FUSE,rclone 将无法挂载。

1
sudo apt-get install fuse

安装完 FUSE 后,确保 FUSE 模块已加载:

1
sudo modprobe fuse

没有任何输出即表示已加载

安装 FUSE3

系统中缺少 fusermount3也会出现挂载错误,FUSE3是 FUSE 的一个执行文件,用于管理用户空间的文件系统挂载。

1
2
sudo apt-get update
sudo apt-get install fuse3

验证安装

安装完成后,验证 fusermount3 是否存在:

1
which fusermount3

这应该会显示 fusermount3 的路径,确认它已正确安装。

确保挂载点 /mnt/alist 有权限允许 rclone 挂载:

1
2
sudo chown root:root /mnt/alist
sudo chmod 755 /mnt/alist

rclone 配置 WebDAV

运行以下命令开始配置:

1
rclone config
  1. 选择 n 新建一个远程配置。

  2. 自己给配置命名,例如 aliyun-webdav

  3. 在存储类型中选择 webdav

  4. 输入 Alist 提供的 WebDAV URL(http://<alist-ip>:<port>/dav)。

    注意:http://<alist-ip>:<port>/dav是挂载alist中所有云盘,如果想挂单一云盘,比如阿里云请填写http://<alist-ip>:<port>/dav/aliyun/,其中aliyun字段是在alist中配置阿里云盘时定义的挂载路径。

  5. 选择 WebDAV 协议的类型,选择 Other site/service or software\ (other)。

  6. 输入alist登陆用户名

  7. 输入y使用 type in my own password

  8. 输入alist登陆密码

  9. 回车跳过bearer_token验证(Alist 通常不使用 Bearer Token 认证)

  10. 输入n跳过Edit advanced config?配置

  11. 检查配置是否正确,输入y确认完成配置

1
2
3
4
5
6
7
8
9
10
11
12
Configuration complete.
Options:
- type: webdav
- url: http://192.168.8.173:5244/dav/
- vendor: other
- user: yilan
- pass: *** ENCRYPTED ***
Keep this "aliyun-webdav" remote?
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d>

输入q退出配置

挂载云盘到本地

使用 rclone mount 挂载alist云盘到本地:

1
rclone mount aliyun-webdav:/ /mnt/alist --daemon
  • aliyun-webdav:/ 是配置的远程名称,表示通过 WebDAV 访问云盘(alist挂载的云盘)
  • /mnt/alist 是要挂载的本地目录。
  • --daemon 表示在后台挂载,挂载过程不会阻塞终端。

执行后没有任何回应大概率就是成功了

成功挂载

验证挂载

挂载成功后,你可以使用以下命令查看挂载情况:

1
df -h

验证挂载

并通过以下命令查看挂载的文件:

1
ls /mnt/alist

可以看到之前alist添加的云盘存储,这里添加了阿里云盘和夸克云盘。

阿里云、夸克挂载到本地

alist主页

设置开机自动挂载

如果希望每次启动时自动挂载阿里云盘,可以通过 systemd 配置自动挂载:

  1. 创建一个 systemd 服务文件:

    1
    sudo nano /etc/systemd/system/rclone-alist.service
  2. 添加以下内容:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    [Unit]
    Description=Mount Aliyun using rclone
    After=network-online.target

    [Service]
    Type=simple
    ExecStart=/usr/bin/rclone mount aliyun-webdav:/ /mnt/alist --header "Referer:https://www.aliyundrive.com/" --vfs-cache-mode writes
    ExecStop=/bin/fusermount -u /mnt/alist
    Restart=on-failure
    RestartSec=5s
    StartLimitInterval=10s
    StartLimitBurst=3

    [Install]
    WantedBy=default.target
  3. 重新加载systemd配置

    1
    sudo systemctl daemon-reload
  4. 启用并启动服务:

    1
    2
    sudo systemctl enable rclone-alist
    sudo systemctl start rclone-alist
  5. 查看服务运行状态:

    1
    sudo systemctl status rclone-alist
  6. 停止服务:

    1
    sudo systemctl stop rclone-alist

使用

比如想把云盘的电影下载到连接在玩客云的硬盘上(tip:我的硬盘挂载在/mnt/sda1目录上)

1
2
cd /mnt/alist/夸克云盘/来自:分享/影音/电影
cp 负负得正.2024.1080p.WEB-DL.H264.AAC.mp4 /mnt/sda1

运行后,cpu的负荷马上起来了。

拷贝

查看硬盘目录,电影已经下载了1.6个g。

硬盘目录

完成下载

完成下载

再贴个裸机两三天的玩客云

玩客云