ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

ProxyPin 请求阻塞实战:3 步快速拦掉广告与追踪请求

ProxyPin 请求阻塞实战:3 步快速拦掉广告与追踪请求 ProxyPin 请求阻塞实战3 步快速拦掉广告与追踪请求【免费下载链接】network_proxy_flutterOpen source free capture HTTP(S) traffic software ProxyPin, supporting full platform systems项目地址: https://gitcode.com/GitHub_Trending/ne/network_proxy_flutter抓包时请求列表常被几个统计接口刷屏广告请求一条接一条。这些请求不产生价值却占带宽、乱日志。ProxyPin 的请求阻塞功能可以把它们精准拦在发出之前。读完后你能做到3 步完成首次拦截不用改任何代码为不同域名与接口写出通配规则规则不生效时快速自查快速上手 · 3 步完成首次请求阻塞打开入口在 ProxyPin 设置页找到「请求拦截」。桌面与移动端是同一套字段源码分别在桌面端设置模块与移动端设置模块。添加首条规则打开「启用」总开关点击「添加」。URL 填*doubleclick.net*类型选「屏蔽请求」保存。规则会立即写入本地配置文件。触发验证让应用再次访问 doubleclick.net 下任意域名。请求列表中这条请求消失调试日志里能看到「屏蔽请求」记录。规则最终全部落在应用支持目录下的request_block.json完整格式如下你也可以直接改这个文件后重启生效{ enabled: true, list: [ { enabled: true, url: *doubleclick.net*, type: blockRequest }, { enabled: true, url: example.com/api/tracking/*, type: blockRequest } ] }字段不多外层enabled是总开关列表中每条规则的enabled是单条开关url是通配模式type只有blockRequest屏蔽请求和blockResponse屏蔽响应两个取值。请求阻塞的工作原理说人话请求发出前会依次经过一组拦截器拦截器就是能读取并阻断通过流量的组件。请求阻塞拦截器拿请求的「域名 路径」去匹配你的规则请求阶段命中就直接返回 null请求不会离开本机响应阶段命中则在收到响应后丢弃它。匹配逻辑在规则管理源码关键判断如下var uri request.domainPath; var blockRequest (await RequestBlockManager.instance) .enableBlockRequest(uri); if (blockRequest) { return null; // 命中丢弃请求不再发送 }含响应侧逻辑的完整实现见request_block.dart。规则匹配速查表通配符*会转成正则.*且匹配是部分匹配字符串任意一段命中就算命中不必写全规则写法匹配目标实际正则*doubleclick.net*该域名下所有请求任意路径.*doubleclick.net.*example.com/api/v1/*example.com 的 /api/v1/ 下全部接口example.com/api/v1/.**.png路径含 .png 的任意请求多为图片资源.*.png*google-analytics.com*google-analytics.com 域名下任意请求.*google-analytics.com.*两点要记住。一是匹配内容为「域名 路径」不含协议规则里写https://开头匹配不上界面输入框提示的https://example.com/*直接照抄也不会命中。二是规则中的点号不转义正则里点号匹配任意字符误伤概率低求稳就拆细规则。真实场景的拦截规则配置拦截广告与统计上报目标挡掉统计 SDK 与广告接口保留主流程请求规则*google-analytics.com*与*doubleclick.net*各加一条类型均blockRequest坑点统计域名常挂多个子域用两侧通配的*域名*最稳拦截行为分析目标行为上报接口不发出去规则先抓包确认实际路径再写具体如example.com/api/v1/behavior/report坑点*track*这类泛词容易误伤正常接口先用抓包圈定目标路径再收窄拦截特定接口目标只挡一个接口其余保留规则路径段写完整如example.com/api/v1/report/*类型blockRequest坑点规则自身开关与总开关必须同时打开只开一个不生效请求阻塞不生效排障速查任何请求都没被拦→ 总开关或规则自身开关没开 → 两个开关都打开再触发一次规则看着对却不生效→ 规则带了https://这类协议前缀 → 改成「域名 路径」的子串写法只想丢响应请求也被挡了→ 类型选成了blockRequest→ 改为blockResponse手改 request_block.json 不生效→ JSON 不合法或应用未重启 → 检查格式重启重新加载正常接口也被拦了→ 泛词如*analytics*命中了正常路径 → 收窄到具体域名与路径实操清单与延伸阅读合并同一域名的规则减少条目数限制规则总数在 50 条以内控制匹配开销记录每条新规则用一次真实请求验证后再收工定期清理已废弃域名的规则把高频拦截目标放在列表前部方便检查匹配与顺序无关更多用法可看 README.md 与 test/ 目录下的示例。下一篇会讲请求重写在收发途中直接改写请求或响应与阻塞搭配就是一套完整的流量治理组合。【免费下载链接】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),仅供参考
返回列表