LivePool 是一个基于 NodeJS,类似 Fiddler 能够支持抓包和本地替换的 Web 开发调试工具,是 Tencent AlloyTeam 在开发实践过程总结出的一套的便捷的 WorkFlow 以及调试方案。
背景
在 Windows 平台上,Fiddler 作为一款非常便捷好用的 Web 调试工具,深受广大开发者的喜爱。而在 Mac 上,类似的工具,比如 Charles 等,收费并且功能非常有限,着实让很多陆续把工作环境迁移到 Mac 的小伙伴刚到非常的不方便。难道真的要在 Mac 上装个 Windows 或者开虚拟机跑 Fiddler 吗?
Alloyteam 其实很早就开始实践跨平台的抓包和替换工具,基于 QT 的 Rythem,功能上基本能满足要求,但是由于后续没有熟悉 QT 平台的人力投入,没有持续更新和支持。出于折腾精神,决定用比较熟悉的 NodeJS 进行开发一款类似的代理替换工具,并尝试借助 Web 便捷快速的 UI 能力搭建更美观强大的管理界面。
特性
- 基于 NodeJS, 跨平台
- 便捷的 UI 界面,跟 Fiddler 类似,降低学习成本
- 支持 http 抓包和本地替换调试,Https/WebSockets 直接代理转发,暂不支持本地替换
- 基于项目的替换规则管理,方便高效,规则支持拖曳排序
- 支持基于请求路径的本地文件替换,支持基于请求路径的路由转发(host 配置)
- 替换类型支持:文件/文件夹替换,combo 合并替换,qzmin 替换(批量 combo),delay 延时等
- 支持自动设置系统代理
- 支持规则过滤,只显示关注的请求
- 提供构建 http get/post 请求界面,方便接口调试
- 特色功能:模拟 gprs/3g 等低网速(mac only)
- 特色功能:支持离线站点到本地,并自动代码格式化
主要功能
1. 抓包分析
实现原理:通过拦截系统 web 代理将浏览器或者其他应用的请求转发到 Livepool,Livepool 通过拦截获取 http 请求的相关信息,比如 http 头,内容等,并将结果缓存下来,便于后面进行分析。
2. 本地替换和规则管理
实现原理:livepool 拦截到请求后,对请求的路径进行分析,将命中规则的请求进行适当处理,替换为对应内容。目前替换类型支持:文件/文件夹替换,combo 合并替换,qzmin 替换(批量 combo),delay 延时等。提供便捷的基于项目的规则管理。
3. 构建调试请求
便捷的模拟 http 请求,方便接口调试
4. 模拟低网速【mac only】
GPRS: 48kbit/s
Edge: 64kbit/s
3g: 348kbit/s
ADSL: 768kbit/s
WIFI: 2048kbit/s
5. 离线站点
将站点内容离线到本地,并自动代码格式化,便于查看
站点保存到当前文件夹 Sites 下
更多
项目官网:http://rehorn.github.io/livepool
github: https://github.com/rehorn/livepool
讨论&bug: https://github.com/rehorn/livepool/issues
糯米圈 2014 年 9 月 4 日
腾讯出品必属精品
无墨来点睛 2014 年 8 月 29 日
不错,最近也在找 mac 下支持代理形式的抓包工具,先收藏
517电影网 2014 年 8 月 11 日
神一样的东西呀,赶紧下载自己测试一下,哈哈
[懒懒小报-外刊第3期]React的Virtual DOM有什么秘密? 闪新闻 2014 年 8 月 8 日
[…] LivePool […]
于江水 2014 年 8 月 6 日
直观感觉上好像功能还没有 Charles 多,好像介绍的大部分 Charles 也有。建议增加更多 fiddle 有 charles 没有的功能,然后还可以根据国人习惯做一些交互的改良,这样用的人就多了。
blue68 2014 年 8 月 6 日
Error: Most middleware (like json) is no longer bundled with Express and must be installed separately. Please see https://github.com/senchalabs/connect#middleware.
at Function.Object.defineProperty.get (/Users/chaoqiangtian/tbj/livepool/livepool/node_modules/express/lib/express.js:89:13)
at Object. (/Users/chaoqiangtian/tbj/livepool/livepool/lib/webui/liveapp.js:37:21)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object. (/Users/chaoqiangtian/tbj/livepool/livepool/lib/livepool/notify.js:1:77)
at Module._compile (module.js:456:26)
源泉 2014 年 7 月 31 日
力顶!
L 2014 年 7 月 27 日
國人開發的仿 Fiddler 的 Chrome 插件
https://chrome.google.com/webstore/detail/fiddler/hkknfnifmbannmgkdliadghepbneplka?hl=en
TAT.Rehorn 2014 年 7 月 30 日
有了解~,谢谢推荐
svenzeng 2014 年 7 月 24 日
神器,顶!
TAT.Rehorn 2014 年 7 月 30 日
多谢曾哥捧场