コンテンツフィルタリング
Quiraの組み込みコンテンツフィルタは、広告、トラッカー、マルウェアスクリプトをネットワークリクエストの発行前にブロックします。
フィルタエンジン
フィルタエンジンはRustで構築され、adblock-rust crateをフォークしています。Aho-Corasickマルチパターンマッチングを使用して、数万のフィルタルールをサブミリ秒のレイテンシで処理します。
- ネットワークフィルタ — リクエストURL + リソースタイプに基づくブロック/リダイレクト
- 例外ルール — サイト別のホワイトリスト
- リダイレクトルール — プライバシー配慮したスタブでリソースを差し替え
- $csp ルール — Content-Security-Policyの注入でインライン悪意スクリプトをブロック
フィルタリスト
Quiraには事前に選択されたフィルタリストが同梱されており、quira://settings/security/filtersでカスタムリストを追加できます:
| リスト | カバー範囲 | 更新 |
|---|---|---|
| Quira Default | 広告 + トラッカー(キュレーション済み) | 毎日 |
| EasyList | 広告ブロックルール | 毎日 |
| EasyPrivacy | トラッキング保護ルール | 毎日 |
| Malware Domains | 既知のマルウェアドメイン | 毎時 |
| Annoyances | Cookie同意バナー、ニュースレターポップアップ | 毎週 |
スクリプトサンドボックス
フィルタルールだけでは防げないスクリプトに対して、Quiraはサンドボックスモードを備えています。すべてのスクリプト実行イベントはContext Security Event Bus (CSEB)が監視し、アンチフィンガープリンティングはAdaptive Graph Topology Randomization (AGTR)技術でさらに強化されます:
- 疑わしいスクリプトは隔離されたWorkerコンテキストで実行(オリジナルDOMへのアクセスなし)
- Navigator、Screen、Performance APIはファジングされた値を返却
- ページ離脱時にスクリプトコンテキストは完全に破棄
パフォーマンスへの影響
フィルタエンジンはリクエスト毎に平均0.2msで処理します。マッチした場合、リクエストはネットワーク使用量を節約してドロップされるため、ほとんどのサイトでフィルタリングにより実質的にブラウジングが高速化します。
コスメティックフィルタリング
ネットワークフィルタリングに加え、Quiraはコスメティックフィルタリング(要素非表示)を適用します:
- CSSインジェクション — 宣言的な
display: none !importantルールで広告用プレースホルダーを非表示 - スクリプトレット — 共通トラッキングメソッドを無害にオーバーライドする小さなJSスニペット
- 手続き的コスメティック — 標準CSSセレクタを回避する要素に対するhas()、xpath()ベースのルール
このページは役に立ちましたか?