【開源項目】LivePool:基於 NodeJs 的跨平臺 Web 抓包替換工具

LivePool

LivePool 是一個基於 NodeJS,類似 Fiddler 能夠支持抓包和本地替換的 Web 開發調試工具,是 Tencent AlloyTeam 在開發實踐過程總結出的一套的便捷的 WorkFlow 以及調試方案。

背景

在 Windows 平臺上,Fiddler 作爲一款非常便捷好用的 Web 調試工具,深受廣大開發者的喜愛。而在 Mac 上,類似的工具,比如 Charles 等,收費並且功能非常有限,着實讓很多陸續把工作環境遷移到 Mac 的小夥伴剛到非常的不方便。難道真的要在 Mac 上裝個 Windows 或者開虛擬機跑 Fiddler 嗎?

Alloyteam 其實很早就開始實踐跨平臺的抓包和替換工具,基於 QT 的 Rythem,功能上基本能滿足要求,但是由於後續沒有熟悉 QT 平臺的人力投入,沒有持續更新和支持。出於折騰精神,決定用比較熟悉的 NodeJS 進行開發一款類似的代理替換工具,並嘗試藉助 Web 便捷快速的 UI 能力搭建更美觀強大的管理界面。

 

特性

  1. 基於 NodeJS, 跨平臺
  2. 便捷的 UI 界面,跟 Fiddler 類似,降低學習成本
  3. 支持 http 抓包和本地替換調試,Https/WebSockets 直接代理轉發,暫不支持本地替換
  4. 基於項目的替換規則管理,方便高效,規則支持拖曳排序
  5. 支持基於請求路徑的本地文件替換,支持基於請求路徑的路由轉發(host 配置)
  6. 替換類型支持:文件/文件夾替換,combo合併替換,qzmin替換(批量combo),delay延時等
  7. 支持自動設置系統代理
  8. 支持規則過濾,只顯示關注的請求
  9. 提供構建 http get/post 請求界面,方便接口調試
  10. 特色功能:模擬gprs/3g等低網速(mac only)
  11. 特色功能:支持離線站點到本地,並自動代碼格式化

主要功能

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

 

還在內測,未經過大量測試,歡迎提建議,star & fork & issue

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章