TCP Intercept Proxy is a lightweight interception proxy designed to sit between a client and a remote server.
It allows you to inspect, intercept, and modify raw TCP traffic in real time, with a modern web-based GUI.
This project was generated with AI to experiment with its capabilities.
-
TLS on both sides
- Acts as a TLS server for incoming clients (self-signed certificates generated automatically if missing).
- Connects to the remote server as a TLS client.
- Traffic is decrypted inside the proxy and displayed in cleartext.
-
Intercept mode
- When enabled, client → server messages are paused and can be edited in both hex and ASCII before forwarding.
- When disabled, traffic is logged and forwarded immediately.
-
History log
- Every message is recorded after being sent.
- Modified messages are highlighted for easy identification.
- CONNECT events are logged.
-
Message detail view
- Hex and ASCII dumps side by side.
- ASCII view respects newlines.
- Scrollable panels with highlighted differences between original and modified payloads.
-
Web GUI
- Dark theme interface built with Flask.
- Real-time intercept editor with dual cursors (hex ↔ ASCII sync).
- Filter and search through history.
- Python 3.9+
- OpenSSL (for certificate generation on Linux)
Clone the repository:
git clone https://github.com/your-username/tcp-intercept-proxy.git
cd tcp-intercept-proxyInstall dependencies:
pip install flask
Run the proxy:
python proxytcp.py [--tls] <listen_host:listen_port> <remote_host:remote_port> [--gui-host 127.0.0.1] [--gui-port 5000]