小王在公司负责IT支持,上周刚给销售部配了新MacBook,结果对方抱怨:‘为什么微信里广告还是弹个不停?Windows电脑上早被拦住了。’他翻出之前写的AdGuard规则配置,发现Mac版根本不能直接套用——路径、语法、生效位置全不一样。
不是规则不行,是没选对‘跨平台格式’
真正能跨平台用的过滤规则集,核心就一条:用AdGuard Filter List或EasyList这类通用标准格式写的规则。它们不依赖某款软件的私有语法,而是基于统一的文本协议,比如:
||example-ad.com^$domain=work-site.com
##.ad-banner
@@||trusted-api.com/api/v2^$domain=work-site.com这些规则里,||表示拦截域名,##表示隐藏网页元素,@@表示放行——所有主流工具(AdGuard、uBlock Origin、Pi-hole、甚至部分企业防火墙)都认这套写法。
办公场景里怎么落地?三步搞定
第一步:确认你的工具支持标准规则导入
比如用uBlock Origin(Chrome/Firefox/Edge),点扩展图标 → ⚙️设置 → 「过滤器」→ 「自定义」→ 粘贴规则列表URL:https://filters.adtidy.org/extension/ublock/filters/2.txt
再点「更新」就行。
第二步:内网设备也别漏掉
公司用Pi-hole做DNS过滤?直接把规则加进/etc/pihole/adlists.list,一行一个URL,例如:
https://easylist.to/easylist/easylist.txt
https://raw.githubusercontent.com/AdguardTeam/AdguardFilters/master/EnglishFilter/sections/adservers.txt重启Pi-hole服务后,所有连内网的设备(Windows、Mac、手机、打印机)都会自动生效。第三步:微调要改‘作用域’,别动规则本身
比如销售部需要放行某个推广链接,但其他部门不能放——这时在AdGuard Mac版里加一条:@@||sales-promo.example.com^$domain=sales.lan
而在Windows组策略里,同样规则加$domain=finance.lan后缀即可。规则主体不变,只改生效范围,维护起来不打架。
避坑提醒
• 别直接复制浏览器插件里的‘本地规则’到路由器上——那些带scriptlet或redirect的高级语法,很多老旧网关根本不支持;
• 定期检查规则列表更新频率,像EasyList每周更新,但某些小众中文规则可能半年没动静,广告一换就失效;
• 测试时用真实业务页面,别光看首页——有些广告藏在CRM系统弹窗、邮件客户端预览窗里,得点开具体单据才冒出来。
上周小王把规则统一换成AdGuard官方英文主列表 + 本地自建company-internal.txt(只写公司内部需屏蔽的测试接口和旧系统跳转页),现在销售部Mac、财务部Win11、还有前台那台安卓平板,广告拦截效果基本一致。他再也不用记三套配置文档了。