这个项目能做什么

Gelly 是一款面向自托管流媒体服务器的原生桌面音乐客户端,使用 Rust 编写,基于 GTK 和 Libadwaita。它连接 Jellyfin 和兼容 Subsonic 的后端(如 Navidrome),让用户通过轻量级 Linux 应用浏览和播放自己的音乐库。 核心播放功能包括无缝播放、ReplayGain 支持、转码和即时混音。客户端集成 MPRIS,因此桌面媒体控件和其他支持 MPRIS 的工具可以驱动播放。支持歌词显示,界面已通过 Weblate 翻译成十多种语言。 库和组织功能涵盖播放列表管理、收藏和智能播放列表。小型命令行界面可以向已运行的实例发送命令,包括上一首/下一首曲目、播放/暂停、停止、刷新库、打开大播放器,以及按 ID 播放特定专辑、艺术家或歌曲。上下文菜单提供“复制 ID”操作以提供这些参数,从而无需使用 MPRIS 即可进行轻量脚本编写。 NFC 标签支持未内置在 Gelly 中;配套项目 Gelly-NFC 是一个 Python 脚本,通过其 CLI 驱动 Gelly,支持家庭点唱机等 NFC 卡片设置。 README 中记录的安装选项包括 Flatpak(Flathub 上的 io.m51.Gelly)、通过 AUR 的 Arch Linux、NixOS 和 ALT Linux Sisyphus。已知的 Flatpak 限制阻止沙盒应用读取主机证书存储,这可能阻止连接到使用自签名 TLS 证书的服务器;README 描述了使用 Flatseal 暴露证书文件并设置 SSL_CERT_FILE 的解决方法,或使用非 Flatpak 安装。 对于开发,项目需要 GTK、Libadwaita 和 Gstreamer 开发库以及稳定的 Rust 编译器,并使用 gtk-rs 绑定。justfile 提供开发构建和发布安装的配方。欢迎贡献和翻译,README 感谢 UI 工作和 Subsonic 后端的贡献者。