4 पॉइंट द्वारा GN⁺ 1 일 전 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • रिमोट कंट्रोल और automation को काफ़ी मज़बूत किया गया है, जिससे नए dilloc प्रोग्राम और डिफ़ॉल्ट रूप से सक्षम UNIX socket के ज़रिए ब्राउज़र को command line और scripts से सीधे नियंत्रित किया जा सकता है
  • पेज के right-click menu में page_action option के जरिए मनचाहे 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_PID environment 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_PID variable सेट किया जाता है, जिससे dilloc मौजूदा Dillo instance को सीधे नियंत्रित कर सकता है

पेज actions

  • पेज के right-click menu में मनचाहे commands चलाने के लिए page_action option जोड़ा गया है
  • 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 से प्राप्त किया जा सकता है

FLTK 1.4 support की स्थिति

  • --enable-experimental-fltk flag के साथ FLTK 1.4.0 या बाद के संस्करण पर build किया जा सकने वाला experimental support जोड़ा गया है
  • यह feature testing और तकनीकी feedback के लिए जोड़ा गया है, और अनुभवी users और testers के लिए लक्षित है
  • FLTK 1.4.5 release के उपयोग की सिफारिश की जाती है
  • X11 platform के 96 DPI display पर FLTK 1.4.5 और FLTK 1.3 समान rendering quality दिखाते हैं
    • यह Xft और Pango backend दोनों पर लागू होता है
  • high DPI environments, खासकर 96 के गुणज न होने वाले DPI या Wayland पर, rendering समस्याएँ अभी भी बनी हुई हैं
  • 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 br content encoding के लिए वैकल्पिक support जोड़ा गया है
  • about:keys जोड़ा गया है, जिससे वर्तमान keyboard shortcuts देखे जा सकते हैं
  • about:cache और about:dicache pages जोड़े गए हैं, ताकि 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+V behavior के साथ अपेक्षा मेल खाती है
  • mark_unloaded_images option जोड़ा गया है, जिससे load न हुई images पर border दिखाया जा सकता है
  • address bar की spacing बढ़ाई गई है, जिससे mouse से select करना आसान हो गया है
  • search_url में search prefix को partial match की जगह exact match के रूप में handle किया जाता है
  • Mojeek search engine को mj shortcut के साथ जोड़ा गया है
  • CSS display:none लागू होने पर buttons और input fields जैसे form elements को छिपाने के लिए behavior बदला गया है
  • form submit करते समय cached responses से बचने के लिए समायोजन किया गया है
  • Content-Disposition header support जोड़ा गया है, जिससे file name सेट किया जा सकता है
  • trace_http option जोड़ा गया है, जिससे HTTP traffic debugging संभव होती है

ठीक किए गए bugs और distribution जानकारी

  • musl environment में vsource dpi की infinite loop का कारण बनने वाली unescaped % printf format समस्या ठीक की गई है
  • LibreSSL में CurveBall TLS test के दौरान होने वाला segfault ठीक किया गया है
  • cookie Max-Age parsing को 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 टिप्पणियां

 
GN⁺ 1 일 전
Hacker News की राय
  • मैं Dillo का अक्सर इस्तेमाल करता हूँ। बधाई
    age verification laws लगातार आ रहे हैं, और Firefox इसका कैसे जवाब देता है इस पर निर्भर करते हुए, Dillo Linux और BSD का वास्तविक default browser बन सकता है
    अगर ऐसे कानून सच में लागू हुए और Firefox में उम्र सत्यापन लॉजिक भी जोड़ दिया गया, तो मैं 100% Dillo पर चला जाऊँगा

    • यह काफ़ी संभव लगता है, लेकिन age estimation laws को इससे भी बड़े रुझान के हिस्से के रूप में देखना चाहिए
      कई देशों को इस पर इतनी तेज़ी से झुकते देखना काफ़ी डरावना है
      अभी कुछ लोग इस पर विश्वास न करें, लेकिन कुछ वर्षों में anonymous web browsing अतीत की बात हो सकती है
      VPN को निशाना बनाने वाले हमलों को भी साथ में देखना चाहिए। यह अलग-अलग संयोगपूर्ण घटनाएँ नहीं लगतीं, बल्कि एक ही दिशा में जुड़ा हुआ आंदोलन लगता है
      पैसों के प्रवाह को और साफ़ तौर पर सामने लाना चाहिए, और लॉबिस्टों के नियंत्रण वाली इस स्थिति से मैं बेहद ऊब चुका हूँ
  • दुर्भाग्य से Google ने भी JS की मांग शुरू कर दी है, और यह छोटे ब्राउज़रों तथा open web के लिए बड़ा झटका है

    • हाँ, ऐसे ब्राउज़रों में https://html.duckduckgo.com काफ़ी अच्छी तरह काम करता है :)
    • Google index तक अभी भी proxy search engines के ज़रिए JS के बिना पहुँचा जा सकता है। उदाहरण के लिए Startpage उनमें से एक है
      सर्च इंजन से जुड़ी विस्तृत सूची Seirdy की इस पोस्ट में अच्छी तरह संकलित है: https://seirdy.one/posts/2021/03/10/search-engines-with-own-...
    • बल्कि मैं तो इसे एक feature के क़रीब मानूँगा। अगर कोई वेबसाइट बेसिक HTML में भी काम नहीं करती, तो ज़्यादातर मामलों में वह समय की बर्बादी होने की संभावना है
    • अब तो ऐसा लगता है कि Google web को नियंत्रित करता है
      सख्ती से कहें तो यह पूरी तरह सच नहीं है, लेकिन web के कई अहम हिस्सों में Google फैला हुआ है, और Chrome तो बस उसका सबसे दिखाई देने वाला उदाहरण है
    • लेकिन क्या सच में ES6 तक की ज़रूरत है?
      शुरुआती 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 की वजह से है या नहीं

    • आधुनिक browsers को अलग से block करने वाला कोई नियम नहीं है
      मैं जानना चाहूँगा कि क्या इस व्यवहार को 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 करने में काफ़ी अच्छी मदद कर सकने के संकेत दे रहा है

    • लगभग 6 महीने पहले मैंने अपने C++ code पर उस समय के कथित SOTA tools के साथ खुद यह कोशिश की थी, और नतीजा निराशाजनक रहा
      मुझे नहीं लगता कि हम अभी वहाँ तक पहुँचे हैं