A Modern, Modular, and High-Performance MITM Framework
Intercept, Analyze, and Manipulate Network Traffic with Ease.
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.
- 🔒 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.
The easiest way to install Interceptify is using the Go toolchain:
go install github.com/ismailtsdln/interceptify@latestEnsure your $(go env GOPATH)/bin is in your system's PATH.
Requirements: Go 1.25+
git clone https://github.com/ismailtsdln/interceptify.git
cd interceptify
go build -o interceptify main.goLaunch Interceptify with default settings (listening on 127.0.0.1:8080):
interceptify startOr specify a custom address and port:
interceptify start --address 0.0.0.0 --port 9090Set your browser or system proxy to 127.0.0.1:8080.
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.
Open your web browser and navigate to:
👉 http://interceptify.local (or http://localhost:8080)
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
}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
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.
Distributed under the MIT License. See LICENSE for more information.
Made with ❤️ by Ismail Tasdelen