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

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

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

获取 refresh_token

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

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

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

This version

1.6.0

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

Uploaded Source

Built Distributions

aliyundrive_webdav-1.6.0-py3-none-win32.whl (2.8 MB view details)

Uploaded Python 3 Windows x86

aliyundrive_webdav-1.6.0-py3-none-musllinux_1_1_x86_64.whl (3.3 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ x86-64

aliyundrive_webdav-1.6.0-py3-none-musllinux_1_1_i686.whl (3.2 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ i686

aliyundrive_webdav-1.6.0-py3-none-musllinux_1_1_armv7l.whl (2.8 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ ARMv7l

aliyundrive_webdav-1.6.0-py3-none-musllinux_1_1_aarch64.whl (3.1 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ ARM64

aliyundrive_webdav-1.6.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.8 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ ARMv7l

aliyundrive_webdav-1.6.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ ARM64

aliyundrive_webdav-1.6.0-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl (3.3 MB view details)

Uploaded Python 3 manylinux: glibc 2.5+ x86-64

aliyundrive_webdav-1.6.0-py3-none-manylinux_2_5_i686.manylinux1_i686.whl (3.2 MB view details)

Uploaded Python 3 manylinux: glibc 2.5+ i686

aliyundrive_webdav-1.6.0-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (5.7 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.6.0-py3-none-macosx_10_7_x86_64.whl (2.9 MB view details)

Uploaded Python 3 macOS 10.7+ x86-64

File details

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

File metadata

  • Download URL: aliyundrive_webdav-1.6.0.tar.gz
  • Upload date:
  • Size: 644.9 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.6.0.tar.gz
Algorithm Hash digest
SHA256 9aeaca0762ac203862f85fd9d70f74efb522aeb86929a67bcc82b42ef7a2738d
MD5 d186c62b95cbcfb01efd1664ca9103ec
BLAKE2b-256 bcab0100505ed668f59fe2aa5359b8b8ce2322f78d0ba1867c03b4df2d7a1cd1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.6.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 9ef08254393b894b3f7022895e5320e33fe120b0d9c9c8ef995eac04816ff7c0
MD5 d4b117d59cb5d238ce0fca69e9e55a43
BLAKE2b-256 80cab422407054756b6efa4def6f7d4b98e24032ee4200b48fba7946a63875b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.6.0-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 ccbfa46f0f18fea127569eafccc26310e93be44fc4a1e57f8e1efb649cba6470
MD5 94870d2fc1928ef825698c43f5d8886c
BLAKE2b-256 9e5914688bafe44a64593ddd14f462643a3422d9ab894b87d39db5d51de08bd0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.6.0-py3-none-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 f4efd239175af2d20326b42945566199dd4738d226da2ca80598e15322750a34
MD5 60d114b4891791b91691995b7eba09d2
BLAKE2b-256 e61b50f40b5a0e079de103e5874a7cd953b2fd90bee06639f9d39e256ed9136f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.6.0-py3-none-musllinux_1_1_armv7l.whl
Algorithm Hash digest
SHA256 9de6b631d144c3b73ae05899f9b255a4703b6c9e51a86d8dc276f50a57b32ff4
MD5 1f2d3d32f4a218a359f9c19bc2bd67fa
BLAKE2b-256 b009f2eb368e352a3a82cfd7e59eb7b3c4619d5d30fc306a551ae9bc24d5121a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.6.0-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 320765d8bf0d200d244072cc69a34d2f4927b0cdbdd209f0a8f228cf59028554
MD5 688809419d33582e48f7f0f14992302f
BLAKE2b-256 9230701662db1aa87a8899b29a996d0a6cac0116fb1ec9e8fd66d3ee40b6f874

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.6.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 959676d5c1ed0c41f0fe1f5ef621eba11a0da6b4705fc1afc91f12f68df0429e
MD5 515150dfdd2fb033ddb97e5c62808be3
BLAKE2b-256 0d8050f3ce2cc886c4245fe38026eb1614675a015170cd36d1cd077580dcaf8f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.6.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e9ca966e2d015105eededcfdd9f878cd72faf54d36b3e057a4831df83d9ba74e
MD5 7dd3c1797844a0556780a03131f12659
BLAKE2b-256 54f086a4c3ff3b5783ebbf431493cbee4ebc135535ce970fa063cbadf892bbc3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.6.0-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 873ddcd58dae1c53facfb320d147c15ad9874b921beed7dd2d57243609827dad
MD5 7120ec7028491520c55753955881b1f5
BLAKE2b-256 39cf3fd259358a9bb157d969fb7e586002361c0546afa231a1f443360d537827

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.6.0-py3-none-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 8b44ccaf430b2631ddb8331e45d2b8ad53a348b48aa4185fb5a462c44800402e
MD5 4890b0a667c122b4d2c67a770df39c68
BLAKE2b-256 1585a2ff53e2d79f76d80a5a2d260fbe380d7c908090016ce0f60dfc155172b4

See more details on using hashes here.

File details

Details for the file aliyundrive_webdav-1.6.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.6.0-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 471e9bc9a04db1ef0760225cec16413b87e7b943c8890a423873e38fd2a356e0
MD5 19c08d54e7df67537514fec9cde6a9c7
BLAKE2b-256 bffe2d95c5f9f013c97363e9f4a56be96e86ae3227f8097d79503eb03f0af80e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.6.0-py3-none-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 f86617b637c798f91104579cbecc320f81e83a729cc148005d09f162ae6e0c40
MD5 5e2b9cc9f35ece83b477cb219bb9bc29
BLAKE2b-256 0998950f6623a33d77a9a3ff6162bca9d5e72ea16004ee973747a474c30ef868

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