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.10/aliyundrive-fuse_0.1.10-1_aarch64_generic.ipk
wget https://github.com/messense/aliyundrive-fuse/releases/download/v0.1.10/luci-app-aliyundrive-fuse_0.1.10_all.ipk
wget https://github.com/messense/aliyundrive-fuse/releases/download/v0.1.10/luci-i18n-aliyundrive-fuse-zh-cn_0.1.10-1_all.ipk
opkg install aliyundrive-fuse_0.1.10-1_aarch64_generic.ipk
opkg install luci-app-aliyundrive-fuse_0.1.10_all.ipk
opkg install luci-i18n-aliyundrive-fuse-zh-cn_0.1.10-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.10.tar.gz (34.1 kB view details)

Uploaded Source

Built Distributions

aliyundrive_fuse-0.1.10-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.10-py3-none-musllinux_1_1_i686.whl (2.2 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ i686

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

Uploaded Python 3 musllinux: musl 1.1+ ARMv7l

aliyundrive_fuse-0.1.10-py3-none-musllinux_1_1_aarch64.whl (2.1 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ ARM64

aliyundrive_fuse-0.1.10-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.10-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.1 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ ARM64

aliyundrive_fuse-0.1.10-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.10-py3-none-manylinux_2_5_i686.manylinux1_i686.whl (2.2 MB view details)

Uploaded Python 3 manylinux: glibc 2.5+ i686

aliyundrive_fuse-0.1.10-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.10.tar.gz.

File metadata

  • Download URL: aliyundrive_fuse-0.1.10.tar.gz
  • Upload date:
  • Size: 34.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for aliyundrive_fuse-0.1.10.tar.gz
Algorithm Hash digest
SHA256 9840cefda6a4474f9cd21cb0e89c00b7159a03387e32538b1b6c0c3d0d4297ca
MD5 ae2fd323645f19fb1691bef2b41199bc
BLAKE2b-256 893667d3b64705ddfaba468a168d66f54c61e7bc154e434bbe40a1504edff6ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_fuse-0.1.10-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 5301047f14a0a12d70585243a8bb7d9fb28e61889361f4848d14adb7e1b7bfbc
MD5 dc32716564d249d144651fc3449b7720
BLAKE2b-256 48a6d7edbefde503eb56364ae0d3a9919a94718a8464efdb1efe94388abaee90

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_fuse-0.1.10-py3-none-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 4126ec1c03821543ee10e3e2d856cf1cd9cb4897a11f184e1b5b8a250dee75e5
MD5 9065a911db4ace7a858a96e8d0f1049c
BLAKE2b-256 c58c81fa352518bc17c31898331153035cefe7697d7a2997fd0914514caa6aff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_fuse-0.1.10-py3-none-musllinux_1_1_armv7l.whl
Algorithm Hash digest
SHA256 b1595b2b8ea611ee00efcc980330946af69181e2d461fe64bcdafdcb8a8ccc15
MD5 b562d034eaa99beecde1b8bed788d566
BLAKE2b-256 512ba0ebb0d0e437cbeec06284337acca22913d433d5cff36922186a4e0a9cf2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_fuse-0.1.10-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 b8a100a8b24a6712c7022c6833dace3780c882a83aa6d012a62645101e353682
MD5 345d4087036b9f1ff166fb1f4a6477eb
BLAKE2b-256 8a551a1e4fb60da30d6abc12c9373c91268a5ab63f4a929c4c8db9fd93973931

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_fuse-0.1.10-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 dd113720f79bb85cd0656fcce7f8bad0b06713868a322d53711c7c7b67781e55
MD5 16bef1031677d8caabe23a204ff3f8e2
BLAKE2b-256 354f784c0d98609b736895f8ab717f385234b8714464db10589631d532ecf1c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_fuse-0.1.10-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e5daa47135b37c7c4d88816279017f12e52518075f99953231a9760ddd6b6ce9
MD5 5b61060bd3d41473fb77f95b7ff81cf1
BLAKE2b-256 0460ec6ddce2d954b2c5bba51f147a0225569e42fab300b3510580cf09c56168

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_fuse-0.1.10-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 4061e8a4ba262b2b609f1220bf7b7d3567811a58063c3930bc308f6f4aa3e212
MD5 c3fee61a3d8b912a256b83361034cccc
BLAKE2b-256 8a60fc6afc99d67675a6049660aada65b82a589c3e50f2250467a61eb6361261

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_fuse-0.1.10-py3-none-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 da8c1410ece85ab3f76e26480aaa231db157a440df857b835c3286167928f1fb
MD5 b790322036d466ea24ea3f7fc14537c0
BLAKE2b-256 a66c62a827ad86f5a5d7a2ab34d56441ef25279e81c07629d9bc264b31f18074

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_fuse-0.1.10-py3-none-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 bc9aefeb45d0983865261cefe62643310ba3610366bfc587ad637991646d6f26
MD5 de89ff5ff1f488d71c29e056d7387d3e
BLAKE2b-256 6e3cbbccecf552ce2f16c0bb84f8df9cce441b57ff09097cf9d34352454a817f

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