【開(kāi)源項(xiàng)目】LivePool:基于 NodeJs 的跨平臺(tái) Web 抓包替換工具
LivePool 是一個(gè)基于 NodeJS,類似 Fiddler 能夠支持抓包和本地替換的 Web 開(kāi)發(fā)調(diào)試工具,是 Tencent AlloyTeam 在開(kāi)發(fā)實(shí)踐過(guò)程總結(jié)出的一套的便捷的 WorkFlow 以及調(diào)試方案。
背景
在 Windows 平臺(tái)上,Fiddler 作為一款非常便捷好用的 Web 調(diào)試工具,深受廣大開(kāi)發(fā)者的喜愛(ài)。而在 Mac 上,類似的工具,比如 Charles 等,收費(fèi)并且功能非常有限,著實(shí)讓很多陸續(xù)把工作環(huán)境遷移到 Mac 的小伙伴剛到非常的不方便。難道真的要在 Mac 上裝個(gè) Windows 或者開(kāi)虛擬機(jī)跑 Fiddler 嗎?
Alloyteam 其實(shí)很早就開(kāi)始實(shí)踐跨平臺(tái)的抓包和替換工具,基于 QT 的 Rythem,功能上基本能滿足要求,但是由于后續(xù)沒(méi)有熟悉 QT 平臺(tái)的人力投入,沒(méi)有持續(xù)更新和支持。出于折騰精神,決定用比較熟悉的 NodeJS 進(jìn)行開(kāi)發(fā)一款類似的代理替換工具,并嘗試借助 Web 便捷快速的 UI 能力搭建更美觀強(qiáng)大的管理界面。
特性
- 基于 NodeJS, 跨平臺(tái)
- 便捷的 UI 界面,跟 Fiddler 類似,降低學(xué)習(xí)成本
- 支持 http 抓包和本地替換調(diào)試,Https/WebSockets 直接代理轉(zhuǎn)發(fā),暫不支持本地替換
- 基于項(xiàng)目的替換規(guī)則管理,方便高效,規(guī)則支持拖曳排序
- 支持基于請(qǐng)求路徑的本地文件替換,支持基于請(qǐng)求路徑的路由轉(zhuǎn)發(fā)(host 配置)
- 替換類型支持:文件/文件夾替換,combo合并替換,qzmin替換(批量combo),delay延時(shí)等
- 支持自動(dòng)設(shè)置系統(tǒng)代理
- 支持規(guī)則過(guò)濾,只顯示關(guān)注的請(qǐng)求
- 提供構(gòu)建 http get/post 請(qǐng)求界面,方便接口調(diào)試
- 特色功能:模擬gprs/3g等低網(wǎng)速(mac only)
- 特色功能:支持離線站點(diǎn)到本地,并自動(dòng)代碼格式化
主要功能
1. 抓包分析
實(shí)現(xiàn)原理:通過(guò)攔截系統(tǒng) web 代理將瀏覽器或者其他應(yīng)用的請(qǐng)求轉(zhuǎn)發(fā)到 Livepool,Livepool 通過(guò)攔截獲取 http 請(qǐng)求的相關(guān)信息,比如 http 頭,內(nèi)容等,并將結(jié)果緩存下來(lái),便于后面進(jìn)行分析。
2. 本地替換和規(guī)則管理
實(shí)現(xiàn)原理:livepool 攔截到請(qǐng)求后,對(duì)請(qǐng)求的路徑進(jìn)行分析,將命中規(guī)則的請(qǐng)求進(jìn)行適當(dāng)處理,替換為對(duì)應(yīng)內(nèi)容。目前替換類型支持:文件/文件夾替換,combo合并替換,qzmin替換(批量combo),delay延時(shí)等。提供便捷的基于項(xiàng)目的規(guī)則管理。
3. 構(gòu)建調(diào)試請(qǐng)求
便捷的模擬http請(qǐng)求,方便接口調(diào)試
4. 模擬低網(wǎng)速【mac only】
- GPRS: 48kbit/s
- Edge: 64kbit/s
- 3g: 348kbit/s
- ADSL: 768kbit/s
- WIFI: 2048kbit/s
5. 離線站點(diǎn)
將站點(diǎn)內(nèi)容離線到本地,并自動(dòng)代碼格式化,便于查看
站點(diǎn)保存到當(dāng)前文件夾 Sites 下
更多
項(xiàng)目官網(wǎng):http://rehorn.github.io/livepool
github: https://github.com/rehorn/livepool
討論&bug: https://github.com/rehorn/livepool/issues
還在內(nèi)測(cè),未經(jīng)過(guò)大量測(cè)試,歡迎提建議,star & fork & issue