HTTPeep v0.9.0
HTTPeep v0.9.0
Released against v0.8.16..HEAD.
What's New
WebSocket Capture & Inspection
- Added end-to-end WebSocket frame capture: the proxy now relays, parses, and persists individual frames for every upgraded WebSocket session.
- Introduced a dedicated WebSocket Messages panel in the session detail view, with a frame details drawer for inspecting payloads and per-direction statistics (client ↔ server frame counts and byte volumes).
- Refined the request table to surface WebSocket frame counts in the relevant cell, so live and historical sessions show traffic at a glance.
- Added a new
websocket_framesstorage table and migration so captured frames survive across app restarts and are available for later inspection and replay tooling. - Extended the desktop bindings and Tauri command surface with WebSocket-specific commands, exposing frames, directional counts, and frame metadata to the UI in a type-safe way.
Session Details
- Added a
dns_envfield to session detail responses so the desktop UI and bundled CLI can show which DNS environment each session resolved against. - Refactored session detail handling for both the desktop app and the bundled CLI/MCP, producing a single shared model and cleaner serialization across surfaces.
- Bundled CLI gained a dedicated
session_detailMCP module, giving CLI/MCP consumers the same rich session detail payload (including DNS env, hooks, and protocol metadata) that the desktop UI uses.
Proxy Reliability
- Strengthened upstream self-connection detection across the HTTP/1, HTTP/2, HTTPS-CONNECT, and rule-first engines. The proxy now actively rejects upstream targets that would loop back into itself, preventing infinite forwarding loops and the runaway CPU/socket usage that could follow.
Bug Fixes
Session List & Details
- Fixed a regression where WebSocket sessions did not consistently update their frame counts and direction summaries in the live session list while traffic was still streaming.
Proxy & Connection Handling
- Resolved a class of hangs and error storms that occurred when a client (mis)configured HTTPeep as its own upstream, by detecting the self-connection at the engine layer and returning a clean rejection instead of recursing.
Notes
- The new WebSocket capture pipeline introduces a database migration; first launch on an existing install will apply the
2026-06-10-000011-add-websocket-framesmigration before captures become available.