ProxyPin 请求拦截配置指南:3 步上手,4 个场景挡住多余流量
2026/9/12 15:02:08 网站建设 项目流程

ProxyPin 请求拦截配置指南:3 步上手,4 个场景挡住多余流量

【免费下载链接】network_proxy_flutterOpen source free capture HTTP(S) traffic software ProxyPin, supporting full platform systems项目地址: https://gitcode.com/GitHub_Trending/ne/network_proxy_flutter

调试 App 时,统计、埋点接口和业务请求混在一起,请求列表很难看;也有人只想在手机上挡掉某个广告域名。ProxyPin 的请求拦截(也叫请求阻塞)能在流量到达之前把它们过滤掉。本文从一个真实诉求出发,带你把第一条规则配出来,并顺手讲清不生效时该怎么查。

拦截机制 30 秒看懂

每条请求在出去之前会先过一个检查点,代码里叫拦截器(interceptor),你可以理解成插在处理链路里的一个关卡。 关卡拿"域名 + 路径"去逐条比对你的规则,命中后按规则类型处理:请求型规则让请求根本发不出去;响应型规则放行请求,但把返回的响应直接丢掉。 所有规则最终保存在应用支持目录的request_block.json里,界面上的增删改都会写回这个文件。具体逻辑可以看 request_block.dart 和 request_block_manager.dart。

三步配出第一条拦截规则

  1. 打开设置页,进入"请求拦截"。桌面端是弹出窗口,移动端是独立设置页。
  2. 点右上角"添加",在弹窗里填要拦的 URL,比如*.ads.example.net/*,再选拦截类型:屏蔽请求或屏蔽响应,开关保持打开。
  3. 点保存,规则立即生效。之后命中的请求会被直接过滤,日志里只剩一条"屏蔽请求"的记录。

通配符写法与匹配模式

规则里用通配符*表示"任意一串字符",系统会替你转成正则表达式(一种按模式匹配文本的写法),你不需要自己写正则。

你填的内容实际命中的范围适合用来
*.ads.example.net/*ads.example.net 各子域下的任意路径拦掉整个广告域名
stats.demo.com/collect*stats.demo.com 下路径以 collect 开头的接口只命中埋点接口
/api/debug/*任意域名下 /api/debug/ 开头的路径拦内网调试接口

匹配对象是"域名 + 路径"拼起来的完整字符串,所以前缀写全域名会更精确;只写路径前缀则不限域名。

四个高频场景的现成配置

下面每条都是request_block.json中 list 里的一条规则,改域名即可直接用。

广告拦截,拦整域:

{ "enabled": true, "url": "*.ads.example.net/*", "type": "blockRequest" }

统计埋点,只拦收集接口:

{ "enabled": true, "url": "stats.demo.com/collect*", "type": "blockRequest" }

调试打点,响应也一并丢弃:

{ "enabled": true, "url": "*/api/debug/*", "type": "blockResponse" }

整域名屏蔽,不挑路径:

{ "enabled": true, "url": "*.tracker.example.org/*", "type": "blockRequest" }

桌面端和移动端的规则入口

两端读同一份规则文件,在一端配好后另一端打开就能看见。差异主要在交互:

  • 桌面端:在设置里弹出规则窗口,双击某一行进入编辑,右键一行弹出编辑、启用/禁用、删除菜单。
  • 移动端:进入"请求拦截"页,点按某一行编辑,长按某一行弹出底部菜单,可快速启停或删除,见 request_block.dart。
  • 两端顶部都有"启用"总开关,关闭后所有规则一律不生效。

规则不生效?按顺序排查 4 件事 🔍

  1. 看总开关:设置页顶部的"启用"开关必须是打开状态。
  2. 看单条开关:该规则所在行右侧的开关也要是开着的。
  3. 对类型和写法:屏蔽请求和屏蔽响应各管各的,别选错;确认所填内容能对上"域名 + 路径"这个匹配对象。
  4. 查日志:调试日志有"屏蔽请求"字样才算命中,没有就先把 URL 简化成整域名再试。

让规则跑得轻的 3 个技巧 💡

  • 要拦整个域名,就写一条*.域名.com/*,别把子路径一条条拆开列。
  • 前缀相同的规则合并成一条,重复的写法能删就删。
  • 定期清理不再用的规则,总数控制在几十条以内,列表好维护、匹配也快。

写在最后

请求拦截属于"配一次就长期生效"的功能:规则放在后台默默过滤,你看到的请求列表会明显清爽很多。建议先从最烦人的两三个域名开始,熟悉通配符写法后再扩展到埋点和调试接口。用起来有心得,欢迎到 issue 区聊聊。

【免费下载链接】network_proxy_flutterOpen source free capture HTTP(S) traffic software ProxyPin, supporting full platform systems项目地址: https://gitcode.com/GitHub_Trending/ne/network_proxy_flutter

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询