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

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

注意: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

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

Uploaded Source

Built Distributions

aliyundrive_webdav-1.3.3-py3-none-win32.whl (2.5 MB view details)

Uploaded Python 3 Windows x86

aliyundrive_webdav-1.3.3-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.3.3-py3-none-musllinux_1_1_i686.whl (2.9 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ i686

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

Uploaded Python 3 musllinux: musl 1.1+ ARMv7l

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

Uploaded Python 3 musllinux: musl 1.1+ ARM64

aliyundrive_webdav-1.3.3-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.3-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.3.3-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.3.3-py3-none-manylinux_2_5_i686.manylinux1_i686.whl (2.9 MB view details)

Uploaded Python 3 manylinux: glibc 2.5+ i686

aliyundrive_webdav-1.3.3-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (5.2 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.3-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.3.tar.gz.

File metadata

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

File hashes

Hashes for aliyundrive_webdav-1.3.3.tar.gz
Algorithm Hash digest
SHA256 fe6c78e32ebf9d58205cff31186ab214aa736530867f68bfa29e79dfd35a4b88
MD5 27106bf23747e0ad978aa7037b9ac207
BLAKE2b-256 c6b1abe907a638e4ce513a1958f7495fda02aff3b9ddb6e2019044eeb0b85ed5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.3-py3-none-win32.whl
Algorithm Hash digest
SHA256 6db5c4b7e5421dcdc18db1e744ea0b7c89919626562853579de443c3e9e13d33
MD5 d28f96b614b04fe80804a65f6e79c35d
BLAKE2b-256 8c2a792bcdf3d8970feab191be0f864d67274f2bc560a2d93022c9df486bef07

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.3-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b7f55f654d2de6faa900e9859c264503774eafe281f94448c8ab05d4a0871c90
MD5 eb914b872ea80f5c53587f2a666049f2
BLAKE2b-256 0e7132e890fdea73d53005f9dd65be5fec36577c4b316806d792f18a2cad14b6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.3-py3-none-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 0166fa26c34aa400ace1b00ccaf517804bc2dfae904f92d00f89ed40cd9b9aee
MD5 ec987eeef4a6a3b273e096ce0ae83a43
BLAKE2b-256 8c4b25db4a2889432656cb663a86284a778adecaca14a350832eab70f33fc337

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.3-py3-none-musllinux_1_1_armv7l.whl
Algorithm Hash digest
SHA256 fa5775d50e4eb99a2f9a699cb00a0e8594c9522a7e6d233d46f6964f919efe1f
MD5 fb37b5a6af1faeaf1d6fefe84a692a18
BLAKE2b-256 da9c1e834245bdd3f4ceca4c46d82c9f2d1c45f7cb8e85f538b570011977128b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.3-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 b7aacb3e89ab5b36da4ed8bddfe726105dfc8aa7b970a98bb71b988595765a4a
MD5 ba3398cb7ce46c5afbc3752e31c5a491
BLAKE2b-256 d509c1d84f8414e0a56188b97df84442a845cfe9c5f78009930c92e72fe91cf1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.3-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 d8c7a7d9cbbe423a60c255e4b26e584676706c51fd274e8e1d498c36c7b21316
MD5 275c6552ea2a5e7e237279bd96f3befb
BLAKE2b-256 dfe9af7deb644bccefcf73d204250673c2c3779c218c2420a19c1ce3c3d09949

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 019fc9ae647fa8c6747e8089c31a7e7d1a2f32e9cc36fcc9fa877cd6559860b0
MD5 7ddd1d203b6b4cd21b0be3144845097f
BLAKE2b-256 af43301045d92453132a2702b0085c258b1723628b7238e943d0503b93383010

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.3-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 420e694ced5c1feafeb1172fb8eb001d05cd6ccc1457c4122a86d81d02cad8ed
MD5 454325c0aa3056d4dc18333b2048ea4d
BLAKE2b-256 f375ab6cc66210601495419aed7f99dfa6e9e9226611556156df53c9811c9a61

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.3-py3-none-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 a0dd01b7eb8e954d037036a56d76c7f7da92a9fe1673031630dce5869d1707fd
MD5 18471908b1bbf9180fdf88537dd80dc6
BLAKE2b-256 d48c8b3d944b0b676844635bc808e35d9217e0232593f4f947091c4e9474576a

See more details on using hashes here.

File details

Details for the file aliyundrive_webdav-1.3.3-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.3-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 415184f805e6c929c22555bf5d31def0e57ddee2e0746b7204bc5fa9b0c56f19
MD5 56c98dff59320e017c67c8b247fa913c
BLAKE2b-256 0c547ba643a005e5bd75db2537b2fbb17bd04afc4a7d5e88c38611998325f852

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.3-py3-none-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 683607a627f8134a05584d878e8649f8b68e77d54b838ac2a4c0e126521b9970
MD5 d0ed68c6cc498e743b95f03441c54582
BLAKE2b-256 91a98ad8bb7d7113f9220f71319e1fbfc97d2b55a152d6e1a785c6968d14909e

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