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 をデプロイしています。サーバーでの Jellyfin の WebDAV デプロイを参照してください。
この方法は初期のアイデア検証にのみ使用されます。
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
パスワードは非表示にしています。
最後に#
- ローカルで AnimePaste を使用して新しいアニメを自動ダウンロードします。
- AList と Rclone でファイルをアリババクラウドに同期します。
- サーバーで aliyundrive-webdav を使用して公開します。