इस प्रोजेक्ट के बारे में

PearTune उन लोगों के लिए पीयर-टू-पीयर संगीत प्लेयर है जो अपना संगीत अपनी ही मशीन पर रखते हैं। लाइब्रेरी उसी मशीन पर रहती है — Umbrel, NAS, पुराना डेस्कटॉप — और फ़ोन एन्क्रिप्टेड पीयर-टू-पीयर कनेक्शन से सीधे उस तक पहुँचता है। कुछ भी इंटरनेट पर उजागर नहीं होता और फ़ाइलें कभी किसी और के सर्वर पर कॉपी नहीं होतीं। README परियोजना को स्व-होस्टेड संगीत के उस हिस्से के इर्द-गिर्द रखता है जिससे लोग वास्तव में जूझते हैं: रिमोट एक्सेस, यानी रिवर्स प्रॉक्सी, पोर्ट फ़ॉरवर्डिंग, VPN, डायनामिक DNS या सशुल्क रिमोट-एक्सेस टियर। आर्किटेक्चर दो हिस्सों में है। होस्ट उस मशीन पर चलता है जिस पर संगीत है, लाइब्रेरी परोसता है और उन डिवाइसों की सूची रखता है जिन्हें उस तक पहुँचने की अनुमति है। ऐप फ़ोन पर चलता है और एक बार QR कोड स्कैन करके होस्ट से पेयर होता है। कनेक्शन को एंड-टू-एंड एन्क्रिप्टेड और पारस्परिक रूप से प्रमाणित बताया गया है, इसलिए होस्ट कॉल करने वाले डिवाइस की पहचान पासवर्ड या कनेक्शन स्ट्रिंग के बजाय कनेक्शन के ज़रिए ही करता है। लाइब्रेरी स्रोत compose फ़ाइल संपादित करने के बजाय डैशबोर्ड में चुने जाते हैं: मौजूदा Navidrome या अन्य Subsonic-API सर्वर (उसकी लाइब्रेरी, आर्टवर्क और ट्रांसकोडिंग का उपयोग), मौजूदा Jellyfin सर्वर, या संगीत फ़ाइलों का सादा फ़ोल्डर जिसके टैग PearTune स्वयं पढ़ता है (ID3, Vorbis, MP4, FLAC, एम्बेडेड कवर आर्ट सहित)। स्रोत बदलने पर हर एक की सेटिंग्स बनी रहती हैं। Plex जानबूझकर असमर्थित है, README में बताया गया कारण यह है कि Plex सर्वर केवल plex.tv क्लाउड अकाउंट के ज़रिए पढ़ा जा सकता है जिसका टोकन हर हफ़्ते समाप्त हो जाता है। एक्सेस नियंत्रण प्रति डिवाइस और प्रति व्यक्ति है, और रद्दीकरण तुरंत प्रभावी होता है, गाने के बीच में भी। अस्थायी गेस्ट पास तय समय के बाद स्वयं समाप्त हो जाते हैं और गेस्ट को उलटी गिनती दिखाते हैं। ऐप में उपयोगकर्ता आर्टिस्ट, एल्बम, जॉनर या ट्रैक के अनुसार आर्टवर्क के साथ ब्राउज़ कर सकते हैं, पूरी लाइब्रेरी खोज सकते हैं, और गैपलेस प्लेबैक, शफ़ल, रिपीट, स्लीप टाइमर तथा बैकग्राउंड/लॉक-स्क्रीन ऑडियो का उपयोग कर सकते हैं। अन्य सुविधाओं में फ़ोन से बनाई गई प्लेलिस्ट के साथ रीड-ओनली सर्वर प्लेलिस्ट, ऑफ़लाइन सुनने के लिए एल्बम डाउनलोड, पसंदीदा और रिज़्यूम पॉइंट जो उपयोगकर्ता के अपने डिवाइसों के बीच साथ चलते हैं (प्लेबैक दोगुना होने के बजाय हैंडओवर होता है), जिन्हें अंदर आने दिया गया है उनके लिए रिक्वेस्ट क्यू, फ़ोन से मालिक-पक्षीय डिवाइस प्रबंधन, और कई लाइब्रेरी को एक दृश्य में मिलाना शामिल है। वितरण स्थिति जैसा बताया गया है: iOS पर App Store के ज़रिए 1.0; Android Google Play पर क्लोज़्ड टेस्टिंग में, इस बीच रिलीज़ पेज पर APK और Zapstore; macOS (हस्ताक्षरित और नोटराइज़्ड), Windows और Linux के लिए होस्ट इंस्टॉलर, एक Docker इमेज, और एक Umbrel कम्युनिटी ऐप स्टोर लिस्टिंग। Windows बिल्ड के पास अभी साइनिंग सर्टिफ़िकेट नहीं है, इसलिए पहली बार चलाने पर SmartScreen चेतावनी देता है। Start9 समर्थित लक्ष्य नहीं है क्योंकि StartOS सेवाओं को एक कंटेनर NAT के पीछे चलाता है जिसे पीयर-टू-पीयर कनेक्शन भेद नहीं सकते, जिससे रिले फ़ॉलबैक मजबूर होता है। जब सीधा कनेक्शन असंभव हो, तो एक वैकल्पिक PeerLoom-संचालित रिले पहले से एन्क्रिप्टेड ट्रैफ़िक अग्रेषित करता है; यह देख सकता है कि कोई डिवाइस किसी होस्ट से बात कर रहा है और कितना डेटा चलता है, लेकिन सामग्री नहीं, और कोई प्रति नहीं रखता। यह डिफ़ॉल्ट रूप से चालू है और Settings > Connection में अक्षम किया जा सकता है। परियोजना MIT लाइसेंस प्राप्त है, साथ में Manrope टाइपफ़ेस और THIRD-PARTY.md में रिकॉर्ड किए गए पाँच CC0 डेमो ट्रैक हैं।