Skip to main content

WebDAV server for AliyunDrive

Project description

aliyundrive-webdav

GitHub Actions PyPI Docker Image aliyundrive-webdav

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

阿里云盘 WebDAV 服务,主要使用场景为配合支持 WebDAV 协议的客户端 App 如 InfusenPlayer 等实现在电视上直接观看云盘视频内容, 支持上传文件,但受限于 WebDAV 协议不支持文件秒传。

如果项目对你有帮助,请考虑捐赠支持项目持续维护。

安装

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

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

Uploaded Source

Built Distributions

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

Uploaded Python 3 Windows x86-64

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

Uploaded Python 3 Windows x86

aliyundrive_webdav-1.1.0-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.0-py3-none-musllinux_1_1_i686.whl (2.7 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ i686

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

Uploaded Python 3 musllinux: musl 1.1+ ARMv7l

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

Uploaded Python 3 musllinux: musl 1.1+ ARM64

aliyundrive_webdav-1.1.0-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.0-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.0-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.0-py3-none-manylinux_2_5_i686.manylinux1_i686.whl (2.7 MB view details)

Uploaded Python 3 manylinux: glibc 2.5+ i686

aliyundrive_webdav-1.1.0-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.0-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.0.tar.gz.

File metadata

  • Download URL: aliyundrive_webdav-1.1.0.tar.gz
  • Upload date:
  • Size: 633.3 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.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for aliyundrive_webdav-1.1.0.tar.gz
Algorithm Hash digest
SHA256 fff878853846bfc91285cf2f2cead7fbea97f813546ac9fa347d9572d0658cad
MD5 f112b3064378ba8da298cea71c78729f
BLAKE2b-256 619668fee8f5ae99072e616d52bfc9314f66d15506d912a00a041309c5fd9326

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aliyundrive_webdav-1.1.0-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.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for aliyundrive_webdav-1.1.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 0eae5776cb8d4b29d5b6cc70b6342cd78ba05b9b26d025f7f3f627c71f1538ab
MD5 aefc64eb1565778295cd219c087f8044
BLAKE2b-256 8038a6fb73865fd26c78842cb81a1b9a3619b50ffd1c4681c60fde4f2292b751

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aliyundrive_webdav-1.1.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.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for aliyundrive_webdav-1.1.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 01113a32c9d74fd3a68ec7bfbfea709daca6acbc1db52e460f84edf3843dc016
MD5 d3e906172d4d0639613a2441f90e3545
BLAKE2b-256 3c03effe01c662c6c7337209491d49ea7b6a3fa9db4a4ab453f0d09f16750778

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aliyundrive_webdav-1.1.0-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.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for aliyundrive_webdav-1.1.0-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 dd65202d3fceead864b6b88d12e1784abcd4de37e0e2408acc5607c2abb153e7
MD5 8b61800b66363d07f424596a4440f455
BLAKE2b-256 247983b16e2de96607e6cb54efb55a18ade9ef0147f66a520943531812ce2c44

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aliyundrive_webdav-1.1.0-py3-none-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 2.7 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.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for aliyundrive_webdav-1.1.0-py3-none-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 280613fd5a85c579e66fad69d0d27d3a84c770657cd5ba496a42b251539622d5
MD5 f17d65d1936711b51dee3d9c01cd767c
BLAKE2b-256 fbd4d631c0707005ebdea68378e4ef9796f0c8fc51d40aaca03d31c2db0072f9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aliyundrive_webdav-1.1.0-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.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for aliyundrive_webdav-1.1.0-py3-none-musllinux_1_1_armv7l.whl
Algorithm Hash digest
SHA256 2fb8d629c94e5bbe7cdcd653451b3847c43ba6f997c3fdf2de158c6b49c6b4c9
MD5 af8a4e9cb932e50179c2f74cc08882e4
BLAKE2b-256 3d027d5ad5557b48e857d674ea2e0a3ebc6ff1116823949a0b3053470ed16972

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aliyundrive_webdav-1.1.0-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.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for aliyundrive_webdav-1.1.0-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 b80387ed433b9cd3c50b36a33df3744d1aeaf77f3efc69552e8b11e7a9a488ef
MD5 2a39131c323191cf36b4a123e0cc2e36
BLAKE2b-256 39f35d3270a38cec8554f65871579e093f8f3868b8950db7c8662b579b837ad1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.1.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 944ce73e6a0a19f1ecf892c624a1c150dab68feb2a4dc4aad1af95de335831d8
MD5 b4a0478ce25ed5e8b0cedb19b83dda1b
BLAKE2b-256 95f32c421c1daaab470e856cf680178eb8e2601f2a68740d143ea4f5126cd8da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 592433c5416b3c376800c784ef26e21e4a99e5a629fdbd926abc9399b177155e
MD5 2378c0951178bdddc31981d2ef7d46a9
BLAKE2b-256 065c7e818a8c4c128973a0e1709b0142206e20c308640819042c44e452817c39

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.1.0-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 bff71207130d833cbb7ff668f0234ef4ee6de0bb5b267e931aee48b0fc1d9932
MD5 e8859385f66767ca6b207e43462b5352
BLAKE2b-256 00cc0f6878c1a83849837a361eaf2c14b88c65d8f7756cad5ec6dd532d5ff1c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.1.0-py3-none-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 fb553162a58eb2b8769a4b43b22cdf9f5940285c95a11a24c7f1116c6f2ca7b0
MD5 7c2ede5cec8a4a3f61102c2e8d02d5f1
BLAKE2b-256 97df3a729245d7922872b21624890ed3a066aedb4bfeac7f2f7c25edaa894ef4

See more details on using hashes here.

File details

Details for the file aliyundrive_webdav-1.1.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.1.0-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 77f84490a7ab1783120660858e55bc72fdfe762283a117ab5bb55bcaaa95e431
MD5 f57fb120583788267f2494bec7be3f7f
BLAKE2b-256 f2f26d84bf1ef7fdbc3141e64e216be5ae81d3d4e211be5ef021b0fc3ad51579

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aliyundrive_webdav-1.1.0-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.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for aliyundrive_webdav-1.1.0-py3-none-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 b79d4536bb9a9aaa38634761c6f8909ccd99e780c5054e0742e963693260f9ee
MD5 ce7d325c4d7fd6d8f8ecaf080472d66c
BLAKE2b-256 2784a17ff2374bd76b1bdd5034d4a9f1e21eb7291f36f35ac211d40bd666d775

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