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

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

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

Uploaded Source

Built Distributions

aliyundrive_webdav-1.3.2-py3-none-win_arm64.whl (2.1 MB view details)

Uploaded Python 3 Windows ARM64

aliyundrive_webdav-1.3.2-py3-none-win_amd64.whl (2.7 MB view details)

Uploaded Python 3 Windows x86-64

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

Uploaded Python 3 Windows x86

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

Uploaded Python 3 musllinux: musl 1.1+ i686

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

Uploaded Python 3 musllinux: musl 1.1+ ARMv7l

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

Uploaded Python 3 musllinux: musl 1.1+ ARM64

aliyundrive_webdav-1.3.2-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.2-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.2-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.2-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.2-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (5.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.3.2-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.2.tar.gz.

File metadata

  • Download URL: aliyundrive_webdav-1.3.2.tar.gz
  • Upload date:
  • Size: 638.8 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.2.tar.gz
Algorithm Hash digest
SHA256 1e7c1b2949337b8bc3abc6e2ed27a4bb179a9023d0ac242fb1aee00dadf2b012
MD5 b61cb1523bb88d67240b981302eb266c
BLAKE2b-256 86adc64d7ea6147c9deb734a3e00f10993d719dfcedec185961066fcab13b0c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.2-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 b9ad46cf0a746ee631c8b3997f21e77a09ac8d45cf278a115ee9f322e913db2d
MD5 6b07ca1552a638a5421923eac1034db8
BLAKE2b-256 0cc4e43c41f47010ecce8660899c6834c04b0d81eb878f966a630a5d3ccb916f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 4dbb264f53d96f14d82a9542f511de2439c8f4597dae354ff6c5377161367c36
MD5 f18dfb6f5a8eefd7441a0b221be95f86
BLAKE2b-256 5eb48da2fa1503466c90f12134b8575ec8f158c58a54485f1b7f4c04e8e31822

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.2-py3-none-win32.whl
Algorithm Hash digest
SHA256 af567767c1ab65db4e9501f944fb124ca2943678e8b966f56d6d0a4024cdc1d2
MD5 2ed6da96c184b8003f50744c37e8ca29
BLAKE2b-256 5c932c065d2844f68b5bcafe0de05c282092c0651a2073755c1f8d663bf7fdfd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.2-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f938821dc5277a1275f4cb790942f93cdd58d0e0802224e046b1d88b786e0f00
MD5 d12b7731846322007b930dfa34e4d682
BLAKE2b-256 d2b87d31462fe56e48716aee60fec92b752136f7108054a2d81429373ea51cd6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.2-py3-none-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 413b8589a2b138793e9ff12071f4d34492d0fc3890ab8cb03f2c4b4ce83f741f
MD5 c17062e3f1da8fde133c5ca161ccd2b4
BLAKE2b-256 5ba28658c36e3d280e765060bbd3df3dea3ae7ebad0f821d1672176044465c11

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.2-py3-none-musllinux_1_1_armv7l.whl
Algorithm Hash digest
SHA256 a4d3eb3d214f2f6f0a6510b7264a4830c989ddf0f69a8a9c56c08fdf5d579e8a
MD5 d57832e82e1520a614c8d42a6775816d
BLAKE2b-256 0acf0bf497f55e027ed941f5506f62320a255ac8f574549f4bddc148f676fe14

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.2-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 b01816f290be122057d70bf30e77d759042172cb99cd45f8b934562c316c4575
MD5 19cd72ab42a6eb99b18222b673dbd980
BLAKE2b-256 9327f178f80e3eb5b4bbf1315bc056f5f5b9c3a05b9e3e9d51b88423c0426579

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 00555b4ddf011e35a60e3136d6cec9857b7cd0f2d0f82add0cd37a0b59438374
MD5 9cc0d0a49f504f23a7f26a25eb60eba8
BLAKE2b-256 7e002e7e13d9368679c68ba5b7123f667d0f68a2cc940269aa4657ba003c65cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 57a9f07521551fb869d78f20983ac0ebde670e61c6acb18edecd3ef83a0d2aa0
MD5 270be5ff354868752be20ee28a2822a5
BLAKE2b-256 c87a1c85e7d69eaa6e8af75eabf95a792ec77289d72dea09963205044b993556

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.2-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 22af77442953ca6f12b01392cd5c2350de72204d0c95f6f3c13eee9d154336cb
MD5 b78588cec357999a58d96cc0e6ea0344
BLAKE2b-256 3e355bce060697c1e568ee85a0f88c994fde135f7ddf20d0f0f4afb8f217605d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.2-py3-none-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 8ca92ce3f56b7473947f9e4c1e6cd983a42534c9eb953310e8fb9c2314363f39
MD5 14a64b532d732ab73d7a888cc2fc8c04
BLAKE2b-256 e5568aace65f7750b9db1dad32eb6268520a6c7a841633b668eca444766da5ff

See more details on using hashes here.

File details

Details for the file aliyundrive_webdav-1.3.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.3.2-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 f021a8b4d23dc9ba558c8507bb623af3214558f2f0ef7091e0921f253b7e01c3
MD5 43b86d5efa32688a90387217d539935a
BLAKE2b-256 4043146688d2fe65d20a53e194ad35f30afef71a417028adf85e6c66b94bd58d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.3.2-py3-none-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 7e4b5a266587ce971e8ccdcd747a4f5de786aa6036600b3b677018f3195c95c8
MD5 e6ae453b192f36039695a853dd63b959
BLAKE2b-256 8b5bf87875f6f7aabec7ba64dbc31e5a3726068ffb30e73e665b49c5c0474086

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