Github: https://github.com/Eloston/ungoogled-chromium
不均一クロム
Googleの統合を削除し、プライバシー、管理、透明性を強化するためのGoogle Chromiumの変更
モチベーションと説明
関連するGoogleアカウントがないか、Google APIキーがコンパイルされているにもかかわらず、多くの機能やバックグラウンドサービスがGoogleサーバーと通信します。 さらに、Chromiumの通常のビルドプロセスでは、Google独自の高度なコマンドを実行して、多くのスクリプトやユーティリティを起動します。その中には、Googleが提供するバイナリをダウンロードして使用するものがあります。 最終的なビルド出力にも、あらかじめ構築されたバイナリが含まれています。 幸いにも、ソースコードはすべてのものに利用可能です。
ungoogled-chromiumは、設定フラグ、パッチ、およびカスタムスクリプトのセットです。 これらのコンポーネントはすべて、次のことを達成するように努めています。
- Googleと通信したり、プライバシーを弱める機能を果たすサービスや機能を無効にするか削除する
- ソースツリーからバイナリを削除し、システムによって提供されたバイナリを使用するか、ソースからビルドします。
- コントロールと透過性を阻害する機能を無効にし、機能を追加または変更します(これらの変更は軽微であり、一般的なユーザーエクスペリエンスにはあまり影響しません)
不均一クロムはクロムのフォークとはみなされるべきではない 。 これの主な理由は、フォークはブランド、構成形式、ファイルの場所、およびその他のインタフェースの変更など、Chromiumからの大きな偏差に関連付けられているということです。 ungoogled-chromiumは、プロジェクトの目標外でChromiumブラウザを変更することはありません。
これらの目標と要件は正確ではないため、不明確な状況についてはケースバイケースで検討し決定します。
不均一クロムは寄与者を探しています。 詳細については、 寄稿、報告、連絡先のセクションを参照してください。
目次
特徴
不均一クロムの変化の多くは、微妙で時間の経過とともに進化しています。 その結果、完全かつ最新の情報については、ソースコードを参照することをお勧めします。
非均一化クロムは、以下からその特徴の多くを選択的に借りる:
追加機能のほとんどは次のとおりです。
- ソースコード内の多くのWebドメインを、
qjz9zk
終わる存在しない選択肢に置き換えます(ドメイン置換と呼ばれます; DESIGN.mdを参照 ) - ソースコードのバイナリを削除する (バイナリプルーニングと呼ばれる、 DESIGN.mdを参照 )
- Googleドメイン固有の機能を無効にする(Google Host Detector、Google URLトラッカー、Google Cloud Messaging、Google Hotwordingなど)
- Omnibox検索プロバイダ「検索なし」を追加して検索を無効にする
- OmniboxでURLの自動フォーマットを無効にする(例
http://
取り除き、特定のパラメータを隠す) - オンデマンドでHTTP認証キャッシュをクリアするための「その他のツール」にメニュー項目を追加
- 新しいコマンドラインスイッチと
chrome://flags
エントリを追加する:-
--disable-beforeunload
– (chrome://flags
)beforeunload
によってトリガされるJavaScriptダイアログボックスを無効にする -
--disable-search-engine-collection
– ウェブページからの自動検索エンジンスクレイピングを無効にします。 -
--enable-stacked-tab-strip
と--enable-tab-adjust-layout
– これらのフラグは、タブストリップの動作を調整します。--enable-stacked-tab-strip
もchrome://flags
設定可能です。十分にテストされていないので注意してください。 -
--extension-mime-request-handling
– 拡張MIMEタイプ(CRXおよびユーザスクリプト)の処理方法を変更します。 許容される値は、download-as-regular-file
またはinstall-always
です。 通常の動作を使用するように設定を解除します。chrome://flags
下でも設定可能です -
--set-ipv6-probe-false
– (chrome://flags
)ブラウザのIPv6プロービング(IPv6接続テスト)の結果を強制的に失敗させます。 これにより、IPv4アドレスはIPv6アドレスよりも優先されます。 このフラグがなければ、プロービング結果は成功するように設定され、可能であればIPv6でIPv4を使用するようになります。
-
- すべてのポップアップをタブに強制する
- セーフブラウジングを無効にする
- イントラネットリダイレクト検出機能を無効にする(無関係なDNS要求)
- キャプティブポータルの検出は中断されますが、キャプティブポータルは引き続き機能します。
- より多くのURLスキームを保存できるようにする
- (イリジウムブラウザ機能の変更)
trk:
スキームのURLがインターネットに接続されないようにする- また、トップレベルドメイン
qjz9zk
(ドメイン置換で使用されている)を持つURLが接続を試みるのを防ぎます。
- また、トップレベルドメイン
- (イリジウムおよびイノックス機能の変更)IPv6の可用性を検出するときに、IPv6アドレスのpingを防止します。 代わりに動作を調整するには、上記の
--set-ipv6-probe-false
フラグを参照してください。 - 複数のディストリビューション用にLinuxパッケージを構築するためのサポート(作業中)
- Windowsのサポート
- ダウンロードしたファイルにゾーン識別子を設定しない
注:バグやプライバシー侵害コードを排除することが最優先事項ですが、Chromiumプロジェクトの急速な成長と進化のために逃げ出すものがあります。
サポートされているプラットフォームとディストリビューション
現在、デスクトッププラットフォームのみがサポートされています。 特定のデスクトッププラットフォームの機能は、リリースによって異なる場合があります。 詳細は、Wikiの 「 ステータス 」を参照してください。
他のプラットフォームについては、GitHubのIssue Trackerで議論し、追跡しています。 課題トラッカーの使用の詳細については、 寄稿、報告、連絡先のセクションをご覧ください。
予めビルドされたパッケージをダウンロードする
コントリビュータバイナリ
重要:これらのバイナリは、ビルドして提出することを望むすべての人が提供します。 これらのバイナリは必ずしも再現可能ではないため、信頼性を保証することはできません。
リリースのバージョン管理方式はタグのバージョン管理方式に従います。 詳細は、次のセクションを参照してください。
別のインストール方法
アーチLinux: ungoogled-chromium
として入手可能
macOSキャスク: eloston-chromium
として利用可能
ソースコードの取得
ユーザーはタグの1つを使用することをお勧めします 。 master
ブランチは、動作状態にあることが保証されていません。
タグは{chromium_version}-{release_revision}
形式でバージョンが付けられます。
-
chromium_version
は、xxxx
形式で使用されるChromiumのバージョンです。 -
release_revision
は、対応するChromiumバージョンの非可逆クロムのバージョンを示す数字です。
よくある質問
設計と実装
建物
寄稿、報告、連絡
Issue Trackerにフィードバック(問題、提案、および質問など)を提出することができます。
- Issue Trackerは開発活動のメインハブです。 問題、提案、および質問を追跡します。
help wanted
が必要なタグでマークされている問題は、ディスカッションや支援が必要な変更です。
プルのリクエストは大歓迎です! 一般的なガイドラインは次のとおりです。
- バグフィックス、文書修正、小さなフィーチャー追加などのマイナーな変更は、一般に事前の承認が必要ありません。
- より重要な変更は、まず問題点を介して議論する必要があります。
- 不確かな場合は、問題を作成してください。
リアルタイムのディスカッションを好む人のためのGitterチャットルームもあります。
クレジット
- クロムプロジェクト
- Inoxパッチセット
- Debian
- イリジウムブラウザ
- テストとデバッグ、 コードの提供、フィードバックの提供、または一部の機能では非可逆クロムを使用するユーザー。
ライセンス
BSD-3節。 LICENSEを参照してください