feat: add HTTP forward proxy module with MITM support#327
Merged
butschster merged 2 commits intomasterfrom Apr 4, 2026
Merged
Conversation
Add a new TCP module that acts as an HTTP forward proxy, capturing full request/response pairs and storing them as http-dump events. Supports HTTPS via MITM with in-memory CA certificates. Clients only need InsecureSkipVerify — no CA install required.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds a new HTTP forward proxy module (
modules/proxy/) that intercepts HTTP/HTTPS traffic, forwards it to the real destination, and captures full request + response pairs ashttp-dumpevents with additionalproxy: true,duration_ms, andresponsefields.Why
Enables language-agnostic HTTP traffic debugging — any HTTP client in any language can set Buggregator as its proxy to see all outgoing requests and their responses in the UI.
How
modules/proxy/with 4 files: module, server (tcp.Starter), certgen (in-memory CA), payload builderInsecureSkipVerify/verify: false— no CA certificate installation neededhttp-dumptype with extraresponse,proxy,duration_msfieldsPROXY_ADDRenv var, default:8080, added toTCPConfigmain.goalongside existing TCP modulesTesting
go build ./...— compiles cleango test ./... -count=1— all tests passgo vet ./...— no issueshttp://localhost:8080, send requests, verify events appear in UI