Overview
Vigolium’s server mode includes a built-in transparent HTTP proxy that passively records all traffic flowing through it. This lets you point any HTTP-capable tool at Vigolium and have its traffic automatically ingested for scanning.Starting the Proxy
Start the server with--ingest-proxy-port to enable the transparent proxy alongside the REST API:
- REST API on port
9002(default) - HTTP proxy on port
9003
How It Works
The proxy sits between your tools and the target. All HTTP traffic passing through is automatically recorded in the database as HTTP records, ready for scanning. By default, HTTPS CONNECT tunneling is passed through without recording — the proxy cannot inspect encrypted traffic without acting as a MITM, so TLS tunnels are forwarded transparently. To record HTTPS too, enable MITM interception.HTTPS Interception (MITM)
Add--proxy-mitm to intercept HTTPS through the ingest proxy using a generated CA. TLS traffic is decrypted, recorded as HTTP records, and (with -S) scanned — just like plain HTTP.
~/.vigolium/ca/vigolium-ca.pem). Your client must trust this CA or HTTPS requests will fail certificate validation. Install it into your OS/browser trust store, or point your tool at it directly:
| Flag | Description |
|---|---|
--proxy-mitm | Intercept HTTPS through --ingest-proxy-port using a generated CA so TLS traffic is recorded (and scanned with -S). |
--proxy-insecure | When intercepting HTTPS, skip verification of the upstream server’s TLS certificate (useful for self-signed targets). |
--export-ca <path> | Write the ingest-proxy MITM CA certificate to <path> and exit (generates the CA if needed). Use this to distribute the CA to clients ahead of time. |
Only trust the Vigolium MITM CA on machines you control during testing, and remove it afterward — any party holding the CA private key can forge TLS certificates for those clients.
Usage Examples
curl
httpx
nuclei
Browser
Configure your browser’s HTTP proxy tolocalhost:9003. In most browsers this is under network or proxy settings. For Firefox, go to Settings > Network Settings > Manual proxy configuration and set the HTTP Proxy to localhost with port 9003.
Querying Ingested Data
After routing traffic through the proxy, use the REST API to inspect what was recorded and view any scan findings.List HTTP Records
List Findings
Server Info
/server-info is public — no Authorization header needed. Response:
