uWeb 中文文档 下载 App

根域名级拦截——阻止整个域名树的一切子域名

核心创新

普通浏览器的广告拦截(如 uBlock、AdGuard)基于域名列表——每个域名一条规则。但广告生态会不断换子域名:

需要不断更新拦截列表才能跟上。

uWeb 的根域名级拦截方案是:一条规则,屏蔽整个根域名下的一切子域名、孙域名、曾孙域名……根域名一挡,所有子域名的不良信息一网打尽。

原理

default.hosts 配置

根域名级拦截配置在 default.hosts 文件里。每一行一个根域名前缀,支持正则表达式。

ads\.example\.com
tracker\.ad-network\.net

第一行会拦截:

"根域名前缀"匹配机制

根域名前缀匹配比普通域名匹配更激进:

与普通 hosts 文件的区别

特性系统 hosts 文件uWeb default.hosts
匹配方式精确域名根域名前缀匹配
子域名覆盖需要逐条列出自动覆盖所有子域名
规则数量通常几万~几十万条几百~几千条就够
更新频率需要频繁更新更稳定

配置方法

  1. 打开 default.hosts 文件(在配置目录下)
  2. 每行一个根域名正则表达式(Java 语法,转义点号)
  3. 强制清空后台重启 uWeb

示例配置

# 屏蔽所有与 ads.com 相关的域名树
ads\.com

# 屏蔽 tracker 相关的整棵树
.*tracker.*\.net

# 屏蔽常见广告域名
doubleclick\.net
googlesyndication\.com
googletagservices\.com

配合 sitejs 的双正则方案

官方文档推荐了"双正则表达式根域名隐藏"策略——用两层规则确保不良信息彻底消失:

  1. 根域名前缀拦截(default.hosts):网络层面不让请求出去
  2. 特定网站 CSS/JS 屏蔽(sitecss/sitejs):对那些已经加载但显示不良信息的元素进行 DOM 层面的隐藏

两者配合效果最好——第一层拦住大部分广告资源,第二层处理那些"漏网"的。

标记不良元素生成 CSS

长按底部工具栏 JS 按钮 → "标记不良元素" → 点击页面上的广告/弹窗元素:

  1. 弹出对话框显示该元素及所有祖先的属性
  2. 自动生成 CSS 屏蔽代码
  3. 默认用 display:none,如果祖先里已经有 display 属性则建议用 transform:scale(0)!important

生成的 CSS 可以直接保存到 sitecss/ 下对应该域名的 .css 文件里。

配合临时书签工具快速添加

你可以用 bookmarklet 目录下的"列出外部脚本"小书签来生成外部 JS 列表:

  1. 在有广告的页面执行这个小书签
  2. 列出页面引用的所有外链脚本
  3. 长按可疑链接(域名不同的外链)→ 执行"屏蔽根域名"
  4. 一键把该脚本所属的根域名加入 default.hosts

注意事项

下一章