🚀 Help me to become a full-time open-source developer by sponsoring me on GitHub
阿里云盘 WebDAV æœåŠ¡ï¼Œä¸»è¦ä½¿ç”¨åœºæ™¯ä¸ºé…åˆæ”¯æŒ WebDAV å议的客户端 App 如 Infuseã€nPlayer ç‰å®žçŽ°åœ¨ç”µè§†ä¸Šç›´æŽ¥è§‚看云盘视频内容, 支æŒå®¢æˆ·ç«¯ App 直接从阿里云盘获å–文件æ’放而ä¸ç»è¿‡è¿è¡Œæœ¬åº”用的æœåŠ¡å™¨ä¸è½¬, 支æŒä¸Šä¼ 文件,但å—é™äºŽ WebDAV åè®®ä¸æ”¯æŒæ–‡ä»¶ç§’ä¼ ã€‚
å¦‚æžœä½ ä½¿ç”¨ Emby 或者 Jellyfin,也å¯ä»¥è¯•è¯• aliyundrive-fuse 项目。
å¦‚æžœé¡¹ç›®å¯¹ä½ æœ‰å¸®åŠ©ï¼Œè¯·è€ƒè™‘æèµ æ”¯æŒé¡¹ç›®æŒç»ç»´æŠ¤ã€‚
Note
æœ¬é¡¹ç›®ä½œè€…æ²¡æœ‰ä¸Šä¼ éœ€æ±‚, æ•…ä¸Šä¼ æ–‡ä»¶åŠŸèƒ½æµ‹è¯•ä¸å…¨é¢ä¸”没有æŒç»è¿ä»£è®¡åˆ’. å¦‚æžœä½ å¾ˆéœ€è¦ä¸Šä¼ 功能, å¯è€ƒè™‘付费技术支æŒ.
å¯ä»¥ä»Ž GitHub Releases 页é¢ä¸‹è½½é¢„先构建的二进制包, 也å¯ä»¥ä½¿ç”¨ pip 从 PyPI 下载:
bash
pip install aliyundrive-webdav
å¦‚æžœç³»ç»Ÿæ”¯æŒ Snapcraft 比如 Ubuntuã€Debian ç‰ï¼Œä¹Ÿå¯ä»¥ä½¿ç”¨ snap 安装:
bash
sudo snap install aliyundrive-webdav
GitHub Releases ä¸æœ‰é¢„编译的 ipk 文件, ç›®å‰æ供了 aarch64/arm/mipsel/x86_64/i686 ç‰æž¶æž„的版本,å¯ä»¥ä¸‹è½½åŽä½¿ç”¨ opkg 安装,以 nanopi r4s 为例:
bash
wget https://github.com/messense/aliyundrive-webdav/releases/download/v1.10.6/aliyundrive-webdav_1.10.6-1_aarch64_generic.ipk
wget https://github.com/messense/aliyundrive-webdav/releases/download/v1.10.6/luci-app-aliyundrive-webdav_1.10.6_all.ipk
wget https://github.com/messense/aliyundrive-webdav/releases/download/v1.10.6/luci-i18n-aliyundrive-webdav-zh-cn_1.10.6-1_all.ipk
opkg install aliyundrive-webdav_1.10.6-1_aarch64_generic.ipk
opkg install luci-app-aliyundrive-webdav_1.10.6_all.ipk
opkg install luci-i18n-aliyundrive-webdav-zh-cn_1.10.6-1_all.ipk
其它 CPU 架构的路由器å¯åœ¨ GitHub Releases 页é¢ä¸æŸ¥æ‰¾å¯¹åº”çš„æž¶æž„çš„ä¸»ç¨‹åº ipk 文件下载安装, å¸¸è§ OpenWrt 路由器 CPU 架构如下表(欢迎补充):
| 路由器 | CPU 架构 | |----------------|----------------------| | nanopi r4s | aarch64generic | | å°ç±³ AX3600 | aarch64cortex-a53 | | æ–讯 N1 ç›’å | aarch64cortex-a53 | | Newifi D2 | mipsel24kc | | Pogoplug | arm_mpcore |
Tips: ä¸æ¸…楚 CPU 架构类型å¯é€šè¿‡è¿è¡Œ
opkg print-architecture
命令查询。
GitHub Releases ä¸æœ‰é¢„编译包 aliyundrivewebdav-merlin-arm*.tar.gz
, ç›®å‰æ供了旧的 arm380 和兼容 arm384/386 固件的版本,å¯åœ¨ä¸‹è½½åŽåœ¨è½¯ä»¶ä¸å¿ƒç¦»çº¿å®‰è£…。
bash
docker run -d --name=aliyundrive-webdav --restart=unless-stopped -p 8080:8080 \
-v /etc/aliyundrive-webdav/:/etc/aliyundrive-webdav/ \
-e REFRESH_TOKEN='your refresh token' \
-e WEBDAV_AUTH_USER=admin \
-e WEBDAV_AUTH_PASSWORD=admin \
messense/aliyundrive-webdav
å…¶ä¸ï¼ŒREFRESH_TOKEN
环境å˜é‡ä¸ºä½ 的阿里云盘 refresh_token
,WEBDAV_AUTH_USER
和 WEBDAV_AUTH_PASSWORD
为连接 WebDAV æœåŠ¡çš„用户å和密ç 。
qnap-aliyunpan-webdav by @iranee.
管ç†å‘˜ç™»é™† NAS åŽå®‰è£… ContainerStation 并å¯åŠ¨æœåŠ¡ï¼Œåœ¨ Management (管ç†) æ ‡ç¾ä¸ Create Application (新建应用),é…置如下
yaml
version: '3.3'
services:
aliyundrive-webdav:
container_name: aliyundrive-webdav
restart: unless-stopped
ports:
- '8080:8080'
environment:
- 'REFRESH_TOKEN=mytoken...'
image: messense/aliyundrive-webdav
å…¶ä¸ REFRESH_TOKEN
文档最下é¢è¯´æ˜Žï¼›:8080
ç½‘ç›˜è®¿é—®æ˜ å°„ç«¯å£ï¼Œå¯ä»¥æŒ‰éœ€æ”¹ä¸ºå…¶ä»–的。
点击 Create (创建)åŽå¯åŠ¨ï¼Œè®¿é—® http://nas地å€:8080/ å³å¯çœ‹åˆ°ä½ 网盘的自动生æˆç´¢å¼•ç½‘页文件。
å‚考文档
由于 rclone 请求时总是会以上一个请求 URL 作为 Referer
, 使用 rclone 时请使用 Web 版 refresh token 或者å¯åŠ¨ aliyundrive-webdav æ—¶å¢žåŠ --no-redirect
å‚æ•°.
为了é¿å…é‡å¤ä¸Šä¼ 文件,使用 rclone 时推è使用 Nextcloud WebDAV 模å¼ï¼Œå¯ä»¥æ”¯æŒ sha1 checksums.
å¦å¤–需è¦é…åˆ --no-update-modtime
å‚数,å¦åˆ™ rclone 为了更新文件修改时间还是会强制é‡æ–°ä¸Šä¼ 。
举个例å:
bash
rclone --no-update-modtime copy abc.pdf aliyundrive-nc://docs/
```bash $ aliyundrive-webdav --help aliyundrive-webdav 1.10.6 WebDAV server for AliyunDrive
USAGE:
aliyundrive-webdav [OPTIONS]
aliyundrive-webdav
OPTIONS:
--cache-size
SUBCOMMANDS: help Print this message or the help of the given subcommand(s) qr Scan QRCode ```
Note
注æ„:TLS/HTTPS æš‚ä¸æ”¯æŒ MIPS 架构。
Note
注æ„:å¯ç”¨
--skip-upload-same-size
é€‰é¡¹è™½ç„¶èƒ½åŠ é€Ÿä¸Šä¼ ä½†å¯èƒ½ä¼šå¯¼è‡´ä¿®æ”¹è¿‡çš„åŒæ ·å¤§å°çš„文件ä¸ä¼šè¢«ä¸Šä¼
Note
注æ„:使用 App refresh token 时,WebDAV 客户端请求文件会默认返回 302 é‡å®šå‘而ä¸ç»è¿‡ä¸è½¬ã€‚如需ä¸è½¬è¯·å¯ç”¨
--no-redirect
选项。
自动获å–: 登录阿里云盘åŽï¼ŒæŽ§åˆ¶å°ç²˜è´´ JSON.parse(localStorage.token).refresh_token
手动获å–: 登录阿里云盘åŽï¼Œå¯ä»¥åœ¨å¼€å‘者工具 ->
Application -> Local Storage ä¸çš„ token
å—段ä¸æ‰¾åˆ°ã€‚
注æ„:ä¸æ˜¯å¤åˆ¶æ•´æ®µ JSON 值,而是 JSON 里 refresh_token
å—段的值,如下图所示红色部分:
命令行获å–: aliyundrive-webdav qr login
使用移动端 App refresh token: 需è¦åœ¨å…¶å‰å¢žåŠ app:
å‰ç¼€,如 refresh token 为 abcd
则填入 app:abcd
This work is released under the MIT license. A copy of the license is provided in the LICENSE file.