UMatrix を代替する製品の構築

2026/05/16 3:00

UMatrix を代替する製品の構築

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

元のサマリーは有効であり、品質基準を満たしていますが、文末で著者がコミュニティからの支援を依頼している点を明記することで、流れをさらに微調整することができます。以下がやや改善されたバージョンです:

レイモンド・ヒルは、Google Chrome の最新の Manifest V3 制限においても高度なパーミッション制御が可能であることを示すために、新しいプロトタイプ「matrix³」の作成に成功しました。核心的な課題は、MV3 が開発者に動的な JavaScript メソッド(以前 uMatrix で利用可能なもの)ではなく、静的な「宣言的」ブロックルールを使用することを強制している点にあります。これを解決するために、ヒルはこれらの厳格なフィルタリングルールと Content Security Policy 指令によって生成されたレポートを巧妙に組み合わせ、具体的にはセキュリティ違反アラートを監視し、リアルタイムでブロックリストを更新するというアプローチを採用しています。この手法により、MV3 のアーキテクチャ的制限を複雑な回避策なしに効果的に迂回し、ウェブリソースに対して細粒度の制御が必要なユーザーにとって重要なライフラインを提供します。ヒル自身が UX スキルの欠如を認めており、プロトタイプ(最小限のものであり、依存関係が不要で、「Load Unpacked」を介して直接実行可能)の改善のためにコミュニティからのフィードバックを求めているものの、その作業はブラウザポリシーがより厳格化する中でもセキュリティ研究者がウェブトラフィックの詳細な監視を維持することを確実にします。

本文

導入

オプション

declarativeNetRequest

ポリシー(Policies)

概要(Outline)


導入

かつては、レイモンド・ヒル氏(uBlock Origin の開発者)によって作られ、素晴らしい Chrome 拡張機能「uMatrix」というものが存在しました。uMatrix は、サイトの許可とサブリソースのリクエストを直感的に制御するためのツールでした。これまでは、第三者によるサブリソースの提供を制限したり、フレーム・スクリプト・動画・フォントといった機能へのアクセスを管理したりすることができました。ブラウザの設定で手動で行うことは可能ですが、uMatrix ならその作業を迅速かつ容易に行えるようサポートしていました。つまり、もともとWeb ブラウジングにはかなりの手間と細かな調整が必要だったものが、大幅にシンプルになったのです(「シンプル」ではなくても、「よりシンプル」とは言えます)。

とにかく、私はウェブサイトの許可設定を微調整できるさまざまなオプションに大いに喜びました。

uMatrix の機能は、ほぼ uBlock Origin が提供する機能のサブセットでしたので、両方を維持するよりも、ヒル氏は uMatrix を非推奨と発表し、ユーザーには uBO へ移行するよう呼びかけています。

これまでは私にとって問題にならなかったのですが、uBO はいくつか気に入っていた機能(例えば、装飾的フィルタなど)を追加しており、やや複雑なルールを手書きで記述する手間さえ嫌がらなければ、uMatrix でできたことがほぼすべて実現できました。

さて、残念なことに uBO は従来の MV2 アーキテクチャを採用している古い拡張機能であり、その後継である「uBO Lite」はこの機能を削除しました。この機能を手放したくない私は、いかなる解決策があるのでしょうか?


オプション

私の問いは以下の通りです:MV3 の環境下では、uMatrix を実現する可能性がありますか?

declarativeNetRequest

MV2 と MV3 の間の主な違いは、リクエストの処理中にコールバックを実行してブロックを適用することができなくなった点にあります。かつては「ブロッキング」と呼ばれる方式で、各リクエストごとに JavaScript を実行しながらブロックを行いましたが、MV3 ではそのような動的なアプローチは認められず、代わりに事前にアクションを宣言的に指定する必要があります。つまり、すべてのリクエストに対して毎回 JavaScript を実行するのではなく、どの行動をとるかをあらかじめ定義しておくことで対応します。

ここ controversial な部分ですが、おそらく皆さんも耳にしたことがあるでしょう:コールバック方式で行えたことはすべて、宣言的な方式でも再現できないため、能力が制限(「nerfed」と表現される)されています。技術的には事実にあたりますが、実用上は規則が柔軟に設計されており、私が考えるべきあらゆるニーズを満たせるようになっています。


ポリシー(Policies)

Web には既にコンテンツ機能を制御するシステムが存在します。それが「コンテンツセキュリティポリシー(CSP)」です。明らかな設計思想としては、declarativeNetRequest を用いて独自の CSP を追加し、ブラウザ側がすべての作業を代行させることにあります。私たちに必要なのは、それを管理するための使いやすいインターフェースを提供することだけです。

さて、では許可・禁止対象となるサブリソースのリストはどうやって提供すればよいのでしょうか? uMatrix の時代には、サブリソースの種類とオリジンの一覧が表示され、ユーザーが手動で承認または拒否を選択できました。これは uMatrix が特に得意としていた核心的な機能であり、今でも不可欠です。実は、CSP 自体がこの問題に対する解決策をすでに提供しています!

report-to
ディレクティブを使って、ブラウザからセキュリティ違反に関するレポートを指定したエンドポイントに送信するように指示を与えるのです。私たちが行うのは、この機能を有効にし、追加の declarativeNetRequest ルールを設定してそれらのレポートを受け取る、そしてブラウザから届いたレポートに基づいてリストを構築するだけ。これもまた、成功裏に他のタスクに委ねられた例です 😂

もちろん、これは一定の plumbing(インフラ整備)が必要になりますが、必要な要素はすべて揃っており、私にとっては完全に実現可能に見えます。


概要(Outline)

