広告・悪意のあるドメインブロック
PRX-SDには、広告、トラッカー、既知の悪意のあるドメインをDNSレベルでブロックする内蔵adblockエンジンが含まれています。Linuxおよびmacosのシステムホストファイル(/etc/hosts)、WindowsのC:\Windows\System32\drivers\etc\hostsにエントリを書き込む方式で機能します。フィルターリストは~/.prx-sd/adblock/にローカルに保存され、Adblock Plus(ABP)構文とホストファイル形式の両方をサポートします。
仕組み
adblockを有効にすると、PRX-SDは:
- 設定されたフィルターリストをダウンロード(EasyList、abuse.ch URLhausなど)
- ABPルール(
||domain.com^)とホストエントリ(0.0.0.0 domain.com)を解析 - ブロックされたすべてのドメインをシステムホストファイルに書き込み、
0.0.0.0に向ける - すべてのブロックされたドメインルックアップを
~/.prx-sd/adblock/blocked_log.jsonlにログ記録
TIP
上流フォワーディングを伴う完全なDNSレベルフィルタリングには、adblockとDNSプロキシを組み合わせてください。プロキシはadblockルール、IOCドメインフィード、カスタムブロックリストを単一のリゾルバーに統合します。
コマンド
保護の有効化
フィルターリストをダウンロードして、ホストファイル経由のDNSブロッキングをインストールします。rootまたは管理者権限が必要です。
sudo sd adblock enable出力:
>>> Enabling adblock protection...
Loaded 4 lists (128432 rules)
success: Adblock enabled: 95211 domains blocked via /etc/hosts
Lists: ["easylist", "easyprivacy", "urlhaus-domains", "malware-domains"]
Log: /home/user/.prx-sd/adblock/blocked_log.jsonl保護の無効化
ホストファイルからすべてのPRX-SDエントリを削除します。認証情報とキャッシュされたリストは保持されます。
sudo sd adblock disableフィルターリストの同期
設定されたすべてのフィルターリストを強制再ダウンロードします。adblockが現在有効な場合、ホストファイルは新しいルールで自動的に更新されます。
sudo sd adblock sync統計の表示
現在のステータス、読み込まれたリスト、ルール数、ブロックログサイズを表示します。
sd adblock stats出力:
Adblock Engine Statistics
Status: ENABLED
Lists loaded: 4
Total rules: 128432
Cache dir: /home/user/.prx-sd/adblock
Last sync: 2026-03-20T14:30:00Z
Blocked log: 1842 entries
- easylist
- easyprivacy
- urlhaus-domains
- malware-domainsURLまたはドメインの確認
特定のURLまたはドメインが現在のフィルターリストによってブロックされているかテストします。
sd adblock check ads.example.com
sd adblock check https://tracker.analytics.io/pixel.jsドメインにスキームが完全に指定されていない場合、PRX-SDは自動的にhttps://を前に付加します。
出力:
BLOCKED ads.example.com -> Adsまたは:
ALLOWED docs.example.comブロックログの表示
永続的なJSONLログからの最近のブロックされたエントリを表示します。--countフラグで表示するエントリ数を制御します(デフォルト:50)。
sd adblock log
sd adblock log --count 100各ログエントリにはタイムスタンプ、ドメイン、URL、カテゴリ、ソースが含まれます。
カスタムフィルターリストの追加
名前とURLでサードパーティまたはカスタムフィルターリストを追加します。--categoryフラグでリストを分類します(デフォルト:unknown)。
利用可能なカテゴリ:ads、tracking、malware、social。
sd adblock add my-blocklist https://example.com/blocklist.txt --category malwareフィルターリストの削除
以前に追加したフィルターリストを名前で削除します。
sd adblock remove my-blocklistデフォルトフィルターリスト
PRX-SDには以下の内蔵フィルターソースが付属しています:
| リスト | カテゴリ | 説明 |
|---|---|---|
| EasyList | 広告 | コミュニティ維持の広告フィルターリスト |
| EasyPrivacy | トラッキング | トラッカーとフィンガープリンティング保護 |
| URLhaus Domains | マルウェア | abuse.ch悪意のあるURLドメイン |
| Malware Domains | マルウェア | 既知のマルウェア配布ドメイン |
フィルターリスト形式
カスタムリストはAdblock Plus(ABP)構文またはホストファイル形式を使用できます:
ABP形式:
||ads.example.com^
||tracker.analytics.io^ホスト形式:
0.0.0.0 ads.example.com
127.0.0.1 tracker.analytics.io!、#、または[で始まる行はコメントとして扱われ無視されます。
データディレクトリ構造
~/.prx-sd/adblock/
enabled # Flag file (present when adblock is active)
config.json # Source list configuration
blocked_log.jsonl # Persistent block log
lists/ # Cached filter list filesWARNING
adblockの有効化と無効化はシステムホストファイルを変更します。ホストファイルを手動で編集するのではなく、常にsd adblock disableを使用してエントリを完全に削除してください。このコマンドにはroot/管理者権限が必要です。
例
完全なセットアップワークフロー:
# Enable with default lists
sudo sd adblock enable
# Add a custom malware blocklist
sd adblock add threatfox-domains https://threatfox.abuse.ch/export/hostfile/ --category malware
# Re-sync to download the new list
sudo sd adblock sync
# Verify a known malicious domain is blocked
sd adblock check malware-c2.example.com
# Check stats
sd adblock stats
# View recent blocks
sd adblock log --count 20無効化とクリーンアップ:
sudo sd adblock disable次のステップ
- 上流フォワーディングを伴う完全なDNSレベルフィルタリングのためにDNSプロキシをセットアップ
- ドメインがブロックされたときに通知を受け取るためにWebhookアラートを設定
- 完全なコマンドリストについてはCLIリファレンスを参照