1 पॉइंट द्वारा GN⁺ 2024-01-03 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Dillo एक तेज़ और छोटा graphical web browser है, जिसे पुराने या छोटे मशीनों और धीमे कनेक्शन तक को ध्यान में रखकर बनाया गया है, और यह Linux, BSD, MacOS, Cygwin-आधारित Windows और Atari पर चलता है
  • C/C++ और कम dependencies, अपने real-time rendering engine, और FLTK GUI library के संयोजन से यह बड़े पेजों पर भी कम memory usage और तेज़ rendering हासिल करने की कोशिश करता है
  • HTTP, HTTPS, FTP और local files का built-in support देता है, और किसी भी भाषा में लिखे जा सकने वाले plugins के ज़रिए नए protocols तक बढ़ाया जा सकता है
  • प्रोजेक्ट web access की बाधाएँ कम करने और personal security, privacy, तथा software efficiency को महत्व देने की दिशा बनाए रखता है
  • नवीनतम release 3.2.0 है, और मुख्य data इसके अपने git repository में रखा जाता है, जिसकी mirrors Codeberg और Sourcehut पर भी हैं

छोटा और तेज़ graphical browser

  • Dillo एक तेज़ और छोटा graphical web browser है
  • यह Linux, BSD, MacOS, Cygwin के माध्यम से Windows, और Atari पर चलता है
  • implementation का तरीका

    • यह C और C++ में लिखा गया है और इसकी dependencies कम हैं
    • यह अपना real-time rendering engine implement करता है
    • बड़े पेजों पर भी memory usage कम रहता है और rendering तेज़ होती है
    • यह तेज़ और हल्की FLTK GUI library का उपयोग करता है
  • बुनियादी सुविधाएँ और लक्ष्य

    • यह HTTP, HTTPS, FTP और local files को support करता है
    • किसी भी भाषा में लिखे जा सकने वाले plugins से इसे extend किया जा सकता है
    • यह GPLv3 license वाला free software है
    • bug meter लेखकों को web standards का पालन करने में मदद करता है
    • इसका लक्ष्य web access की बाधाएँ कम करना, पुराने या छोटे मशीनों और धीमे कनेक्शन को support देना, personal security और privacy, तथा उच्च software efficiency बनाए रखना है
    • features के उपयोग का तरीका User Manual में देखा जा सकता है
    • dillo.org domain अब Dillo developers के नियंत्रण में नहीं है

self-hosting पर ले जाया गया project infrastructure

  • Dillo GitHub-केंद्रित संचालन से self-hosted infrastructure की ओर जा रहा है
    • महत्वपूर्ण data cgit service द्वारा उपलब्ध git repository में संग्रहीत है
    • repository की mirrors Codeberg और Sourcehut पर भी हैं
  • source को Git repository में देखा जा सकता है
  • project से जुड़े मुख्य links Website, Git, Bug tracker, Mastodon, IRC, Mailing list, और Liberapay के रूप में दिए गए हैं

releases, documentation, और contribution के रास्ते

  • latest release 3.2.0 डाउनलोड की जा सकती है और README.md के निर्देशों के अनुसार build किया जा सकता है
  • नवीनतम बदलावों को Git repository से सीधे clone किया जा सकता है
  • documentation

    • User Manual: सभी features के उपयोग को कवर करता है, browser के साथ वितरित होता है, और local रूप से पढ़ा जा सकता है
    • Topic Guide: Dillo और mpv को configure कर URL की multimedia files खोलने जैसे manual से बाहर के अतिरिक्त topics को कवर करता है
    • Developer Documentation: browser की internal design और implementation को कवर करता है, और developers के लिए recommended है
  • योगदान कैसे करें

    • अगर Dillo से web browse करते समय कोई चीज़ काम न करे, तो आप issue खोल सकते हैं या dillo-dev@mailman3.com पर email भेज सकते हैं
    • आप नई features implement कर सकते हैं, bug-fix patches भेज सकते हैं, या pull request बना सकते हैं
    • Liberapay के माध्यम से testing और infrastructure costs के लिए सहयोग दिया जा सकता है

