这款工具开源已经有些时间了,目前在master已经有188个提交记录,已经过百的提交记录应该还算比较积极在更新这个项目了,我们来看张图片也是他们对这个项目的编码频率。
编码频率
阿里巴巴这样的大公司,最不缺的就是人,最缺的也是人,比如他们缺的是顶级的工程师,不缺的是大量的初级工程师,该公司旗下活跃最高的产品比如淘宝,支付宝都是需要大量的技术人员参与开发。
今天我们的主角就是一款在mac windwos上都能运行的抓包工具,可以说是一款LightProxy 全能代理抓包工具,用了这个工具你就不想再切换其他工具了。
LightProxy 是 IFE 团队开发的一款基于 Electron 和 whistle 的开源桌面代理软件,致力于让前端开发人员能够精确的掌握自己的开发环境,通过 HTTP 代理使用规则转发、修改每一个请求和响应的内容。下载地址:https://gw.alipayobjects.com/os/LightProxy/LightProxy-Setup.exe
lightproxy软件界面
因为代理工具能够让你随心所欲的掌控自己当前的开发环境。
开发环境是影响研发效能最大的一个因素之一,不可用的环境,无法完成的部署,不稳定的上游环境等等都让一个非常简单的需求轻松消耗掉数天的时间。
当开发环境陷入一种不健康的状态时,开发者就更容易破罐子破摔。宁可忍受每改一行代码重新手动 build 几分钟再开发也不愿意花时间让 watch 可用,然后发现自己越来越忙乱。
当你的接口和页面突然不能工作时,代理工具可以快速 mock 一个。当你想测试一下线上页面改动可能会带来的后果,代理工具可以让你不经过复杂的发布过程快速在本地看到想要的效果。
第一个肯定是希望环境能够稳定,别搞一下就服务器繁忙,打不开访问不了等等,稳定的环境可以让我们快速定位网络问题出现的原因。
很多项目的线上环境极为复杂,为了解决日常开发中的问题,也会有一个线下的 DEMO 页面,最后开发完再搬到线上。
这种方式相对来说较为稳定且能快速验证,但比较凸显的问题在于和线上并不一致。开发中会存在很多 if-else 的逻辑,例如最常见的:
const API_BASE = utils.isDaily ? 'http://localhost:7001:': 'https://xxxx/';
这种情况也往往导致 Bug 非常难以被定位,最后逼着开发者退化到在线上环境低效的进行 debug。
开发者对于当前的环境应该是有确切认知的,而不是一直不停的怀疑自己的配置到底有没有生效,命中的是不是又是缓存等等。
有些情况下我们利用 hosts 切换工具来进行联调,但在切完 hosts 后却又不得不来回确认自己的切换是否生效,清楚 Chrome 的 DNS Cache,清楚 Socket 之类的。
这种非确定性不但提高了开发者心智负担,而且也会导致 Bug 难以定位。
在启动 LightProxy 后,系统代理就会被自动设置到 LightProxy 上。
点击主界面的 Whistle 标签页就能看到 whistle 提供的抓包界面
当我们访问 https://www.bing.com 时,就能在界面上看到相应的请求细节。
如果需要对手机的网络请求进行抓包,请参考 无线代理
注意:LightProxy 默认不在局域网可见,对手机抓包必须要点一下手机代理 Tab 才会开启局域网可见
官网地址:https://lightproxy.org/zh-CN