Hosts 去广告规则:内置 20 个过滤列表可按应用订阅
工作原理
WebToApp 内置了约 20 个主流的 hosts 过滤列表(来自社区维护的 hostnames 阻止项目)。启用后,拦截规则会被编译进导出的 APK——不需要在运行时联网拉取规则列表。
这和 AdGuard、AdAway 等系统级去广告工具不同:
| 维度 | WebToApp 内置去广告 | 系统级去广告 |
|---|---|---|
| 影响范围 | 仅导出的 APK | 整个系统 |
| 是否需要 root | 不需要 | 部分需要 |
| 是否需要 VPN | 不需要 | AdGuard 等需要 VPN 通道 |
| 规则更新 | 重新构建 APK 时更新 | 运行时联网拉取 |
内置的过滤列表
内置 20 个过滤列表,涵盖:
- 广告域名
- 跟踪 / 分析域名
- 恶意 / 钓鱼域名
- 社交网络追踪器(Facebook、Twitter 等)
- AMP / 重定向域名
每个应用可以独立订阅不同的列表组合。
启用方式
在应用的通用配置 → 隐私卡片 → hosts 去广告:
- 打开总开关
- 勾选需要的过滤列表
- 保存配置后,重新构建 APK(规则在构建时编译进 APK)
- 导出的 APK 运行时会自动拦截匹配的域名
按应用订阅
关键设计:hosts 规则是按应用独立配置的。你可以让一个应用开启所有去广告列表,另一个应用完全不开。
适用场景:
- 新闻网站 APK:全开去广告
- 电商 App 封装:可能需要放一些购物相关的广告
- 内部系统:完全不需要去广告
订阅自定义列表
除了内置的 20 个,还可以手动添加自定义 hosts 列表的 URL——WebToApp 会在构建时拉取并合并。支持常见格式:
- hosts 文件格式(每行一个 IP + 域名)
- AdBlock Plus 格式
- DNSMASQ 格式
局限性
- GeckoView 内核下不生效
- 只拦截域名,不拦截页面内联的原生广告元素
- 某些反广告脚本(比如 Anti-AdBlock)仍可能触发
- 规则更新需要重新构建 APK,不能远程更新