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

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-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

  • 自动获取: 登录阿里云盘后,控制台粘贴 JSON.parse(localStorage.token).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

This version

1.3.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.3.1.tar.gz (638.3 kB view details)

Uploaded Source

Built Distributions

aliyundrive_webdav-1.3.1-py3-none-win_arm64.whl (2.0 MB view details)

Uploaded Python 3 Windows ARM64

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

Uploaded Python 3 Windows x86-64

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

Uploaded Python 3 Windows x86

aliyundrive_webdav-1.3.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.3.1-py3-none-musllinux_1_1_i686.whl (2.8 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ i686

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

Uploaded Python 3 musllinux: musl 1.1+ ARMv7l

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

Uploaded Python 3 musllinux: musl 1.1+ ARM64

aliyundrive_webdav-1.3.1-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.3.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.3.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.3.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.3.1-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.3.1-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.3.1.tar.gz.

File metadata

  • Download URL: aliyundrive_webdav-1.3.1.tar.gz
  • Upload date:
  • Size: 638.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.10

File hashes

Hashes for aliyundrive_webdav-1.3.1.tar.gz
Algorithm Hash digest
SHA256 c9cbc409ba49246ba848c8b0c659966b8212e7ee76e9217e08ee1c780826dafa
MD5 7c713f4b57e793b90c1a72f5d0b8f633
BLAKE2b-256 66f38cfac576d0b53620aad971bc4209c539fc6953766ba6e0691f1cdbeb65cc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.1-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 a91469360ee83d039a700855068d7485f81834d1328d9fe03605e25abbc79245
MD5 e06f2bf8f65fc4cc616a29b2d7d15eec
BLAKE2b-256 cdd2991372b5f3519aa087d342842155cfd259fdf5124143f61a3c62c4bdba31

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 97a3ad863857bd415b1ccc435058eff103fd348ef63e00a90f9a6b0343d82939
MD5 7bb39a5493dc40e39af4d2e808b0e910
BLAKE2b-256 8018ee0242558feb0ff3466bec7dea8e189c569a51da23251cb190bc72ab348b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.1-py3-none-win32.whl
Algorithm Hash digest
SHA256 a0e8671cef527f22a434036eff91085f03c666aa8d984f04a2978247739ebff1
MD5 b8d41ecfac973b3f2803ef7d71085d10
BLAKE2b-256 d62a6a824f13edd2ca98743d657f240657b08bbd8ee4682ec2ab75dae3ecc6fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.1-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 5767d95d4b18891baf7e18948582becf8356a9d8601c6f11d4f12e3e774a4bbd
MD5 24a819074b4bcfe04cf9893de5b94989
BLAKE2b-256 fb42875d442725dfc7cd3e2de2b58cf077ddfe35f473d3e00ff48656f15973a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.1-py3-none-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 72069f7754bfe1acb0d1c16c8a9b2ff59200c8cdb9fba43753e73777ed1fd52f
MD5 380372ae9927fa0d53ecc8e1dde852c1
BLAKE2b-256 a0ac50381b39ec8c09f7f4beb91472d82c05bb8da68577871f3ff6b5a672fd82

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.1-py3-none-musllinux_1_1_armv7l.whl
Algorithm Hash digest
SHA256 43d7bfc86a8f1a6bd5adb67b59dc056815b7beed0346d19a68b07ef5849cfe78
MD5 0fbf5601abc72d151f4d84c666fb4264
BLAKE2b-256 31a6308e5309bcaffe3189401c421e41c39b7858d7cf0af7050b9f5adc20e581

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.1-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 fe02e4f6dd3c24b098b554000c44e40fdfdffa3baf95f87de241b4d38efe3f1c
MD5 be96215bf1556e51c8a6675e7140fc5d
BLAKE2b-256 26cc7ff84f55bb03c68201739ba6b70df74974b82a5e900a2d633a82c1d4b689

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 e4eaefdd1d52b0b3101c4faef80f153b3e3dc4461e447a5351bc9bf120b5e258
MD5 f59c98c6f5e546db5e24f8528acba9fc
BLAKE2b-256 f277f515a1b6d87ef6bb1a124c5f26a0aebe1ca7edd4cbef28f4133c2ff97be6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f84ca91bc6918f61b791d975432a638925568ac1b39906afc968fb48e07ea02b
MD5 11fbbf89cea37077aaae9f9622be0ed8
BLAKE2b-256 ae74bd8f5a245eb4ef8e090da6e878a9cf4d8fb5bf84a867ab90abedcfc1b4ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.1-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 b98b10dcfdd279f79dd85925c3c8232088ecf5003ee1b272f1a9e3b5501a7110
MD5 ff092b310a704df5e986e94ba0c543cc
BLAKE2b-256 85e3eb3d35653897f0133f7c0d33f53cc0ce1a16e7d36e76d1fb6c1487b5fec5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.1-py3-none-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 2b2c22d5ea69584355d3805a3786aea014f9f390a8a4335a7e9cc09847ed3ec6
MD5 2aa8c7aa4aa1af9abce223fd2e39d980
BLAKE2b-256 5a8bdd2893399d95d1eeaac49d5657d465b4f587cf8882a8856e909d2b3122ae

See more details on using hashes here.

File details

Details for the file aliyundrive_webdav-1.3.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.3.1-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 808eb1567169cdbaa9af6095d367fb0695e5b19e47b41c66d8e77392ad97f1d9
MD5 daf0993c5c4d2c9057338932bb229c06
BLAKE2b-256 1e5e11cf0c382944049effa357f059cecbe3933b1d4fec8bf0754f5eb6d8cec3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.1-py3-none-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 289a052e021c6aac148d6fe50504f21a2474fe6bde644ccebfb2cadd77eeb7ab
MD5 4596819765a5e1cbc1f6e51a59c5913a
BLAKE2b-256 439e9f5c86848ecb3bdeccc02ff52c1e3fa09dff830faca56372a476e03679a3

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