Commit Graph

774 Commits

Author SHA1 Message Date
Thomas Kriechbaumer 2c1802692d
options: add request_client_cert to enable mutual TLS (#7175)
* options: add request_client_cert to enable mutual TLS

This capability was already built-in but hard-coded to be disabled. Making it configurable as option (defaulting to off) enables mTLS connections between clients and mitmproxy. If true, mitmproxy will send a TLS `CertificateRequest` message to the client during the TLS handshake, upon which a client needs to present a client certificate to mitmproxy to successfully establish an mTLS connection.

This option can be used together with the `client_certs` option to also establish an mTLS connection between mitmproxy and the upstream server. In this case, mitmproxy needs to have a full client cert, including matching private key, that is trusted and accepted by the upstream server. This is a common scenario with MQTT or IoT connections.

Example usage:
$ mitmproxy --set request_client_cert=True --set client_certs=some_directory/

With `some_directory/` containing a `mqtt.example.com.pem` x509 certificate file (including private key).

This allows a client connecting using mTLS, to be intercepted by mitmproxy, which is itself establishing an mTLS connection to the `mqtt.example.com` upstream server. Restricting the client_certs using a directory and PEM files named after the upstream domain, narrows down the mTLS requirement to this single domain, while leaving all other traffic through mitmproxy untouched (normal TLS without client certs).

* add CHANGELOG entry

* docs++

* swap section order, re-add example

---------

Co-authored-by: Maximilian Hils <git@maximilianhils.com>
Co-authored-by: Maximilian Hils <github@maximilianhils.com>
2024-09-18 19:48:41 +02:00
Matteo Luppi 9740477e8b
Feature/local applications selector (#7141)
* add refresh icon

* first draft drop down

* create logic to store and display current applications + fix old tests

* [autofix.ci] apply automated fixes

* filter applications based on the input

* add classname prop to popover

* add icon classname to popover

* change design local dropdown and applications list

* adjust focus popover and dropdown

* fetch all current processes

* [autofix.ci] apply automated fixes

* add icon while fetching

* adjust icon rendering

* remove icon from interface

* add possibility to remove application

* remove checkmarks popover

* fix icon application

* [autofix.ci] apply automated fixes

* move popover to the bottom

* fix clasname test

* loading lazy img

* move processes to a redux state

* change naming variables

* [autofix.ci] apply automated fixes

* leftover

* adjust naming style

* update snapshot

* move the current processes in a dedicated redux state

* not use display_name anymore for spec

* [autofix.ci] apply automated fixes

* add comments

* add tests local dropdown

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-09-09 13:38:35 +02:00
Matteo Luppi 8195d686ce
improve UX reverse dropdown (#7164)
* use select

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-09-06 11:00:44 +02:00
Matteo Luppi 59129de1fb
Improve design capture page (#7160)
* improve style capture page

* use left-border

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-09-04 16:23:06 +02:00
Matteo Luppi 401b5c0198
add popover to reverse mode (#7161) 2024-09-04 15:23:37 +02:00
Matteo Luppi d18e21fb76
Click on mode's label to activate it (#7153)
* add click event on label to activate mode

* use <label> tag instead of <span>
2024-09-04 15:01:09 +02:00
Matteo Luppi 92faf3959f
Feature/dns and upstream (#7110)
* move reverse row into reverse component

* add upstream mode

* update test state

* add dns mode

* add tests

* [autofix.ci] apply automated fixes

* review changes

* [autofix.ci] apply automated fixes

* wording nits

* nit

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2024-08-28 19:20:49 +02:00
Gaurav Jain 6bb536e0ff
add addon to update the ports in alt-svc header in reverse mode (#7093)
* Add addon to update the ports in alt-svc header to the port that we're listening on

* [autofix.ci] apply automated fixes

* Add suggested changes

* Add tests

* [autofix.ci] apply automated fixes

* mypy

* style

* [autofix.ci] apply automated fixes

* Add CHANGELOG entry

* [autofix.ci] apply automated fixes

* nits

* [autofix.ci] apply automated fixes

* nit: improve option wording

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2024-08-17 16:20:31 +00:00
Matteo Luppi be4ba1153c
add popover to socks and transparent (#7108)
add popover
2024-08-15 19:35:24 +02:00
Matteo Luppi aa7a912d89
Feature/popover modes (#7078)
* create UI popover for mode configurations

* add listen_host support to regular mode

* add listen_host, port and path to wireguard mode

* leftover

* [autofix.ci] apply automated fixes

* adapt popover to new rtk logic

* update snapshots

* use popover api

* [autofix.ci] apply automated fixes

* popovers: simplify css, make popover render ok on browsers without anchor support

* fix tests

* [autofix.ci] apply automated fixes

* coverage++

* doc++

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
Co-authored-by: Maximilian Hils <github@maximilianhils.com>
2024-08-15 11:30:41 +02:00
Matteo Luppi c8cbb71f56
Feature/socks and transparent modes (#7100)
* add transparent mode

* add tests transparent

* add socks mode

* update tests socks

* [autofix.ci] apply automated fixes

* review changes

* adapt socks and transparent to new server status logic

* review changes

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-08-15 11:18:23 +02:00
Maximilian Hils 30e7590ba3
Capture tab nits (#7102)
* capture tab: style 'add' button

* capture tab: improve message during mode startup

* capture tab: make first reverse proxy irremovable

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-08-14 16:54:25 +02:00
Matteo Luppi 51b45b8599
Display current status for each mode (#7097)
* display current status for each mode

* review changes

* update snapshots

* update tests

* [autofix.ci] apply automated fixes

* fix bug

* use type

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-08-14 15:48:36 +02:00
Matteo Luppi 0f42f00baa
hide local mode on linux in mitmweb (#7094)
* hide local mode on linux

* expose platform from the server

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-08-12 18:14:38 +02:00
Maximilian Hils 04cd12b742
Mode Reducer: port to redux toolkit api (#7089)
* wip

* change backend state to spec -> ServerInfo mapping, add types

* migrate regular and reverse proxy modes to redux toolkit

* fixups

* move spec getter out of ducks

* move default reverse server config

* adapt tests for regular mode

* [autofix.ci] apply automated fixes

* update tests reverse

* getSpec test into utils

* update wireguard mode using rtk

* update tests wireguard

* leftover

* [autofix.ci] apply automated fixes

* adapt local mode to rtk

* update last tests

* [autofix.ci] apply automated fixes

* add tests error handling

* unify state update logic for modes with a single server

* review changes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Matteo Luppi <100372313+lups2000@users.noreply.github.com>
2024-08-08 22:11:57 +02:00
Matteo Luppi f32509da8b
Feature/multiple reverse servers (#7029)
* add button to add new server (just design)

* adjust font weight

* defining interfaces for handling multiple servers

* [autofix.ci] apply automated fixes

* use index to access single reverse server

* handle single errors

* [autofix.ci] apply automated fixes

* first prototype: still not working as expected when changing the order of the servers

* almost found a solution using the map

* remove the map, using a different approach

* extract listen address helper

* move off includeModeState

* simplify reverse proxy updates

* add deletion single reverse config

* update tests

* [autofix.ci] apply automated fixes

* update tests

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2024-08-06 21:18:23 +02:00
Matteo Luppi 66806740f3
Add listen_host and listen_port to wireguard and listen_host to regular (#7086)
* create functions to set listen host and port to wireguard mode

* update tests wireguard

* add listen host to regular
2024-08-06 17:42:26 +02:00
Maximilian Hils 091399f811
Add experimental option for HTTP/3 in transparent mode (#7037)
* add experimental option for HTTP/3 in transparent mode

* fix test

* fix next layer selection for raw quic

* tests++

* remove leftover constant
2024-07-25 17:29:04 +05:30
Maximilian Hils fa1633842a
web: add index column (#7039)
* web: add index column

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-07-25 12:07:34 +02:00
Gaurav Jain 317f5b9dce
Support all query types in DNS mode (#6975)
* Use mitmproxy_rust's getaddrinfo to resolve domain names

* Use mitmproxy.DnsResolver for A/AAAA queries and forward other queries to dns server

* [autofix.ci] apply automated fixes

* Add suggested changes

* [autofix.ci] apply automated fixes

* nits

* lazy-load resolver

* fix lookup of non A/AAAA records

* bump required mitmproxy_rs version

* [autofix.ci] apply automated fixes

* Add tests

* Update CHANGELOG

* [autofix.ci] apply automated fixes

* Fix tests

* [autofix.ci] apply automated fixes

* Fixup

* Fixup

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2024-07-16 17:31:11 +02:00
Pet Sneakers 71d7b3d6e7
Include Host header with CONNECT requests. Fixes #7019. (#7021)
* Include Host header with CONNECT requests. Fixes #7019.

* [autofix.ci] apply automated fixes

* Update CHANGELOG

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-07-16 15:43:11 +02:00
Matteo Luppi 9c99bf4485
Feature/single reverse mode (#7012)
* add reverse mode (UI)

* make dropdown functional and add input field for port

* finally make reverse mode functional

* adjust placeholders

* fix eslint

* [autofix.ci] apply automated fixes

* change host to destination

* create specific function for partition

* generate protocols

* [autofix.ci] apply automated fixes

* update protocols using BACKEND_CONSTS

* change name partition function

* move to enum for protocols

* [autofix.ci] apply automated fixes

* adapt protocols to enum

* write test for reverse mode

* [autofix.ci] apply automated fixes

* update changelog

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-07-16 15:42:21 +02:00
Maximilian Hils 30ecc2dfbc
Update Web Dependencies (#7011)
* update gulp

* update web dependencies

* update typescript

* update testing-library

* update esbuild

* update react

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-07-13 01:20:15 +02:00
Matteo Luppi f77327634c
Sync consts backend-frontend (#7016)
* remove version from state and create new script to extract version

* fix lint

* [autofix.ci] apply automated fixes

* fix web/gen script to error on file permissions

* [autofix.ci] apply automated fixes

* add version to footer

* adjust tests

* [autofix.ci] apply automated fixes

* update changelog

* move version back into state

* [autofix.ci] apply automated fixes

* nits

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2024-07-11 09:54:22 +00:00
Maximilian Hils f211ca91be
Adopt ESLint (#7008)
* adopt eslint

* `eslint --fix`

* optimize imports

* make eslint happy, upgrade some legacy react code

* more eslint fixes

* const indentation

* enforce typescript only

* [autofix.ci] apply automated fixes

* remove no-case-declarations

* better exhaustiveness checking

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-07-09 11:06:05 +02:00
Maximilian Hils 7fdf111feb
mitmweb: Add Capture Tab (#6999)
* Squashed commit of the following:

commit 5ca998dd9ece4292407e42d6b2989703b5b0e562
Author: Matteo Luppi <100372313+lups2000@users.noreply.github.com>
Date:   Wed Jun 26 17:27:47 2024 +0200

    Sync capture tab to main (#6963)

    * 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>

    * mitmproxy 10.3.1

    * reopen main for development

    * 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>

    * Update CHANGELOG.md

    * web: Upgrade Redux (#6926)

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

    * Use upstream urwid again (#6929)

    use upstream urwid again

    * 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>

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

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

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

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

    the function should return None in this case

    * Update autofix action (#6946)

    update autofix action

    * Fix issue #6944: Optimize response/request_body_buf by using list of byte chunks to avoid concatenation overhead (#6952)

    * Fix the issue #6944: non-linear growth in processing time with mitmproxy regarding packet size. Replace the string (bytes) concatenation implementation of request_body_buf and response_body_buf to a list of chunk of bytes.

    * Update the CHANGELOG.md regarding issue #6944

    * [autofix.ci] apply automated fixes

    * Update CHANGELOG.md

    * [autofix.ci] apply automated fixes

    * move receivebuffer into dedicated class

    * [autofix.ci] apply automated fixes

    ---------

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

    * Use existing API to unpack/pack domain names in HTTPS records (#6949)

    * Use existing API to unpack/pack domain names in HTTPS records

    * [autofix.ci] apply automated fixes

    * tangentially related grammar fix

    ---------

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

    * Add support for DNS over TCP (#6935)

    * Parse DNS over TCP messages

    * [autofix.ci] apply automated fixes

    * Update _next_layer to detect DNS over TCP messages

    * [autofix.ci] apply automated fixes

    * Fixup

    * allow query pipelining

    * [autofix.ci] apply automated fixes

    * Restructure pack/unpack mechanism and update tests

    * Add tests

    * [autofix.ci] apply automated fixes

    * [autofix.ci] apply automated fixes (attempt 2/3)

    * [autofix.ci] apply automated fixes

    * [autofix.ci] apply automated fixes

    * Update next_layer test

    * Add suggested changes

    * [autofix.ci] apply automated fixes

    * bump minimum hypothesis version

    * bump hypothesis for good

    * Update CHANGELOG.md

    ---------

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

    * web: fix "show more" button (#6958)

    fix #6951

    ---------

    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>
    Co-authored-by: jackfromeast <thisiszhengyu@gmail.com>
    Co-authored-by: Maximilian Hils <github@maximilianhils.com>
    Co-authored-by: Alexander Prinzhorn <alexander@prinzhorn.it>

commit e047e76b22
Author: Matteo Luppi <100372313+lups2000@users.noreply.github.com>
Date:   Wed Jun 26 13:07:27 2024 +0200

    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>

commit d9770ad2b1
Author: Matteo Luppi <100372313+lups2000@users.noreply.github.com>
Date:   Mon Jun 24 19:40:47 2024 +0200

    Feature/implement mvp new tab page (#6923)

commit afb22c2105
Author: Maximilian Hils <git@maximilianhils.com>
Date:   Fri Jun 21 23:09:31 2024 +0200

    Sync `capture-tab` with `main` (#6943)

    * 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>

    * mitmproxy 10.3.1

    * reopen main for development

    * 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>

    * Update CHANGELOG.md

    * web: Upgrade Redux (#6926)

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

    * Use upstream urwid again (#6929)

    use upstream urwid again

    * 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>

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

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

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

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

    the function should return None in this case

    * [autofix.ci] apply automated fixes

    ---------

    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>

commit d0867f66d6
Author: Matteo Luppi <100372313+lups2000@users.noreply.github.com>
Date:   Mon Jun 10 11:27:54 2024 +0200

    Feature/add new capture tab (#6887)

    * add just the new tab to the header

    * remove header menu from capture tab

    * create context to handle the current active menu tab

    * update tests

    * remove useless comments

    * update tests to reach higher coverage

    * remove context, use props to achieve same result

    * update tests

    * [autofix.ci] apply automated fixes

    * add test for capture menu component

    * adjust changelog format

    * [autofix.ci] apply automated fixes

    * fix CHANGELOG

    ---------

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

* Feature/regular mode port (#6965)

* add input field with default port to regular mode

* remove useless code

* make port functional

* fix tests

* add tests regular mode

* [autofix.ci] apply automated fixes

---------

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

* Feature/error handling regular mode (#6972)

* first prototype error handling

* update tests , but failing

* [autofix.ci] apply automated fixes

* fix tests

* change error names

* [autofix.ci] apply automated fixes

* listen fro state updates instead of options ones

* forgot error state

* change backend config

* [autofix.ci] apply automated fixes

* Update mitmproxy/addons/proxyserver.py

* [autofix.ci] apply automated fixes

* fix tests

* change logic backend error

---------

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

* Feature/error handling wireguard local (#6995)

* add error handling wireguard mode

* update tests wireguard mode

* add errror handling local mode and tests

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* add remianing modes message

* getMode returns if there aren't errors + update tests

* [autofix.ci] apply automated fixes

* move check inside includeModeState + tests

* remove useless checks

* modify toggle method for wireguard mode (test fails)

* fixups

* [autofix.ci] apply automated fixes

* add fetch tests

* add snapshot tests for regular mode ui

we want more of those once we have changed the structure of backendState.servers

* [autofix.ci] apply automated fixes

* nits

---------

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

* Web: Switch to flow list upon arrival of the first flow. (#7000)

* move active menu into redux state

this is necessary so that we can incorporate it into url state

* switch to flow list upon arrival of the first flow

* [autofix.ci] apply automated fixes

* simplify test

* update header.less

---------

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

---------

Co-authored-by: Matteo Luppi <100372313+lups2000@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-07-05 20:53:14 +00:00
dependabot[bot] 5496045e0b
Update ruff requirement from <=0.4.7,>=0.4.1 to <=0.5.0,>=0.5.0 (#6990)
* Update ruff requirement from <=0.4.7,>=0.4.1 to <=0.5.0,>=0.5.0

Updates the requirements on [ruff](https://github.com/astral-sh/ruff) to permit the latest version.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/v0.4.1...0.5.0)

---
updated-dependencies:
- dependency-name: ruff
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* fixup

* fixup

* fixuppppps

* fixups

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Maximilian Hils <github@maximilianhils.com>
2024-07-02 12:07:47 +02:00
Alexander Prinzhorn 27f990203a
web: fix "show more" button (#6958)
fix #6951
2024-06-25 13:58:26 +02:00
Maximilian Hils 87d5abd2b0
web: Upgrade Redux (#6926)
* update redux and fix resulting test and type failures
* update prettier
2024-06-14 00:27:33 +02:00
Maximilian Hils 832e735b0a
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>
2024-06-12 14:59:40 +02:00
Maximilian Hils 40ae9ff05b
Update package-lock.json, bump esbuild (#6915)
update node version, bump esbuild
2024-06-12 11:44:25 +00:00
Maximilian Hils 460789b7be
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>
2024-06-12 01:25:46 +02:00
Gaurav Jain de871df53b
Add blockech addon (#6876)
* Add blockech addon

* Update CHANGELOG.md

* [autofix.ci] apply automated fixes

* Add tests

* [autofix.ci] apply automated fixes

* Fix tests

* Add suggested changes

* [autofix.ci] apply automated fixes

* rephrase changelog to be more user-centric

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2024-05-28 18:10:46 +02:00
Matteo Luppi e834259215
Feature/button-to-close-flow-details-view (#6734)
* button to close flow details section + test

* [autofix.ci] apply automated fixes

* update changelog

* remove useless imports

* change span to button

* update snapshots

* move the close button to the left

* change color to gray

* add icon instead of text

* update tests

* review changes

* remove useless stuff

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-03-25 20:07:46 +01:00
Matteo Luppi f0dea82e8b
web: add comments (#6709)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-03-11 15:55:19 +01:00
Matteo Luppi a128672ec7
Fix Bug view options menu (#6697)
#### Description

This PR fixes bug described here : #4448 

I set a max-height property and a scroll in case of overflow on the
y-axis.

#### Checklist

 - [x] I have updated tests where applicable.
 - [x] I have added an entry to the CHANGELOG.

---------

Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2024-03-06 21:55:26 +01:00
Matteo Luppi 240a286b2a
Fix bug scripts in Mitmweb (#6668)
#### Description

This PR should fix issue: #6002 

#### Checklist

 - [x] I have updated tests where applicable.
 - [ ] I have added an entry to the CHANGELOG.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-02-20 09:59:35 +01:00
Thanush19 ba9f74b248
add svg image preview support (#6551)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-13 09:20:03 +01:00
xBZZZZ 13c976de0d
fix `mitmweb` splitter becoming drag and drop (#6492) 2023-12-12 18:23:32 +00:00
Daniel Karandikar 746537e051
Add option to return various status codes rather than killing during server replay (#6465)
#### Description

Designed to satisfy the requirements of
https://github.com/mitmproxy/mitmproxy/issues/3489

Add `server_replay_404_extra` which behaves similarly to the kill flag,
but returns 404 responses rather than killing

#### Checklist

 - [x] I have updated tests where applicable.
 - [x] I have added an entry to the CHANGELOG.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-11-08 11:12:44 +01:00
Maximilian Hils e6f8f088d9
Strip double slash from websocket URL, fix #6452 (#6454)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-11-04 11:00:22 +00:00
Dave T e98cf20b28
Make mitmweb use relative paths to connect to its resources. (#6411)
* Use relative paths in index.html

* Allow relative paths in websocket.tsx

* [autofix.ci] apply automated fixes

* Replace more root-relative URLs with relative URLs

* Add test for root relative URLs in index.html

* [autofix.ci] apply automated fixes

* Update changelog

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-10-19 14:10:26 -07:00
Stanley Good bdcd3e3192
add save HAR addon (#6368)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2023-09-24 13:51:22 +00:00
Maximilian Hils 47aaec4f74
Improve raw QUIC dumping (#6287)
* improve raw QUIC dumping

* tests++
2023-08-01 12:13:48 +02:00
Maximilian Hils 82b3d00f01 web: add version column to flow table 2023-06-25 22:29:38 +02:00
Maximilian Hils dc99a65a6c un-prettify autogenerated PEG grammars 2023-06-25 22:29:38 +02:00
Mike-Ki-ASD 492f98d0d3
Support for selecting an elliptic curve for key exchange (#6170)
* Added option to specify an elliptic curve for key exchange between mitmproxy <-> server

* Description of changes

* Added link to pull request to CHANGELOG

* The
et/tls.py is now only dependend on their arguments and the option tls_ecdh_curve (renamed from curve) is now accessed in tlsconfig.py.

* nits

---------

Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2023-06-14 10:08:20 +00:00
y52en e0b6734ed5
Fixed auto scroll in mitmweb (#6038)
Co-authored-by: y52en <email@example.com>
2023-04-01 13:29:44 +02:00
Alexander Prinzhorn 8e7564e995
Add a prettier npm script (#5986)
* Add a prettier npm script

* Linting -> Formatting
2023-03-13 12:26:30 +01:00
Alex Gershberg 8f13293771
Add prettier to mitmweb (#5985)
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-03-12 17:50:15 +01:00