Rclone通过WebDav协议挂载123云盘

通过123pan面向会员开放的WebDav协议挂载到本地进行高速的上传下载

官网

https://www.123pan.com/

主旨内容

安装Rclone

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

安装依赖

apt install fuse3 -y

新建应用

新建应用,获取webdav的url,账号和相应的应用密码

https://www.123pan.com/thirdPartyMount

开始配置

rclone config
  1. n新建
  2. 输入挂载名,可以自定义,以123pan为例子
  3. 选择挂载协议(WebDAV),我这里是`55
  4. 选择6,rclone WebDAV server
  5. 输入url,是上一步获取到的服务器地址
  6. 输入用户名,是上一步获取到的账号
  7. 选择y,输入两次密码,是上一步的应用密码
  8. 后面都是默认就行

使用

使用rclone copy source target —progress命令即可完成上传和下载并查看进度

举例,下面就是将123pan内的/datasets/test.tar.gz文件复制到当前目录下的../datasets下,如果你交换位置就是上传了

rclone copy 123pan:/datasets/test.tar.gz ../datasets --progress

123pan还有直链的功能,走直链是会消耗直链流量的,并且只能进行下载。

上述走webdav挂载的是不消耗直链流量的,并且可支持上传和下载。

挂载和直链的速度是持平的(如果发现过于缓慢了,可以取消传输,重新下载,这样会更换下载节点进行下载,重试前记得清除第一次下载的文件)

直链下载的使用也很简单,在任意浏览器内打开会自动弹出下载,在命令行中只需要用wget命令即可

wget https://xxx.123pan.com/xxxx/xxx/xxx

(docker容器化示例不支持)也可以将网盘直接挂在到本地的文件夹,这样就只需要掌握cp命令即可,但是这样就不能显示上传和下载的详情了(可以理解为,你现在对挂载后的文件夹内文件进行操作就是在操作云盘的文件)

rclone mount 123pan: /your_folder --allow-other --allow-non-empty --vfs-cache-mode writes --daemon

服务开机自动挂载到本地(可选)

创建一个空文件夹

mkdir /data

创建一个新的systemd服务文件:

sudo vim /etc/systemd/system/rclone-mount.service

在打开的编辑器中,粘贴以下内容:

[Unit]
Description=Rclone mount service
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/usr/bin/rclone mount 123pan: /data --allow-other --allow-non-empty --vfs-cache-mode writes
Restart=on-abort
User=your_username

[Install]
WantedBy=multi-user.target

请注意将 your_username 替换为你的实际用户名。

保存文件并退出编辑器。

给予适当的权限:

sudo chmod 644 /etc/systemd/system/rclone-mount.service

重新加载systemd管理器配置:

sudo systemctl daemon-reload

启用服务,使其在开机时自动启动:

sudo systemctl enable rclone-mount.service

启动服务:

sudo systemctl start rclone-mount.service

检查服务状态:

sudo systemctl status rclone-mount.service

挂载到本地有什么用处呢?这样可以直接在云盘上跑代码读数据!!而不用反复进行数据集下载解压(期间会自动进行文件的上传和下载)

🤗 总结归纳

当前123pan的优势

  • 分享文件支持免登陆下载

  • webdav协议支持(会员)

  • 上传下载不限速

  • 仅对分享内容进行审查

  • 开局20T容量,每个月增加800G(会员)

THE END