• वेब ब्राउज़र Dillo परियोजना को GitHub से अपने स्वयं-होस्टेड सर्वर पर स्थानांतरित किया जा रहा है।
  • GitHub की JavaScript निर्भरता, एकल नियंत्रण संरचना और धीमी परफॉर्मेंस को मुख्य कारणों में बताया गया।
  • नया सर्वर dillo-browser.org डोमेन पर चलाया जा रहा है, जिसमें cgit आधारित हल्का Git फ्रंटएंड और स्वयं निर्मित बग ट्रैकर ‘buggy’ का उपयोग होता है।
  • सभी डेटा को git रिपॉज़िटरी के रूप में प्रबंधित करके Codeberg और Sourcehut में मिरर किया जाता है, जिससे डेटा हानि का जोखिम न्यूनतम होता है।
  • OpenPGP सिग्नेचर के जरिए DNS खोने पर भी भरोसेमंदी बनी रहे, इसलिए यह डिज़ाइन किया गया है, जिससे परियोजना की स्वतंत्रता और दीर्घकालिक स्थिरता मजबूत होती है।

पृष्ठभूमि

  • पहले Dillo की मूल साइट dillo.org थी और इसमें Mercurial रिपॉज़िटरी, मेल सर्वर, बग ट्रैकर और मेलिंग लिस्ट आर्काइव शामिल थे।
    • 2022 में डोमेन खो गया और एक तीसरे पक्ष ने AI विज्ञापनों से भरी समान साइट बना दी।
    • कुछ सामग्री फिर भी वापस नहीं मिल पाई, जबकि कुछ हिस्सा पुनर्प्राप्त हुआ।
  • इसी अनुभव के कारण एक ही साइट पर निर्भरता से बचने और वितरित बैकअप संरचना बनाने का फैसला किया गया।
  • शुरुआत में कोड GitHub पर अपलोड किया गया, लेकिन लंबी अवधि के लिए इसे उपयुक्त नहीं माना गया।

GitHub की समस्याएं

  • GitHub CI workflow और रिपॉज़िटरी प्रबंधन में उपयोगी था, लेकिन इसमें कुछ सीमाएं हैं।
    • JavaScript के बिना फ्रंटएंड काम नहीं करता, इसलिए Dillo ब्राउज़र से issues या PR नहीं देखे जा सकते।
    • पेज अनावश्यक रूप से संसाधन खर्च करता है, जिससे सादा HTML rendering पर अतिरिक्त लोड आता है।
  • एकल नियंत्रण इकाई के कारण किसी खाते के ब्लॉक होने का जोखिम था, जिससे डेटा एक्सेस बंद हो सकता है।
  • प्लेटफॉर्म लगातार धीमा होता जा रहा है और तेज इंटरनेट कनेक्शन की जरूरत बढ़ा रहा है।
  • GitHub का “push model” नोटिफिकेशन तरीका ऑफलाइन-आधारित डेवलपमेंट वर्कफ़्लो से मेल नहीं खाता।
  • गैर-डेवलपर यूज़र्स का अनुपात ज्यादा होने वाली परियोजनाओं के लिए community management tools की कमी से डेवलपर थकान बढ़ती है।
  • GitHub के LLM और जनरेटिव AI की तरफ़ बढ़ते फोकस के कारण साइटें LLM crawlers को रोकने के लिए JavaScript wall या browser fingerprint tracking को सख्त कर रही हैं।
    • इससे Dillo उपयोगकर्ताओं की पहुँच पर प्रतिबंध जैसी समस्या पैदा हुई।

