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 项目。

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

Note

本项目作者没有上传需求, 故上传文件功能测试不全面且没有持续迭代计划. 如果你很需要上传功能, 可考虑付费技术支持.

特别赞助

安装

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

SUBCOMMANDS:
    help    Print this message or the help of the given subcommand(s)
    qr      Scan QRCode

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

获取 refresh_token

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

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

  • 命令行获取: aliyundrive-webdav qr login

  • 使用移动端 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

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

Uploaded Source

Built Distributions

aliyundrive_webdav-1.7.2-py3-none-win_amd64.whl (4.0 MB view details)

Uploaded Python 3 Windows x86-64

aliyundrive_webdav-1.7.2-py3-none-win32.whl (3.8 MB view details)

Uploaded Python 3 Windows x86

aliyundrive_webdav-1.7.2-py3-none-musllinux_1_1_x86_64.whl (4.0 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ x86-64

aliyundrive_webdav-1.7.2-py3-none-musllinux_1_1_i686.whl (3.9 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ i686

aliyundrive_webdav-1.7.2-py3-none-musllinux_1_1_armv7l.whl (3.6 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ ARMv7l

aliyundrive_webdav-1.7.2-py3-none-musllinux_1_1_aarch64.whl (3.6 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ ARM64

aliyundrive_webdav-1.7.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.6 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ ARMv7l

aliyundrive_webdav-1.7.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.6 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ ARM64

aliyundrive_webdav-1.7.2-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl (4.0 MB view details)

Uploaded Python 3 manylinux: glibc 2.5+ x86-64

aliyundrive_webdav-1.7.2-py3-none-manylinux_2_5_i686.manylinux1_i686.whl (3.9 MB view details)

Uploaded Python 3 manylinux: glibc 2.5+ i686

aliyundrive_webdav-1.7.2-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (7.1 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.7.2-py3-none-macosx_10_7_x86_64.whl (3.7 MB view details)

Uploaded Python 3 macOS 10.7+ x86-64

File details

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

File metadata

  • Download URL: aliyundrive_webdav-1.7.2.tar.gz
  • Upload date:
  • Size: 665.5 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.7.2.tar.gz
Algorithm Hash digest
SHA256 cef3862b2f4fc935c9742b47ecff130e8286cbb7e28ccabc68521664b7059129
MD5 d13b629c05619e2c8e267204ac93a2fe
BLAKE2b-256 9100b09d91413ca8a06e25848d16ac69e743f4766b120857bafd96c7dbaef884

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.7.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 d66d983a39803e4075a53324294acb6dfb639763e0247542410cbe0d77664a01
MD5 5b6d197820234d7de8c5aef1a8f599b2
BLAKE2b-256 cf3eac262fde863c14726e03be5a250012267df1f63285ec6a093255ae402d51

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.7.2-py3-none-win32.whl
Algorithm Hash digest
SHA256 80bc8d5987d7c496fd908e569262ac1e4d61bf09dcc4c4c4b82d73b9f73f6acf
MD5 22f34f962348ae755408dba53884421f
BLAKE2b-256 2ef478dfe1bc41e622be951ee6461dfe6a8618aff0df1dd34ad5810afeef1012

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.7.2-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b8e27a78b58eb4dbdf55dbe4aeff0df5bc61621bb0bc64a1e32e569624db8cbe
MD5 ec514b605d4a31fa1b55bc87ea92c94d
BLAKE2b-256 7b35c2ab1a11ed20c269f0c592d2cac36b43d38e8fdb8d0aeeeeaa5eae32f80a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.7.2-py3-none-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 e5bb4d11f7b45dc83dd75e50d46a48b0a937aac9e418f3c2cf3dc2dd010f3808
MD5 e1b4caa16852d58824e3439918082eee
BLAKE2b-256 36641b31addf42fdc37cbfc02a4920c7289cb0fe513c4783597a11b54ba457bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.7.2-py3-none-musllinux_1_1_armv7l.whl
Algorithm Hash digest
SHA256 6fbc078738dd2c0f0d4dd21ec24a5fdf775b7009b48ce9adda213838c85c4942
MD5 a78460403212e74f0737c83a226b5c5b
BLAKE2b-256 218f101512e09582787d4ba490d871a490347716027231dbd35058814f8415cc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.7.2-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 11f423b232a28de35154b074746275f8b3c344538dc58f24222abb5810382b36
MD5 8ede57f6c3d37ab2a57daa596d0f68e4
BLAKE2b-256 c48d97d469d1368f98901c501c2ccf22f3ef29786930e31a299b85862f7e69e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.7.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 70a6d0f4f2507a56f2664137bc9f923ccee2a9f72c3b53114a5512783f320d11
MD5 4d413add6ded50cf26e1f914ccce551f
BLAKE2b-256 ff7df1d9d797c86f76f913aac47fae65a0adeac8fc661ea68138422e4f315dff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.7.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2bc7326ccc90888bf40f947c1bb7c90998e017f70ef6e76df7494039c0ec1f76
MD5 b226c3679f61058fa934c1546687b9f8
BLAKE2b-256 41fbbbf3c8a89e191b507cb2b7857f81da5c19368776633ca5f7f0d0e562e54f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.7.2-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 bc953262b6e84e358deaf8afbc471cffe9f89713e9cbc3c18e508c7e8c750a78
MD5 95c54c6e7542ea969c0ac0a3a963db5d
BLAKE2b-256 6f18197c319846f435932b2300b08209ac4fee771cc90c900c8d1a520709a4ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.7.2-py3-none-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 177a05bbc81193773f4be9cefe06348ca556805c614aab4759bde8cd76f7e9ff
MD5 90388227f86f865e017cff14501463cb
BLAKE2b-256 86c7b4e87cc48b348eb3bfeeb7fba47363555a417cb1545be5022c2d2fd82022

See more details on using hashes here.

File details

Details for the file aliyundrive_webdav-1.7.2-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.7.2-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 a9292f5ecd9690579d81f97c49df92c735cdcdfe2e0dd8a9e6b1bd7d041e6f21
MD5 7a7ee2f18908d99eb62f885e92a0b18c
BLAKE2b-256 5b8482f0183f9a4a5cb1308b5b5e8f8e9ef5bffa9ad2ede7602810a7319bf977

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.7.2-py3-none-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 01543eadb8da17ffba9d6a39c636899b5117728d07d859a1a6a85e51760661de
MD5 71540d4bcbbdd1caeee13f85b4832aee
BLAKE2b-256 105f602c01b77233d49e64255b9bc777803ce4ea5c433eeb8feab28eb4f1e14e

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