À propos du projet

PearTune est un lecteur de musique pair-à-pair destiné aux personnes qui conservent leur musique sur une machine qui leur appartient. La bibliothèque reste sur cette machine — un Umbrel, un NAS, un vieux desktop — et un téléphone y accède directement via une connexion pair-à-pair chiffrée. Rien n'est exposé sur Internet et les fichiers ne sont jamais copiés sur le serveur de quelqu'un d'autre. Le README présente le projet autour de la partie de la musique auto-hébergée qui pose réellement problème aux utilisateurs : l'accès à distance, c'est-à-dire les reverse proxies, la redirection de port, les VPN, le DNS dynamique ou les niveaux d'accès à distance payants. L'architecture se compose de deux éléments. L'hôte s'exécute sur la machine contenant la musique, sert la bibliothèque et détient la liste des appareils autorisés à s'y connecter. L'application s'exécute sur le téléphone et s'apparie une fois avec l'hôte en scannant un code QR. Les connexions sont décrites comme chiffrées de bout en bout et mutuellement authentifiées, de sorte que l'hôte identifie l'appareil appelant via la connexion elle-même, plutôt que par des mots de passe ou des chaînes de connexion. Les sources de bibliothèque sont choisies dans un tableau de bord plutôt qu'en modifiant un fichier compose : un serveur Navidrome existant ou un autre serveur compatible API Subsonic (utilisant sa bibliothèque, ses illustrations et son transcodage), un serveur Jellyfin existant, ou un simple dossier de fichiers musicaux dont PearTune lit lui-même les balises (ID3, Vorbis, MP4, FLAC, y compris les pochettes intégrées). Changer de source conserve les paramètres de chacune. Plex est délibérément non pris en charge, la raison indiquée dans le README étant qu'un serveur Plex ne peut être lu que via un compte cloud plex.tv dont le jeton expire chaque semaine. Le contrôle d'accès est par appareil et par personne, avec une révocation qui prend effet immédiatement, y compris en plein milieu d'une chanson. Les passes invités temporaires expirent d'elles-mêmes après un temps défini et affichent à l'invité un compte à rebours. Dans l'application, les utilisateurs peuvent parcourir par artiste, album, genre ou piste avec illustrations, rechercher dans toute la bibliothèque, et utiliser la lecture sans interruption, le mode aléatoire, la répétition, une minuterie de sommeil et l'audio en arrière-plan/écran verrouillé. D'autres fonctionnalités incluent des listes de lecture créées sur le téléphone ainsi que des listes de lecture serveur en lecture seule, des téléchargements d'albums pour l'écoute hors ligne, des favoris et des points de reprise qui suivent l'utilisateur entre ses propres appareils (avec transfert de lecture plutôt que double lecture), une file d'attente de requêtes pour les personnes autorisées, la gestion des appareils côté propriétaire depuis le téléphone, et la fusion de plusieurs bibliothèques en une seule vue. Statut de distribution tel que décrit : 1.0 sur iOS via l'App Store ; Android en test fermé sur Google Play, avec un APK sur la page des versions et Zapstore en attendant ; installateurs hôte pour macOS (signés et notarisés), Windows et Linux, une image Docker, et une liste dans la boutique d'applications communautaire Umbrel. La version Windows n'a pas encore de certificat de signature, donc SmartScreen avertit au premier lancement. Start9 n'est pas une cible prise en charge car StartOS exécute des services derrière un NAT de conteneur que les connexions pair-à-pair ne peuvent pas traverser, forçant un repli sur relais. Lorsqu'une connexion directe est impossible, un relais optionnel géré par PeerLoom transmet le trafic déjà chiffré ; il peut voir qu'un appareil parle à un hôte et quelle quantité de données circule, mais pas le contenu, et ne conserve aucune copie. Il est activé par défaut et peut être désactivé dans Paramètres > Connexion. Le projet est sous licence MIT, avec la police Manrope et cinq pistes de démonstration CC0 enregistrées dans THIRD-PARTY.md.