これで uMatrix のような仕組みを概略的にどう実現するかというプランはでき上がりました…あとは、実際に概念検証(PoC)を作るだけです。ああ、いいでしょう。私も挑戦してみましょう!こうして試作 version 「matrix³」ができました:

現状ではプロトタイプ段階ですが、基本的には動作しています。このプロジェクトについてブログで公開し、関心を持っていただけるか確認してみようと思います。コードは非常にシンプルで、ビルドや外部依存ライブラリは一切不要です。 simplesmente 、「git clone」して Chrome で「ロードされていないパッケージとして展開(Load Unpacked)」するだけで済みます。

私はウェブ開発者でもなければ、UX に関するスキルもほぼ持ち合わせていません 🦎 もしこれが不適切なアイデアだと考えられる場合や、より優れた解決策をご存知の方、あるいは協力していただけたいという方がいらっしゃれば、ぜひご連絡ください。

同じ日のほかのニュース

一覧に戻る →

2026/05/16 1:15

プロジェクト・グテンベルク:良くなるばかりです

## Japanese Translation: Project Gutenberg は 1971 年に設立された先駆的な非営利図書館で、市民向けに 75,000 冊を超える無料の電子書籍を提供しています。その核心的な使命は、米国での著作権が失効した著作物のデジタル版を提供することで歴史を保存することであり、これらの文本は公開前に何千人ものボランティアによって細心の注意をもって校正されています。アーカイブへのアクセスには登録費用や専門ソフトウェアは一切不要であり、ユーザーは Web ブラウザですぐに閲覧でき、epub や Kindle などの一般的な形式でコンテンツをダウンロードできます。メインサイトでは公共の領有権にある古典作品に焦点を当てていますが、self.gutenberg.org という独立したセクションでは World Library Foundation から提供される自己出版タイトルがホストされています。サイトはさらにボランティアによって手が選別された読書リストも提供しています。研究者や企業向けには、著者、タイトル、主題、言語、タイプ、人気度でフィルタリングや検索ができる堅牢な機能があり、アクセスが可能です。Project Gutenberg は新刊のデジタル化を継続するために寄付を受け入れており、この支援がない場合、コレクションの拡大は不可能になります。入るための障壁なく、すべての人々のために知識を民主化する 100% フリーのリソースとして 50 年以上運営されてきたことです—from カジュアルな読者から産業用途まで—。そのリーダーシップに関するリソース、例えば元 CEO で亡くなられた Greg Newby 博士については、サイト上に利用可能です。

2026/05/16 4:23

WinCE64 - N64용 Windows CE 2.11

## Japanese Translation: このテキストは、EverDrive-64 X7 リーダーを実際の Nintendo 64 ハードウェアに Microsoft Windows CE 2.11 を成功裏に移植したという重要な技術的達成を文書化しています。エミュレーションとは異なり、この構成は Microsoft のコア `nk.lib` ライブラリを変更することなく、完全なデスクトップ機能—including ウィンドウ管理、N64 AI ハードウェアを用いたオーディオ出力、サードパーティ製 EXEの実行—を提供します。プロジェクトでは、元の CE 2.11 SDK にこれらの要素が含まれていなかったため、外部資源(例:libdragon ライブラリ)を用いてデスクトップシェル(Explorer、タスクバーなど)全体を从头再構築する必要がありました。主要な技術的作業には、RDP アクセラレーション付きの VI フレームバッファ用のカスタムドライバ、Joybus 経由での N64 コントローラ入力デコーディング、インタラプトマスク問題を解決するためのポーリングモードオーディオ処理が含まれます。公式エミュレーションは深いパッチが必要であるため未対応ですが、この概念実証(PoC)により、独自ドライバの実装を通じてレガシーソフトウェアをヴィンテージハードウェア上で動作させる方法が示されました。ただし、プロジェクトソースコードが MIT ライセンス下にあるにもかかわらず、結果生成されたバイナリは制限的な Microsoft SDK ライセンシングのために再配布できません。

2026/05/16 3:37

ツリプル財団。

## Japanese Translation: 2026年5月15日、Zulipの創設者であるTim Abbottはフルタイムでのリーダー職を退き、Anthropicへの参画を果たします。この際、Alya Abbott、Greg Price、Alex Vandiverを含む3名のシニアチームメンバーも一同に立ち寄り、Kandra Labsは新たに設立された独立した非営利法人「Zulip Foundation」へ寄附され、プロジェクトは私的所有から Mozilla や Signal に準じた公共的利益に基づくガバナンスモデルへと移行します。同財団はプロジェクトを管理し、公共団体を中心に活動しつつ、助成金および税金控除可能な寄付を通じて持続可能な資金調達を実現し、投資家による支配を防ぎます。最初の理事会には、創設者である Tim Abbott、共同創設者の Greg Price、製品担当の Alya Abbott、Rust リーダーの Josh Triplett が選任されます。拡大された諮問委員会では、Andrew Sutherland(MIT)、Nick Bergson-Shilcock などの専門家も参加します。運用はすべて継続:Zulip Cloud、モバイルプッシュ通知、サポート契約、Google Summer of Code、オープンソースのスポンサーシップなどがそのまま活性しています。Kim Vandiver が副理事長として加わり、安定期の確保を図ります。開発ペースは次四半期に若干低下しバグ除去を優先する可能性がありますが、12名の平均4年以上の在籍期間を持つ経験豊富な維持管理チームおよび約25,000コミットのコード履歴が、プラットフォームのレジリエンスを支えています。Tim Abbott は時間の許す限りコンテキストと助言を提供し続けています。変更に関する詳細については、5月19日午後4時(UTC)にライブチャットで Q&A を開催しコミュニティと議論を行います。本移行は、オープンソースの価値観とコミュニティによる統御下での長期的持続可能性を最優先とするものです。

UMatrix を代替する製品の構築 | そっか~ニュース