OneKuma

OneKuma's Blog

One Lonely Kuma.
github
bilibili
twitter

折腾了一下阿里云盘 + AList + Rclone + AnimePaste

AnimePaste 计划重构:

  • 删除原有的上传到 OSS,只保留文件目录,同步工作交给各种 WebDAV;
  • 删除原有手搓的媒体库,并更好地兼容 Jellyfin 等媒体库软件。

所以,本文预先调研并尝试一下 WebDAV 同步的方案,并做一些记录,方便之后自己复现。

本地#

AList#

使用 AList 统一管理各种网盘,并暴露成 WebDAV 的形式。

比较懒,直接下载了它的桌面版。在它的 Web UI 里把阿里云盘挂载到了 AList 的目录 /alidriver

Rclone#

配置文件 rclone config file

[alist]
type = webdav
url = http://127.0.0.1:5244/dav/
user = admin
pass = xxxyyyzzz

AList 的阿里云盘挂载点 /alidriver 内的文件夹 /alidriver/anime,挂载到本地目录 D:\.mount\anime,缓存目录 D:\.cache\rclone。配置挂载的开机自动在后台启动,见 Windows 上配置 rclone 开机自动启动

# mount-anime.ps1

rclone mount alist:/alidriver/anime "D:\.mount\anime" `
  --header "Referer:https://www.aliyundrive.com/" `
  --vfs-cache-mode full --vfs-read-chunk-size-limit 1G --vfs-read-chunk-size 512M `
  --cache-dir "D:\.cache\rclone" --dir-cache-time 1m --buffer-size 128M

已隐藏密码。

AnimePaste#

AnimePaste,在配置文件里改一下本地的目录到 D:\.mount\anime

服务器#

aliyundrive-webdav#

实际环境中已弃用此方案,改为部署 AList,见 在服务器用 WebDAV 部署 Jellyfin
本方案仅用于初期的思路验证。

使用 aliyundrive-webdav 在服务器上把阿里云盘作为 WebDAV 暴露到公网上,并将文件读取请求转发到阿里云盘上,不走服务器的带宽中转。

#!/usr/bin/bash

docker stop aliyundrive-webdav > /dev/null
docker rm aliyundrive-webdav > /dev/null

docker run -d --name=aliyundrive-webdav --restart=unless-stopped -p 8080:8080 \
  -v /etc/aliyundrive-webdav/:/etc/aliyundrive-webdav/ \
  -e REFRESH_TOKEN='ooooooooo' \
  -e WEBDAV_AUTH_USER=aaabbbccc \
  -e WEBDAV_AUTH_PASSWORD=xxxyyyzzz \
  messense/aliyundrive-webdav /usr/bin/aliyundrive-webdav --auto-index --workdir /etc/aliyundrive-webdav --redirect

已隐藏密码。

最后#

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。