स्व-होस्टिंग सेटअप

  • मौजूदा रिपॉज़िटरी सेवाएँ सिंगल फेल्योर पॉइंट हटाने और हल्का ऑपरेशन दोनों को एक साथ पूरा नहीं कर पा रही थीं
    • इसलिए हमने खुद का सर्वर चलाने और कई मिरर रखने का निर्णय लिया।
  • हमने dillo-browser.org डोमेन खरीदा और एक छोटा VPS सर्वर सेट किया।
    • अपेक्षा से ज्यादा स्थिरता के साथ यह चल रहा है और मुख्यतः AI bot ट्रैफिक को संभाल रहा है।
  • Git फ्रंटएंड के लिए cgit चुना गया।
    • यह C भाषा में लिखा गया है, इसलिए RAM और CPU उपयोग कम है और यह JavaScript के बिना काम करता है
    • Dillo में ठीक से दिखे इसके लिए CSS में कुछ बदलाव किए गए।
    • https://git.dillo-browser.org/ से एक्सेस किया जा सकता है।
  • बग ट्रैकर के लिए स्वयं बनाया गया ‘buggy’ इस्तेमाल होता है।
    • Markdown फाइलों को parse करके HTML पृष्ठ बनाए जाते हैं, और प्रत्येक बग git रिपॉज़िटरी में सेव होता है।
    • commit के समय git hook अपने-आप पृष्ठ अपडेट कर देता है।
    • ऑफलाइन एडिट संभव, सुरक्षा जोखिम की चिंता नहीं।
    • https://bug.dillo-browser.org/ पर उपलब्ध।
  • मेलिंग लिस्ट आर्काइव को 3 बाहरी सेवाओं में वितरित करके सहेजा गया है, आगे चलकर इसमें खुद की अतिरिक्त कॉपी जोड़ने की योजना है।

मिरर सेटअप

  • सभी मुख्य डेटा git रिपॉज़िटरी फॉर्मेट में रखे हैं और Codeberg तथा Sourcehut पर मिरर किए गए हैं।
    • अगर कोई रिपॉज़िटरी बंद हो जाए, तो कम ट्रांसिशन खर्च के साथ उसे अन्य मिरर पर शिफ्ट किया जा सकता है।
  • एकल फेल्योर पॉइंट अब DNS (dillo-browser.org) है।
    • DNS खोने पर मेलिंग लिस्ट, Fediverse और IRC के जरिए यूज़र्स को सूचित किया जा सकता है।
    • डेटा पहले से ही git में प्रतिलिपि होने के कारण गंभीर डेटा हानि नहीं होगी

OpenPGP सिग्नेचर

  • यह पेज Rodrigo Arias Mallo के GPG key (32E65EC501A1B6FDF8190D293EE6BA977EB2A253) से साइन है।
    • यही key Dillo की latest release में भी मौजूद है और GitHub अकाउंट में भी register है।
    • signature फाइल (index.html.asc) <link rel=signature> से लिंक की गई है।
  • OpenPGP सिग्नेचर से DNS खोने पर भी ट्रस्ट बना रहता है
    • TLS certificate chain के बजाय सिग्नेचर-आधारित ट्रस्ट से ownership प्रमाणित की जाती है।
    • सभी git मिररों में सिग्नेचर शामिल करके डेटा हानि सहनशीलता और मजबूत की गई है।

माइग्रेशन की प्रगति और भविष्य

  • GitHub repo तुरंत हटाया नहीं जाएगा, माइग्रेशन समाप्त होने तक अपडेट मिलते रहेंगे।
    • समाप्ति के बाद रिपॉज़िटरी को ‘archived’ स्थिति में बदलकर ऑफिशियल साइट पर घोषणा करने की योजना है।
    • पुराने कमिट और रिलीज़ फाइलें backward compatibility के लिए रखी जाएंगी।
  • नया इंफ्रास्ट्रक्चर कम खर्च और कम ऊर्जा खपत पर स्वतंत्र रूप से चल सकता है
    • वर्तमान दान और server खर्च के आधार पर इसे कम से कम 3 साल तक चलाने की संभावना है।
    • सहायता करना चाहें तो Liberapay के जरिए योगदान दे सकते हैं (https://liberapay.com/dillo/)

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.