全屋 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 应用时,你只能保护那一台设备。这会造成漏洞:
VPN 应用还有以下问题:
这款隐私路由器位于你的调制解调器和现有路由器之间。网络中的每个设备都会自动通过 VPN 路由 - 无需应用、无需配置、没有例外。``` ┌─────────────────────────────────────────────────────────────────────┐ │ YOUR HOME NETWORK │ │ │ │ ┌──────────┐ ┌─────────────────┐ ┌──────────────────────┐ │ │ │ MODEM │───▶│ PRIVACY ROUTER │───▶│ YOUR EXISTING ROUTER│ │ │ │ (ISP) │ │ (This Stack) │ │ (WiFi/Switch) │ │ │ └──────────┘ └─────────────────┘ └──────────────────────┘ │ │ │ │ │ │ ┌─────┴─────┐ ┌──────┴──────┐ │ │ │ ENCRYPTED │ │ ALL DEVICES │ │ │ │ TUNNEL │ │ PROTECTED │ │ │ └───────────┘ └─────────────┘ │ └─────────────────────────────────────────────────────────────────────┘
**每台设备都受到保护:** 手机、平板、笔记本电脑、智能电视、游戏主机、物联网设备、访客——统统在内。单个设备在需要时可以被[绕过](https://github.com/yoloshii/privacy-first-network/blob/HEAD/docs/CONFIGURATION.md#vpn-bypass-routing)以获得直接 WAN 访问。
---
## 为什么不全用 Mullvad QUIC 或 WireGuard 应用?
好问题。Mullvad 的 QUIC 隧道和 WireGuard 应用在单设备保护方面表现出色。以下是各自适用的场景:
### 使用 VPN 应用更合适的情况:
- 你只需要保护 1-2 台设备
- 你经常出差并使用不同的网络
- 你想要按应用分流
- 你身处不受自己控制的网络
### 网络级 VPN 更合适的情况:
- 你拥有许多设备(尤其是那些无法运行 VPN 应用的设备)
- 你想要为整个家庭提供“一劳永逸”的保护
- 你需要保护智能家居/物联网设备
- 你想要一个**真正有效的 kill switch**(下面会详述)
- 你所在的地区存在 VPN 封锁/深度包检测(DPI)
### Kill Switch 的问题
大多数人都没有意识到这一点:**VPN 应用的 kill switch 常常会失效**。
当 VPN 应用崩溃、失去连接,或在连接断开到重新连接的间隙,你的流量可能会泄漏给 ISP。基于应用的 kill switch 试图阻止这种情况,但它们运行在应用层——如果应用本身崩溃,kill switch 也会随之失效。
**这套方案实现了一个基于防火墙的 kill switch:**```
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 ✓
Kill Switch 是在防火墙和路由表中实现的,而不是在软件中实现。如果 VPN 隧道断开,流量实际上没有任何路由可走——它不是被一条可能失效的规则阻断,而是根本没有去处。
安装与配置请参阅 OPTIONAL_ADDONS.md。
Kill Switch 是最重要的安全功能。下面详细说明其工作原理:
┌─────────────────────────────────────────────────────────┐ │ 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 的一个混淆分支,新增了客户端混淆能力:
| 参数 | 用途 |
|---|---|
| Jc, Jmin, Jmax | 握手前发送的垃圾数据包 |
| H1-H4 | 报头混淆值 |
| S1-S4 | 数据包填充大小 |
| I1-I5 | 协议伪装数据块(QUIC、DNS 等) |
这些参数可伪装 WireGuard 流量。I1-I5 参数尤其强大——它们会在 WireGuard 握手开始之前注入看似其他协议(QUIC/HTTP3、DNS 查询)的数据包。
重要提示:混淆仅在客户端生效。 垃圾数据包和协议伪装都在本地完成——VPN 服务器只会看到随后到来的合法 WireGuard 握手。这意味着:
什么时候需要它?
如果你的 VPN 使用常规 WireGuard 即可正常工作,那么你也可以直接使用标准 WireGuard——该架构对两者均兼容。
所有选项都提供相同的核心防护:AmneziaWG 混淆、AdGuard DNS 过滤、kill switch 和看门狗恢复。区别在于你希望如何部署,而不是功能上的差异。
| 选项 | 部署内容 | 你现有的路由器 |
|---|---|---|
| A:专用硬件 | 完整路由器 OS(OpenWrt),运行于 Pi/迷你主机 | 仅作为 WiFi 接入点 |
选项 A 和 B(OpenWrt——完整路由器替换方案): 你部署的是一个完整的路由器操作系统。OpenWrt 负责一切:路由、DHCP、DNS、防火墙、VPN。你现有的路由器降级为仅提供 WiFi 的接入点。这是一个专用隐私路由器设备。
选项 C(Docker——VPN 网关附加组件): 你只是在现有的 Linux 服务器、NAS 或虚拟机上部署 VPN 网关组件。你当前的路由器继续履行其职责(DHCP、WiFi 等)。需要 VPN 保护的设备将其网关/DNS 指向该容器。适合在无需新增硬件的情况下为现有基础设施增加 VPN 能力。``` Option A/B: Modem → [Privacy Router running OpenWrt] → WiFi AP → Devices Option C: Modem → [Your Existing Router] → Devices ↓ [Docker Container on Server/NAS] (devices point gateway here)
> **🤖 不确定该选哪个?** AI 代理可以评估你的环境并推荐最佳选项。将其指向 [AGENTS.md](https://github.com/yoloshii/privacy-first-network/blob/HEAD/AGENTS.md),让它引导你完成部署。
### 安装概述
**对于选项 A 和 B(OpenWrt):**
1. 在你的设备上安装 OpenWrt
2. 安装 AmneziaWG(或 WireGuard)
3. 配置网络接口
4. 设置防火墙终止开关
5. 部署 AdGuard Home 用于 DNS
6. 安装 watchdog 以实现自动恢复
7. 切换你的网络
**详细说明:** [docs/DEPLOYMENT.md](https://github.com/yoloshii/privacy-first-network/blob/HEAD/docs/DEPLOYMENT.md)
**对于选项 C(Docker):** 请参阅 [docker/README.md](https://github.com/yoloshii/privacy-first-network/blob/HEAD/docker/README.md) 了解容器专用的设置。
---
## 文档
| 文档 | 描述 |
|----------|-------------|
| [ARCHITECTURE.md](https://github.com/yoloshii/privacy-first-network/blob/HEAD/docs/ARCHITECTURE.md) | 系统设计、组件、安全模型 |
| [HOW-IT-WORKS.md](https://github.com/yoloshii/privacy-first-network/blob/HEAD/docs/HOW-IT-WORKS.md) | 深入技术解析每个组件 |
| [DEPLOYMENT.md](https://github.com/yoloshii/privacy-first-network/blob/HEAD/docs/DEPLOYMENT.md) | 分步安装指南 |
| [docker/README.md](https://github.com/yoloshii/privacy-first-network/blob/HEAD/docker/README.md) | Docker 部署(高级用户) |
| [CONFIGURATION.md](https://github.com/yoloshii/privacy-first-network/blob/HEAD/docs/CONFIGURATION.md) | 完整的配置参考 |
| [OPTIONAL_ADDONS.md](https://github.com/yoloshii/privacy-first-network/blob/HEAD/docs/OPTIONAL_ADDONS.md) | AdGuard Home、BanIP 及其他安全附加组件 |
| [TROUBLESHOOTING.md](https://github.com/yoloshii/privacy-first-network/blob/HEAD/docs/TROUBLESHOOTING.md) | 常见问题及解决方案 |
---
## 网络拓扑图```
INTERNET
│
┌───────────┴───────────┐
│ VPN Provider │
│ (Mullvad/IVPN/etc) │
└───────────┬───────────┘
│
Encrypted WireGuard
Tunnel
│
┌───────────────────────────────────────┼───────────────────────────────────────┐
│ YOUR HOME │ │
│ │ │
│ ┌──────────┐ ┌────────┴────────┐ ┌──────────┐ │
│ │ ISP │ WAN │ │ LAN │ WiFi │ │
│ │ MODEM │─────────────▶│ PRIVACY ROUTER │─────────────▶│ ROUTER │ │
│ │ │ (Untrusted) │ │ (Protected) │ │ │
│ └──────────┘ │ ┌───────────┐ │ └────┬─────┘ │
│ │ │ AdGuard │ │ │ │
│ │ │ DNS + Ads │ │ │ │
│ │ └───────────┘ │ ┌────┴─────┐ │
│ │ ┌───────────┐ │ │ DEVICES │ │
│ │ │ Kill │ │ │ │ │
│ │ │ Switch │ │ │ Phone │ │
│ │ └───────────┘ │ │ Laptop │ │
│ │ ┌───────────┐ │ │ Smart TV │ │
│ │ │ Watchdog │ │ │ Console │ │
│ │ │ Recovery │ │ │ IoT │ │
│ │ └───────────┘ │ └──────────┘ │
│ └─────────────────┘ │
│ │
└──────────────────────────────────────────────────────────────────────────────┘
Traffic Flow:
Device → WiFi Router → Privacy Router → VPN Tunnel → VPN Server → Internet
│
DNS: AdGuard (DoH) ─────────────▶ VPN Provider DNS
Kill Switch:
If VPN down → No route to internet → All traffic blocked (not leaked)
本方案专为隐私立法日趋严格的地区的用户设计:
本方案解决的常见隐私问题:
网络级 VPN 意味着无需逐设备验证、您的 ISP 无法获取浏览历史,也不会向第三方验证服务披露身份。
如果您所在的地区积极封锁 VPN 或将其定为非法,请参阅下文高审查环境。
强烈推荐 Mullvad VPN。这套方案从开发、测试到部署均基于 Mullvad。
为什么选择 Mullvad:
如果您偏好其他提供商,任何兼容 WireGuard 的 VPN 均可与本方案配合使用:
注意: 这些提供商使用标准 WireGuard。对于基本的隐私保护,这已经足够。请将本方案与标准 WireGuard 配置结合使用——AmneziaWG 混淆是可选的。
AmneziaWG 增加了客户端流量混淆能力,以对抗深度包检测。大多数用户不需要此功能——它适用于以下情况:
关键点: AmneziaWG 混淆可与任何标准 WireGuard 服务器配合使用。混淆在客户端本地进行——服务器无需特殊支持。VPN 提供商(Mullvad、IVPN 等)不提供这些参数,因为他们的服务器就是标准 WireGuard。
本仓库包含可用的默认配置,来自官方 AmneziaWG 文档。可将其原样用于任何 WireGuard 提供商。
| Option | Setup | Best For |
|---|---|---|
| 任何 WireGuard 提供商 | 使用本仓库中的默认参数 | 需要混淆的大多数用户 |
| 自托管 AmneziaWG | 在两端配置匹配的参数 | 自定义服务器部署 |
即将推出:分级混淆配置 - 通过模块化配置轮换实现不断增强的 DPI 抗性(基础 → QUIC 伪装 → 隐蔽)。当前配置文件请参阅 scripts/awg-profiles.sh。
随附示例配置:
openwrt/amneziawg/awg0.conf.example - 包含可用混淆默认值的隧道配置docker/config/awg0.conf.example - Docker 部署配置adguard/mullvad-AdGuardHome.yaml.example - 使用 Mullvad DoH 的 DNS 配置如果您所在的地区积极封锁 VPN 或将其定为非法,WireGuard 和 AmneziaWG 可能还不够。此类环境需要更高级的混淆:
| Protocol | Description |
|---|---|
| VLESS + Reality | 流量对主要网站显示为普通 HTTPS |
| XRay | 具有多种混淆模式的高级代理 |
| ShadowSocks | 专为受限网络环境设计的加密代理 |
面向智能体: 如果您的用户处于高审查环境,请使用深度研究查找当前最佳实践:``` Search: "VLESS Reality setup 2025" Search: "XRay traffic obfuscation setup 2025"
> **此技术栈专注于 WireGuard/AmneziaWG。** 对于 VLESS、XRay 或其他高级协议,用户应研究专用解决方案,或考虑运行 [Amnezia VPN](https://amnezia.org),它支持包括 XRay 在内的多种协议。
---
## 硬件推荐
> **最低要求:** 1GB 内存、双网络接口(内置 + USB)、OpenWrt 支持。建议:2GB 以上内存用于 AdGuard Home DNS 过滤。
### 预算级(约 $50-80)
- 配备 USB 以太网适配器的 Raspberry Pi 4(2GB 以上)
- GL.iNet 旅行路由器(部分可运行 OpenWrt)
### 推荐级(约 $100-150)
- 配备 USB 3.0 以太网的 Raspberry Pi 5
- Zimaboard 或类似的 x86 单板计算机(SBC)
### 性能级(约 $150-300)
- 双网口迷你主机(Intel N150 系统)
- Protectli Vault 或类似设备
### 家庭实验室 / 企业级
- 在现有虚拟机管理程序上运行的虚拟机(Proxmox、ESXi、Hyper-V)
- 专用 x86 防火墙设备
---
## 安全注意事项
### 此方案防护的内容
- ISP 流量监控与日志记录
- 网络级广告追踪
- DNS 劫持与监控
- 基于 IP 的地理定位
- 流量关联分析(配合良好的 OpSec 时)
- 通过 DPI 进行的 VPN 封锁(使用 AmneziaWG 时)
### 此方案不防护的内容
- 浏览器指纹识别
- 已登录账户的追踪(Google、Facebook 等)
- 设备上的恶意软件
- 对您网络的物理访问
- VPN 提供商被入侵
### OpSec 建议
- 使用注重隐私的浏览器(Firefox、Brave)
- 使用尊重隐私的搜索引擎
- 不需要时退出追踪服务
- 考虑使用隔离身份
- 保持设备更新
---
## AI 辅助设置
对于复杂的部署或故障排查,可授予 AI 编码代理对此**整个代码仓库**的访问权限,以及对路由器的 SSH 访问权限(如果您不知道如何操作,可让代理引导您完成)。
**推荐:** 此技术栈是使用 **Claude Opus 4.6** 通过 [Claude Code](https://claude.com/claude-code) 开发、测试和部署的。为获得最佳效果,请使用能够执行 shell 命令并理解网络配置的强大的前沿模型:
- **Claude Opus 4.6 / Sonnet 4.6**(Anthropic)- 用于本次实施
- **GPT-5.4**(OpenAI)
- **Gemini 3.1**(Google)
**代理可以做什么:**
- **网络审计** - 探测您当前的设置并确定需求
- **引导式配置** - 根据您的具体 IP、密钥和偏好生成配置
- **自动故障排查** - 实时诊断路由、防火墙和 DNS 问题
- **脚本化部署** - 在您批准后执行安装步骤
**快速开始:**
1. 克隆此仓库或授予代理 GitHub 访问权限
2. 将代理指向 **[AGENTS.md](https://github.com/yoloshii/privacy-first-network/blob/HEAD/AGENTS.md)** - 其中包含完整的操作框架
3. 提供目标设备的 SSH 凭据
4. 让代理进行审计、规划并引导您完成部署
代理指令包含诊断命令、验证测试、错误恢复流程和安全规则。此仓库中的所有配置均已参数化,对代理友好。
---
## 相关项目
此技术栈基于以下优秀的开源项目构建:
| 项目 | 描述 |
|---------|-------------|
| [amnezia-vpn/amneziawg-linux-kernel-module](https://github.com/amnezia-vpn/amneziawg-linux-kernel-module) | AmneziaWG 内核模块 |
| [amnezia-vpn/amneziawg-tools](https://github.com/amnezia-vpn/amneziawg-tools) | AmneziaWG 用户空间工具 |
| [Slava-Shchipunov/awg-openwrt](https://github.com/Slava-Shchipunov/awg-openwrt) | 适用于 OpenWrt 的预编译 AmneziaWG 软件包 |
| [wgtunnel/wgtunnel](https://github.com/wgtunnel/wgtunnel) | WireGuard 隧道管理 |
---
## 许可证
MIT 许可证 - 详情请参阅 [LICENSE](https://github.com/yoloshii/privacy-first-network/blob/HEAD/LICENSE)。
---
## 致谢
- [OpenWrt 项目](https://openwrt.org/) - 基础平台
- [AmneziaWG](https://github.com/amnezia-vpn/amneziawg-tools) - DPI 绕过
- [AdGuard Home](https://adguard.com/adguard-home.html) - DNS 过滤
- [WireGuard](https://www.wireguard.com/) - 现代 VPN 协议
---
## 常见问题解答
**问:这会让我的网速变慢吗?**
答:影响极小。WireGuard 效率极高。大多数用户的速度下降 <5%。主要因素取决于您的 VPN 提供商的服务器质量。
**问:我还能访问本地网络设备吗?**
答:可以。LAN 流量保持本地传输,不会经过 VPN。
**问:如果隐私路由器出现故障怎么办?**
答:在网络修复或绕过之前,您的网络将无法上网。这是一个特性,而非缺陷——它确保不会泄露任何未受保护的流量。
**问:我可以将某些设备排除在 VPN 之外吗?**
答:可以,通过额外配置即可实现。您可以创建防火墙规则,将特定 IP 直接路由到 WAN。请参阅 [CONFIGURATION.md](https://github.com/yoloshii/privacy-first-network/blob/HEAD/docs/CONFIGURATION.md)。
**问:这支持 IPv6 吗?**
答:IPv6 已被禁用以防止泄漏。大多数 VPN 提供商尚未完全支持 IPv6。
**问:我的 ISP 能看到我在使用 VPN 吗?**
答:使用标准 WireGuard 时,他们可以看到类似 VPN 的流量。使用 AmneziaWG 混淆时,流量看起来像是随机噪声。
**问:这如何帮助解决年龄验证的隐私问题?**
答:VPN 会将您的流量通过加密隧道传输,防止 ISP 记录您访问了哪些网站。这是一个**隐私工具**——它能阻止第三方年龄验证服务跨网站关联您的浏览活动或构建行为画像。您与平台之间的实际年龄验证仅保留在您与该平台之间,不会与 ISP 或数据经纪商共享。有关具体的合规问题,请咨询当地法规。
**问:在澳大利亚社交媒体禁令生效后,这还能正常工作吗?**
答:此技术栈可保护您的网络流量免受 ISP 记录,并为所有设备提供隐私保护。2025 年 12 月的澳大利亚立法主要影响平台侧验证。无论平台级要求如何,VPN 都能确保您的 ISP 无法看到您访问了哪些网站。
**问:这合法吗?**
答:在包括英国、澳大利亚、美国和欧盟在内的大多数西方国家,使用 VPN 是合法的。此技术栈是一种类似于 HTTPS 的隐私工具——它会对您的流量进行加密。使用 VPN 访问您所在地区可用的内容通常是合法的。请始终查阅当地法律。
---
*保护您的整个网络。一次设置,一劳永逸。*
| 设备 | VPN 应用支持 | 风险 |
|---|
| 智能电视 | ❌ 无 | ISP 能看到所有流媒体内容 |
| 游戏机 | ❌ 无 | IP 暴露给游戏服务器 |
| 物联网设备 | ❌ 无 | 智能家居流量可见 |
| 访客设备 | ❌ 无法控制 | 无保护 |
| 工作笔记本 | ⚠️ 可能冲突 | 公司策略阻止 VPN |
| 儿童设备 | ⚠️ 可被禁用 | 保护被绕过 |
| B:虚拟机 | 完整路由器 OS(OpenWrt),运行于 Proxmox/ESXi | 仅作为 WiFi 接入点 |
| C:Docker 容器 | 仅 VPN 网关(Alpine 容器) | 保留其全部现有功能 |
| Feature | VPN App | This Stack |
|---|
| 受保护设备 | 每次安装 1 台 | 网络内全部设备 |
| 智能电视/游戏主机 | ❌ | ✓ |
| 物联网设备 | ❌ | ✓ |
| 电池影响 | 有 | 无 |
| 可被禁用 | 由用户 | 否 |
| 终止开关可靠性 | 依赖应用 | 基于防火墙 |
| DNS 泄漏防护 | 因应用而异 | 保证 |
| DPI 绕过 | 部分应用 | AmneziaWG |
| 设置复杂度 | 低 | 中 |
| 后续维护 | 每台设备 | 集中式 |
| Region | Legislation | Impact |
|---|
| 英国 | 《在线安全法案》(2025) | 成人内容需进行年龄验证;第三方身份服务跟踪访问记录 |
| 澳大利亚 | 社交媒体年龄验证(2025年12月) | 禁止 16 岁以下使用,并伴有验证要求 |
| 欧盟 | 《数字服务法案》 | 平台问责与数据留存 |
| 美国各州 | 多项年龄验证法案 | 州级身份验证要求不断扩展 |
| Provider | Privacy | Notes |
|---|
| IVPN | 无日志、开源 | 不错的 Mullvad 替代 |
| AirVPN | 无日志、端口转发 | 仅标准 WireGuard(不支持 AmneziaWG) |
| ProtonVPN | 无日志(所有套餐) | 提供免费套餐 |
| Tor + Bridges | 带可插拔传输的匿名网络 |