About this project
PearTune is a peer-to-peer music player for people who keep their music on a machine they own. The library stays on that machine — an Umbrel, a NAS, an old desktop — and a phone reaches it directly over an encrypted peer-to-peer connection. Nothing is exposed to the internet and files are never copied to anyone else's server. The README frames the project around the part of self-hosted music that people actually struggle with: remote access, meaning reverse proxies, port forwarding, VPNs, dynamic DNS or paid remote-access tiers.
Architecture is two pieces. The host runs on the machine with the music, serves the library and holds the list of devices allowed to reach it. The app runs on the phone and pairs with the host once by scanning a QR code. Connections are described as end-to-end encrypted and mutually authenticated, so the host identifies the calling device through the connection itself rather than through passwords or connection strings.
Library sources are chosen in a dashboard rather than by editing a compose file: an existing Navidrome or other Subsonic-API server (using its library, artwork and transcoding), an existing Jellyfin server, or a plain folder of music files whose tags PearTune reads itself (ID3, Vorbis, MP4, FLAC, including embedded cover art). Switching sources keeps each one's settings. Plex is deliberately unsupported, with the README's stated reason being that a Plex server can only be read through a plex.tv cloud account whose token expires weekly.
Access control is per device and per person, with revocation that takes effect immediately, including mid-song. Temporary guest passes expire on their own after a set time and show the guest a countdown. In the app, users can browse by artist, album, genre or track with artwork, search the whole library, and use gapless playback, shuffle, repeat, a sleep timer and background/lock-screen audio. Further features include phone-made playlists plus read-only server playlists, album downloads for offline listening, favourites and resume points that follow the user between their own devices (with playback handing over rather than doubling up), a request queue for people who have been let in, owner-side device management from the phone, and merging several libraries into one view.
Distribution status as described: 1.0 on iOS via the App Store; Android in closed testing on Google Play, with an APK on the releases page and Zapstore in the meantime; host installers for macOS (signed and notarized), Windows and Linux, a Docker image, and an Umbrel community app store listing. The Windows build has no signing certificate yet, so SmartScreen warns on first run. Start9 is not a supported target because StartOS runs services behind a container NAT that peer-to-peer connections cannot punch through, forcing relay fallback. When a direct connection is impossible, an optional PeerLoom-run relay forwards already-encrypted traffic; it can see that a device is talking to a host and how much data moves, but not contents, and keeps no copy. It is on by default and can be disabled in Settings > Connection. The project is MIT licensed, with the Manrope typeface and five CC0 demo tracks recorded in THIRD-PARTY.md.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.