{"id":13434742,"url":"https://github.com/messense/aliyundrive-fuse","last_synced_at":"2025-03-18T01:31:59.096Z","repository":{"id":38248633,"uuid":"444825833","full_name":"messense/aliyundrive-fuse","owner":"messense","description":"阿里云盘 FUSE 磁盘挂载","archived":true,"fork":false,"pushed_at":"2023-02-18T03:15:51.000Z","size":149,"stargazers_count":962,"open_issues_count":8,"forks_count":114,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-02-28T19:25:24.048Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/messense.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"messense","custom":"https://github.com/messense/messense/blob/master/SPONSOR.md#sponsor-my-open-source-works"}},"created_at":"2022-01-05T14:05:01.000Z","updated_at":"2025-02-24T09:25:33.000Z","dependencies_parsed_at":"2024-06-21T16:45:10.790Z","dependency_job_id":"f872a73e-575d-441d-8795-d62b9b7614ac","html_url":"https://github.com/messense/aliyundrive-fuse","commit_stats":{"total_commits":88,"total_committers":6,"mean_commits":"14.666666666666666","dds":0.09090909090909094,"last_synced_commit":"0ecdf20eb1d067fa2d3028a45046fa9c9c4da1d2"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/messense%2Faliyundrive-fuse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/messense%2Faliyundrive-fuse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/messense%2Faliyundrive-fuse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/messense%2Faliyundrive-fuse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/messense","download_url":"https://codeload.github.com/messense/aliyundrive-fuse/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244139322,"owners_count":20404492,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T03:00:21.907Z","updated_at":"2025-03-18T01:31:58.668Z","avatar_url":"https://github.com/messense.png","language":"Rust","funding_links":["https://github.com/sponsors/messense","https://github.com/messense/messense/blob/master/SPONSOR.md#sponsor-my-open-source-works"],"categories":["HarmonyOS","Rust","10、基础服务架构"],"sub_categories":["Windows Manager","9、效率工具集合"],"readme":"# aliyundrive-fuse\n\n[![GitHub Actions](https://github.com/messense/aliyundrive-fuse/workflows/CI/badge.svg)](https://github.com/messense/aliyundrive-fuse/actions?query=workflow%3ACI)\n[![PyPI](https://img.shields.io/pypi/v/aliyundrive-fuse.svg)](https://pypi.org/project/aliyundrive-fuse)\n[![Docker Image](https://img.shields.io/docker/pulls/messense/aliyundrive-fuse.svg?maxAge=2592000)](https://hub.docker.com/r/messense/aliyundrive-fuse/)\n[![aliyundrive-fuse](https://snapcraft.io/aliyundrive-fuse/badge.svg)](https://snapcraft.io/aliyundrive-fuse)\n[![Crates.io](https://img.shields.io/crates/v/aliyundrive-fuse.svg)](https://crates.io/crates/aliyundrive-fuse)\n\n\u003e 🚀 Help me to become a full-time open-source developer by [sponsoring me on GitHub](https://github.com/sponsors/messense)\n\n阿里云盘 FUSE 磁盘挂载，主要用于配合 [Emby](https://emby.media) 或者 [Jellyfin](https://jellyfin.org) 观看阿里云盘内容，功能特性：\n\n1. 目前只读，不支持写入\n2. 支持 Linux 和 macOS，暂不支持 Windows\n\n[aliyundrive-webdav](https://github.com/messense/aliyundrive-webdav) 项目已经实现了通过 WebDAV 访问阿里云盘内容，但由于 Emby 和 Jellyfin 都不支持直接访问 WebDAV 资源，\n需要配合 [rclone](https://rclone.org) 之类的软件将 WebDAV 挂载为本地磁盘，而本项目则直接通过 FUSE 实现将阿里云盘挂载为本地磁盘，省去使用 rclone 再做一层中转。\n\n## 安装\n\n* macOS 需要先安装 [macfuse](https://osxfuse.github.io/)\n* Linux 需要先安装 fuse\n  * Debian 系如 Ubuntu: `apt-get install -y fuse3`\n  * RedHat 系如 CentOS: `yum install -y fuse3`\n\n可以从 [GitHub Releases](https://github.com/messense/aliyundrive-fuse/releases) 页面下载预先构建的二进制包， 也可以使用 pip 从 PyPI 下载:\n\n```bash\npip install aliyundrive-fuse\n```\n\n如果系统支持 [Snapcraft](https://snapcraft.io) 比如 Ubuntu、Debian 等，也可以使用 snap 安装：\n\n```bash\nsudo snap install aliyundrive-fuse\n```\n\n### OpenWrt 路由器\n\n[GitHub Releases](https://github.com/messense/aliyundrive-fuse/releases) 中有预编译的 ipk 文件， 目前提供了\naarch64/arm/x86_64/i686 等架构的版本，可以下载后使用 opkg 安装，以 nanopi r4s 为例：\n\n```bash\nwget https://github.com/messense/aliyundrive-fuse/releases/download/v0.1.14/aliyundrive-fuse_0.1.14-1_aarch64_generic.ipk\nwget https://github.com/messense/aliyundrive-fuse/releases/download/v0.1.14/luci-app-aliyundrive-fuse_0.1.14_all.ipk\nwget https://github.com/messense/aliyundrive-fuse/releases/download/v0.1.14/luci-i18n-aliyundrive-fuse-zh-cn_0.1.14-1_all.ipk\nopkg install aliyundrive-fuse_0.1.14-1_aarch64_generic.ipk\nopkg install luci-app-aliyundrive-fuse_0.1.14_all.ipk\nopkg install luci-i18n-aliyundrive-fuse-zh-cn_0.1.14-1_all.ipk\n```\n\n其它 CPU 架构的路由器可在 [GitHub Releases](https://github.com/messense/aliyundrive-fuse/releases) 页面中查找对应的架构的主程序 ipk 文件下载安装。\n\n\u003e Tips: 不清楚 CPU 架构类型可通过运行 `opkg print-architecture` 命令查询。\n\n## 命令行用法\n\n```bash\nUSAGE:\n    aliyundrive-fuse [OPTIONS] --refresh-token \u003cREFRESH_TOKEN\u003e \u003cPATH\u003e\n\nARGS:\n    \u003cPATH\u003e    Mount point\n\nOPTIONS:\n        --allow-other                            Allow other users to access the drive\n    -h, --help                                   Print help information\n    -r, --refresh-token \u003cREFRESH_TOKEN\u003e          Aliyun drive refresh token [env: REFRESH_TOKEN=]\n    -S, --read-buffer-size \u003cREAD_BUFFER_SIZE\u003e    Read/download buffer size in bytes, defaults to 10MB [default: 10485760]\n    -V, --version                                Print version information\n    -w, --workdir \u003cWORKDIR\u003e                      Working directory, refresh_token will be stored in there if specified\n```\n\n比如将磁盘挂载到 `/mnt/aliyundrive` 目录：\n\n```bash\nmkdir -p /mnt/aliyundrive /var/run/aliyundrive-fuse\naliyundrive-fuse -r your-refresh-token -w /var/run/aliyundrive-fuse /mnt/aliyundrive\n```\n\n## Emby/Jellyfin\n\n如果是直接运行在系统上的 Emby/Jellyfin，则可以直接在其控制台添加媒体库的时候选择阿里云盘对应的挂载路径中的文件夹即可；\n如果是 Docker 运行的 Emby/Jellyfin，则需要将阿里云盘挂载路径也挂载到 Docker 容器中，假设阿里云盘挂载路径为 `/mnt/aliyundrive`，\n以 Jellyfin 为例（假设 Jellyfin 工作路径为 `/root/jellyfin`）将云盘挂载到容器 `/media` 路径：\n\n```bash\ndocker run -d --name jellyfin \\\n  -v /root/jellyfin/config:/config \\\n  -v /root/jellyfin/cache:/cache \\\n  -v /mnt/aliyundrive:/media \\\n  -p 8096:8096 \\\n  --device=/dev/dri/renderD128 \\\n  --device /dev/dri/card0:/dev/dri/card0 \\\n  --restart unless-stopped \\\n  jellyfin/jellyfin\n```\n\n## License\n\nThis work is released under the MIT license. A copy of the license is provided in the [LICENSE](./LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmessense%2Faliyundrive-fuse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmessense%2Faliyundrive-fuse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmessense%2Faliyundrive-fuse/lists"}