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

This version

1.7.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.7.1.tar.gz (665.2 kB view details)

Uploaded Source

Built Distributions

aliyundrive_webdav-1.7.1-py3-none-win_arm64.whl (3.2 MB view details)

Uploaded Python 3 Windows ARM64

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

Uploaded Python 3 Windows x86-64

aliyundrive_webdav-1.7.1-py3-none-win32.whl (3.7 MB view details)

Uploaded Python 3 Windows x86

aliyundrive_webdav-1.7.1-py3-none-musllinux_1_1_x86_64.whl (3.9 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ x86-64

aliyundrive_webdav-1.7.1-py3-none-musllinux_1_1_i686.whl (3.8 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ i686

aliyundrive_webdav-1.7.1-py3-none-musllinux_1_1_armv7l.whl (3.5 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ ARMv7l

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

Uploaded Python 3 musllinux: musl 1.1+ ARM64

aliyundrive_webdav-1.7.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.5 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ ARMv7l

aliyundrive_webdav-1.7.1-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.1-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl (3.9 MB view details)

Uploaded Python 3 manylinux: glibc 2.5+ x86-64

aliyundrive_webdav-1.7.1-py3-none-manylinux_2_5_i686.manylinux1_i686.whl (3.8 MB view details)

Uploaded Python 3 manylinux: glibc 2.5+ i686

aliyundrive_webdav-1.7.1-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.1-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.1.tar.gz.

File metadata

  • Download URL: aliyundrive_webdav-1.7.1.tar.gz
  • Upload date:
  • Size: 665.2 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.1.tar.gz
Algorithm Hash digest
SHA256 460ca88c57f1474603df26e62237166fe0cc5efb6199f0620b0d0684aa02cea1
MD5 ba7b6be537337fc2e7cdd5732955483d
BLAKE2b-256 e695b31acc7fb260edc7211656c1836fe87846aa6c4083e7f6fa07e947151dd8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.7.1-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 c24c0d1f1b8ef157adee2db53e85d5acdebff4d3da25c52cfc7cb06e7383b822
MD5 7789fb12f32f96bee9bb350ff288f05a
BLAKE2b-256 1e2a50403efc8a497161fafdd905f795db557702371ac0a0ce46cc298c5fa29b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.7.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 4b6bcb3424596a16f9908d3e4d410f0332975bc08a9feb90ecc5aa7c0f111a18
MD5 02c5d1dd44219c24bef9695445cecb28
BLAKE2b-256 4e0b5e833157c617f7312a9f7e4d9e1b162b659cbb40605cb06f48377e057e65

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.7.1-py3-none-win32.whl
Algorithm Hash digest
SHA256 7171613790713a2ae626932171fa04e6f3a41cbb6cc5a04bdc0ca5901c50560f
MD5 81866a71deb52d9d71db3a36a676d214
BLAKE2b-256 83f7e23d8cc12838b5bc599b7803d14233588ec406c59f9319c9a3fa73767041

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.7.1-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 921706353e94fe8b9363d3db71bfd536837909c783fff792a825cc1b50bde0e4
MD5 91edbcd8388f07e1ff4d25c1ab776dc3
BLAKE2b-256 1b64d9355043685855ae7fee171094048667d82d470d0466f673e1c17be31c37

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.7.1-py3-none-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 7a37f923425498ad4968978f04256b33adf387998144ccc9dc8360cf045e2a9f
MD5 f6c227a3a4398926a2e73b6bc8fbe3c5
BLAKE2b-256 330472ffabd547b04e3a1d39bb510b2754e5a547f9c8d267cc1f6d689f482044

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.7.1-py3-none-musllinux_1_1_armv7l.whl
Algorithm Hash digest
SHA256 f41f0c9b5af1520128428ffdadaa9a34d180729aec36460728057f03f5f9353f
MD5 710f88c1db527231b5c5ba4e76482cd4
BLAKE2b-256 8233186bee655a876b681045cfea50103caa0e002f8cdb00274fb93687631e3e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.7.1-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 beb8aa1e8b7807a502fe70a79e85a45eb100426f097ff18931b537a51454622c
MD5 ac12c9727d4fd85cef70c5788868fbcc
BLAKE2b-256 e5f39ffe35c5c4883dc17e1ab54e64f32d6b240fdfb01ff61533d1d0872140eb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.7.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 8080b5b79c78dab2cffc50a6f4f358e38ba7e3d381a54e25d9676c348d39907f
MD5 441ef010dfdd815be49c89df04026ed1
BLAKE2b-256 de68b94cf39966e135a26c27266b59a10c7bef88bd8f3e30b8c4c49a332a00c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.7.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b5a3c0809406a0bb42a13ae7eeeb5f43b6c247a693b98f06171d97873ec57824
MD5 6803a8f62b26658b3b57202da7fa6b5b
BLAKE2b-256 104bc2bfa29222bfa78a3d6f1e44b990bb8541c8169be094d62d21c9be098ef0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.7.1-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 56a95e59c39411638a5c4ecd35b7863c20b7cf412293665cd7cf4d789cfa87ad
MD5 58d886995545f43c0f15438d321bf6b2
BLAKE2b-256 0a6494a7513464cc02e18ab6ff33d906084f1c447a76f3f74f7124fa9edae5cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.7.1-py3-none-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 ff17535a519668f1136ec61d26402e28165322005a8ef4f787c7695657f1294f
MD5 025cdabf6a002bdf12b1fe112b15e628
BLAKE2b-256 f72ad87882ee0e1cefa4a42b3314b1f0c49a7bffbc27f43910b8bb3e681d7346

See more details on using hashes here.

File details

Details for the file aliyundrive_webdav-1.7.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.7.1-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 b15127ed2e7ea9270a425f657b84f4f4d24f402810e516e98b580a7a50f29138
MD5 020891adc2b00bbef58606993ddceeeb
BLAKE2b-256 888942b914c1704d9e5bf00d91acbfe92d31038fbcd2f6d9d5f2f425e7390ccd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.7.1-py3-none-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 153d78c7acac1f189f90a5c4ade734a69e23d5b0570e010f196c1a86eb4b9421
MD5 00716a8b604d2fcb4c0357dc686ad30f
BLAKE2b-256 d96920d5276a7262c0bbf2cc1a954a6d28578a9138e7fe48be1f82893563a514

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