FUSE for AliyunDrive
Project description
aliyundrive-fuse
🚀 Help me to become a full-time open-source developer by sponsoring me on GitHub
阿里云盘 FUSE 磁盘挂载,主要用于配合 Emby 或者 Jellyfin 观看阿里云盘内容,功能特性:
- 目前只读,不支持写入
- 支持 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
- Debian 系如 Ubuntu:
可以从 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.6/aliyundrive-fuse_0.1.6_aarch64_generic.ipk
wget https://github.com/messense/aliyundrive-fuse/releases/download/v0.1.6/luci-app-aliyundrive-fuse_0.1.6_all.ipk
wget https://github.com/messense/aliyundrive-fuse/releases/download/v0.1.6/luci-i18n-aliyundrive-fuse-zh-cn_0.1.6-1_all.ipk
opkg install aliyundrive-fuse_0.1.6_aarch64_generic.ipk
opkg install luci-app-aliyundrive-fuse_0.1.6_all.ipk
opkg install luci-i18n-aliyundrive-fuse-zh-cn_0.1.6-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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for aliyundrive_fuse-0.1.6-py3-none-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37cdda146d9f2c9f486129a57691e2d870abefce3090fe24a5b913dc09a1c28a |
|
MD5 | 2a25a25aacf4a2a44cb2394fd6516427 |
|
BLAKE2b-256 | 1b8e3f05f4db99c7d258b280e5585c6e95d2c4516e76daa59da02379473cf160 |
Hashes for aliyundrive_fuse-0.1.6-py3-none-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55c58decd88d3c32207de6aa3e6c29c974985cf1d12da328fdc143ecf141b95d |
|
MD5 | 1fcbebd1a2e48fc1753ad1a535fba7cd |
|
BLAKE2b-256 | 49e9c27931ca5ff394037da3abd40b0a1b7d5692c96eeed4f81e45fcdeddf926 |
Hashes for aliyundrive_fuse-0.1.6-py3-none-musllinux_1_1_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e4084baba7099841a200203e7746f6dac31d7e2476b7c837869259c31774eea |
|
MD5 | db23fba74d9929cff635027f97370d1a |
|
BLAKE2b-256 | c2e8e4601d120d700afd861ab71a0b4fafd63fc9919190c9a91de39be7d85c62 |
Hashes for aliyundrive_fuse-0.1.6-py3-none-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e51600dfaad35065d782550984af327acca6565467299ea207b66460547dcc53 |
|
MD5 | ed964091b7a52ca3052627a78ae84ef1 |
|
BLAKE2b-256 | 483467a6b4d2498dd3262b8eae61d6d50c5b6fd49ccf270c84050d9eeff5c092 |
Hashes for aliyundrive_fuse-0.1.6-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc8b422c6cb24e482901e0a7cec00a0adf42941aaacf7f2dff9499e79db779b7 |
|
MD5 | 27610332a6ace9529c7d4ac27967a078 |
|
BLAKE2b-256 | 2d35a3281d1f1eb35bc35fa0b02a5925caeb4c625b2a024fb3f70a04e4af6342 |
Hashes for aliyundrive_fuse-0.1.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72f15abf97d96f2acb077d5c5144766ae0a494797562ce17e1c6dfbfff87d90f |
|
MD5 | 119d024386d3a5000a3f33625b746db3 |
|
BLAKE2b-256 | 3bb7104d7e822105e206014f59e885dc587c73dc58839e498a6379bc645626a3 |
Hashes for aliyundrive_fuse-0.1.6-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad7a40209e65dd07bf083ec4d9c701d47edf92706988e44ea8cf7df16c8cc840 |
|
MD5 | 34e24378d6d387e21a75f4aa4371e259 |
|
BLAKE2b-256 | 7450affd559617987601b9a442b06777ad2f8c00c52f1e13211051d455ca7687 |
Hashes for aliyundrive_fuse-0.1.6-py3-none-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d59a94f5c44e4749978c58c1e5e8a2d13040e8eda9c02d072de17342677cab5 |
|
MD5 | c8403bbb781a75a4908e42ede31c73d6 |
|
BLAKE2b-256 | 28008a549a71d9521710161f96fd7a22a7f20de85d4221bf94c2f09482f1cbda |
Hashes for aliyundrive_fuse-0.1.6-py3-none-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 059c594846fd50674cdd5e6427aeaf4aaf7e6ff82042890593d3f887caeaa686 |
|
MD5 | f530127789b4b664f8a13590dd25a815 |
|
BLAKE2b-256 | 77985838830f80e4ce24136041a6f7d245e4b552af27269c848351453e19fbf7 |