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

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

FLAGS:
    -I, --auto-index    Automatically generate index.html
    -h, --help          Prints help information
        --no-trash      Delete file permanently instead of trashing it
	--read-only     Enable read only mode
    -V, --version       Prints version information

OPTIONS:
    -W, --auth-password <auth-password>          WebDAV authentication password [env: WEBDAV_AUTH_PASSWORD=]
    -U, --auth-user <auth-user>                  WebDAV authentication username [env: WEBDAV_AUTH_USER=]
        --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
        --host <host>                            Listen host [env: HOST=]  [default: 0.0.0.0]
    -p, --port <port>                            Listen port [env: PORT=]  [default: 8080]
    -S, --read-buffer-size <read-buffer-size>
            Read/download buffer size in bytes, defaults to 10MB [default: 10485760]

    -r, --refresh-token <refresh-token>          Aliyun drive refresh token [env: REFRESH_TOKEN=]
        --root <root>                            Root directory path [default: /]
    -w, --workdir <workdir>                      Working directory, refresh_token will be stored in there if specified

获取 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.1.1.tar.gz (633.0 kB view details)

Uploaded Source

Built Distributions

aliyundrive_webdav-1.1.1-py3-none-win_amd64.whl (2.5 MB view details)

Uploaded Python 3 Windows x86-64

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

Uploaded Python 3 Windows x86

