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.2.0/aliyundrive-webdav_1.2.0_aarch64_generic.ipk
wget https://github.com/messense/aliyundrive-webdav/releases/download/v1.2.0/luci-app-aliyundrive-webdav_1.2.0_all.ipk
wget https://github.com/messense/aliyundrive-webdav/releases/download/v1.2.0/luci-i18n-aliyundrive-webdav-zh-cn_1.2.0-1_all.ipk
opkg install aliyundrive-webdav_1.2.0_aarch64_generic.ipk
opkg install luci-app-aliyundrive-webdav_1.2.0_all.ipk
opkg install luci-i18n-aliyundrive-webdav-zh-cn_1.2.0-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.2.0

USAGE:
    aliyundrive-webdav [OPTIONS] --refresh-token <REFRESH_TOKEN>

OPTIONS:
        --cache-size <CACHE_SIZE>                Directory entries cache size [default: 1000]
        --cache-ttl <CACHE_TTL>                  Directory entries cache expiration time in seconds [default: 600]
        --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-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]
        --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

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

refresh token

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

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.2.0.tar.gz (635.2 kB view details)

Uploaded Source

Built Distributions

aliyundrive_webdav-1.2.0-py3-none-win_amd64.whl (2.6 MB view details)

Uploaded Python 3 Windows x86-64

aliyundrive_webdav-1.2.0-py3-none-win32.whl (2.4 MB view details)

Uploaded Python 3 Windows x86

