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

Uploaded Source

Built Distributions

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

Uploaded Python 3 musllinux: musl 1.1+ i686

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

Uploaded Python 3 musllinux: musl 1.1+ ARMv7l

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

Uploaded Python 3 musllinux: musl 1.1+ ARM64

aliyundrive_fuse-0.1.12-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.12-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.12-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.12-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.12-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.12.tar.gz.

File metadata

  • Download URL: aliyundrive_fuse-0.1.12.tar.gz
  • Upload date:
  • Size: 34.5 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.12.tar.gz
Algorithm Hash digest
SHA256 7143c0cf661b233e02dee662ac2650248c70e6c65b9bb8a02c153143a3e7db1a
MD5 d9201134d0ea659c36570ea59e4f1c26
BLAKE2b-256 b4b7c41f1e4d01932c51a97494557610072d698c3b30c3ca1e01d4b5fa09bbeb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_fuse-0.1.12-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 6c07cffe51e67ec09194cad4ad47ce810dfad1fe237aba53dd5fc9b1b93df6eb
MD5 34a89237af3ca399e38fffeae6d54ef4
BLAKE2b-256 2f69e159ed2584a42fc07d1ea4ac6f6b32bac310bec7919ce0e36cc2322d0c29

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_fuse-0.1.12-py3-none-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 9a4436430372fa628033680ba4378a00c1507c0cec8546a07efda13eb48d9853
MD5 b0c76251e72db6b1995460702288d388
BLAKE2b-256 a352632f53220e82a6fe4f93fd66ccc54575c1bdf49df654a78d558d937f75ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_fuse-0.1.12-py3-none-musllinux_1_1_armv7l.whl
Algorithm Hash digest
SHA256 c700a5577bae431d73d46f072d83b4768f6ca658a7a9f062cbfad622050471e9
MD5 bf208b1aa31460f766d77ad3baef2a41
BLAKE2b-256 ad164febeff81a4e8ff30986b8a410607614ce9175c1d3e86cd124a9ab9f6594

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_fuse-0.1.12-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 6c4dad326b53740ae153c89ec3d5eac793a32933d0d233d8f7ffe519e3af9076
MD5 65ead1228580555c81b3d35573268cc8
BLAKE2b-256 13e3f4d0eb438f2119796aa10f4948b6f2a798571916b91843328e4aaafd260b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_fuse-0.1.12-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 6498126039083094cbae4659cd6d6371b3a20fe93bcd834f96308f5706270d33
MD5 ed0cb318394e3a1a434b2318f7636c94
BLAKE2b-256 c91139c2fd1725c9b6491e3b58af8a3850768c34c181bdd6df296564f05cadb5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_fuse-0.1.12-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f8de7d0a80a9ccb20b5916f07a0924ee557e81e7bdc65802b637991a164ca9ca
MD5 d9b2b87e16704cb12ed9759d72c1c7ca
BLAKE2b-256 3c1c613a58ceda8f86354fe7af304dc039dc34caaeed351ec9d182d6d69e48bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_fuse-0.1.12-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 5cd9a36718bc6084d41b9f6059e0d7486da490717d212c2389588289f7f6220f
MD5 73f919e965d7338d05a3078ef4b19777
BLAKE2b-256 546970a0dfc47a5546741a4b7c2cd71088e7d4f147c855e2c43b089eab31a702

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_fuse-0.1.12-py3-none-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 63084cb5a9c4a8f709ca8ca2937737468cfe6b16ef6f73c32077be1b067df40c
MD5 ed34b702c7e7b3abcfccb377342612fb
BLAKE2b-256 2a9d193f1ccdbe95de1e486e01adad1ad643f29c8a806614cb0341999720d4bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aliyundrive_fuse-0.1.12-py3-none-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 54c4f677b6019523d8cb255fc948181ecdc570d840422ab9aca3fe1faeb4fbcc
MD5 8c63ffe4f169223218f7a273bdd9c2e2
BLAKE2b-256 b845ad4db26c01db57700f0d65e24e4b9317fd6ea867b96b19e4fab5d10502e0

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