aliyundrive_webdav-1.1.1-py3-none-musllinux_1_1_x86_64.whl (2.9 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ x86-64

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

Uploaded Python 3 musllinux: musl 1.1+ i686

aliyundrive_webdav-1.1.1-py3-none-musllinux_1_1_armv7l.whl (2.4 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ ARMv7l

aliyundrive_webdav-1.1.1-py3-none-musllinux_1_1_aarch64.whl (2.7 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ ARM64

aliyundrive_webdav-1.1.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.4 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ ARMv7l

aliyundrive_webdav-1.1.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.7 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ ARM64

aliyundrive_webdav-1.1.1-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl (2.9 MB view details)

Uploaded Python 3 manylinux: glibc 2.5+ x86-64

aliyundrive_webdav-1.1.1-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.1.1-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (4.9 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.1.1-py3-none-macosx_10_7_x86_64.whl (2.5 MB view details)

Uploaded Python 3 macOS 10.7+ x86-64

File details

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

File metadata

  • Download URL: aliyundrive_webdav-1.1.1.tar.gz
  • Upload date:
  • Size: 633.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 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.1.1.tar.gz
Algorithm Hash digest
SHA256 aa016016e52750b7576cd54b942880a20cef8f95e6de953e02faa40a065b731e
MD5 a5f31c428efea437535f422dbbaa2c45
BLAKE2b-256 b9f1bb814e63e8f0bf612da3e3551a7f90437823735d294c2e66a57b25d0b4c1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aliyundrive_webdav-1.1.1-py3-none-win_amd64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 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.1.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 d0e73036c6e2af646625dc5afb855fea50a3d12879444dd7c721c552cd2a99f7
MD5 ec398f9ff5b97a9e8c3065d8521fcbbb
BLAKE2b-256 4b6bfcc46f32d79425c12e385ce1bde78b62d640b73a0f444a5e304ec30d6e95

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aliyundrive_webdav-1.1.1-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.0 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.1.1-py3-none-win32.whl
Algorithm Hash digest
SHA256 5e630f3f64753b08e7d523f964b4b69710f9822d71eb53ad37c5a62ad971415c
MD5 64229abcb0965b56546dab784d22402a
BLAKE2b-256 da7993f4b7167958fb815cbe90b8bdaf72cd2db0982212fcb12ce08698118000

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aliyundrive_webdav-1.1.1-py3-none-musllinux_1_1_x86_64.whl
  • Upload date:
  • Size: 2.9 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.0 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.1.1-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 799871aedd733e89d1bc0e4de9fa090958131d1103f0a4745934b6cbcb312a5c
MD5 a73c38f5d5237466b1729127d47361ca
BLAKE2b-256 0af7e789ce9897de48e519dc0565467e4caa82e4d1b65a940f38a50b678feddf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aliyundrive_webdav-1.1.1-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.0 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.1.1-py3-none-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 09f6acefceee00b151887ed11dad91d272d8ecf56a79cad837bb9641670a8e5f
MD5 88c37b0a6e16e312140c51b72e67171e
BLAKE2b-256 d10a80c7d96118874b032d1c5494f71e98300a7028299a4e31e02c7f2b89d16d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aliyundrive_webdav-1.1.1-py3-none-musllinux_1_1_armv7l.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: Python 3, musllinux: musl 1.1+ ARMv7l
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 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.1.1-py3-none-musllinux_1_1_armv7l.whl
Algorithm Hash digest
SHA256 549e92c2baba10b44e9bc77ba662cfbde80387e0f77765f154521a8f46ecb197
MD5 0a9803fe47e8030109b87b442a9ee0ae
BLAKE2b-256 15659b79c1313eb280a63f43185af1bd2d4fcad3257540f63236af33ebf9f0ff

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aliyundrive_webdav-1.1.1-py3-none-musllinux_1_1_aarch64.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: Python 3, musllinux: musl 1.1+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 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.1.1-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 3c1aa5730ea333e55993597e70f95255a1017387fe075b320c3fdba389837ec7
MD5 94b424f21a2c493c2c73a3c6e917d4ff
BLAKE2b-256 8f10607439ddc214b4963a021ff4b308d27b586e463c4bffa5c2c1c2b1300cc4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.1.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 c9cbcf7831d976fa331a0fe41ddf457fd660faf79aa43aadc3825547b761be80
MD5 5d624d5bcd9bf284ad97e9bfec82f341
BLAKE2b-256 1aa700daaad0987cba3aed9e265df7410b888e4bb22d2a1cd7c134ce7e6a9ba2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.1.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6e9fb38419c4dd3d1d4b27864037b0c955f6b3d66cf015c34899d660672c67f9
MD5 b60a6d1eedfdc476ba33ad96f95591c3
BLAKE2b-256 7e6c99024c436fcea0d235a4a8e2ba75a1d5ca82efaa7576a70805cc9df1d796

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.1.1-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 4878458bb2775e064da763b1c431b0c53f3d431a559ebaf134cd66f9b61ddc1b
MD5 3cd47496eb2bb4d8c9cf4aff2fe821b7
BLAKE2b-256 7225cd8f6072c767012acd90cc55dfbac1a8e74f22d69b185af6f97c3510497d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.1.1-py3-none-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 bc5dcd74d26569e5e7dda424a6cec1aa41601ea1df1f209540d2205b797bf864
MD5 0ca57ef3fddc79234c0664f0fc40f656
BLAKE2b-256 49ba66bee77ecf80af825f27451c34a36b5fe0b4a91cf2f2f643b3679587c4db

See more details on using hashes here.

File details

Details for the file aliyundrive_webdav-1.1.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.1.1-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 38508a11fae972a0ba5705a7f72afea3e21acefe1ed1d7561a7e524006d47b73
MD5 866ea0103efb0b99dc16b906eeef3718
BLAKE2b-256 338ce12ac2f968f5029499d6cad094dcfd135f95920905879ce1975619aba9c1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aliyundrive_webdav-1.1.1-py3-none-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: Python 3, macOS 10.7+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 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.1.1-py3-none-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 cae0a01792198c37fb22deb0c0e3d96430b9a12684b87ef7a8c0cc917907ae6b
MD5 a93f0af561ae0f12346e839df7c99664
BLAKE2b-256 e37273fa6bb7594d9e218947a9322148537a20903a5a308579ebf0cb2ae6dd91

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