इस प्रोजेक्ट के बारे में
Limusic YouTube Music के लिए एक नेटिव डेस्कटॉप क्लाइंट है, जो Tauri 2, Rust और SvelteKit सिंगल-पेज UI के साथ बनाया गया है। यह सीधे YouTube के आंतरिक API से बात करता है और libmpv के माध्यम से ऑडियो चलाता है, इसलिए कोई बंडल ब्राउज़र रनटाइम, कोई बैकएंड सर्वर या Electron नहीं है। यह परियोजना Metrolist, एक Android YouTube Music क्लाइंट, के पीछे प्लेबैक इंजन के डेस्कटॉप पुनर्निर्माण के रूप में शुरू हुई।
प्लेबैक और लाइब्रेरी
स्ट्रीम YouTube के API से आती हैं और विज्ञापन नहीं चलाए जाते। खोज और ब्राउज़िंग गाने, एल्बम, कलाकार, प्लेलिस्ट और YouTube Music होम फ़ीड को कवर करती है, जिसमें टाइप करते ही परिणाम पूर्वावलोकन होते हैं। उपयोगकर्ता इन-ऐप Google लॉगिन या कुकीज़ पेस्ट करके YouTube Music खाते से साइन इन कर सकते हैं, और स्विचिंग के साथ एक साथ कई खाते रख सकते हैं। लाइब्रेरी दृश्य प्लेलिस्ट, पसंदीदा गाने, सहेजे गए एल्बम और कलाकार, अपलोड, और लिखने की क्रियाएं जैसे पसंद करना, प्लेलिस्ट में जोड़ना, कवर आर्ट सहित प्लेलिस्ट बनाना, संपादित करना और हटाना, सदस्यता लेना और लाइब्रेरी में सहेजना दिखाता है। प्ले इतिहास YouTube Music के अपने दिन-बकेट में रखा जाता है। गैपलेस प्लेबैक और लाउडनेस नॉर्मलाइज़ेशन libmpv द्वारा संभाला जाता है, और कतार रेडियो/ऑटोमिक्स निरंतरता, ड्रैग-टू-रीऑर्डर और पुनरारंभ के बाद बहाली का समर्थन करती है। स्थानीय ऑडियो फ़ाइलें भी उनके मेटाडेटा के साथ चलाई जा सकती हैं।
इंटरफ़ेस और एकीकरण
सिंक किए गए बोल साइड पैनल में ऑटो-स्क्रॉल और क्लिक-टू-जंप के साथ दिखाई देते हैं, जहां स्रोत टाइमिंग प्रदान करता है वहां शब्द-दर-शब्द, प्रत्येक पंक्ति के नीचे अनुवाद के साथ। बोल पहले Boidu से, फिर LRCLIB, YouTube Music के टाइम किए गए बोल, Netease, QQ Music और Kugou से लाए जाते हैं, सादे पाठ पर वापस गिरते हुए, और परिणाम स्थानीय रूप से कैश किए जाते हैं। वैकल्पिक संगीत वीडियो कलाकृति के स्थान पर चलते हैं। एक मिनी प्लेयर और थिएटर मोड उपलब्ध है। Last.fm स्क्रोबलिंग टाइटल बार से जुड़ती है और आधे बिंदु या चार मिनट पर स्क्रोबल करती है, जो भी पहले आए। Discord Rich Presence ट्रैक, कलाकार, कलाकृति और प्रगति पट्टी दिखाता है। OS मीडिया कुंजी और नाउ-प्लेइंग एकीकरण Linux पर MPRIS और Windows पर SMTC के माध्यम से समर्थित है, साथ ही टास्कबार पूर्वावलोकन बटन भी। एक सिस्टम ट्रे विंडो बंद होने पर प्लेबैक को जीवित रखता है, प्ले/पॉज़ और स्किप नियंत्रण और वैकल्पिक स्टार्ट-ऑन-लॉगिन के साथ। Listen Together एक छोटे सेल्फ-होस्टेड रिले पर सिंक किए गए सुनने के कमरे प्रदान करता है; प्रत्येक प्रतिभागी अपना ऑडियो स्ट्रीम करता है जबकि कमरा प्ले/पॉज़, सीक, ट्रैक परिवर्तन और कतार को रिले करता है, जॉइन कोड और होस्ट अनुमोदन के साथ। कीबोर्ड शॉर्टकट में Ctrl+K खोज के लिए और Ctrl+H शॉर्टकट सूची के लिए शामिल हैं, और Ctrl प्लस व्हील इंटरफ़ेस को ज़ूम करता है।
अनुकूलन और भाषाएं
ऐप एक्सेंट पैलेट, कस्टम रंग, कस्टम फ़ॉन्ट, कोने की गोलाई, एक कस्टम ऐप आइकन और एक अनुकूली थीम प्रदान करता है जो चल रहे कवर से रंग बदलता है। आज छह भाषाएं शिप होती हैं: अंग्रेजी, स्पेनिश, फ्रेंच, तुर्की, ब्राज़ीलियाई पुर्तगाली और इंडोनेशियाई, और अधिक प्रगति पर हैं। अनुवाद पुल अनुरोधों के बजाय Weblate पर प्रबंधित किए जाते हैं।
प्लेटफ़ॉर्म और पैकेजिंग
बिल्ड Windows (सेल्फ-अपडेट के साथ setup.exe, या .msi), Linux (बंडल libmpv के साथ सेल्फ-अपडेटिंग AppImage, .deb, .rpm) और macOS Apple Silicon (.dmg, अहस्ताक्षरित) के लिए उपलब्ध हैं। Intel macOS बिल्ड स्रोत से हैं। समुदाय-अनुरक्षित पैकेज Arch AUR, Fedora COPR और openSUSE Tumbleweed के लिए मौजूद हैं। स्रोत से निर्माण के लिए libmpv और webkit2gtk विकास पैकेज, UI के लिए pnpm, और Rust पक्ष के लिए Cargo/Tauri की आवश्यकता होती है। स्रोत से निर्माण करते समय Last.fm एकीकरण के लिए डेवलपर की अपनी API कुंजी और गुप्त src-tauri/lastfm.keys में चाहिए; उस फ़ाइल के बिना बाकी अभी भी बनता और चलता है।
आर्किटेक्चर नोट्स
एक शुद्ध Rust क्रेट YouTube के InnerTube API से बात करता है, कई आधिकारिक क्लाइंट पहचानों का प्रतिरूपण करता है और उनके बीच वापस गिरता है। स्ट्रीम URL अस्पष्ट JavaScript (सिग्नेचर सिफर और n पैरामीटर) और BotGuard प्रमाणन द्वारा सुरक्षित हैं; Limusic उस JavaScript को UI प्रक्रिया से अलग एक छिपे हुए वास्तविक वेबव्यू में चलाता है। ऑडियो ऑन-डिस्क कैश के साथ libmpv से होकर जाता है। SvelteKit UI केवल Rust कोर से बात करता है और कभी सीधे YouTube से संपर्क नहीं करता। परियोजना GPL-3.0 लाइसेंस प्राप्त है और बताती है कि यह YouTube या Google से संबद्ध नहीं है।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.