Dillo ब्राउज़र 3.3.0 रिलीज़
(dillo-browser.org)- रिमोट कंट्रोल और automation को काफ़ी मज़बूत किया गया है, जिससे नए
dillocप्रोग्राम और डिफ़ॉल्ट रूप से सक्षम UNIX socket के ज़रिए ब्राउज़र को command line और scripts से सीधे नियंत्रित किया जा सकता है - पेज के right-click menu में
page_actionoption के जरिए मनचाहे commands चलाए जा सकते हैं, औरdillocके साथ मिलाकर मौजूदा पेज को फिर से लोड या बदलने जैसी कार्रवाई भी संभव हो गई है - OAuth login handling को इस तरह बदला गया है कि user द्वारा शुरू किए गए अनुरोध के बाद आने वाले main page redirect में cookies को अपवादस्वरूप अनुमति दी जाती है, जिससे third-party cookie blocking बनाए रखते हुए भी authentication flow काम करता है
- पहली बार जोड़ा गया FLTK 1.4 experimental support
--enable-experimental-fltkसे build किया जा सकता है, लेकिन high DPI या Wayland पर rendering समस्याएँ अभी भी मौजूद हैं, इसलिए इसे सभी users के लिए डिफ़ॉल्ट रूप से सक्षम नहीं करना चाहिए - वैकल्पिक brotli support,
about:keys·about:cache·about:dicache, IPv6 डिफ़ॉल्ट सक्षम, tabs·mouse·clipboard behavior में सुधार, और कई security·build bug fixes शामिल हैं, जिससे कुल मिलाकर usability और stability दोनों बेहतर हुई हैं
मुख्य बदलाव
- 3.3.0 में नए features, configuration options और bug fixes शामिल हैं, और पहली बार FLTK 1.4 experimental support भी जोड़ा गया है
- UNIX socket control और page menu-आधारित user actions जोड़े गए हैं, जिससे ब्राउज़र को scripts और command line से सीधे नियंत्रित किया जा सकता है
- OAuth login fix के ज़रिए redirect प्रक्रिया में cookie handling को समायोजित किया गया है, ताकि tracking protection बनाए रखते हुए भी authentication flow काम करे
रिमोट कंट्रोल और automation
- नया dilloc प्रोग्राम जोड़ा गया है, जिससे command line या scripts से Dillo को नियंत्रित किया जा सकता है
- यह
DILLO_PIDenvironment variable में दिए गए PID से target ढूँढता है, और यदि मान न हो तो एक अद्वितीय Dillo process खोजता है - यह
ping,pid,reload,ready,open URL,url,title,status,dump,hdump,load,rawload,quit,waitजैसे control commands प्रदान करता है
- यह
- रिमोट कंट्रोल socket डिफ़ॉल्ट रूप से सक्षम है, और ज़रूरत हो तो
--disable-control-socketसे इसे बंद किया जा सकता है - action चलाते समय
DILLO_PIDvariable सेट किया जाता है, जिससे dilloc मौजूदा Dillo instance को सीधे नियंत्रित कर सकता है
पेज actions
- पेज के right-click menu में मनचाहे commands चलाने के लिए
page_actionoption जोड़ा गया है page_actionऔर dilloc को साथ में इस्तेमाल करने पर मौजूदा पेज की सामग्री को फिर से प्राप्त या replace करने जैसी कार्रवाई की जा सकती है- उदाहरण के लिए,
page_action="Mimic Chrome:curl_chrome136 $url | dilloc load"सेट करने पर, curl impersonate का उपयोग करके पेज को Chrome की तरह फिर से fetch किया जा सकता है और वर्तमान tab के HTML में सीधे डाला जा सकता है - इस तरीके का उपयोग कुछ JS walls से बचने के लिए किया जा सकता है
- उदाहरण के लिए,
- URL, HTTP headers और अन्य शर्तों के आधार पर मौजूदा पेज के लिए modification scripts चलाने का Fix page उदाहरण भी शामिल है
- संबंधित script
fixpage.shको actions repository से प्राप्त किया जा सकता है
- संबंधित script
FLTK 1.4 support की स्थिति
--enable-experimental-fltkflag के साथ FLTK 1.4.0 या बाद के संस्करण पर build किया जा सकने वाला experimental support जोड़ा गया है- यह feature testing और तकनीकी feedback के लिए जोड़ा गया है, और अनुभवी users और testers के लिए लक्षित है
- FLTK 1.4.5 release के उपयोग की सिफारिश की जाती है
- इस version में धुंधले fonts की समस्या को ठीक करने वाला patch शामिल है
- X11 platform के 96 DPI display पर FLTK 1.4.5 और FLTK 1.3 समान rendering quality दिखाते हैं
- यह Xft और Pango backend दोनों पर लागू होता है
- high DPI environments, खासकर 96 के गुणज न होने वाले DPI या Wayland पर, rendering समस्याएँ अभी भी बनी हुई हैं
- प्रगति की स्थिति संबंधित FLTK issue में देखी जा सकती है
- Dillo package maintainers को सभी users के लिए FLTK 1.4 को डिफ़ॉल्ट रूप से सक्षम नहीं करना चाहिए
- इससे visual glitches और अन्य समस्याएँ सामने आ सकती हैं
OAuth और cookie handling
- OAuth authentication के लिए, redirect response में सेट होने वाली cookies को अनुमति देने के लिए behavior समायोजित किया गया है
- डिफ़ॉल्ट रूप से Dillo user द्वारा सीधे शुरू न किए गए अनुरोधों के लिए सभी third-party cookies को block करता है
- यह image pixel-आधारित tracking को रोकने के लिए किया जाता है
- इस बार के बदलाव के साथ, user द्वारा शुरू किए गए अनुरोध के बाद आने वाले main page redirect में cookies को अपवादस्वरूप अनुमति दी जाती है
- इससे tracking protection बनाए रखते हुए भी OAuth login संभव हो जाता है
- उदाहरण के तौर पर Smolfedi के माध्यम से Fediverse login शामिल है
विस्तृत feature additions और behavior improvements
- brotli
brcontent encoding के लिए वैकल्पिक support जोड़ा गया है about:keysजोड़ा गया है, जिससे वर्तमान keyboard shortcuts देखे जा सकते हैंabout:cacheऔरabout:dicachepages जोड़े गए हैं, ताकि internal cache जानकारी देखी जा सके- यदि platform support करे तो IPv6 को डिफ़ॉल्ट रूप से सक्षम किया जाता है
Alt+shortcut से Nवें tab पर focus ले जाया जा सकता हैControl + left clickसे link को नए tab में खोला जा सकता है- back और forward actions को mouse buttons से किया जा सकता है
- back या forward button पर middle click करने से संबंधित page नए tab में खोला जा सकता है
Ctrl+Cको इस तरह बदला गया है कि यह चुने गए text को clipboard में copy करे, जिससेCtrl+Vbehavior के साथ अपेक्षा मेल खाती हैmark_unloaded_imagesoption जोड़ा गया है, जिससे load न हुई images पर border दिखाया जा सकता है- address bar की spacing बढ़ाई गई है, जिससे mouse से select करना आसान हो गया है
search_urlमें search prefix को partial match की जगह exact match के रूप में handle किया जाता है- Mojeek search engine को
mjshortcut के साथ जोड़ा गया है - CSS
display:noneलागू होने पर buttons और input fields जैसे form elements को छिपाने के लिए behavior बदला गया है - form submit करते समय cached responses से बचने के लिए समायोजन किया गया है
Content-Dispositionheader support जोड़ा गया है, जिससे file name सेट किया जा सकता हैtrace_httpoption जोड़ा गया है, जिससे HTTP traffic debugging संभव होती है
ठीक किए गए bugs और distribution जानकारी
- musl environment में
vsource dpiकी infinite loop का कारण बनने वाली unescaped%printf format समस्या ठीक की गई है - LibreSSL में CurveBall TLS test के दौरान होने वाला segfault ठीक किया गया है
- cookie
Max-Ageparsing को local timezone की जगह epoch का उपयोग करने के लिए सुधारा गया है - NetBSD build समस्या ठीक की गई है, और
ctype(3)की गलत sign extension से भी बचाव किया गया है - HTTP server और OpenSSL connection dialog में use-after-free समस्या ठीक की गई है
- वेबसाइट URL को https://dillo-browser.org/ और git repository को https://git.dillo-browser.org/dillo के रूप में अपडेट किया गया है
डाउनलोड और repository migration
- 3.3.0 distribution files dillo-3.3.0.tar.gz (1.4M) और signature के रूप में उपलब्ध हैं
- GitHub से अपने server पर migration किया गया है, और संबंधित जानकारी migration-from-github में देखी जा सकती है
- git repository self-hosted cgit पर उपलब्ध है, और Codeberg तथा SourceHut पर mirror भी की जाती है
1 टिप्पणियां
Hacker News की राय
मैं Dillo का अक्सर इस्तेमाल करता हूँ। बधाई
age verification laws लगातार आ रहे हैं, और Firefox इसका कैसे जवाब देता है इस पर निर्भर करते हुए, Dillo Linux और BSD का वास्तविक default browser बन सकता है
अगर ऐसे कानून सच में लागू हुए और Firefox में उम्र सत्यापन लॉजिक भी जोड़ दिया गया, तो मैं 100% Dillo पर चला जाऊँगा
कई देशों को इस पर इतनी तेज़ी से झुकते देखना काफ़ी डरावना है
अभी कुछ लोग इस पर विश्वास न करें, लेकिन कुछ वर्षों में anonymous web browsing अतीत की बात हो सकती है
VPN को निशाना बनाने वाले हमलों को भी साथ में देखना चाहिए। यह अलग-अलग संयोगपूर्ण घटनाएँ नहीं लगतीं, बल्कि एक ही दिशा में जुड़ा हुआ आंदोलन लगता है
पैसों के प्रवाह को और साफ़ तौर पर सामने लाना चाहिए, और लॉबिस्टों के नियंत्रण वाली इस स्थिति से मैं बेहद ऊब चुका हूँ
दुर्भाग्य से Google ने भी JS की मांग शुरू कर दी है, और यह छोटे ब्राउज़रों तथा open web के लिए बड़ा झटका है
सर्च इंजन से जुड़ी विस्तृत सूची Seirdy की इस पोस्ट में अच्छी तरह संकलित है: https://seirdy.one/posts/2021/03/10/search-engines-with-own-...
सख्ती से कहें तो यह पूरी तरह सच नहीं है, लेकिन web के कई अहम हिस्सों में Google फैला हुआ है, और Chrome तो बस उसका सबसे दिखाई देने वाला उदाहरण है
शुरुआती JavaScript कहीं अधिक सरल था, और JIT भी अनिवार्य नहीं था। निजी तौर पर मुझे आज भी बिना JIT वाला रास्ता बेहतर लगता है
डेवलपर्स का सच में बहुत बड़ा धन्यवाद। मुझे ऐसे retro projects बहुत पसंद हैं
मैं Dillo को रोज़ इस्तेमाल करता हूँ, और मेरे मामले में यह ज़्यादातर internal use के लिए है
plugin architecture की वजह से यह gemini या gopher जैसे protocols भी render कर सकता है, इसलिए gemini साइटें देखने के लिए भी मैं इसका इस्तेमाल करता हूँ
यह वाकई बेहद हल्का है
Mastodon client भी ठीक से नहीं चलते, लेकिन कम से कम एक विकल्प है: https://codeberg.org/adele/smolfedi
मेरे यहाँ HN पर Dillo इस्तेमाल करने पर बार-बार 429 मिलता है, जबकि सामान्य full-size browser में ऐसा नहीं होता
पता नहीं यह JS की वजह से है या नहीं
मैं जानना चाहूँगा कि क्या इस व्यवहार को reproduce किया जा सकता है, और अगर हाँ, तो क्या आप HTTP headers साझा कर सकते हैं
वैसे भी, हमारे cgit instance के अलावा mirrors Codeberg और SourceHut पर भी हैं
https://git.dillo-browser.org/dillo/
https://codeberg.org/dillo/dillo
https://git.sr.ht/~dillo/dillo
Dillo पर दूसरी पोस्टों में भी मैं यह कई बार कह चुका हूँ, लेकिन Dillo की वजह से ही मैं पहली बार पुराने 486 PC पर web देख पाया था
उस मशीन पर Damn Small Linux लगा था, और अगर उस समय Dillo न होता, तो web access करना ही मुश्किल होता
dilloc 3.3.0 रिलीज़ से पहले के पुराने git commits में ही शुरू हो चुका था, और वह वाकई प्रभावशाली था
plumber या xdg-open जैसे scripts को call करने वाले redirect menu entries भी आसानी से बनाए जा सकते हैं
यह Firefox/Chromium के Libredirect की तरह JS URL को non-JS URL से बदल देता है
मैं जानना चाहता हूँ कि Dillo के नवीनतम Windows port के precompiled binaries कहीं मिल सकते हैं या नहीं
अफ़सोस है कि Dillo C++ में है
क्योंकि मैं इसे cproc/qbe या tinycc जैसे छोटे और सरल C compiler से build करके देखना चाहता था
फिर भी, ऐसा लगता है कि coding AI बड़े पैमाने पर C++ को साधारण C में port करने में काफ़ी अच्छी मदद कर सकने के संकेत दे रहा है
मुझे नहीं लगता कि हम अभी वहाँ तक पहुँचे हैं