一、黑名单规则(Blocklist)
用于阻止特定域名的 DNS 解析请求,拦截广告、跟踪器或恶意网站。
1. 基本语法
-
- 普通规则:直接列出要阻止的域名。
-
example.com
-
ads.example.net
example.com
和ads.example.net
的所有请求。
-
- 通配符规则:使用
*
匹配任意字符。 *.doubleclick.net
track.*.com
ads.doubleclick.net
)和以track.
开头的三级域名(如track.analytics.com
)。
- 通配符规则:使用
-
- 精确匹配规则:使用
||
和^
符号。 ||example.com^
example.com
及其所有子域名(如www.example.com
、mail.example.com
)。
- 精确匹配规则:使用
-
- 正则表达式:用
/
包裹规则。 /^https?:\/\/(.*\.)?adservice\.(com|net)\//
- 正则表达式:用
2. 常见用途
-
- 屏蔽广告域名:
||ads.example.com^
- 屏蔽广告域名:
-
- 阻止跟踪器:
||tracking.example.net^
- 阻止跟踪器:
-
- 拦截恶意网站:
malware-domain.com
- 拦截恶意网站:
二、白名单规则(Allowlist)
用于放行被黑名单误拦截的域名,优先级高于黑名单。
1. 基本语法
-
- 使用
@@
前缀表示白名单规则: @@||example.com^
@@trusted-site.com
example.com
及其子域名,即使它们被其他黑名单规则拦截。
- 使用
2. 常见用途
-
- 放行误拦截的网站:
@@||good-site.com^
- 放行误拦截的网站:
-
- 允许特定服务的子域名:
@@||*.service.com^
- 允许特定服务的子域名:
三、规则优先级与冲突
-
- 白名单优先:若一个域名同时匹配白名单和黑名单,白名单生效。
- 更具体规则优先:例如
block.example.com
会覆盖*.example.com
。 - 正则表达式优先级最低:可能被普通规则覆盖。
四、规则示例
# 黑名单规则
||ads.google.com^ # 屏蔽所有子域名
tracker.com # 屏蔽 tracker.com
/^https?:\/\/.*\.adserver\./ # 正则匹配广告服务器
# 白名单规则
@@||good-site.com^ # 放行 good-site.com
@@||analytics.example.com^ # 允许特定分析服务
五、注意事项
-
- 避免过度拦截:使用白名单修复误杀。
- 更新规则列表:定期维护规则,订阅可靠的第三方过滤列表(如
AdGuard DNS filter
)。 - 性能影响:复杂正则表达式可能降低处理速度。
- 测试规则:通过 AdGuard Home 的查询日志验证规则是否生效。
六、高级技巧
- 禁用特定子域名:
example.com#@#bad-subdomain
- 使用第三方列表:
https://raw.githubusercontent.com/AdguardTeam/AdGuardSDNSFilter/master/Filters/filter.txt
通过合理配置黑白名单,可以显著提升网络隐私和安全性。建议结合 AdGuard Home 的日志功能调试规则效果。
原创文章,作者:大熊,如若转载,请注明出处:https://syxt.cc/7.html