plugins के ज़रिए बढ़ाया जाने वाला protocol support

  • plugins standard input और output के माध्यम से interact करते हैं और नए protocols का support जोड़ते हैं
  • दिए गए plugin examples इस प्रकार हैं
    • Gemini: gemini://, Bash, Gemini protocol plugin
    • Gopher: gopher://, C, Gopher protocol plugin
    • IPFS: ipfs://, ipns://, Go, IPFS protocol plugin
    • Man: man://, Bash, man page को HTML में render करता है
    • Spartan: spartan://, Bash, Spartan protocol plugin
  • और अधिक plugins git repositories में देखे जा सकते हैं
  • नया plugin जोड़ने के लिए repository link और छोटा विवरण email से भेजना होता है

1 टिप्पणियां

 
GN⁺ 2024-01-03
Hacker News की टिप्पणियाँ
  • macOS 12.7 वाले M1 Mac पर build ठीक से हो गया, और installation macOS निर्देशों के मुताबिक brew install पैकेज और OpenSSL 3 डालने के बाद, ./configure से पहले OpenSSL path सेट करने वाला export चलाने से हो गया
    इसके बाद make, sudo make install, dillo से चलाया तो तुरंत काम करने लगा, यह 1.6MB binary है लेकिन SSL भी support करता है और बहुत तेज है
    Google search CSS टूटने के बावजूद कुछ हद तक चल जाती है, लेकिन JavaScript न होने की वजह से Google login मुश्किल लगता है
    [0] https://github.com/dillo-browser/dillo/blob/master/doc/insta...
    [1] https://github.com/dillo-browser/dillo/blob/master/doc/insta...
    [2] https://stackoverflow.com/a/77749836

    • लगता है macOS installation guide में OpenSSL path setting जोड़नी चाहिए
      CI में शायद include flag के बिना भी काम हो जाता है, लेकिन मेरे पास Mac नहीं है, इसलिए testing की सीमा है
  • low-end hardware के लिए वाकई ज्यादा तेज और हल्का browser चाहिए
    SBC, Raspberry Pi, कुछ साल पुराने laptop बाकी मामलों में ठीक-ठाक चलते हैं, लेकिन browser performance हमेशा अड़चन बनती है
    आखिरकार कुछ requirements की वजह से Ryzen 7 और 16GB RAM की जरूरत माननी पड़ी, और यह बात कड़वी लगती है कि सबसे बड़ा compute load MS Teams और webmail हैं

    • MS Teams को करीब 2 साल इस्तेमाल करने के बाद इससे पूरी तरह सहमत हूँ
      यह हैरान करने वाली हद तक धीमा, उलझाऊ और bug-heavy है, tabs भी अक्सर crash हो जाते हैं, इसलिए यह software कैसा नहीं होना चाहिए, इसका उदाहरण जैसा लगता है
      अब भी अजीब लगता है कि Microsoft ने इसे acceptable माना, और जानना चाहता हूँ कि Slack कैसा है
      शायद competition कम है, इसलिए वे इसे बेहतर बनाने में ज्यादा मेहनत नहीं करते
    • Windows 98 और 64MB RAM पर भी web काफी अच्छे से browse करने की याद साफ है, लेकिन अब कई GB होने पर भी ठीक से नहीं चलना दुखद है
    • ज्यादा हल्के web browsers में NetSurf, Pale Moon, K-Meleon on Goanna, Otter Browser, Ultralight हैं, और terminal apps के रूप में Carbonyl, Browsh, Links भी हैं
      Links graphical mode भी support करता है
    • मुझे यह बात काफी बढ़ा-चढ़ाकर कही गई लगती है
      ठीक-ठाक low-cost desktop/laptop CPU और 4GB RAM MS Teams चलाने के लिए काफी हैं, और जब ज्यादा practical और efficient mail transfer agent मौजूद हैं तो webmail इस्तेमाल करने की वजह भी समझ नहीं आती
  • हालात को देखते हुए Dillo के जारी रहने की खबर अच्छी लगती है
    मेरे पास करीब 2009 के दो Intel Atom N270 netbook और 1GB RAM है, Firefox उन पर बेतुका भारी है और Dillo उन पर बहुत अच्छे से चलेगा
    पहले CSS-heavy न होने वाले documents देखने के लिए main desktop पर भी Dillo इस्तेमाल करता था, और Firefox में 20–40 tabs RAM बहुत खाते थे, जबकि Dillo आम तौर पर 100MB के आसपास रहता था
    JavaScript engine न होने की वजह से संदिग्ध links खोलते समय भी Dillo इस्तेमाल करता हूँ, और यह 15 साल से ज्यादा समय से अच्छी तरह इस्तेमाल किया गया बेहतरीन software लगता है

    • संदिग्ध links खोलते समय uncertain maintenance वाले C software के बजाय, JavaScript और web fonts बंद किए हुए Chromium या Firefox profile इस्तेमाल करने की सलाह दूँगा
      Dillo में image decoding, HTML/CSS parsing, network protocol, local file access जैसे अक्सर attack किए जाने वाले complex हिस्सों के लिए sandbox नहीं है
    • Jorge के दिमाग में ठीक यही लक्ष्य था, और मकसद यह था कि कम performance वाली machines इस्तेमाल करने वाले क्षेत्रों के लोग भी web access कर सकें
      university के दिनों में घर पर पुराना Pentium 4 इस्तेमाल करता था, और सामान्य browser में एक tab खोलने के लिए करीब 30 सेकंड इंतजार करना पड़ता था
      इसलिए ज्यादातर Dillo इस्तेमाल करता था, और जिन articles के लिए JavaScript चाहिए होता था उन्हें Google cache के जरिए Firefox में खोलता था
      network भी धीमा था, इसलिए सिर्फ HTML fetch करना काफी मददगार था, और Dillo कई सालों तक हमेशा बहुत तेज रहा
    • curious हूँ कि option के तौर पर NetSurf भी आजमाया है या नहीं
      वह भी similarly बहुत हल्का है
    • zramup script से zram swap सेट कर दें तो मदद मिल सकती है
      doas /sbin/modprobe zram
      doas /sbin/zramctl --find --size 1024M
      doas /sbin/mkswap /dev/zram0
      doas /sbin/swapon /dev/zram0 --priority -1
      Firefox तो नहीं, लेकिन दुर्भाग्य से सरकारी administration sites जैसी JavaScript-mandatory single-page tasks के लिए Luakit ठीक हो सकता है
    • curious हूँ कि उस netbook पर कौन-सा operating system इस्तेमाल कर रहे हैं
      हाल ही में Intel Atom netbook लिया है, और हल्का लेकिन usable operating system ढूँढ रहा हूँ
      Debian भी try किया, लेकिन Firefox बहुत धीमा था, अब शायद Dillo के साथ फिर try करने लायक हो सकता है
  • Extension system दिलचस्प है, और w3m की local CGI scripts याद आती हैं
    w3m local CGI का इस्तेमाल man page viewer, bookmark system, और urimethodmap के साथ मिलाकर अतिरिक्त protocol implementations के लिए किया जा सकता है
    Dillo में भी इसी तरह man plugin और bookmarks के लिए DPI plugin दिखते हैं, और man: जैसी custom schemes भी शायद संभव हैं
    w3m के अलावा मुझे पता नहीं था कि कोई browser इस तरीके को support करता है, और मैं HTTP तक को ऐसे ही plugin structure के ऊपर रखने वाला एक personal project बना रहा था; अब दूसरा reference case मिल गया
    [0]: https://dillo-browser.github.io/old/dpi1.html
    [1]: https://github.com/dillo-browser/dillo-plugin-man

    • Dillo में बहुत-सी features DPI के रूप में implement की गई हैं
      file:, vsource:, ftp: जैसी “websites” implement करने वाले plugins भी हैं, और cookies, downloads, bookmarks handling जैसे काम संभालने वाले plugins भी हैं
      ये अलग processes होते हैं, इसलिए browser बंद करने पर भी downloads जारी रहते हैं
      [1]: https://github.com/dillo-browser/dillo/tree/master/dpi
      ~/.dillo/dpidrc में protocols को plugin binaries से जोड़ा जाता है, और external plugins से gemini:, gopher:, यहां तक कि git: भी संभव है
      कुछ समय पहले तक HTTPS भी DPI plugin के रूप में implement था, लेकिन अब browser के core में चला गया है
    • Extension system सरल और इस्तेमाल में आसान है
      Dillo plugins लिखने के लिए मैंने एक हल्की Go library बनाई है (https://github.com/boomlinde/dpi), और Gemini protocol plugin भी बनाया है (https://github.com/boomlinde/gemini.filter.dpi)
      मेरी जानकारी में हाल के Dillo में https भी DPI plugin के रूप में implement था
    • जहां तक याद है, Arachne ने भी कुछ ऐसा ही किया था
  • Renato Bravo से संपर्क करने का सुझाव है
    https://www.youtube.com/channel/UCuklruLsO-CFoKK_rjNXrXg
    https://www.youtube.com/watch?v=A6mb9qt2-3o
    ऊपर वाले वीडियो में Renato कहते हैं “ese es mi compañero Jorge”, यानी “वह मेरा साथी Jorge है”
    LinkedIn पर Renato Bravo मिला, लेकिन पता नहीं वही व्यक्ति हैं या नहीं

    • अच्छा विचार है
      अगर वह Jorge की तरह Chile के Valparaíso इलाके से हैं, तो शायद यह वही व्यक्ति हो सकते हैं
      मैं LinkedIn इस्तेमाल नहीं करता, लेकिन अच्छा होगा अगर कोई उन्हें message भेज सके
      [1]: https://cl.linkedin.com/in/renatobravo
  • पहले मैं sites पूरी तरह टूटती हैं या नहीं यह देखने के लिए अक्सर Dillo में test करता था, लेकिन Dillo बहुत पुराना हो गया, इसलिए NetSurf, w3m, elinks पर चला गया
    इसका revival खासकर low-power systems के लिए उत्साहजनक है
    हालांकि self-hosted Mercurial repository से Microsoft GitHub नाम की अमेरिकी बड़ी कंपनी के ownership वाली Git repository पर जाना अफसोसजनक है; फिर भी maintainer ने email patches स्वीकार करने की बात कही है, इसलिए account बनाना या terms से सहमत होना अनिवार्य नहीं है

    • अगर यह सोचें कि self-hosting खत्म होने की मुख्य वजह खुद self-hosting ही थी, तो यह शिकायत समझ में भी आती है और थोड़ी अजीब भी लगती है
    • GitHub पर जाने को project visibility बढ़ाने और ज्यादा contributions लाने के लिए पहला कदम मानकर ठीक समझा गया
      GitHub के बारे में कम-से-कम अगले 5–10 साल तक बने रहने का भरोसा किया जा सकता है, इसलिए main webpage पर redirect notice लगाया जा सकता है
      फिर भी मैं सहमत हूं कि self-hosting या federated forge पर जाना बेहतर होगा
      इससे जुड़ा issue है, और फिलहाल समस्या यह है कि Codeberg जैसे दूसरे forge के free accounts में macOS जैसे अन्य platforms पर CI pipeline चलाने का तरीका नहीं है
      लंबी अवधि में असली hardware हासिल करके अपने runners खड़े करना और कई architectures पर भी test करना चाहता हूं
      [1]: https://github.com/dillo-browser/dillo/issues/39
      पुराने project में mail server तक self-hosted था, जिससे बहुत बड़ा single point of failure बन गया था, और वह सचमुच बड़े पैमाने पर fail हुआ, इसलिए इसे टालना चाहते हैं
      email patches के लिए mailing list पर भी सोच रहे हैं, लेकिन sourcehut और googlegroups के अलावा मुफ्त में देने वाली बहुत जगहों की जानकारी नहीं है
  • याद है कि पहले Live CD के Puppy Linux में Dillo इस्तेमाल करता था
    जानना चाहता हूं कि target minimum compiler क्या है, कोई long-term plan है या नहीं, fuzzing करेंगे या नहीं, और CMake जैसे modern build system पर जाएंगे या नहीं

    • अभी target minimum compiler तय नहीं किया है, लेकिन इसे CI में जोड़ना मुश्किल नहीं लगता
      long-term plan सबसे पहले Dillo को मरने से बचाना और distributions से हटाए जाने से रोकना है
      उसके बाद यह उपलब्ध free time पर निर्भर करेगा, लेकिन कम-से-कम maintenance तो करना चाहता हूं
      fuzzing से पहले दूसरे browser test suites जोड़ने पर rendering issues काफी पकड़े जा सकते हैं, और खासकर खुद बनाए HTML/CSS parser के लिए fuzzing दिलचस्प हो सकती है
      configure.ac में बदलाव करके देखा तो कई platforms target करते समय यह बहुत दर्दनाक था, और cross-compilation भी टूटी हुई है
      CMake support दूसरे systems पर कैसा है यह जांचने के बाद देखना होगा कि Automake परिवार को सुरक्षित रूप से हटाया जा सकता है या नहीं, लेकिन 3.1 release से पहले कोई बड़ा बदलाव नहीं डालना चाहता
  • GitHub से code लेकर build करके देखा तो default site अभी भी dillo.org थी, और उसे visit करने की कोशिश करते ही browser crash हो गया
    duckduckgo.com पर भी वैसा ही crash हुआ, और यह OpenSSL के assert failure से जुड़ा लगा
    mbedTLS के साथ दोबारा compile करने पर उन sites को visit कर पाया
    इस thread में login करके reply करने की कोशिश की, लेकिन username और password डालकर login करने के बाद भी कोई error नहीं आया और मैं लगातार logged out ही रहा

    • test करने के लिए धन्यवाद, और default site को नई website में बदलना चाहिए
      अगर आप system info और OpenSSL version के साथ GitHub issue खोल दें, तो हम उसे reproduce करने की कोशिश कर सकते हैं
      login वाली समस्या शायद cookies बंद होने की वजह से हो सकती है
      https://dillo-browser.github.io/old/dillo3-help.html
      https://dillo-browser.github.io/old/Cookies.txt
      Dillo में default रूप से सभी cookies disabled रहती हैं, इसलिए हर site के लिए manually allow करना recommended है
      echo "news.ycombinator.com ACCEPT" >> ~/.dillo/cookies.txt
      उसके बाद cookie settings दोबारा पढ़ने के लिए DPI daemon को restart कर दें
      dpidc stop
  • यह देखकर अच्छा लगा कि Dillo में अभी भी लोगों की दिलचस्पी है
    मेरे पास पहले scuttlebutt से मिले काफी सारे Dillo plugins हैं
    dillo-adb, dillo-dat, dillo-finger, dillo-git, dillo-gopher, dillo-gemini, dillo-ipfs, dillo-ssb, dillo-ytdl हैं, और अगर चाहें तो मैं इन्हें zip में भेज सकता हूँ ताकि आप fork करके project में आगे बढ़ा सकें

    • इनमें से ज्यादातर Charles ने बनाए हुए लगते हैं, और वे scuttlebutt-web interface maintain कर रहे हैं, इसलिए homepage से download किए जा सकते हैं
      https://celehner.com/projects.html#dillo-plugins
      dillo-browser organization के तहत GitHub पर copies रखने के बारे में Charles से पहले ही बात हो चुकी है
      zip file की copy संभालकर रखने के लिए आप issue खोलकर उसे upload भी कर सकते हैं
  • बहुत पहले बोए गए बीज से निकला काम अब भी जारी है, यह देखकर गर्व महसूस होता है

    • अगर आप Raph Levien हैं, तो मैं अभी 1997 के आसपास के bytesink document और Dillo के predecessor gzilla के इतिहास के बारे में पढ़ रहा था
      [1]: https://sources.debian.org/src/gzilla/0.1.5-3/bytesink.doc/
      शायद मैं Jorge से संपर्क करने में मदद कर सकूँ