这个项目能做什么
PearTune是一款面向将音乐保存在自有设备上的用户的点对点音乐播放器。音乐库保留在该设备上——无论是Umbrel、NAS还是旧台式机——手机通过加密的点对点连接直接访问。无需将任何内容暴露到互联网,文件也绝不会复制到他人的服务器。README将项目定位在自托管音乐中用户真正困扰的部分:远程访问,即反向代理、端口转发、VPN、动态DNS或付费远程访问层级。
架构由两部分组成。主机端运行在存放音乐的机器上,提供音乐库服务并维护允许访问的设备列表。应用端运行在手机上,通过扫描二维码与主机配对一次。连接被描述为端到端加密且相互认证,因此主机通过连接本身识别调用设备,而非依赖密码或连接字符串。
音乐库来源通过仪表板选择,而非编辑compose文件:可以是现有的Navidrome或其他Subsonic-API服务器(利用其音乐库、封面和转码功能)、现有的Jellyfin服务器,或一个普通音乐文件夹,其标签由PearTune自行读取(ID3、Vorbis、MP4、FLAC,包括嵌入式封面)。切换来源时保留各自的设置。Plex被刻意不支持,README给出的理由是Plex服务器只能通过plex.tv云账户读取,而该账户令牌每周过期。
访问控制按设备和人员划分,撤销操作立即生效,包括歌曲播放中途。临时访客通行证在设定时间后自动过期,并向访客显示倒计时。在应用中,用户可以按艺术家、专辑、流派或曲目浏览并查看封面,搜索整个音乐库,并使用无缝播放、随机播放、重复播放、睡眠定时器和后台/锁屏音频。其他功能包括手机创建的播放列表及只读服务器播放列表、用于离线收听的专辑下载、收藏夹和续播点(可在用户自己的设备间同步,播放可交接而非重复)、为获准访问者提供的请求队列、手机端的所有者设备管理,以及将多个音乐库合并为一个视图。
分发状态如下:iOS 1.0版通过App Store发布;Android在Google Play进行封闭测试,同时在发布页面和Zapstore提供APK;主机安装程序支持macOS(已签名并公证)、Windows和Linux,提供Docker镜像,并上架Umbrel社区应用商店。Windows版本尚无签名证书,首次运行时SmartScreen会发出警告。Start9不是受支持的平台,因为StartOS在容器NAT后运行服务,点对点连接无法穿透,只能强制使用中继回退。当直接连接不可行时,可选的PeerLoom运行的中继会转发已加密的流量;它可以观察到设备与主机通信及数据量,但无法查看内容,且不保留副本。该功能默认开启,可在设置>连接中关闭。项目采用MIT许可证,THIRD-PARTY.md中记录了Manrope字体和五首CC0演示曲目。
评论
0 评分人数达到10人后显示
登录后参与讨论。