4 ポイント 投稿者 GN⁺ 1 일 전 | 1件のコメント | WhatsAppで共有
  • リモート制御と自動化が大幅に強化され、新しい dilloc プログラムとデフォルトで有効な UNIX ソケットにより、ブラウザをコマンドラインやスクリプトから直接操作できるようになった
  • ページの右クリックメニューの page_action オプションで任意のコマンドを実行でき、dilloc と組み合わせて現在のページを再読み込みしたり置き換えたりする操作も可能になった
  • OAuth ログイン処理では、ユーザーが開始したリクエストに続くメインページへのリダイレクトで、例外的に Cookie を許可するよう変更され、サードパーティ Cookie の遮断を維持しつつ認証フローが動作するようになった
  • 初めて追加された FLTK 1.4 の実験的サポート--enable-experimental-fltk でビルドできるが、高 DPI や Wayland ではレンダリング問題が残っており、すべてのユーザー向けのデフォルトとして有効にすべきではない
  • 任意の brotli サポートabout:keysabout:cacheabout:dicache、IPv6 のデフォルト有効化、タブ・マウス・クリップボード動作の改善、複数のセキュリティ・ビルド関連バグ修正まで含まれ、全体的な使い勝手と安定性が高まっている

主な変更点

  • 3.3.0 には新機能、設定オプション、バグ修正が含まれ、初めて FLTK 1.4 の実験的サポートも追加された
  • UNIX ソケット制御とページメニューベースのユーザーアクションが導入され、ブラウザをスクリプトやコマンドラインから直接扱えるようになった
  • OAuth ログイン修正によりリダイレクト過程での Cookie 処理が調整され、トラッキング防御を維持しながら認証フローが動作するようになった

リモート制御と自動化

  • dilloc プログラムが新たに追加され、コマンドラインやスクリプトから Dillo を制御できる
    • DILLO_PID 環境変数の PID で対象を探し、値がなければ一意の Dillo プロセスを探す
    • ping, pid, reload, ready, open URL, url, title, status, dump, hdump, load, rawload, quit, wait などの制御コマンドを提供する
  • リモート制御ソケットはデフォルトで有効になり、必要なら --disable-control-socket で無効にできる
  • アクション実行時には DILLO_PID 変数が設定され、dilloc が現在の Dillo インスタンスをすぐに制御できるようになった

ページアクション

  • ページの右クリックメニューから 任意のコマンド実行を可能にする page_action オプションが追加された
  • page_actiondilloc を組み合わせると、現在のページ内容を再取得したり置き換えたりする形の操作ができる
    • 例として page_action="Mimic Chrome:curl_chrome136 $url | dilloc load" を設定すると、curl impersonate で Chrome のようにページを再取得し、そのまま現在のタブの HTML として流し込める
    • この方法は一部の JS walls を回避するのに使える
  • URL、HTTP ヘッダー、その他の条件に応じて現在のページごとの修正スクリプトを実行する Fix page の例も含まれる

FLTK 1.4 サポートの状況

  • --enable-experimental-fltk フラグにより、FLTK 1.4.0 以上でビルド可能な実験的サポートが追加された
  • テストと技術的フィードバックのために導入された機能で、経験豊富なユーザーとテスターを対象としている
  • FLTK 1.4.5 release の使用が推奨される
  • X11 プラットフォームの 96 DPI 画面では、FLTK 1.4.5 と FLTK 1.3 は似たレンダリング品質を示す
    • Xft と Pango の両バックエンドが該当する
  • 高 DPI 環境、特に 96 の倍数ではない DPI や Wayland では、依然としてレンダリング問題が残っている
  • Dillo のパッケージメンテナーは すべてのユーザー向けデフォルトとして FLTK 1.4 を有効にすべきではない
    • 視覚的なグリッチやその他の問題が表面化する可能性がある

OAuth と Cookie 処理

  • OAuth 認証のため、リダイレクト応答で設定される Cookie を許可するよう動作が調整された
  • Dillo は基本的に、ユーザーが直接開始したリクエストでない場合の サードパーティ Cookie をすべて遮断している
    • これは画像ピクセルを用いたトラッキングを防ぐための動作である
  • 今回の修正により、ユーザーが開始したリクエストに続く メインページへのリダイレクトでは、例外的に Cookie を許可する
    • トラッキング防御を維持しながら OAuth ログインも可能にする
  • 例として Smolfedi を通じた Fediverse ログインが含まれる

細かな機能追加と動作改善

  • brotli br コンテンツエンコーディングの任意サポートが追加された
  • about:keys が追加され、現在の キーボードショートカットを確認できる
  • about:cacheabout:dicache ページが追加され、内部キャッシュ情報を確認できる
  • プラットフォームが対応していれば IPv6 をデフォルトで有効にする
  • Alt+ ショートカットで N 番目のタブにフォーカスを移せる
  • Control + left click でリンクを新しいタブで開ける
  • 戻ると進むを マウスボタンで実行できる
  • 戻るまたは進むボタンを 中クリックすると、そのページを新しいタブで開ける
  • Ctrl+C が選択したテキストをクリップボードにコピーするよう変更され、Ctrl+V の動作期待と一致するようになった
  • mark_unloaded_images オプションが追加され、読み込まれていない画像に枠線を表示できる
  • 位置表示バーの余白が広がり、マウスで選択しやすくなった
  • search_url では検索プレフィックスを 部分一致ではなく完全一致で扱う
  • Mojeek 検索エンジンが mj ショートカットとともに追加された
  • CSS display:none が適用されたボタンや入力欄などの フォーム要素を非表示にするよう変更された
  • フォーム送信時には キャッシュされた応答を避けるよう調整された
  • Content-Disposition ヘッダーをサポートし、ファイル名を設定できる
  • trace_http オプションが追加され、HTTP トラフィックのデバッグが可能になった