aliyundrive_webdav-1.2.0-py3-none-musllinux_1_1_x86_64.whl (3.0 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ x86-64

aliyundrive_webdav-1.2.0-py3-none-musllinux_1_1_i686.whl (2.8 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ i686

aliyundrive_webdav-1.2.0-py3-none-musllinux_1_1_armv7l.whl (2.5 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ ARMv7l

aliyundrive_webdav-1.2.0-py3-none-musllinux_1_1_aarch64.whl (2.8 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ ARM64

aliyundrive_webdav-1.2.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.5 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ ARMv7l

aliyundrive_webdav-1.2.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.8 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ ARM64

aliyundrive_webdav-1.2.0-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl (3.0 MB view details)

Uploaded Python 3 manylinux: glibc 2.5+ x86-64

aliyundrive_webdav-1.2.0-py3-none-manylinux_2_5_i686.manylinux1_i686.whl (2.8 MB view details)

Uploaded Python 3 manylinux: glibc 2.5+ i686

aliyundrive_webdav-1.2.0-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (5.0 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.2.0-py3-none-macosx_10_7_x86_64.whl (2.6 MB view details)

Uploaded Python 3 macOS 10.7+ x86-64

File details

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

File metadata

  • Download URL: aliyundrive_webdav-1.2.0.tar.gz
  • Upload date:
  • Size: 635.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for aliyundrive_webdav-1.2.0.tar.gz
Algorithm Hash digest
SHA256 8cc6ef97f6c38f25c79b3d023a0804e2e44e08555af7722bf5e82b7a7de50d91
MD5 cb25e49f06fd12bccd2df0345444753e
BLAKE2b-256 cd91432c3a95efd950383c59d3e9b6d0ac06390ef3f4836c7e17cfa8c758cf7f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aliyundrive_webdav-1.2.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for aliyundrive_webdav-1.2.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 fa09c1734102d06074d198d10bf19b1ecf6b9c6cd34b2b9bc722d63bcb646589
MD5 8afebe5f6537fabd813f399021a0eada
BLAKE2b-256 bd7d776a707bb7791ccdd692659a33b8c4aa429e1ff50f349a5d502c4ca370b6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aliyundrive_webdav-1.2.0-py3-none-win32.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for aliyundrive_webdav-1.2.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 6578bc85e54bc9cc05ba6e0e8f249113cea03049454c86ebbd6ba537caadc1e3
MD5 62b30f46c5d36a6c17b3190aa250d4a0
BLAKE2b-256 833d6fd8ed78d8634f1a945ed8bb775edc7b93bac6dac25878d8f2501e94d98f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aliyundrive_webdav-1.2.0-py3-none-musllinux_1_1_x86_64.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: Python 3, musllinux: musl 1.1+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for aliyundrive_webdav-1.2.0-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 97ba65a7c72ed447c6b92782b0835240509c93068d336e1cc3d0d111cac1f104
MD5 d78195e1fbc8b6e7e9c88afba05039cb
BLAKE2b-256 32d88eb9dca3a335d1e345a1239e45d2b83ca6c15366473ed1980500cd37f9fd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aliyundrive_webdav-1.2.0-py3-none-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: Python 3, musllinux: musl 1.1+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for aliyundrive_webdav-1.2.0-py3-none-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 ed3f5289ad921e29338c11e055ac55f1c2dd9652cb5f49d5ff81c847e9696167
MD5 1900220a33c5a5baf2d95a58cf9046f7
BLAKE2b-256 404dc14d979df04c4cdb860837b9dcc5cefa99a34f824652ac61499e93793966

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aliyundrive_webdav-1.2.0-py3-none-musllinux_1_1_armv7l.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: Python 3, musllinux: musl 1.1+ ARMv7l
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for aliyundrive_webdav-1.2.0-py3-none-musllinux_1_1_armv7l.whl
Algorithm Hash digest
SHA256 40770e81136b44efc570e39987c9020a5aa84594d7305df1707489f9ddd731fd
MD5 7d6c6872f0177c69015386f52cd76cee
BLAKE2b-256 58de7df49379cff0a85d13b40dfcea57d677d819736cb985278e4771dec6e4e5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aliyundrive_webdav-1.2.0-py3-none-musllinux_1_1_aarch64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: Python 3, musllinux: musl 1.1+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for aliyundrive_webdav-1.2.0-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 d309b3e0a3d34d7798d4ffbda48ecea2e46990f377ea85f895fdb609bb7a7b04
MD5 1eacf654c9a1859f5b4a3a6a96e5b46f
BLAKE2b-256 5e42cd1cc7980df266479005897d32cc62c5e70f922713758bee41d95811a289

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.2.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 d14e5b5b16fe449a2d89723fd8409e3beec2d10aaadf5c374ac4eaaf6db64b83
MD5 ecc717c46ce80a8c5c428f67381b79a2
BLAKE2b-256 469bbb87bf716355dc82564ea1864a9303e9f3ac991ac93373e5eedf59b3a749

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.2.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 04361969fa2e79856264f93d7650e92c92faf5957ea30cda23212999fa35f57a
MD5 867444a07baaf315c461a0b469058220
BLAKE2b-256 6ec41d123b6f76746c237a12859cc124e785ba9e2241bbfc0a0c1e37fb193698

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.2.0-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 7bbfd4f8b496dc083328bce72b18646b1834e08d82e7ea339bdaadd00662339b
MD5 eab82154e20ef68ebc0cbfdfc2cbab44
BLAKE2b-256 eb7f4c294060ae293120a9b4d122bdcc63c2a3af68895cd48894eb0ec4707e3e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.2.0-py3-none-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 939b983896ca4eb0f9605dc9adfe10b495e4a02a049ab70ab6ae3ddca093f02a
MD5 cebf9854e802972efe2cb0c5d52fc35d
BLAKE2b-256 cd275f1a2a2f6cb7cc6ef37437ced961f665382e17035ef94f91346bbeedbe9a

See more details on using hashes here.

File details

Details for the file aliyundrive_webdav-1.2.0-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.2.0-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 8ac6fe4f96ea0e6ff1faa51b626c23428ad575b863d1964871860ac6ea055eac
MD5 caca31640c79acbe83cc53d75e4fbee6
BLAKE2b-256 2a2ffb6021b3277b7838316c8d0575ac315b1b1f6f5fa47a4189abc76f829fe8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aliyundrive_webdav-1.2.0-py3-none-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: Python 3, macOS 10.7+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for aliyundrive_webdav-1.2.0-py3-none-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 02657b8d47c4ababf5b9e8719cddc1ae6719a9bd069e70369212c01f201c73b5
MD5 ca3455fb975f815a762a49c0dd3546bc
BLAKE2b-256 d4ab5aec895982f0a9d9e80e7b8b3acdd3526b64f8a399252fc5fe868612c139

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