Skip to main content

FUSE for AliyunDrive

Project description

aliyundrive-fuse

GitHub Actions PyPI Docker Image aliyundrive-fuse Crates.io

🚀 Help me to become a full-time open-source developer by sponsoring me on GitHub

阿里云盘 FUSE 磁盘挂载,主要用于配合 Emby 或者 Jellyfin 观看阿里云盘内容,功能特性:

  1. 目前只读,不支持写入
  2. 支持 Linux 和 macOS,暂不支持 Windows

aliyundrive-webdav 项目已经实现了通过 WebDAV 访问阿里云盘内容,但由于 Emby 和 Jellyfin 都不支持直接访问 WebDAV 资源, 需要配合 rclone 之类的软件将 WebDAV 挂载为本地磁盘,而本项目则直接通过 FUSE 实现将阿里云盘挂载为本地磁盘,省去使用 rclone 再做一层中转。

安装

  • macOS 需要先安装 macfuse
  • Linux 需要先安装 fuse
    • Debian 系如 Ubuntu: apt-get install -y fuse3
    • RedHat 系如 CentOS: yum install -y fuse3

可以从 GitHub Releases 页面下载预先构建的二进制包, 也可以使用 pip 从 PyPI 下载:

pip install aliyundrive-fuse

如果系统支持 Snapcraft 比如 Ubuntu、Debian 等,也可以使用 snap 安装:

sudo snap install aliyundrive-fuse

OpenWrt 路由器

GitHub Releases 中有预编译的 ipk 文件, 目前提供了 aarch64/arm/x86_64/i686 等架构的版本,可以下载后使用 opkg 安装,以 nanopi r4s 为例:

wget https://github.com/messense/aliyundrive-fuse/releases/download/v0.1.14/aliyundrive-fuse_0.1.14-1_aarch64_generic.ipk
wget https://github.com/messense/aliyundrive-fuse/releases/download/v0.1.14/luci-app-aliyundrive-fuse_0.1.14_all.ipk
wget https://github.com/messense/aliyundrive-fuse/releases/download/v0.1.14/luci-i18n-aliyundrive-fuse-zh-cn_0.1.14-1_all.ipk
opkg install aliyundrive-fuse_0.1.14-1_aarch64_generic.ipk
opkg install luci-app-aliyundrive-fuse_0.1.14_all.ipk
opkg install luci-i18n-aliyundrive-fuse-zh-cn_0.1.14-1_all.ipk

其它 CPU 架构的路由器可在 GitHub Releases 页面中查找对应的架构的主程序 ipk 文件下载安装。

Tips: 不清楚 CPU 架构类型可通过运行 opkg print-architecture 命令查询。

命令行用法

USAGE:
    aliyundrive-fuse [OPTIONS] --refresh-token <REFRESH_TOKEN> <PATH>

ARGS:
    <PATH>    Mount point

OPTIONS:
        --allow-other                            Allow other users to access the drive
        --domain-id <DOMAIN_ID>                  Aliyun PDS domain id
    -h, --help                                   Print help information
    -r, --refresh-token <REFRESH_TOKEN>          Aliyun drive refresh token [env: REFRESH_TOKEN=]
    -S, --read-buffer-size <READ_BUFFER_SIZE>    Read/download buffer size in bytes, defaults to 10MB [default: 10485760]
    -V, --version                                Print version information
    -w, --workdir <WORKDIR>                      Working directory, refresh_token will be stored in there if specified

比如将磁盘挂载到 /mnt/aliyundrive 目录:

mkdir -p /mnt/aliyundrive /var/run/aliyundrive-fuse
aliyundrive-fuse -r your-refresh-token -w /var/run/aliyundrive-fuse /mnt/aliyundrive

Emby/Jellyfin

如果是直接运行在系统上的 Emby/Jellyfin,则可以直接在其控制台添加媒体库的时候选择阿里云盘对应的挂载路径中的文件夹即可; 如果是 Docker 运行的 Emby/Jellyfin,则需要将阿里云盘挂载路径也挂载到 Docker 容器中,假设阿里云盘挂载路径为 /mnt/aliyundrive, 以 Jellyfin 为例(假设 Jellyfin 工作路径为 /root/jellyfin)将云盘挂载到容器 /media 路径:

docker run -d --name jellyfin \
  -v /root/jellyfin/config:/config \
  -v /root/jellyfin/cache:/cache \
  -v /mnt/aliyundrive:/media \
  -p 8096:8096 \
  --device=/dev/dri/renderD128 \
  --device /dev/dri/card0:/dev/dri/card0 \
  --restart unless-stopped \
  jellyfin/jellyfin

License

This work is released under the MIT license. A copy of the license is provided in the LICENSE file.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aliyundrive_fuse-0.1.14.tar.gz (34.5 kB view details)

Uploaded Source

Built Distributions

