An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.
Go to file
Fabio Valentini 2d495c093c
add transparent server mode based on WireGuard (#5562)
* add mode spec for WireGuard mode

* add WireGuard server implementation

* remove coverage excludes

* simplify wireguard spec

* lint!

* remove superfluous tests

* bump to mitmproxy_wireguard 0.1.1

* proxy/test_mode_specs: remove unused import

* fix wireguard server mode

* WireGuard: move keyfile gen into `.start()`

This way any file format errors result in `.last_exception` being set.

* fixup UDP support

* bump to mitmproxy_wireguard v0.1.2

This release fixes TCP connections which were broken in v0.1.1.

* fix crash handler

* add simple test for WireGuard server instances

* bump to mitmproxy_wireguard v0.1.5 and fix launching wg-test-client

* fixups

 - monkeypatch `handle_client` instead of the handlers.
 - fix OS detection
 - ctx.log -> logging

* nits

* bump to mitmproxy_wireguard 0.1.6 for fixed test client

* move WireGuardDatagramTransport into dedicated module

this allows us to exclude it from individual coverage, which makes no sense.
Also improve type checking to make sure that it's a full replacement.

* cover WireGuardServerInstance.is_running property with tests

* enable specialized server instance creation

* test wireguard conf generation

* deduplicate tcp/udp handlers

* update CHANGELOG

Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2022-09-18 17:15:15 +02:00
.github Magisk module onboarding for Android (#5547) 2022-08-23 14:52:11 +00:00
docs don't remove `add_log` but deprecate it. 2022-09-18 13:45:37 +02:00
examples switch to stdlib logging 2022-09-17 17:28:35 +02:00
mitmproxy add transparent server mode based on WireGuard (#5562) 2022-09-18 17:15:15 +02:00
release Docker: assume uid of who holds permissions (#5550) 2022-09-08 17:42:09 +00:00
test add transparent server mode based on WireGuard (#5562) 2022-09-18 17:15:15 +02:00
web fix issue #5198: mitmWeb crash (#5507) 2022-09-09 17:27:25 +02:00
.gitattributes test dumpfiles: .bin -> .mitm 2021-02-03 19:27:15 +01:00
.gitignore update kaitai definitions 2022-07-29 16:13:15 +02:00
CHANGELOG.md add transparent server mode based on WireGuard (#5562) 2022-09-18 17:15:15 +02:00
CONTRIBUTING.md drop support for Python 3.8 2022-04-26 13:53:04 +02:00
LICENSE GPLv3 -> MIT 2013-03-18 08:37:42 +13:00
MANIFEST.in remove pathod and pathoc 2020-12-13 20:21:11 +01:00
README.md StackOverflow -> GitHub Discussions 2021-11-16 10:26:38 +01:00
SECURITY.md Create SECURITY.md 2021-09-13 16:34:33 +02:00
codecov.yml remove `release/` from coverage 2022-07-25 01:39:04 +02:00
setup.cfg add transparent server mode based on WireGuard (#5562) 2022-09-18 17:15:15 +02:00
setup.py add transparent server mode based on WireGuard (#5562) 2022-09-18 17:15:15 +02:00
tox.ini [requires.io] dependency update on main branch (#5573) 2022-09-10 17:05:17 +02:00

README.md

mitmproxy

Continuous Integration Status Coverage Status Latest Version Supported Python versions

mitmproxy is an interactive, SSL/TLS-capable intercepting proxy with a console interface for HTTP/1, HTTP/2, and WebSockets.

mitmdump is the command-line version of mitmproxy. Think tcpdump for HTTP.

mitmweb is a web-based interface for mitmproxy.

Installation

The installation instructions are here. If you want to install from source, see CONTRIBUTING.md.

Documentation & Help

General information, tutorials, and precompiled binaries can be found on the mitmproxy website.

mitmproxy.org

The documentation for mitmproxy is available on our website:

mitmproxy documentation stable mitmproxy documentation dev

If you have questions on how to use mitmproxy, please use GitHub Discussions!

mitmproxy discussions

Contributing

As an open source project, mitmproxy welcomes contributions of all forms.

Dev Guide

Also, please feel free to join our developer Slack!

Slack Developer Chat