HN 日本語サマリー

← 一覧へ戻る
プログラミング

Brow6el: Chromiumを使用したターミナル向けフル機能ウェブブラウザ

Brow6el: A full-featured web browser for the terminal using Chromium (tangled.org)

30 pointsby nerdypepper8 コメント

要約

Brow6elは、Chromiumを基盤としたターミナル上で動作する高機能なウェブブラウザです。SixelやKittyグラフィックスプロトコルをサポートし、Vim風のキーバインディング、マウス操作、要素インスペクタ、JavaScriptコンソールなどの機能を備えています。SSH経由での利用や、特定のターミナルエミュレータでの動作に関する注意点も記載されています。

全文翻訳

このリポジトリ [https://tangled.org/janantos.tngl.sh/brow6el] が、現在唯一の真実の情報源です。以前のCodeberg [https://codeberg.org/janantos/brow6el] は参照用としてのみ保持されます。他のプロジェクトがそこで歓迎されなくなったため、Codebergから移行することを決定しました。プロジェクトを単一のプラットフォームにまとめたいと考えています。 Brow6el - グラフィックスサポート付きターミナルウェブブラウザ Chromium (CEF) を使用した、SixelおよびKittyグラフィックスプロトコルをサポートするフル機能のターミナルウェブブラウザです。 警告: Kitty画像サポート(現在mainブランチビルドのみ)は、その設計上、リモートホストでBrow6elを実行するSSHではほとんど使用できません。この機能はBrow6elがローカルホストで実行される場合にのみ使用可能です。 SSHでは、各フレームレンダリングでの大量のデータ転送により、ブラウザの応答性が著しく低下します。 警告: Kitty画像サポート(現在mainブランチビルドのみ)。Ubuntu 24.04には非常に古いKittyバージョン0.32.2が付属しており、Brow6elが使用する新しい画像プロトコルを処理できません。BASE64データがレンダリングされる画面の代わりに印刷されます。ただし、footターミナルはUbuntuで完全に動作します。 警告: これはPOCコード品質です。ビルドプロセスはUbuntu 25.10、Debian 13、Arch Linuxでテストされました。ブラウザ自体は、footターミナル、wezterm、kitty、ghostty、yaftフレームバッファターミナル、およびWSL2を使用したsixelサポート付きのWindows 11ターミナルでテストされました。 スクリーンショット デモ ページビュー JavaScriptコンソール 機能 グラフィックスプロトコル - SixelとKittyグラフィックスプロトコルの両方を自動検出でサポート タイルレンダリング - 応答性向上のためのオプションのタイルベースSixelレンダリング(Sixelのみ) マウスサポート - ウェブページをクリック、スクロール、操作 Vim風モーダルコントロール - 3つのモード(STANDARD、INSERT、MOUSE、VISUAL)による効率的なキーボードナビゲーション グリッドジャンプモード - 再帰的なグリッドナビゲーションによる高速なマウス位置決め(ほぼすべての要素に3〜4回のキーストローク) 要素インスペクタ - MOUSEモードでのブラウザDevToolsライクな要素検査 JavaScriptコンソール - JSコマンドの実行とコンソールログの表示 ブックマーク - お気に入りのページを保存・整理 ユーザースクリプト - ページにカスタムJavaScriptを注入 ダウンロードマネージャー - 進捗状況を追跡してファイルを保存 ポップアップ処理 - ターミナルフレンドリーなポップアップダイアログ マルチインスタンス - 複数のブラウザウィンドウを同時に実行 設定可能なプロファイル - 一時的(プライベート)または永続的(通常)なブラウジングを選択 DNS-over-HTTPS (DoH) - 設定可能なプロバイダとモードによるセキュアDNS モダンウェブ - ChromiumによるフルHTML5/CSS3/JavaScriptサポート Vim風モーダルコントロール Brow6elは、3つのモードを備えたvim風のモーダルキーボードインターフェースを使用します。現在のモードは常にステータスバーに表示されます(例: タイルレンダリング付きStandardモードの場合は[S][T])。 STANDARDモード [S] - デフォルト Vimライクなナビゲーションと単一キーコマンド(Ctrl不要): ナビゲーション: h/j/k/l または矢印キー - 移動(左/下/上/右) t/g - 上/下スクロール p/n - ヒストリの戻る/進む アクション: r - ページ再読み込み u - URLに移動 U - 現在のURLをクリップボードにコピー(Shift+U) c - JavaScriptコンソールを切り替え d - ブックマークを追加 b - ブックマークを開く f - ヒントモード(キーボードリンクナビゲーション) s - ユーザースクリプトメニューを開く y - ユーザースクリプトの自動注入を切り替え z - タイルレンダリングを切り替え(Sixelのみ、ちらつきを軽減) Z - フルリドローを強制(Sixel: モノリシックレンダリング、Kitty: フルリフレッシュ) m - ダウンロードマネージャーを開く x - ブラウザを終了 ズームコントロール: + または = - ズームイン - または _ - ズームアウト 0 - ズームを1.0xにリセット モード切り替え: i - INSERTモードに入る e - MOUSEモードに入る v - VISUALモードに入る(テキスト選択) INSERTモード [I] すべてのキー入力はウェブページに渡されます。フォームやテキストエリアへの入力に使用します。 終了: ESC - STANDARDモードに戻る VISUALモード [V] ページコンテンツをコピーするためのテキスト選択モードです。キャレットは最初の表示テキスト、またはMOUSEモードから来た場合はマウスカーソル位置から開始します。 キャレット位置決め(初期): h - カーソルを1文字左に移動 l - カーソルを1文字右に移動 w - 単語単位でカーソルを前に移動 b - 単語単位でカーソルを後ろに移動 j - カーソルを1行下に移動 k - カーソルを1行上に移動 v - 現在位置から選択を開始 選択(vを押した後): h - 選択範囲を1文字左に拡張 l - 選択範囲を1文字右に拡張 w - 選択範囲を単語単位で前に拡張 b - 選択範囲を単語単位で後ろに拡張 j - 選択範囲を1行下に拡張 k - 選択範囲を1行上に拡張 アクション: y - 選択範囲をクリップボードにコピーし、VISUALモードを終了 ESC - 選択をキャンセルし、VISUALモードを終了 ヒント: MOUSEモード(e)を使用してカーソルを配置し、ESCを押してからvを押すと、その正確な位置からテキスト選択を開始できます! MOUSEモード [M] 視覚的なカーソルを備えたキーボード駆動のマウスエミュレーション: 移動: h/j/k/l または矢印キー - マウスを移動(左/下/上/右) q/f - 精密/高速モードを切り替え r - ドラッグアンドドロップを切り替え g - グリッドジャンプモードを切り替え(高速ナビゲーション) アクション: SPACE または ENTER - カーソル位置をクリックまたはドロップ i - インスペクトモードを切り替え(ホバー中の要素情報を表示) r - ドラッグアンドドロップアクティブ時にドロップ 終了: e または ESC - STANDARDモードに戻る グリッドジャンプモード キーボード駆動のグリッドナビゲーションによる高速なマウス位置決め。MOUSEモードでgを押してアクティブにします: アダプティブグリッドオーバーレイ - ラベル付きセルを持つ3x3グリッドが表示されます(デフォルトキー: qweasdzxc) クイックジャンプ - キー(q/w/e/a/s/d/z/x/c)を押してそのグリッドセルにジャンプします 再帰的ズーム - 選択されたセルにサブグリッドが自動的に表示され、精度を高めます 視覚的フィードバック - 緑色のグリッドはより多くのズームレベルが利用可能であることを示し、赤色は最大ズームを示します 自動精度移動 - 最大ズーム時、グリッドは高精度なカーソル移動モードに切り替わります ナビゲーション - Backspaceでズームアウト、ESCでグリッドモードを終了 設定可能なキー - ~/.brow6el/browser.conf(grid_keys設定)でグリッドキーをカスタマイズできます グリッドモードは、わずか3〜4回のキーストロークで要素を正確に選択でき、速度と精度を兼ね備えています。 インスペクトモード MOUSEモード中にiキーを押すとインスペクトモードが切り替わります。この機能はブラウザのDevToolsインスペクタと同様に機能します: 要素ハイライト - カーソル下の要素の周りにシアン色の境界線が表示されます 情報パネル - 要素の詳細(タグ名、ID、クラス、主要な属性(href、src、type、nameなど)、寸法と位置、テキストコンテンツプレビュー)が表示されます リアルタイム更新 - カーソルを移動すると情報が更新されます オフにする - 再度iキーを押すと終了します これはウェブページのデバッグ、ページ構造の理解、または特定の要素の検索に役立ちます。 スマートモード切り替え ブラウザはコンテキストに基づいて自動的にモードを切り替えます: MOUSEモードで入力フィールドをクリック → 自動的にINSERTモードに切り替え MOUSEモードでセレクトボックスをクリック → 自動的にSTANDARDモードに切り替え ページナビゲーション → 自動的にSTANDARDモードにリセット 高度なナビゲーションモード ヒントモード(fキー) fキーを押すと、すべてのリンクに黄色のヒントラベルが表示されます。ヒントラベル(例: "a"、"ab")を入力してEnterキーを押すとナビゲートできます。これにより、マウスなしでキーボードのみのナビゲーションが可能になります。ESCまたは再度fキーを押すと終了します。 マウスエミュレーションモード(eキー) eキーを押すと、黄色のマウスカーソルオーバーレイがアクティブになります。h/j/k/lまたは矢印キーを使用してページ上でカーソルを移動し、SPACE/Enterキーを押すとその位置をクリックします。qは精度モードを切り替え、fは高速モードを切り替えます。iキーを押すと、ホバー中の要素の詳細情報を表示するインスペクトモードが切り替わります。これは、iframeや同意ダイアログを含むすべての要素で機能します。ESCまたは再度eキーを押すと終了します。 クイックスタート 1. CEFバイナリをダウンロード(約670MB、一度だけ) ./download_cef.sh 2. ビルド ./build.sh 3. 実行 ./build/run_brow6el.sh https://example.com 複数のインスタンスをサポートしています! 追加のターミナルを開いて、さらにインスタンスを実行してください。 例 examples/ディレクトリには以下が含まれています: userscripts/ - 例のユーザースクリプト(ダークモード、Googleカスタマイズなど) 詳細はexamples/README.mdを参照してください。 高度な機能 ブックマーク STANDARDモードでdキーを押して現在のページをブックマークします。 STANDARDモードでbキーを押してブックマークを表示・管理します。 ↑/↓またはj/kでナビゲートし、Enterキーで開き、'd'で削除します。 ブックマークは~/.brow6el/bookmarksに保存されます。 ユーザースクリプト Greasemonkey/TのようなカスタムJavaScript注入システム