10分钟搞定Min浏览器广告过滤:自定义规则编写指南

10分钟搞定Min浏览器广告过滤:自定义规则编写指南

【免费下载链接】min A fast, minimal browser that protects your privacy 【免费下载链接】min 项目地址: https://gitcode.com/gh_mirrors/mi/min

你还在忍受网页弹窗和视频广告的骚扰吗?作为一款注重隐私保护的极简浏览器,Min浏览器内置了强大的广告过滤功能。本文将带你从零开始编写自定义过滤规则,让广告彻底消失在你的浏览体验中。读完本文,你将掌握:基础过滤规则语法、常见广告场景应对方案、规则测试与管理技巧。

广告过滤原理与设置入口

Min浏览器采用行业标准的ABP(Adblock Plus)过滤规则系统,通过匹配URL模式来拦截广告请求。核心过滤引擎位于ext/abp-filter-parser-modified/abp-filter-parser.js,默认规则存储在ext/filterLists/minFilters.txt

广告过滤设置界面

访问设置路径

  1. 点击浏览器右上角菜单按钮
  2. 选择「设置」进入配置页面(pages/settings/index.html)
  3. 在「内容拦截」区域找到「自定义过滤规则」选项

基础规则语法速成

过滤规则由「匹配模式」和「选项参数」两部分组成,基础格式如下:

匹配模式$选项参数

核心匹配模式

模式说明示例
普通文本匹配包含指定文本的URLbanner.jpg 拦截所有含该文件名的请求
| 前缀匹配URL起始位置|https://evil.com 仅拦截指定域名
| 后缀匹配URL结束位置.exe| 拦截所有exe文件下载
|| 域名锚定精确匹配域名||example.com/ads/ 拦截该域名下广告目录
^ 分隔符匹配URL中的分隔符ad^ 匹配ad后面跟:?/=等符号的情况

常用选项参数

通过$符号添加过滤条件,多个条件用,分隔:

||example.com^$script,third-party
参数作用
script仅拦截JavaScript脚本
image仅拦截图片资源
third-party仅拦截第三方请求
domain=example.com仅对指定域名生效
~domain=example.com排除指定域名

实战场景规则编写

1. 拦截特定网站弹窗广告

很多网站通过独立域名加载弹窗广告,可使用域名锚定模式精准拦截:

||popup.example.com^$third-party,script

这条规则会拦截所有来自popup.example.com的第三方脚本请求,同时不影响该域名下的正常内容。

2. 隐藏网页元素(高级)

对于内嵌在页面中的广告元素,可使用元素隐藏规则(需添加#前缀):

example.com##.ad-banner

该规则会在example.com网站上隐藏class为"ad-banner"的HTML元素。元素隐藏功能由js/navbar/contentBlockingToggle.js控制显示状态。

3. 例外规则设置

有时需要允许特定广告(如支持内容创作者),使用@@前缀创建例外规则:

@@||example.com/sponsored^$image

规则管理与测试技巧

规则存储与生效机制

自定义规则保存在用户配置目录的minFilters.txt文件中,编辑后无需重启浏览器,刷新页面即可生效。通过设置页面的「内容拦截级别」滑块可快速切换过滤强度:

拦截级别设置

调试与测试方法

  1. 查看拦截统计:设置页面显示已拦截请求数量,通过js/statistics.js实现统计功能
  2. 检查元素属性:右键广告元素选择「检查」,获取class或id用于编写隐藏规则
  3. 规则验证工具:访问pages/prompt/index.html可测试规则匹配情况

性能优化建议

  • 避免过度复杂的正则表达式
  • 为规则添加域名限制($domain=example.com
  • 定期清理失效规则(超过3个月未匹配的规则)

高级规则示例库

视频广告拦截

||video-ad.net^$media,third-party
||ad-server.com^$xmlhttprequest,domain=video-site.com

社交媒体跟踪拦截

||facebook.net^$script,image,third-party
||twitter.com^$xhr,third-party

自定义搜索引擎广告

||search-engine.com^$elemhide,domain=search-engine.com
search-engine.com##div[id^="sponsored"]

常见问题解决

规则不生效怎么办?

  1. 检查是否存在冲突的例外规则(@@前缀)
  2. 使用更具体的匹配模式,添加域名限制参数
  3. 清除浏览器缓存(设置 → 隐私 → 清除浏览数据)

误拦截正常内容如何恢复?

通过「内容拦截」工具栏按钮快速切换状态:

  1. 点击地址栏右侧的安全防护图标
  2. 取消勾选「拦截当前网站广告」
  3. 如需永久排除,添加例外规则:
@@||example.com^$document

规则分享与同步

Min浏览器支持通过导入/导出功能分享规则:

  • 导出:在设置页面点击「导出规则」保存为TXT文件
  • 导入:使用「导入规则」功能加载外部规则集

建议定期备份你的自定义规则,可通过js/backup/manager.js实现自动备份。


通过本文介绍的规则编写方法,你可以有效拦截95%以上的常见广告。记住,好的过滤规则是持续优化的结果。如果发现新的广告形式,欢迎通过「报告问题」功能提交(js/navbar/contentBlockingToggle.js第84行),共同完善Min浏览器的广告过滤能力。

下期预告:《Min浏览器隐私保护进阶:指纹防护与数据管理》

觉得本文有用?请点赞收藏并分享给需要的朋友!

【免费下载链接】min A fast, minimal browser that protects your privacy 【免费下载链接】min 项目地址: https://gitcode.com/gh_mirrors/mi/min

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值