接着上文 折騰了一下阿里雲盤 + AList + Rclone + AnimePaste 繼續倒騰。
上文使用了 rclone 將 WebDAV 掛載到本地目錄,而且必須在 Terminal 里手動運行一下腳本,並且 Terminal 還不能退出,所以我們現在要讓他開機自動在後台啟動。
更新 1:試用了一周後,體驗不是很好,rclone 掛載的本地目錄非常不穩定。時常出現卡死,且長時間未響應,不容易自動恢復;掛載點會因為關機不當,rclone 未正常終止等原因,導致無法被佔用,無法重新掛載。搜了搜發現 Windows 原生就有相關的實現,例如 OneDrive 就在背後使用了 WebDAV。
更新 2:又試用了一段時間 Windows 原生提供的 WebDAV,依然不好用。問題有偶爾發生的開機自動掛載失敗,需要手動點一下,估計原因是它掛載的時候 AList 仍未啟動。其次,在掛載剛剛啟動或者 AList 重啟後,偶爾發生讀取文件會失敗一次。第三,用 VS Code 打開後,不知道為什麼會給 AList 大量並發請求,容易發生各種奇怪的問題。第四,用 VS Code 編輯文本文件時,會發生緩存不一致的問題。最後,現在換用了 RaiDrive,目前似乎有觀察到緩存不一致的問題,但可能 VS Code 有一部分鍋,其它除了沒充錢開機帶了個廣告外,沒有問題,體驗最佳。
方案一:RaiDrive#
下載,安裝,在 UI 上點一點,過程比較傻瓜。
方案二:Windows 原生提供的網絡驅動器映射#
在文件資源管理器中,右鍵 此電腦
,選擇 映射網絡驅動器...
。
選擇你想要的驅動器,輸入你的本地 / 遠程 AList 的地址。
輸入你的 AList 用戶名,密碼。
其它 WebDAV 同理。
可能出現問題#
- 可能需要在控制面板開一下 WebDAV,位於
控制面板
-程式
-啟用或停用 Windows 功能
,選項路徑如下圖所示。
- 如果你局域網內的 WebDAV 是 HTTP 協議,不是 HTTPS 協議,會出現 “找不到網絡名” 的錯誤。你需要打開
註冊表編輯器
,找到HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\WebClient\\Parameters
,修改鍵BasicAuthLevel
值為 2,即同時允許 HTTP 與 HTTPS。
方案三:rclone + nssm#
掛載腳本#
掛載腳本需要稍作修改:
- 將
rclone
替換為絕對路徑; - 指定
--config
的路徑(你可以通過rclone config file
查看當前的配置文件路徑); - 掛載到一個單獨的磁碟似乎比掛載到一個目錄穩定一些?
# mount-anime.ps1
D:\bin\rclone mount "alist:/" "R:" `
--config "C:\Users\<你的系統用戶名>\AppData\Roaming\rclone\rclone.conf" `
--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 `
-o UserName="<你的系統用戶名>" -o GroupName="Authenticated Users"
注意:
後面的 nssm 在運行該腳本時,不是從你的當前用戶啟動的,所以沒有 PATH 環境變量;
其次因為登錄用戶的緣故,mount 的目錄權限有問題,命令中的最後一行參考 Mount Permission (Windows) 似乎能修復我自己遇到的權限問題。
nssm#
下載 nssm,它是一個 Windows 的 Non-Sucking Service Manager。
下載 nssm 2.24 解壓後,把可執行文件複製到某個在 PATH
的目錄下(這裡我們統一用的是 D:\bin\
)。然後輸入以下命令打開 nssm 的復古 GUI,創建一個名為 mount-anime
的服務。
nssm install mount-anime
填入以下配置:
Application - Path
:PowerShell 的絕對路徑(比如C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
);Application - Startup directory
:隨意;Application - Arguments
:上文創建的掛載啟動腳本絕對路徑;I/O
:建議將stdout / stderr
重定向到某個文件方便 DEBUG。
創建完成後,在管理員模式的 Terminal 下啟動服務。
nssm start mount-anime