Skip to main content

WebDAV server for AliyunDrive

Project description

aliyundrive-webdav

GitHub Actions PyPI Docker Image aliyundrive-webdav Crates.io

🚀 Help me to become a full-time open-source developer by sponsoring me on GitHub

阿里云盘 WebDAV 服务,主要使用场景为配合支持 WebDAV 协议的客户端 App 如 InfusenPlayer 等实现在电视上直接观看云盘视频内容, 支持上传文件,但受限于 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.6.1/aliyundrive-webdav_1.6.1-1_aarch64_generic.ipk
wget https://github.com/messense/aliyundrive-webdav/releases/download/v1.6.1/luci-app-aliyundrive-webdav_1.6.1_all.ipk
wget https://github.com/messense/aliyundrive-webdav/releases/download/v1.6.1/luci-i18n-aliyundrive-webdav-zh-cn_1.6.1-1_all.ipk
opkg install aliyundrive-webdav_1.6.1-1_aarch64_generic.ipk
opkg install luci-app-aliyundrive-webdav_1.6.1_all.ipk
opkg install luci-i18n-aliyundrive-webdav-zh-cn_1.6.1-1_all.ipk

其它 CPU 架构的路由器可在 GitHub Releases 页面中查找对应的架构的主程序 ipk 文件下载安装, 常见 OpenWrt 路由器 CPU 架构如下表(欢迎补充):

路由器 CPU 架构
nanopi r4s aarch64_generic
小米 AX3600 aarch64_cortex-a53
斐讯 N1 盒子 aarch64_cortex-a53
Newifi D2 mipsel_24kc
Pogoplug arm_mpcore

Tips: 不清楚 CPU 架构类型可通过运行 opkg print-architecture 命令查询。

OpenWrt 配置界面

Koolshare 梅林固件

GitHub Releases 中有预编译包 aliyundrivewebdav-merlin-arm*.tar.gz , 目前提供了旧的 arm380 和兼容 arm384/386 固件的版本,可在下载后在软件中心离线安装。

梅林配置界面

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

其中,REFRESH_TOKEN 环境变量为你的阿里云盘 refresh_tokenWEBDAV_AUTH_USERWEBDAV_AUTH_PASSWORD 为连接 WebDAV 服务的用户名和密码。

QNAP 威联通 NAS

QNAP 插件

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

其中 REFRESH_TOKEN 文档最下面说明;:8080 网盘访问映射端口,可以按需改为其他的。

点击 Create (创建)后启动,访问 http://nas地址:8080/ 即可看到你网盘的自动生成索引网页文件。

参考文档

命令行用法

$ aliyundrive-webdav --help
aliyundrive-webdav 1.6.1
WebDAV server for AliyunDrive

USAGE:
    aliyundrive-webdav [OPTIONS]

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-self-upgrade                        Disable self auto upgrade
        --no-trash                               Delete file permanently instead of trashing it
    -p, --port <PORT>                            Listen port [env: PORT=] [default: 8080]
    -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]
        --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=]
    -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=]

注意:TLS/HTTPS 暂不支持 MIPS 架构。

获取 refresh_token

  • 自动获取: 登录阿里云盘后,控制台粘贴 JSON.parse(localStorage.token).refresh_token

  • 手动获取: 登录阿里云盘后,可以在开发者工具 -> Application -> Local Storage 中的 token 字段中找到。
    注意:不是复制整段 JSON 值,而是 JSON 里 refresh_token 字段的值,如下图所示红色部分: refresh token

  • 使用移动端 App refresh token: 需要在其前增加 app: 前缀,如 refresh token 为 abcd 则填入 app:abcd

License

This work is released under the MIT license. A copy of the license is provided in the LICENSE file.

Project details


Release history Release notifications | RSS feed

This version

1.6.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aliyundrive_webdav-1.6.1.tar.gz (644.9 kB view details)

Uploaded Source

Built Distributions

aliyundrive_webdav-1.6.1-py3-none-win_arm64.whl (2.3 MB view details)

Uploaded Python 3 Windows ARM64

aliyundrive_webdav-1.6.1-py3-none-win_amd64.whl (2.9 MB view details)

Uploaded Python 3 Windows x86-64

