An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.
Go to file
Matteo Luppi e047e76b22
Feature/wireguard mode (#6959)
* define first components

* Update CHANGELOG.md

* Autofix generated JS files and do not patch them in tests (#6910)

* autofix generated JS files and do not patch them in tests

* autofix: setup python

* [autofix.ci] apply automated fixes

* autofix: setup node

* add missing newline

* fixup

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* Update package-lock.json, bump esbuild (#6915)

update node version, bump esbuild

* Fix clipboard handling in safari (#6917)

* fix clipboard handling in safari

closes #6911, #6909

Co-authored-by: Can Yesilyurt <36952967+canyesilyurt@users.noreply.github.com>

* [autofix.ci] apply automated fixes

* update dependencies

---------

Co-authored-by: Can Yesilyurt <36952967+canyesilyurt@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* define first modes components

* adapt code to reuse checkbox component

* mitmproxy 10.3.1

* reopen main for development

* [autofix.ci] apply automated fixes

* improve mode toggle design

* remove inline style

* release script: add one less newline

* fix zstd decompression (#6921)

* fix zstd decompression (issue #6914)

* add our fix to CHANGELOG

* add explicit read_across_frames=True + move zstd test to test_encoding.py

---------

Co-authored-by: Maximilian Hils <git@maximilianhils.com>

* first attempt to make the modes functional

* [autofix.ci] apply automated fixes

* Update CHANGELOG.md

* web: Upgrade Redux (#6926)

* update redux and fix resulting test and type failures
* update prettier

* refactor code according to review

* [autofix.ci] apply automated fixes

* first prototype regular mode

* [autofix.ci] apply automated fixes

* Use upstream urwid again (#6929)

use upstream urwid again

* change name regular duck

* Add `HttpConnectedHook` and `HttpConnectErrorHook` (#6930)

* Add HttpConnectedHook and HttpConnectErrorHook

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* rewrite updateMode function and error handling regular mode

* remove label component

* add input field to local mode and fix onKeyDown issue

* add dropdown to reverse mode

* [autofix.ci] apply automated fixes

* change defualt string reverse dropdown

* add new logic to handle modes in the duck

* add local mode with no applications

* [autofix.ci] apply automated fixes

* regular mode is now persistent

* forgot recieve event in regular mode

* join receive and update event

* make local mode functional

* make wireguard mode functional

* [autofix.ci] apply automated fixes

* make reverse mode functional

* [autofix.ci] apply automated fixes

* fix bug reverse mode when refreshing

* fix bug local mode

* [autofix.ci] apply automated fixes

* fix old test

* implement first tests

* [autofix.ci] apply automated fixes

* make DNS mode listen for both UDP and TCP (#6912)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* remove wireguard and reverse modes

* change name function to set local applications

* remove error handling

* remove left over

* add some other review changes

* [autofix.ci] apply automated fixes

* release ci: strip "v" prefix from sigstore file

* fix addListen Addr function

* adjust reverse protocol attribute

* create proper method to parse the mode

* adjust passing applications to local mode

* fix onKeyDown listener and add new input field to local mode

* [autofix.ci] apply automated fixes

* remove leftover

* update tests

* [autofix.ci] apply automated fixes

* remove wireguard and reverse files

* remove additional state local mode

* adjust tests local mode

* update tests local mode

* update last tests modes

* [autofix.ci] apply automated fixes

* fix: OSError raised when ipv6 is disabled (#6942)

the function should return None in this case

* use fetchMock instead of jest.mock

this is slightly nicer because we are testing at the application boundary

* duck tests should use action creators and not manually construct actions

* move toggleLocal to fetchMock

* move updateMode and ModeState into utils

this avoids circular imports. utils may not be the perfect place, but much better than the circular imports

* nits

* [autofix.ci] apply automated fixes

* update tests regular and local mode

* [autofix.ci] apply automated fixes

* review changes tests

* [autofix.ci] apply automated fixes

* adjust parseMode issue

* [autofix.ci] apply automated fixes

* add first components for wireguard mode

* fix CI

* fix typo

* add tests to wireguard mode

* [autofix.ci] apply automated fixes

---------

Co-authored-by: Maximilian Hils <git@maximilianhils.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Can Yesilyurt <36952967+canyesilyurt@users.noreply.github.com>
Co-authored-by: mitmproxy release bot <noreply@mitmproxy.org>
Co-authored-by: Andras Spitzer <sendai@swordsaint.net>
Co-authored-by: Gaurav Jain <64748057+errorxyz@users.noreply.github.com>
Co-authored-by: Walt Chen <godsarmycy@gmail.com>
2024-06-26 13:07:27 +02:00
.github Sync `capture-tab` with `main` (#6943) 2024-06-21 23:09:31 +02:00
docs Sync `capture-tab` with `main` (#6943) 2024-06-21 23:09:31 +02:00
examples Update change_upstream_proxy.py (#6853) 2024-05-18 12:06:48 +02:00
mitmproxy Sync `capture-tab` with `main` (#6943) 2024-06-21 23:09:31 +02:00
release Sync `capture-tab` with `main` (#6943) 2024-06-21 23:09:31 +02:00
test Sync `capture-tab` with `main` (#6943) 2024-06-21 23:09:31 +02:00
web Feature/wireguard mode (#6959) 2024-06-26 13:07:27 +02:00
.gitattributes test dumpfiles: .bin -> .mitm 2021-02-03 19:27:15 +01:00
.gitignore fix display of error messages on early shutdown (#6719) 2024-03-07 20:41:26 +00:00
CHANGELOG.md Sync `capture-tab` with `main` (#6943) 2024-06-21 23:09:31 +02:00
CONTRIBUTING.md CONTRIBUTING.md: temporarily remove `--cov` 2023-12-02 08:37:37 +07: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 Remove Links to Slack Workspace (#6560) 2023-12-19 12:20:43 +00: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
pyproject.toml Sync `capture-tab` with `main` (#6943) 2024-06-21 23:09:31 +02:00

README.md

mitmproxy

Continuous Integration Status Codacy Badge autofix.ci: enabled 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