aliyundrive_fuse-0.1.14-py3-none-musllinux_1_1_x86_64.whl (2.3 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ x86-64

aliyundrive_fuse-0.1.14-py3-none-musllinux_1_1_i686.whl (2.3 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ i686

aliyundrive_fuse-0.1.14-py3-none-musllinux_1_1_armv7l.whl (1.9 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ ARMv7l

aliyundrive_fuse-0.1.14-py3-none-musllinux_1_1_aarch64.whl (2.2 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ ARM64

aliyundrive_fuse-0.1.14-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.9 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ ARMv7l

aliyundrive_fuse-0.1.14-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.2 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ ARM64

aliyundrive_fuse-0.1.14-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl (2.3 MB view details)

Uploaded Python 3 manylinux: glibc 2.5+ x86-64

aliyundrive_fuse-0.1.14-py3-none-manylinux_2_5_i686.manylinux1_i686.whl (2.3 MB view details)

Uploaded Python 3 manylinux: glibc 2.5+ i686

aliyundrive_fuse-0.1.14-py3-none-macosx_10_7_x86_64.whl (2.0 MB view details)

Uploaded Python 3 macOS 10.7+ x86-64

File details

Details for the file aliyundrive_fuse-0.1.14.tar.gz.

File metadata

  • Download URL: aliyundrive_fuse-0.1.14.tar.gz
  • Upload date:
  • Size: 34.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for aliyundrive_fuse-0.1.14.tar.gz
Algorithm Hash digest
SHA256 13c1382ff6ba6f31c024e01e9dbd1cc9658d76a736bb5dd7530e15cf74933b39
MD5 22f871d094f6489056a1a1bc0389943f
BLAKE2b-256 3811df733fe97eacb3207b9a8b764d69b4307563673812c27bfaeed4c14f5db4

See more details on using hashes here.

File details

Details for the file aliyundrive_fuse-0.1.14-py3-none-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for aliyundrive_fuse-0.1.14-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 72b66f42f4b850bf85ba65445f0b6fdfd9554e36f4bf3c2e29d659004a405c29
MD5 54d2f14267796671d5b72b0a9d53951b
BLAKE2b-256 6ad61365151df406e6375451b662db9094c01d7c4671042d0352e0796ebd09a0

See more details on using hashes here.

File details

Details for the file aliyundrive_fuse-0.1.14-py3-none-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for aliyundrive_fuse-0.1.14-py3-none-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 7759fe438664a1f5939c8739543312f9d9f3bc63063aea32ef69107cc2f0d5c9
MD5 ab79b05f2f7c65d54a5cfcdcab148ef4
BLAKE2b-256 20d8de4e3e2b7bac9b9eaab861240eddc3e12fee12746ff4828820b51ebd0762

See more details on using hashes here.

File details

Details for the file aliyundrive_fuse-0.1.14-py3-none-musllinux_1_1_armv7l.whl.

File metadata

File hashes

Hashes for aliyundrive_fuse-0.1.14-py3-none-musllinux_1_1_armv7l.whl
Algorithm Hash digest
SHA256 c8de2caf11407d9799b09ee1154a38d4ae7c615d6620866005fdf20520f9b9c3
MD5 1fb00eb49107b87fcfa60ff32712c082
BLAKE2b-256 8dbeebfb57282e8ac6474f07b99c3b6cfeb92f274a61234eff1885cf8c607275

See more details on using hashes here.

File details

Details for the file aliyundrive_fuse-0.1.14-py3-none-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for aliyundrive_fuse-0.1.14-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 f544deb4076feb8c48286daaa0f65bab5c480bc5c3488871bcb5d68673c28d71
MD5 38b7c268d7a30bb55408dbf59b9bebe7
BLAKE2b-256 1b5c8ab600803e8eec0bba9e739ca23c1d5a93b8962f2687928fa8e01451256f

See more details on using hashes here.

File details

Details for the file aliyundrive_fuse-0.1.14-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for aliyundrive_fuse-0.1.14-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 b4c97dd193b33f6b4c0d97e063163f1da36bf9c383540358ceac15976903da5f
MD5 e6a16d466d009a6e15816fa1f6638bbe
BLAKE2b-256 64175e79b0e9b573772ba2020f2f303d66ecc1cbf5c04382b3e6e081ea4b54e6

See more details on using hashes here.

File details

Details for the file aliyundrive_fuse-0.1.14-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for aliyundrive_fuse-0.1.14-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d4dab79631b5b42dc90037cec048a386e50bf91941236d74574fae87c0a07fa2
MD5 3a74d9d92d0a6a80dc7fbf67931f1142
BLAKE2b-256 2da4cac56500fe04c314601bc94845e10e3b3665525d6b2aee2970ce2debc38c

See more details on using hashes here.

File details

Details for the file aliyundrive_fuse-0.1.14-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for aliyundrive_fuse-0.1.14-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 5ae6418215449bcb3acd85611f6a597739a70a96b08e200a7e52419a94e19c47
MD5 ae5c901e36c4860dea856724178f9357
BLAKE2b-256 d938e09a73f4b7f86bcfe219f96c1717c584ecb93c72aaf5b775f065dd244c6f

See more details on using hashes here.

File details

Details for the file aliyundrive_fuse-0.1.14-py3-none-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for aliyundrive_fuse-0.1.14-py3-none-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 6d82b5db54be2029b373cc051d6c948eadee45fd2a6061baf274b427747a109e
MD5 ec6d6d50d8c71fdad6efbc59278b8d3a
BLAKE2b-256 50c6df9c2c725142de7938ddd57314909cb09f2f2735d6fe316cadbe9c8c4539

See more details on using hashes here.

File details

Details for the file aliyundrive_fuse-0.1.14-py3-none-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for aliyundrive_fuse-0.1.14-py3-none-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 a6b7c89a89079572c635c47846add4b084f95821023578f1fa15bd9d75d01b82
MD5 633190c0223a1774d4ac43e45e07d6d6
BLAKE2b-256 009997b7b9b3d67dcb8c41b731e56364399b6e18a16d8f0c5c302f1a3da78de9

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