阿里云盘 WebDAV 服务,主要使用场景为配合支持 WebDAV 协议的客户端 App 如 Infuse、nPlayer 等实现在电视上直接观看云盘视频内容, 支持客户端 App 直接从阿里云盘获取文件播放而不经过运行本应用的服务器中转, 支持上传文件,但受限于 WebDAV 协议不支持文件秒传。 如果你使用 Emby 或者 Jellyfin,也可以试试 aliyundrive-fuse 项目。 如果项目对你有帮助,请考虑捐赠支持项目持续维护。
特别赞助
安装可以从 GitHub Releases 页面下载预先构建的二进制包, 也可以使用 pip 从 PyPI 下载: pip install aliyundrive-webdav 如果系统支持 Snapcraft 比如 Ubuntu、Debian 等,也可以使用 snap 安装: sudo snap install aliyundrive-webdav OpenWrt 路由器GitHub Releases 中有预编译的 ipk 文件, 目前提供了 aarch64/arm/mipsel/x86_64/i686 等架构的版本,可以下载后使用 opkg 安装,以 nanopi r4s 为例: wget https://github.com/messense/aliyundrive-webdav/releases/download/v1.10.3/aliyundrive-webdav_1.10.3-1_aarch64_generic.ipk wget https://github.com/messense/aliyundrive-webdav/releases/download/v1.10.3/luci-app-aliyundrive-webdav_1.10.3_all.ipk wget https://github.com/messense/aliyundrive-webdav/releases/download/v1.10.3/luci-i18n-aliyundrive-webdav-zh-cn_1.10.3-1_all.ipk opkg install aliyundrive-webdav_1.10.3-1_aarch64_generic.ipk opkg install luci-app-aliyundrive-webdav_1.10.3_all.ipk opkg install luci-i18n-aliyundrive-webdav-zh-cn_1.10.3-1_all.ipk 其它 CPU 架构的路由器可在 GitHub Releases 页面中查找对应的架构的主程序 ipk 文件下载安装, 常见 OpenWrt 路由器 CPU 架构如下表(欢迎补充):
Koolshare 梅林固件GitHub
Releases 中有预编译包 Docker 运行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 其中, QNAP 威联通 NASQNAP 插件qnap-aliyunpan-webdav by @iranee. ContainerStation (Docker)管理员登陆 NAS 后安装 ContainerStation 并启动服务,在 Management (管理) 标签中 Create Application (新建应用),配置如下 version: '3.3' services: aliyundrive-webdav: container_name: aliyundrive-webdav restart: unless-stopped ports: - '8080:8080' environment: - 'REFRESH_TOKEN=mytoken...' image: messense/aliyundrive-webdav 其中 点击 Create (创建)后启动,访问 http://nas地址:8080/ 即可看到你网盘的自动生成索引网页文件。 参考文档
rclone由于 rclone 请求时总是会以上一个请求 URL 作为 为了避免重复上传文件,使用 rclone 时推荐使用 Nextcloud WebDAV 模式,可以支持 sha1 checksums. 另外需要配合 举个例子: rclone --no-update-modtime copy abc.pdf aliyundrive-nc://docs/ 命令行用法$ aliyundrive-webdav --help aliyundrive-webdav 1.10.3 WebDAV server for AliyunDrive USAGE: aliyundrive-webdav [OPTIONS] aliyundrive-webdav <SUBCOMMAND> OPTIONS: --cache-size <CACHE_SIZE> Directory entries cache size [default: 1000] --cache-ttl <CACHE_TTL> Directory entries cache expiration time in seconds [default: 600] --debug Enable debug log --domain-id <DOMAIN_ID> Aliyun PDS domain id -h, --help Print help information --host <HOST> Listen host [env: HOST=] [default: 0.0.0.0] -I, --auto-index Automatically generate index.html --no-redirect Disable 302 redirect when using app refresh token --no-self-upgrade Disable self auto upgrade --no-trash Delete file permanently instead of trashing it -p, --port <PORT> Listen port [env: PORT=] [default: 8080] --prefer-http-download Prefer downloading using HTTP protocol -r, --refresh-token <REFRESH_TOKEN> Aliyun drive refresh token [env: REFRESH_TOKEN=] --read-only Enable read only mode --root <ROOT> Root directory path [default: /] -S, --read-buffer-size <READ_BUFFER_SIZE> Read/download buffer size in bytes, defaults to 10MB [default: 10485760] --skip-upload-same-size Skip uploading same size file --strip-prefix <STRIP_PREFIX> Prefix to be stripped off when handling request [env: WEBDAV_STRIP_PREFIX=] --tls-cert <TLS_CERT> TLS certificate file path [env: TLS_CERT=] --tls-key <TLS_KEY> TLS private key file path [env: TLS_KEY=] -U, --auth-user <AUTH_USER> WebDAV authentication username [env: WEBDAV_AUTH_USER=] --upload-buffer-size <UPLOAD_BUFFER_SIZE> Upload buffer size in bytes, defaults to 16MB [default: 16777216] -V, --version Print version information -w, --workdir <WORKDIR> Working directory, refresh_token will be stored in there if specified -W, --auth-password <AUTH_PASSWORD> WebDAV authentication password [env: WEBDAV_AUTH_PASSWORD=] SUBCOMMANDS: help Print this message or the help of the given subcommand(s) qr Scan QRCode
获取 refresh_token
LicenseThis work is released under the MIT license. A copy of the license is provided in the LICENSE file. |