aliyundrive_webdav-1.6.1-py3-none-win32.whl (2.8 MB view details)

Uploaded Python 3 Windows x86

aliyundrive_webdav-1.6.1-py3-none-musllinux_1_1_x86_64.whl (3.3 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ x86-64

aliyundrive_webdav-1.6.1-py3-none-musllinux_1_1_i686.whl (3.2 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ i686

aliyundrive_webdav-1.6.1-py3-none-musllinux_1_1_armv7l.whl (2.8 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ ARMv7l

aliyundrive_webdav-1.6.1-py3-none-musllinux_1_1_aarch64.whl (3.1 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ ARM64

aliyundrive_webdav-1.6.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.8 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ ARMv7l

aliyundrive_webdav-1.6.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ ARM64

aliyundrive_webdav-1.6.1-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl (3.3 MB view details)

Uploaded Python 3 manylinux: glibc 2.5+ x86-64

aliyundrive_webdav-1.6.1-py3-none-manylinux_2_5_i686.manylinux1_i686.whl (3.2 MB view details)

Uploaded Python 3 manylinux: glibc 2.5+ i686

aliyundrive_webdav-1.6.1-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (5.7 MB view details)

Uploaded Python 3 macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64

aliyundrive_webdav-1.6.1-py3-none-macosx_10_7_x86_64.whl (2.9 MB view details)

Uploaded Python 3 macOS 10.7+ x86-64

File details

Details for the file aliyundrive_webdav-1.6.1.tar.gz.

File metadata

  • Download URL: aliyundrive_webdav-1.6.1.tar.gz
  • Upload date:
  • Size: 644.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for aliyundrive_webdav-1.6.1.tar.gz
Algorithm Hash digest
SHA256 dc87c3c1b470a6f146913e2d103ddfa0eef955cce1f52a3a11b877b3f425bd0a
MD5 3c450e667d4132c0b7e8eb543f1e8fbf
BLAKE2b-256 27a3bc30db3accae0aa7a76639f4c22ce392ebd3d0158a111e354b60913971ee

See more details on using hashes here.

File details

Details for the file aliyundrive_webdav-1.6.1-py3-none-win_arm64.whl.

File metadata

File hashes

Hashes for aliyundrive_webdav-1.6.1-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 608ff5d09c569723be0c9a0e8087bc3bc73ec1ce4ac0a84fdebda8edf64366c4
MD5 92a5c267cce2af77e49a2d9bffb35043
BLAKE2b-256 88ff5086897a60e44076cf388e14d90ca5b969afb9f4b956ce4787c9580e8d16

See more details on using hashes here.

File details

Details for the file aliyundrive_webdav-1.6.1-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for aliyundrive_webdav-1.6.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 f5311ccab2f98081bcd864b05b461690223baab413c1e4f2174df99335b7ab99
MD5 8f5159e3813f77116196fcf5e6e9fe75
BLAKE2b-256 56005f0b0eb9207cd60dab99102a67c7ff3044afdca928f42c03b372abeb7d4b

See more details on using hashes here.

File details

Details for the file aliyundrive_webdav-1.6.1-py3-none-win32.whl.

File metadata

File hashes

Hashes for aliyundrive_webdav-1.6.1-py3-none-win32.whl
Algorithm Hash digest
SHA256 d98e5aaff7c22d55c99cc8877f6d4358706f0b31f9db6d59806ea66e01ccc239
MD5 32e3429a12d169f68ac939e73328cfb6
BLAKE2b-256 a2fe484af231e008ca3a284a6b9d131210633b186069d0a1ad919287990bd3e1

See more details on using hashes here.

File details

Details for the file aliyundrive_webdav-1.6.1-py3-none-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for aliyundrive_webdav-1.6.1-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 4d063bcd8985a09114f5a57b5e7fe59460d1de522156ea092f10d7e56d239bfc
MD5 412d6d1182684bd1fa6ce351b9482464
BLAKE2b-256 d0e5451589b6cfa440d7b6441d048f755f07ad104cc2edbfe747f076e514f6e9

See more details on using hashes here.

File details

Details for the file aliyundrive_webdav-1.6.1-py3-none-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for aliyundrive_webdav-1.6.1-py3-none-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 55fb6d45c118461b2f016b9bda3bd8f9b59748d2844775ba04df2e8fd85c9679
MD5 758576e275e2c0c5cf4982e76a75a08b
BLAKE2b-256 8934804e6c5171195fea7841bf52ecee2b8d87aa2b6e8988f0e720d9ea064034

See more details on using hashes here.

File details

Details for the file aliyundrive_webdav-1.6.1-py3-none-musllinux_1_1_armv7l.whl.

File metadata

File hashes

Hashes for aliyundrive_webdav-1.6.1-py3-none-musllinux_1_1_armv7l.whl
Algorithm Hash digest
SHA256 f06e30793d5a0f85a660bed570dd59f2d6e0da594bcf9173517d47a70c6df4ab
MD5 8629f9fcb3a1ccc5eec025c251a73ddb
BLAKE2b-256 3897da2bbd8d938c9d75a1df7aa10ccdd4c72f5ad8e5843e343417494a7f5770

See more details on using hashes here.

File details

Details for the file aliyundrive_webdav-1.6.1-py3-none-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for aliyundrive_webdav-1.6.1-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 a46967cbe98f901d8f193a8a0f3c4cc06a733dd5f82cbe208349a3fe9711f4dc
MD5 49e645204ef57a7f4511d94f27b31c67
BLAKE2b-256 85198e3a6d4f5f660a65a54957e383e2645a54aeb8fbe2d0de412b9870bff474

See more details on using hashes here.

File details

Details for the file aliyundrive_webdav-1.6.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for aliyundrive_webdav-1.6.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 9f04d6faa026f02f86c41104d7b38fd28ea7c20f91ff0f5983f052717dc198c9
MD5 402ca0289ab63c879b425e204ccc9625
BLAKE2b-256 8b0a028fcdfe2702ff2d3d37c82ca6a677394a918a611154424076970e8470e6

See more details on using hashes here.

File details

Details for the file aliyundrive_webdav-1.6.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for aliyundrive_webdav-1.6.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ddfd787506e9b5e54c3a725f7e39375aadbd9b9abd8a7880c1d387345f9e94db
MD5 318bd477721ac9b1a194f1fcc6a55a37
BLAKE2b-256 19eea080418388944eb1bdba6937f02273e50bf9d2d660d46740066eb6805bb4

See more details on using hashes here.

File details

Details for the file aliyundrive_webdav-1.6.1-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for aliyundrive_webdav-1.6.1-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 eb2a8118d11ecbea37a4d0ea628307586c35d043e07c9407ce4296aab538f6c5
MD5 8551f55cb514e9d7d58ca91e983b6f9b
BLAKE2b-256 d9196e9c5c37ec7af6a090b0bb75bd758578325efe9bbaf1ceed406760da4167

See more details on using hashes here.

File details

Details for the file aliyundrive_webdav-1.6.1-py3-none-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for aliyundrive_webdav-1.6.1-py3-none-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 0ef1d3223a865567a8aeee003c9489891ff636131619e2ed8545aa1880a7f053
MD5 426b1c8e2d1f8b0c37fc4cb8e1957bcf
BLAKE2b-256 9490e0c7fe3c0010001b69ef2784faa3b4a433035dc4e6382484b72d065cb5c4

See more details on using hashes here.

File details

Details for the file aliyundrive_webdav-1.6.1-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for aliyundrive_webdav-1.6.1-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 1c90a3cb7661af862fecb777008ed971e0d1963d9b7ebfe31d43df3cadb8daa2
MD5 706b60b6235c4a6493146615664d2f37
BLAKE2b-256 a28923ec3ab70ae0d461907bb966290a613877eff8803d413fd326c2f75a0c48

See more details on using hashes here.

File details

Details for the file aliyundrive_webdav-1.6.1-py3-none-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for aliyundrive_webdav-1.6.1-py3-none-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 d8f213944abf7bb62d3b7c9d61c4e6763ba48cebbc95dc2615bc080b0206383c
MD5 3b3bed11c4bc9805ba741543f50c4ded
BLAKE2b-256 a3223ad7cdfbd2fd5fb18d9cf5c2a94f15e250824a5b1df65a1e09c770afa7f6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page