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

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

This version

1.4.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.4.0.tar.gz (644.6 kB view details)

Uploaded Source

Built Distributions

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

Uploaded Python 3 Windows ARM64

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

Uploaded Python 3 Windows x86-64

aliyundrive_webdav-1.4.0-py3-none-win32.whl (2.6 MB view details)

Uploaded Python 3 Windows x86

aliyundrive_webdav-1.4.0-py3-none-musllinux_1_1_x86_64.whl (3.1 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ x86-64

aliyundrive_webdav-1.4.0-py3-none-musllinux_1_1_i686.whl (3.0 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ i686

aliyundrive_webdav-1.4.0-py3-none-musllinux_1_1_armv7l.whl (2.6 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ ARMv7l

aliyundrive_webdav-1.4.0-py3-none-musllinux_1_1_aarch64.whl (2.9 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ ARM64

aliyundrive_webdav-1.4.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.6 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ ARMv7l

aliyundrive_webdav-1.4.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.9 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ ARM64

aliyundrive_webdav-1.4.0-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl (3.1 MB view details)

Uploaded Python 3 manylinux: glibc 2.5+ x86-64

aliyundrive_webdav-1.4.0-py3-none-manylinux_2_5_i686.manylinux1_i686.whl (3.0 MB view details)

Uploaded Python 3 manylinux: glibc 2.5+ i686

aliyundrive_webdav-1.4.0-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (5.3 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.4.0-py3-none-macosx_10_7_x86_64.whl (2.7 MB view details)

Uploaded Python 3 macOS 10.7+ x86-64

File details

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

File metadata

  • Download URL: aliyundrive_webdav-1.4.0.tar.gz
  • Upload date:
  • Size: 644.6 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.4.0.tar.gz
Algorithm Hash digest
SHA256 428bb2a516a945746640f081e92d0c5d550c6a9158721d222c5f19d9956f661d
MD5 0111ea2f737e27ff7c5db67cb8c2081b
BLAKE2b-256 f8664471a9abd750cd6f02c11bd8722d4df8ed4a89e0017481c26e42c926b6e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.4.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 6ba5274eb31079eabe8adcb8ed35fea19ddc4ca8277445486b5169dfd8d587d4
MD5 c1b7b872d94f9c8ece0937ce6a7843dc
BLAKE2b-256 850c54cfadd69ee1fd157741eee768dd4fd6f67dc73a38b07e8223cf3621fe34

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.4.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 4d045b6e1d921d14ebc0d50ce545a3c6863fbf31e369be349bd3cc0d61f7ab50
MD5 316082f29ca9eb2bf6f9c1deb7225aae
BLAKE2b-256 c82b1d149ab32bf3e1f17d38ae38c43989f61e2592c1d265fae211c62cfa1e25

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.4.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 3c391fa53e7b1fb7032c6212ee4cbe109c9b839719fffa7e8e02acc11e04bf87
MD5 c95fc34f960c44da4dec858bfe8b560d
BLAKE2b-256 3d5bb96d8c457765a481d0551646d383bc49d10ccd7a2b34a71c50476586bc4c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.4.0-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 e1542a5602b64c6a37f75dd4039ea5b332b339088e35d3a59134d6519b0cb300
MD5 782b9dfb9212bf1c1522024aa82fe7a9
BLAKE2b-256 173644241a3de06ca3e95d264dbc46879054fc2fa3144a532e49d917443a4df9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.4.0-py3-none-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 1c92f25b47f4a0c4b7b37b4e7ada7410df0f53bc4b45416ccbe6cbe608b84248
MD5 cde7814522a439ba144d13ec68f0d1e9
BLAKE2b-256 3023f18ecf5a7bec1c53174723a39ac4608138dbe5e5639824fc62a83d23714c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.4.0-py3-none-musllinux_1_1_armv7l.whl
Algorithm Hash digest
SHA256 1bdddc59ae8a6449049e93b60dd1a95fa132d8352dba68abf125fc16ffa1223f
MD5 821ce97588e9b09a2c0b7eec422d8ea6
BLAKE2b-256 4d23f56fdaec1afd7e6294776240a6483876f0216175cf8cc20a4281ada08c4f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.4.0-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 5922bf799713d0fbfad783f5dde3649803b05497bcd15660e490de49e29ef824
MD5 8ab46529ac5d68f8bbaff527da5535a0
BLAKE2b-256 c3899d028ce4139fdc0cb90b1f029ff1f22b94c909ed4346b918bbd8d1659639

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.4.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 140312924b1e33f838fd82ca73a54b72a084f70e258694246f2e09065b48662c
MD5 ea545c14b78a6b1c47ea6702dc53d0a0
BLAKE2b-256 42c41a8abd56b8ab4c9b027e1adbe25b241b46656705a58bced84bf371103d4f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.4.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 aa31a88a28b0c1b7982544b8b26a4ea5dbd87bb0656258882e73bb7710a69f79
MD5 530b756e578f444a154360c9ab0094ad
BLAKE2b-256 f2e3a296d3a7ca38b71c4f765346712f3eca37b80cb7e57b56942fc5261d6e2f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.4.0-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 022075539f24cf271187ae39e49c8bfc90197ae61d605eda7c415377e30f7c4b
MD5 d6dfcb4a3b9d0533389d6186c6e1d687
BLAKE2b-256 fea14363e823c08d95ca8ef1a045557a75f4aaba8acc042149e987e460efb076

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.4.0-py3-none-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 67fc745aefc420581cac0c1477fe36f10c95c8102d7be8174fbfff5d06c79140
MD5 b6c0d4cbb3af1b7205f79472897271aa
BLAKE2b-256 f7f8a1366eaa3f116f4a2c9213469b5b3a263ef204ca50d388f6c7f890c6db01

See more details on using hashes here.

File details

Details for the file aliyundrive_webdav-1.4.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.4.0-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 c0bf44d2f4978ef9f76ecc061437c9d215ee6a3e3731b25a61d09220868ab510
MD5 7987ad7f71793c3a14ee9bea49bcf0aa
BLAKE2b-256 7630abdb91097f422faf3bb82fefe325d61fbd6bf5f474bd65084f8ac65fd70a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_webdav-1.4.0-py3-none-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 79d1a16e6ef5cbce225ae1e9c3771b00cc7161d0284139c7bff705aaf348c0eb
MD5 8c04ab5a8537179ff67eecd45bac6a75
BLAKE2b-256 4f1f141d47d70f770c1413a1ae968ddc307699cb7b863c28aa713deefad65f7f

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