2021-12-03-阿里雲盤通過webdav+raidrive掛載為本地網絡硬盤


一、 問題緣起

1. 需求目的

據說可以阿里雲盤開放了webdav接口,可以使用webdav訪問,看到網上和一些群里有相關內容。於是,開始嘗試搞一下。
據說webdav在很多終端都可使用。想嘗試一下,如果成了,可以解決很多整理+同步資料麻煩的問題。

我在windows上用,相關項目主要是這個:https://github.com/zxbu/webdav-aliyundriver/
另外一個有關項目,看起來想是路由器上或者NAS上用的,暫時無關: https://github.com/messense/aliyundrive-webdav

2. 大概實現方法

項目里可以看到,兩種方式,
一種是用java執行jar包,之后就可以從本地的localhost:8080訪問網盤,再使用raidrive工具將其掛載成本地硬盤的形式;
第二種使用docker,加上安裝docker的部分,免去安裝java的部分,同樣實現可以從本地localhost:8080訪問網盤,再使用raidrive工具掛載成本地硬盤形式。

所以分成兩步:

  1. 用docker或者powershell執行jar包實現webdav,使阿里雲盤的內容可以從本地的http端口訪問。
  2. 使用raidrive、cloudrive、rclone等工具,將其變為本地硬盤形式使用。

第一步結果后可以在瀏覽器訪問

第二步后,可以在以本地硬盤形式使用,這里是以raidrive掛載的結果

3 對掛載工具的討論

主頁上推薦的工具是raidrive。

據我看各處的信息了解,對各個工具有以下評價:

  1. raidrive縮略圖問題沒有解決,每次都要重新緩存縮略圖,其他都好。
  2. cloudrive不開源,偷偷跑上傳,cpu莫名其妙上去,讓人感到有點不安。cloudrive掛載完顯示在“設備與驅動器”中,與raidrive顯示在“網絡位置”中不同。
  3. rclone速度成問題,別人評價“只有--vfs-cache-mode full 速度還行,其他都比raidrive慢不少”。

二、 方法1:使用powershell執行jar包

1. 下載jar包。
到這個項目里下載jar包:https://github.com/zxbu/webdav-aliyundriver/

2. 按照步驟拿到refresh_token。

refresh_token特點:測試了一下,重新登錄后或者長期未使用后在瀏覽器上刷新,refresh_token會變;然而,不影響之前拿到的token,之前的可以繼續用。

3. 把jar包改名成webdav.jar,然后放到某個目錄下。
4. 用powershell進到這個目錄里,執行:java -jar webdav.jar --aliyundrive.refresh-token="your refreshToken"。注意替換refresh_token為自己拿到的token。
5. 如果4成功,可以用瀏覽器確定一下,訪問一下:http://localhost:8080;輸入賬號admin,密碼admin查看(如果自己沒改的話,賬號密碼默認admin)。

到這里,就完成了阿里雲盤通過webdav映射到本地http端口上。
如果想要實現開機自啟動的話,可以寫成bat腳本文件,可以參考這里的實現:https://blog.csdn.net/Hesye/article/details/120256825

最后附上代碼:

%1 mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&exit
cd D:\2021-12-01-aliyunpan
java -jar .\webdav-aliyundriver-2.4.2.jar --aliyundrive.refresh-token="(your refresh-token)" --server.port="8080" --aliyundrive.auth.enable=true --aliyundrive.auth.user-name="admin(your name)" --aliyundrive.auth.password="admin(your password)"

三、 方法2:docker實現

**1. 按這篇文章這個下載安裝docker,先開啟hyper-V,再下載,如果開不了hyper-V,則用方法1。http://c.biancheng.net/view/3121.html **
**2. 如果1中出現一個wsl問題,按這個解決: https://docs.microsoft.com/zh-cn/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package **
即下載一個更新包,安裝后再在powershell中執行:wsl --set-default-version 2

3. 如果不想把鏡像放到C盤占空間,再按這兩個之一改一下
https://blog.csdn.net/fleaxin/article/details/109812090
https://zhuanlan.zhihu.com/p/381115119
到這docker就搞定了。
4. 之后掛載阿里雲,參考這個項目https://github.com/zxbu/webdav-aliyundriver/。
即在powershell里執行:
docker run -d --name=webdav-aliyundriver --restart=always -p 8080:8080 -v /etc/localtime:/etc/localtime -v /etc/aliyun-driver/:/etc/aliyun-driver/ -e TZ="Asia/Shanghai" -e ALIYUNDRIVE_REFRESH_TOKEN="your refreshToken" -e ALIYUNDRIVE_AUTH_PASSWORD="admin" -e JAVA_OPTS="-Xmx1g" zx5253/webdav-aliyundriver

注意修改refresh_token為登錄后獲取的refresh_token。

完成這步,就可以在瀏覽器localhost:8080訪問了。

四、 第二步:raidrive掛載本地

先按2、3中方法之一,使用webdav協議將阿里雲盤映射到本地后,再使用raidrive將之變成本地硬盤形式使用。
如圖是需要注意的地方,賬號密碼填寫之前設置的,若未修改則都為admin。



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM