Hosts 广告拦截完整九步设置流程
官方九步流程
以下步骤摘自 NetGuard 官方 ADBLOCKING 文档,是 Hosts 广告拦截功能完整的启用流程。必须按顺序执行,每一步都不能跳过。
第一步:安装正确渠道的 NetGuard
确保你安装的是 GitHub Release 或 F-Droid 渠道的版本。Google Play 版本无法使用 Hosts 拦截。确认方法:进入设置,如果看不到「下载 Hosts 文件」选项,说明是 Play 版。
第二步:启用流量过滤
主菜单 → 设置 → 高级选项 → Filter traffic → ✅ 勾选开启。
没有这一步,后续所有设置都不会生效。流量过滤让 NetGuard 检查每个出站请求的目标地址。
第三步:启用域名拦截
主菜单 → 设置 → 高级选项 → Block domain names → ✅ 勾选(默认已开启)。
这个开关让 NetGuard 按域名(而不仅仅是 IP)来匹配和拦截请求。
第四步:启用系统应用管理
主菜单 → 设置 → 高级选项 → Manage system apps → ✅ 勾选。
这是关键一步——没有它,Google Play 服务等系统组件里的广告仍会正常显示。
第五步:导入或下载 Hosts 文件
主菜单 → 设置 → 备份 → 下载 Hosts 文件(Download hosts file)。
点击后 NetGuard 会自动下载 StevenBlack Hosts 文件——这是目前最流行、维护最活跃的开源广告域名列表(约 5 万个域名)。下载完成后,Hosts 文件自动被 NetGuard 加载并应用。
你也可以选择手动导入自己的 Hosts 文件:将文件放到设备上指定位置,然后在同一页面选择「导入 Hosts 文件」。导入会自动去重。
第六步:关闭浏览器的压缩 / 代理 / Secure DNS
很多浏览器和应用内置了数据压缩 / 代理 / DoH(DNS over HTTPS)功能,会阻止 NetGuard 看到真实的 DNS 请求。需要在每个浏览器里分别检查并关闭:
| 浏览器 | 需要关闭的功能 |
|---|---|
| Chrome | 三点菜单 → 设置 → 隐私 → Use secure DNS(Secure DNS)→ 关闭 |
| Firefox | 设置 → 网络设置 → 设置 → Enable DNS over HTTPS → 关闭 |
| Opera | Turbo 模式(加速压缩)→ 关闭 |
| UC Browser | 极速模式 → 关闭 |
| 其他浏览器 | 找到类似的压缩 / 代理 / 安全 DNS 选项并关闭 |
注意:Android 系统设置里的「私人 DNS」也要关闭(设置 → 网络和互联网 → 私人 DNS → 关闭)。但这还不够——浏览器自己的 DoT / DoH 也要单独检查。
第七步:等待 DNS 缓存超时
Android 和各应用都有 DNS 缓存。导入新 Hosts 文件后,之前缓存的 DNS 记录可能还在生效。需要等待 DNS 缓存自然过期。
快速方法:
- 打开 Chrome → 在地址栏输入
chrome://net-internals/#dns→ 点击「Clear host cache」 - 强制停止每个浏览器应用后重新打开
- 或者简单地等待 10 分钟以上(DNS 缓存自然过期)
第八步:验证拦截是否生效
在手机浏览器打开 NetGuard 官方测试页面(netguard.me/test)。页面上的测试广告图片如果加载失败或显示为空白,说明 Hosts 拦截正在工作。
你也可以用实际应用验证:
- 打开一个之前会显示开屏广告的免费应用 → 看广告是否消失
- 打开一个之前有内嵌 Banner 广告的应用 → 看 Banner 是否消失
- 在全球流量日志(Pro 版)里搜索广告域名 → 看是否有红色禁止标记
第九步:享受,但别忘了支持开发者
Hosts 拦截生效后,应用内广告和网站广告大幅减少。但请记得:
- 开发者声明 Hosts 拦截是"as-is"(按原状提供),不保证能拦截所有广告类型
- 支持你喜欢的应用开发者——付费购买 Pro、捐赠、推荐给朋友
快速检查清单
做完九步后,逐项检查:
| 步骤 | 状态 | 验证 |
|---|---|---|
| Filter traffic | ✅ 开 | 设置 → 高级选项 |
| Block domain names | ✅ 开 | 设置 → 高级选项 |
| Manage system apps | ✅ 开 | 设置 → 高级选项 |
| Hosts 文件已下载 | ✅ | 备份设置页显示 Hosts 文件条目 |
| 浏览器压缩已关闭 | ✅ | Chrome / Firefox 等 |
| DoT / DoH 已关闭 | ✅ | 浏览器 + Android 系统私人 DNS |
| DNS 缓存已清除 | ✅ | chrome://net-internals/#dns 或等 10 分钟 |
| 测试页面广告加载失败 | ✅ | netguard.me/test |
Hosts 文件定期更新
Hosts 文件里的广告域名列表是静态快照,不是自动实时更新。NetGuard 不会自动下载新版本 Hosts 文件——你需要定期手动更新:
主菜单 → 设置 → 备份 → 下载 Hosts 文件。
推荐频率:每月更新一次。StevenBlack Hosts 每周都会有增量更新。