pihole-regex进阶技巧:如何添加Facebook、国际域名等专项过滤规则
pihole-regex是一款为Pi-hole打造的自定义正则表达式过滤工具,能够通过强大的正则表达式规则有效拦截各类广告和追踪域名。本文将详细介绍如何添加Facebook、国际域名等专项过滤规则,帮助你进一步提升网络过滤效果。
一、了解pihole-regex的专项过滤规则
pihole-regex项目中包含多个专项过滤规则文件,这些文件针对不同类型的域名进行了精准匹配。主要的专项规则目录如下:
- social/:包含社交媒体相关的过滤规则,如Facebook、Twitter等平台的广告和追踪域名
- miscellaneous/:包含杂项过滤规则,如国际域名、AMP页面等特殊类型的域名过滤
- user suggested/:包含用户贡献的过滤规则,如第一方追踪器等
二、添加Facebook专项过滤规则
Facebook相关的广告和追踪域名往往具有特定的命名模式,pihole-regex提供了专门的Facebook过滤规则文件:
-
规则文件路径:social/facebook.list
-
核心规则解析:
^(.+[_.-])?(facebook|fb(cdn|sbx)?|tfbnw)\.[^.]+$这条规则能够匹配包含"facebook"、"fbcdn"、"fbsbx"或"tfbnw"等关键词的各类子域名和相关域名,有效拦截Facebook的广告和追踪请求。
-
添加方法: 将social/facebook.list文件中的规则复制到你的Pi-hole正则表达式过滤列表中,或通过项目提供的安装脚本进行集成。
三、配置国际域名过滤规则
国际域名(特别是包含特殊字符的国际化域名)常常被用于绕过常规过滤,pihole-regex提供了专门的国际域名过滤规则:
-
核心规则解析:
^(www[0-9]*\.)?xn--这条规则针对以"xn--"开头的国际化域名(IDN)进行过滤,这类域名通常包含非ASCII字符,可能被广告商用于规避常规过滤。
-
添加方法: 将miscellaneous/internationalized domains.list文件中的规则添加到你的Pi-hole过滤规则中,即可有效拦截此类特殊域名。
四、使用安装脚本快速集成专项规则
pihole-regex提供了便捷的安装脚本,可以一键将各类专项规则集成到你的Pi-hole中:
-
运行安装命令:
curl -sSl https://raw.githubusercontent.com/mmotti/pihole-regex/master/install.py | sudo python3这个命令会自动将主规则文件regex.list中的过滤规则添加到Pi-hole中。
-
手动添加专项规则: 如果你需要选择性添加专项规则,可以手动编辑Pi-hole的正则表达式过滤列表,将social/facebook.list、miscellaneous/internationalized domains.list等文件中的规则复制进去。
五、处理误判与白名单设置
由于正则表达式的严格性,可能会出现误判情况。pihole-regex提供了白名单文件来解决这个问题:
- 白名单文件路径:whitelist.list
- 使用方法:如果发现某个正常域名被错误拦截,可以将其添加到白名单文件中,或直接在Pi-hole管理界面中进行白名单设置。
六、保持过滤规则自动更新
为了确保过滤效果始终保持最新,你可以设置定时任务自动更新规则:
- 编辑crontab:
sudo crontab -u root -e - 添加定时任务:
SHELL=/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 30 2 * * 1 /usr/bin/curl -sSl https://raw.githubusercontent.com/mmotti/pihole-regex/master/install.py | /usr/bin/python3这个任务会在每周一凌晨2:30自动更新过滤规则。
通过合理配置这些专项过滤规则,你可以显著提升Pi-hole的广告拦截能力,特别是针对Facebook等社交媒体平台的广告和追踪,以及各类特殊域名的过滤。根据自己的需求选择性添加规则,既能有效拦截广告,又能避免不必要的误判。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