修正されたバグと配布情報

  • musl 環境で vsource dpi無限ループを引き起こしていた、エスケープされていない % printf フォーマット問題が修正された
  • LibreSSL で CurveBall TLS テスト中に発生していた segfault が修正された
  • Cookie の Max-Age 解析は、ローカルタイムゾーンではなく epoch を使うよう修正された
  • NetBSD のビルド問題が修正され、ctype(3) の誤った sign extension も回避するよう変更された
  • HTTP サーバーと OpenSSL 接続ダイアログの use-after-free 問題が修正された
  • Web サイト URL は https://dillo-browser.org/ に、git リポジトリは https://git.dillo-browser.org/dillo に更新された

ダウンロードとリポジトリ移行

1件のコメント

 
GN⁺ 1 일 전
Hacker Newsの意見
  • Dilloをよく使っている。おめでとう
    年齢確認法案が次々に出てきていて、Firefoxがどう対応するか次第では、DilloがLinuxとBSDの事実上のデフォルトブラウザになる可能性もありそう
    こうした法律が実際に施行されて、Firefoxに年齢確認ロジックまで入るようなら、自分は100% Dilloに移るつもり

    • 十分あり得る話だが、年齢推定法案はもっと大きな流れとして見るべきだ
      いま多くの国があまりにも急速にこれに屈しているのはかなり不気味だ
      今は信じない人もいるだろうが、数年もすれば匿名Webブラウジングは過去のものになるかもしれないと思う
      VPNを狙った攻撃も合わせて見る必要がある。これは偶然の個別事象ではなく、一方向に噛み合って動いている流れのように見える
      金の流れをもっと明らかにすべきで、ロビイストに支配される状況にはうんざりしている
  • 残念ながらGoogleまでJSを要求し始めており、これは小型ブラウザとオープンウェブにとって大きな打撃だ

    • その通り、こういうブラウザでは https://html.duckduckgo.com がかなりうまく動く :)
    • Googleインデックスには、今でもプロキシ検索エンジンを通じてJSなしでアクセスできる。たとえばStartpageがその一つだ
      検索エンジン関連の詳しい一覧は、Seirdyの記事がよくまとまっている: https://seirdy.one/posts/2021/03/10/search-engines-with-own-...
    • むしろこれは機能に近いと思う。Webサイトが基本的なHTMLでも動かないなら、たいてい時間の無駄である可能性が高い
    • もはやGoogleがWebを左右しているという感じがする
      厳密には完全にその通りではないが、Webの重要な領域のあちこちにGoogleが関わっていて、Chromeはその中で最も目立つ例にすぎない
    • でも本当にES6まで必要なのか?
      初期のJavaScriptはずっと単純で、JITも必須ではなかった。個人的には今でもJITなしのほうが良いと思う
  • 開発者たちに心から感謝したい。こういうレトロプロジェクトが好きだ
    Dilloを毎日使っていて、自分の場合は主に内部用途だ
    プラグインアーキテクチャのおかげでgeminiやgopherのようなプロトコルもレンダリングできるので、geminiサイトを見るときにも使っている
    本当にとても軽い

  • Mastodonクライアントもあまりうまく動かないが、少なくとも代替手段はある: https://codeberg.org/adele/smolfedi

  • 自分の場合、ここHNでDilloを使うとずっと429が返ってくるが、これは普通のフルサイズブラウザでは起きない
    JSのせいなのかは分からない

  • 別のDilloの記事でもすでに何度も書いたが、Dilloのおかげで古い486 PCで初めてWebを見ることができた
    Damn Small Linuxを入れたマシンだったが、あのときDilloがなければWebへのアクセス自体が難しかったはずだ

  • dillocは3.3.0リリースより前の古いgitコミット群ですでに始まっていて、本当に印象的だった
    plumberやxdg-openのようなスクリプトを呼び出すリダイレクト用メニュー項目も簡単に作れる
    Firefox/ChromiumのLibredirectのように、JS URLをnon-JS URLに差し替える方式だ

  • Dilloの最新のWindowsポートで、事前コンパイル済みバイナリを入手できる場所があるのか気になる

  • DilloがC++なのは残念だ
    cproc/qbeやtinyccのような小さくて単純な
    Cコンパイラ
    でビルドしてみたかったからだ
    それでも、コーディングAIがC++を単純なCへ大量に移植する補助をかなりうまくこなせる兆しはあると感じる

    • 自分のC++コードで、6か月ほど前に当時SOTAとされていたツール群を使って実際に試してみたが、結果は期待外れだった
      まだそこまでには達していないと思う