HN परिचय: Dillo ब्राउज़र की वापसी
(dillo-browser.github.io)- 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.orgdomain अब 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 के लिए सहयोग दिया जा सकता है
- अगर Dillo से web browse करते समय कोई चीज़ काम न करे, तो आप issue खोल सकते हैं या
plugins के ज़रिए बढ़ाया जाने वाला protocol support
- plugins standard input और output के माध्यम से interact करते हैं और नए protocols का support जोड़ते हैं
- दिए गए plugin examples इस प्रकार हैं
- और अधिक plugins git repositories में देखे जा सकते हैं
- नया plugin जोड़ने के लिए repository link और छोटा विवरण email से भेजना होता है
1 टिप्पणियां
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
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 हैं
यह हैरान करने वाली हद तक धीमा, उलझाऊ और bug-heavy है, tabs भी अक्सर crash हो जाते हैं, इसलिए यह software कैसा नहीं होना चाहिए, इसका उदाहरण जैसा लगता है
अब भी अजीब लगता है कि Microsoft ने इसे acceptable माना, और जानना चाहता हूँ कि Slack कैसा है
शायद competition कम है, इसलिए वे इसे बेहतर बनाने में ज्यादा मेहनत नहीं करते
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 लगता है
Dillo में image decoding, HTML/CSS parsing, network protocol, local file access जैसे अक्सर attack किए जाने वाले complex हिस्सों के लिए sandbox नहीं है
university के दिनों में घर पर पुराना Pentium 4 इस्तेमाल करता था, और सामान्य browser में एक tab खोलने के लिए करीब 30 सेकंड इंतजार करना पड़ता था
इसलिए ज्यादातर Dillo इस्तेमाल करता था, और जिन articles के लिए JavaScript चाहिए होता था उन्हें Google cache के जरिए Firefox में खोलता था
network भी धीमा था, इसलिए सिर्फ HTML fetch करना काफी मददगार था, और Dillo कई सालों तक हमेशा बहुत तेज रहा
वह भी similarly बहुत हल्का है
doas /sbin/modprobe zramdoas /sbin/zramctl --find --size 1024Mdoas /sbin/mkswap /dev/zram0doas /sbin/swapon /dev/zram0 --priority -1Firefox तो नहीं, लेकिन दुर्भाग्य से सरकारी administration sites जैसी JavaScript-mandatory single-page tasks के लिए Luakit ठीक हो सकता है
हाल ही में 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
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 में चला गया है
Dillo plugins लिखने के लिए मैंने एक हल्की Go library बनाई है (https://github.com/boomlinde/dpi), और Gemini protocol plugin भी बनाया है (https://github.com/boomlinde/gemini.filter.dpi)
मेरी जानकारी में हाल के Dillo में https भी DPI plugin के रूप में implement था
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 से सहमत होना अनिवार्य नहीं है
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 पर जाएंगे या नहीं
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 ही रहा
अगर आप 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 में आगे बढ़ा सकेंhttps://celehner.com/projects.html#dillo-plugins
dillo-browser organization के तहत GitHub पर copies रखने के बारे में Charles से पहले ही बात हो चुकी है
zip file की copy संभालकर रखने के लिए आप issue खोलकर उसे upload भी कर सकते हैं
बहुत पहले बोए गए बीज से निकला काम अब भी जारी है, यह देखकर गर्व महसूस होता है
[1]: https://sources.debian.org/src/gzilla/0.1.5-3/bytesink.doc/
शायद मैं Jorge से संपर्क करने में मदद कर सकूँ