π Overview
Interceptify is a next-generation Man-In-The-Middle (MITM) proxy tool developed in Go. Designed for security researchers, penetration testers, and developers, it offers a robust platform to inspect and modify HTTP/HTTPS and HTTP/2 traffic on the fly.
Unlike traditional proxies, Interceptify focuses on modularity and performance. Its plugin-based architecture allows you to write custom logic in Go to manipulate traffic without recompiling the core engine. With a sleek, real-time web dashboard, you can visualize interception usage like never before.
π Key Features
- π HTTPS/TLS MITM: Seamlessly intercept encrypted traffic with automatic, dynamic certificate generation.
- β‘ HTTP/2 Support: Native support for HTTP/2 multiplexing, ensuring modern web apps work flawlessly.
- π Real-time Dashboard: A stunning, glassmorphism-inspired web UI that monitors traffic in real-time using Server-Sent Events (SSE).
- π§© Modular Plugin System: Extend functionality with simple Go plugins. Inject headers, drop packets, or modify payloads with just a few lines of code.
- π» Cross-Platform: A single binary that runs on macOS, Linux, and Windows.
- π Live Logging: Insightful console logs and dashboard metrics keep you informed of every byte transferred.
π οΈ Installation
Option 1: Using go install (Recommended)
The easiest way to install Interceptify is using the Go toolchain:
go install github.com/ismailtsdln/interceptify@latest
Ensure your $(go env GOPATH)/bin is in your system's PATH.
Option 2: Build from Source
Requirements: Go 1.25+
git clone https://github.com/ismailtsdln/interceptify.git
cd interceptify
go build -o interceptify main.go
π₯ Quick Start
1. Start the Proxy
Launch Interceptify with default settings (listening on 127.0.0.1:8080):
interceptify start
Or specify a custom address and port:
interceptify start --address 0.0.0.0 --port 9090
Set your browser or system proxy to 127.0.0.1:8080.
3. Trust the CA Certificate
To intercept HTTPS traffic without warnings:
- Run Interceptify once to generate the CA.
- Locate the certificate at
~/.interceptify/ca.crt.
- Import this file into your OS or browser's trusted root store.
4. Access the Dashboard
Open your web browser and navigate to:
π http://interceptify.local (or http://localhost:8080)
π§© Plugin Development
Interceptify is designed to be extensible. You can easily write plugins to manipulate traffic.
Example: A Simple Header Injector
type MyPlugin struct {
plugins.BasePlugin
}
func (p *MyPlugin) Name() string { return "HeaderInjector" }
func (p *MyPlugin) OnRequest(req *http.Request) (*http.Request, *http.Response) {
req.Header.Set("X-Intercepted-By", "Interceptify")
return req, nil
}
πΊοΈ Roadmap
- Basic HTTP/HTTPS Interception
- HTTP/2 Support
- Web Dashboard (Real-time SSE)
-
go install Support
- WebSocket Interception
- Response Replay & Fuzzing
- Scriptable Python/Lua Plugins
π€ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature)
- Commit your changes (
git commit -m 'Add some AmazingFeature')
- Push to the branch (
git push origin feature/AmazingFeature)
- Open a Pull Request
βοΈ Legal Disclaimer
Interceptify is for educational and authorized security testing purposes only.
The authors are not responsible for any misuse or damage caused by this tool. tailored for ethical hacking and debugging.
π License
Distributed under the MIT License. See LICENSE for more information.