
キルスイッチ付きホーム全体VPNルーター。OpenWrt + WireGuard + AmneziaWG。すべてのデバイスを保護し、VPNアプリは不要。
ホームネットワーク全体を保護するVPNルーター - OpenWrt、WireGuard、AmneziaWGでネットワーク上のすべてのデバイスを保護。アプリは不要です。
🤖 AIコーディングエージェントを使っていますか? このリポジトリ全体へのアクセスを許可し、AGENTS.md を読んでガイド付きデプロイを実行してください。Claude、GPT、Gemini、その他のフロンティアモデルに対応しています。
Raspberry PiまたはミニPCをVPNゲートウェイに変え、家庭内ネットワーク全体を保護します:
対応: WireGuard互換のVPNプロバイダー (Mullvad、IVPN、AirVPNなど)
AmneziaWGの難読化: 標準のWireGuardサーバーでも動作 (クライアント側の難読化)
2025年はオンラインプライバシーの転換点です:
あなたに何を意味するか:
このスタックはこれらすべての問題を解決します - ネットワーク上のすべてのデバイスが暗号化トンネルを通ってルーティングされます。ISPに閲覧履歴は残りません。サイトごとの身元確認もありません。インストールするアプリも、有効化を忘れる心配もありません。
Mullvad、NordVPN、ProtonVPNなどのVPNアプリをスマートフォンやノートPCにインストールしても、保護されるのはその単一デバイスだけです。これには穴があります:
| デバイス | VPNアプリ対応 | リスク |
|---|---|---|
| スマートTV | ❌ なし | ISPがすべてのストリーミングを閲覧 |
| ゲーム機 | ❌ なし | ゲームサーバーにIPが露出 |
| IoTデバイス | ❌ なし | スマートホームのトラフィックが見える |
| ゲストデバイス | ❌ 制御不可 | 保護なし |
| 仕事用ノートPC | ⚠️ 競合する可能性 | 企業ポリシーがVPNをブロック |
| 子供のデバイス | ⚠️ 無効化可能 | 保護が迂回される |
VPNアプリには他にも以下の問題があります:
このプライバシールーターは、モデムと既存ルーターの間に設置します。ネットワーク上のすべてのデバイスが自動的にVPN経由でルーティングされます - アプリ不要、設定不要、例外なし。``` ┌─────────────────────────────────────────────────────────────────────┐ │ YOUR HOME NETWORK │ │ │ │ ┌──────────┐ ┌─────────────────┐ ┌──────────────────────┐ │ │ │ MODEM │───▶│ PRIVACY ROUTER │───▶│ YOUR EXISTING ROUTER│ │ │ │ (ISP) │ │ (This Stack) │ │ (WiFi/Switch) │ │ │ └──────────┘ └─────────────────┘ └──────────────────────┘ │ │ │ │ │ │ ┌─────┴─────┐ ┌──────┴──────┐ │ │ │ ENCRYPTED │ │ ALL DEVICES │ │ │ │ TUNNEL │ │ PROTECTED │ │ │ └───────────┘ └─────────────┘ │ └─────────────────────────────────────────────────────────────────────┘
**すべてのデバイスを保護:** スマートフォン、タブレット、ノートPC、スマートTV、ゲーム機、IoTデバイス、ゲスト端末など、すべてを保護します。個々のデバイスは、必要な場合に直接WANアクセスできるよう[バイパス](https://github.com/yoloshii/privacy-first-network/blob/main/docs/CONFIGURATION.md#vpn-bypass-routing)設定が可能です。
---
## なぜMullvad QUICやWireGuardアプリを使わないのか?
良い質問です。MullvadのQUICトンネルとWireGuardアプリは、個々のデバイスの保護には優れています。それぞれのアプローチが適しているケースは次のとおりです:
### VPNアプリが適しているケース:
- 保護が必要なデバイスが1〜2台しかない場合
- 頻繁に旅行し、異なるネットワークを利用する場合
- アプリ単位のスプリットトンネリングが必要な場合
- 自分が制御できないネットワークを利用している場合
### ネットワークレベルVPNが適しているケース:
- デバイスが多数ある場合(特にVPNアプリを実行できないデバイスがある場合)
- 家庭全体を「設定して放置」で保護したい場合
- スマートホーム/IoTデバイスを保護する必要がある場合
- **実際に機能するキルスイッチ**が必要な場合(詳細は後述)
- VPNブロッキング/ディープパケットインスペクションが行われている地域にいる場合
### キルスイッチの問題
多くの人が気づいていないことがあります: **VPNアプリのキルスイッチはしばしば機能しません。**
VPNアプリがクラッシュしたり、接続が失われたり、接続切断から再接続までの間に、トラフィックがISPに漏れる可能性があります。アプリベースのキルスイッチはこれを防ごうとしますが、アプリケーションレベルで動作するため、アプリ自体がクラッシュするとキルスイッチも一緒に死にます。
**このスタックは、ファイアウォールベースのキルスイッチを実装しています:**```
Normal Operation:
Device → Privacy Router → VPN Tunnel → Internet ✓
VPN Down (App-based kill switch):
Device → [App crashed] → ISP sees traffic ✗
VPN Down (This stack):
Device → Privacy Router → [No route exists] → Traffic blocked ✓
キルスイッチはソフトウェアではなく、ファイアウォールとルーティングテーブルに実装されています。VPNトンネルがダウンすると、トラフィックが通る経路は文字通り存在しません。失敗する可能性のあるルールでブロックされているのではなく、単に行き場がないだけです。
インストールと設定については、OPTIONAL_ADDONS.md を参照してください。
キルスイッチは最も重要なセキュリティ機能です。ここではその仕組みを正確に説明します:
┌─────────────────────────────────────────────────────────┐ │ FIREWALL ZONES │ ├─────────────────────────────────────────────────────────┤ │ │ │ ┌─────┐ ┌─────┐ ┌─────┐ │ │ │ LAN │───✓────▶│ VPN │ │ WAN │ │ │ └─────┘ └─────┘ └─────┘ │ │ │ ▲ │ │ │ │ │ │ └───────────✗───────────────────┘ │ │ (NO FORWARDING ALLOWED) │ │ │ └─────────────────────────────────────────────────────────┘
LAN からのトラフィックは VPN ゾーンに**のみ**送信できます。LAN から WAN への転送ルールは存在しません。これは迂回される可能性のある「ブロック」ルールではありません。ルートが単に存在しないだけです。
### ルーティングテーブル```bash
# When VPN is UP:
default dev awg0 # All traffic → VPN tunnel
1.2.3.4 via 192.168.1.1 # VPN server → WAN (exception)
# When VPN is DOWN:
# No default route exists
# Traffic has nowhere to go = blocked
たとえ何らかの転送ルールが存在したとしても、ルーティングテーブルが第二の防御層を提供します。WANを指すデフォルトルートがないため、パケットは結局ドロップされるからです。
一部のISPや国は**ディープパケットインスペクション(DPI)**を使用してVPNトラフィックを識別・遮断します。標準のWireGuardには認識可能なパケットシグネチャがあります。
AmneziaWGは、クライアント側の難読化を追加するWireGuardの難読化フォークです:
| Parameter | Purpose |
|---|---|
| Jc, Jmin, Jmax | ハンドシェイク前に送信されるジャンクパケット |
| H1-H4 | ヘッダー難読化値 |
| S1-S4 | パケットパディングサイズ |
| I1-I5 | プロトコル模倣ブロブ(QUIC、DNSなど) |
これらのパラメータはWireGuardトラフィックを偽装します。特にI1-I5パラメータは強力で、WireGuardハンドシェイクが始まる前に他のプロトコル(QUIC/HTTP3、DNSクエリ)のように見えるパケットを注入します。
重要:難読化はCLIENT-SIDE(クライアント側)のみです。 ジャンクパケットとプロトコル模倣はローカルで行われ、VPNサーバーはその後に続く有効なWireGuardハンドシェイクしか見ません。つまり:
これはいつ必要ですか?
VPNが通常のWireGuardで問題なく動作する場合は、代わりに標準のWireGuardを使用できます。このアーキテクチャは両方に対応しています。