* remove tabs.isInitial
this was not used in the first place
* fix docs links
* fix headerlookup
WeakMap allows us to finally have proper cache invalidation
* store capture tab in url state
* Add new feature: storing of request and response streaming bodies
* Fix unit test by regenerating the options file with options_js.py
* Add test cases with store_streamed_bodies True and False
* Update Changelog
* Update Changelog with pull request ID
* [autofix.ci] apply automated fixes
* Update test with a dedicated test case for store_streamed_bodies
* Remove unnecessary option store_streamed_bodies from options.py
* Update docstrings for store_streamed_bodies and stream_large_bodies.
* Update docstring for store_streamed_bodies since it is not used anywhere in practice here.
* Fix typo in test_http.py
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* create ui component for copying content
* write function to copy viewcontentdata to clipboard
* add type string to url
* call the endpoint to fetch the full content
* update snapshots
* disable button after copying text
* update changelog
* remove disable on copy button
* [autofix.ci] apply automated fixes
* disable copy button while fetching
* [autofix.ci] apply automated fixes
* adjust isFetching and isCopied position
* hide copy button if there is no content
* update snapshot
* Delete web/src/templates/index.html
* adjust naming convention
* update test
* update snapshots
* nits
* add async/await
* [autofix.ci] apply automated fixes
* improve test coverage
* improve even more test coverage
* test coverage final improvement
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
* Add `--show-ignored-hosts`
Maybe a bit counterintuitive, but mitmproxy is very nice even without
the MITM part. When doing `--ignore-hosts '.*'` it is not possible to
see SNI's, so add new flag to show the raw TCP/UDP streams.
Fixes#6421
* Add tests for `--show-ignored-hosts`
* Changelog for `--show-ignored-hosts`
* [autofix.ci] apply automated fixes
* fixups
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Maximilian Hils <github@maximilianhils.com>
* add script to generate all possible web columns
* remove test for now
* Make web_columns.py executable
* [autofix.ci] apply automated fixes
* add back tests
* [autofix.ci] apply automated fixes
* update changelog
* update changelog and add coauthor
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Abhishek-Bohora <abhishek.bohora16@gmail.com>
* 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>
* 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>