Transparent gateway interception
Redirect client HTTP and HTTPS flows with iptables NAT while the Linux host acts as the default gateway.
SSLInspectingRouter runs on a Linux gateway and gives you visibility into authorized HTTP and HTTPS traffic: capture, inspect, route, rewrite, and export flows from one focused dashboard.
Built for lab gateways and authorized networks where traffic visibility matters more than decoration.
Redirect client HTTP and HTTPS flows with iptables NAT while the Linux host acts as the default gateway.
Acts as a local CA and generates host certificates on demand for HTTPS inspection.
Inspect traffic, manage policy, control egress, and operate runtime settings from a web UI.
Store request and response details in SQLite, with optional truncation or body artifact storage.
Modify HTTP and HTTPS responses on the fly using JSON rewrite rules with automatic reload.
Switch outbound traffic through a WireGuard tunnel or Tor SOCKS5 from the Control Center.
Export decrypted traffic into PCAP format for deeper offline packet analysis.
Drop or bypass domains, IPs, and CIDRs, or run allowlist mode to inspect traffic only from selected source IP addresses.
Clients use the Linux host as their default gateway. The router redirects HTTP and HTTPS locally, decrypts where configured, processes traffic, and forwards it upstream.
HTTP on port 80 and HTTPS on port 443 are redirected by iptables into local handlers.
Traffic can be decrypted, logged, matched against policies, rewritten, or bypassed.
Requests are forwarded directly, through WireGuard, or through Tor depending on runtime egress mode.
# Install Go for your distro first, then clone
git clone https://github.com/dmitryporotnikov/SSLInspectingRouter.git
cd SSLInspectingRouter
# Enable forwarding, check dependencies, build binary
sudo ./scripts/setup.sh
# Start the router with the dashboard on port 3000
sudo ./sslinspectingrouter -web :3000
# Open in your browser
http://<router-ip>:3000
# Default bootstrap credentials — change immediately
admin / admin123
SSLInspectingRouter performs TLS/SSL man-in-the-middle interception. Use it only in authorized labs, personal networks, test benches, or corporate environments with proper consent and governance.
The backend exposes a versioned API for health, auth, runtime status, policies, traffic, rewrites, and admin users.
/api/v1/health/api/v1/auth/login/api/v1/status/api/v1/status/api/v1/traffic/api/v1/traffic/api/v1/policy/api/v1/policy/api/v1/rewrites/api/v1/rewrites/{id}Use SSLInspectingRouter when you need realistic routed traffic behavior plus application-layer visibility.
Observe, document, and export decrypted HTTP/HTTPS flows in an isolated lab environment.
Reproduce client traffic, inspect payloads, and test response rewrites without changing application code.
Compare direct, WireGuard, and Tor egress behavior while retaining dashboard visibility.
Clone the repository, run the setup script, start the web dashboard, and begin observing authorized traffic from a single Linux gateway.