AI News HubLIVE
站內改寫3 分鐘閱讀

Show HN:ProxyBoy——帶AI助手的Windows HTTP/HTTPS調試代理

ProxyBoy是一款Windows原生的中間人(MITM)HTTP/HTTPS代理工具,內置基於GitHub Copilot的AI助手。它可以捕獲、檢查和修改網絡流量,支持GraphQL感知、Protobuf解碼、網絡限速、斷點規則等功能。該項目受Proxyman啓發,是一個實驗性開源工具。

來源Hacker News AI作者: InfraScaler

ProxyBoy是一款專為Windows設計的HTTP/HTTPS調試代理工具,採用中間人(MITM)技術捕獲、檢查和修改網絡流量。它不僅提供了類似Charles Proxy、Fiddler或Proxyman的核心功能,還創新性地集成了基於GitHub Copilot SDK的AI助手,能夠通過對話方式分析流量、創建規則並協助調試網絡問題。

主要功能

  • 流量捕獲:自動生成SSL證書,攔截HTTP和HTTPS流量。
  • 請求/響應檢查器:查看頭部、正文(JSON、HTML、XML、圖像)、時序和元數據。
  • GraphQL感知:檢測GraphQL操作,顯示操作名稱,並按操作過濾流量。
  • Protobuf/gRPC解碼:使用.proto文件解碼Protobuf負載,缺失模式時回退到原始字段檢查。
  • 無緩存切換:剝離緩存驗證器並返回Cache-Control: no-store以強制獲取最新響應。
  • 網絡限速:使用預設或自定義的上傳、下載和延遲配置文件模擬慢速連接。
  • 請求合成器:從頭構建請求,通過ProxyBoy發送並內聯檢查捕獲結果。
  • 上游代理鏈:通過HTTP或SOCKS5上游代理轉發流量,支持繞過模式和憑證安全存儲。
  • Cookie檢查器:將請求Cookie和Set-Cookie頭部解析為結構化的可搜索視圖。
  • AI助手:基於GitHub Copilot的聊天面板,可搜索流量、分析模式、創建規則和導出數據。
  • 斷點規則:在半空中暫停請求/響應,檢查後轉發或丟棄。
  • 映射本地規則:用本地文件替代遠程響應以模擬API。
  • 映射遠程規則:將匹配的請求轉發到不同的上游主機,無需更改客户端。
  • 捕獲規則:在全部捕獲、白名單和黑名單模式間切換,控制記錄內容。
  • 系統代理集成:從應用內切換Windows系統代理的開啓/關閉。
  • HAR導出/導入:標準HAR格式,便於與其他工具共享捕獲內容。
  • 可配置列:顯示/隱藏列,按任何字段排序,時間戳。
  • 正文搜索:在流量過濾中包含請求和響應文本正文,進行更深層次的搜索。
  • WebSocket和SSE檢查:在流量詳情視圖中捕獲實時WebSocket幀和服務器發送事件。
  • 腳本規則:在應用內運行沙盒化JavaScript規則,無需離開即可重寫請求和響應。
  • 複製為cURL:右鍵點擊任何請求複製為cURL命令。
  • 鍵盤快捷鍵:快速訪問代理控制、HAR導入/導出、過濾和流量操作。
  • 主題模式:深色、淺色或系統主題選擇,支持實時切換。
  • 可分離的AI面板:將助手彈出到單獨窗口。

AI助手工具

內建的Copilot代理可調用以下工具:

  • getRecentTraffic:獲取最新捕獲的流。
  • searchTraffic:按URL、正文或頭部搜索流。
  • getErrorFlows:查找所有4xx/5xx響應。
  • getFlowDetails:深入查看特定請求。
  • createBreakpointRule:創建斷點以暫停匹配的流量。
  • createMapLocalRule:用本地文件模擬API端點。
  • exportHar:導出捕獲的流量為HAR。
  • controlProxy:啓動或停止代理引擎。

工具執行可設置為自動批准或每次調用需要手動確認。

技術棧

  • Electron + React + TypeScript
  • http-mitm-proxy:MITM代理引擎
  • @github/copilot-sdk:AI代理能力
  • sql.js:進程內SQLite持久化
  • Tailwind CSS:樣式
  • react-virtuoso:虛擬化流量列表
  • Electron Forge:構建和打包

開始使用

前提條件:Windows 10/11,Node.js 20+,GitHub Copilot訂閲(AI助手需要,代理本身無需)。

安裝與運行

git clone https://github.com/pjperez/proxyboy.git
cd proxyboy
npm install
npm start

構建安裝程序npm run build,輸出到out/make/

使用方式

  1. 點擊狀態欄中的播放按鈕或使用AI助手啓動代理。
  2. 在設置中切換“系統代理”,或手動配置瀏覽器/應用使用127.0.0.1:9090
  3. 點擊任意行查看請求/響應詳情。
  4. 使用斷點、映射本地或映射遠程視圖創建規則,或詢問AI助手。
  5. 點擊側邊欄中的機器人圖標或按Ctrl+Shift+A啓動AI助手。

SSL/HTTPS:需要信任ProxyBoy的根CA證書。轉到設置→安裝證書,這將把本地根CA安裝到Windows證書存儲中。安裝後重啓瀏覽器。證書在本地生成並存儲於用户配置文件中,不會離開您的機器。

已知限制

  • 僅Windows:系統代理集成使用Windows註冊表,但其他部分理論上可跨平台。
  • 斷點中無法編輯請求/響應:目前只能檢查和轉發/丟棄,尚不支持修改。
  • SSL檢查問題:某些啓用證書固定或HSTS預加載的網站可能無法通過代理。
  • Cloudflare挑戰:位於Cloudflare瀏覽器挑戰後的網站通常無法通過任何MITM代理。
  • 自動化測試非常有限:雖然已有少量測試,但覆蓋率遠未達到生產就緒。

致謝

  • Proxyman:主要靈感來源。如果需要成熟可靠的代理工具,強烈建議使用Proxyman。
  • Charles Proxy和Fiddler:該領域的其他優秀工具。
  • GitHub Copilot:驅動AI助手,並幫助構建了整個應用。

許可證

MIT許可證——可隨意使用。