Commit graph

2906 commits

Author SHA1 Message Date
Aditya Raj
12a292c2e7
Treat carriage return as whitespace in strutils.is_xml (#8243)
* Treat carriage return as whitespace in strutils.is_xml

is_xml() skipped only tab, LF and space before checking for the
opening "<", so a response body that started with a leading CR
or CRLF (which is what HTTP frames look like, and what some
Windows-side XML producers emit) was not detected as XML.
The XML/HTML content view's auto-detection score then dropped
to 0 instead of the usual 0.4 for those bodies.

XML 1.0 §2.3 defines whitespace as (#x20 | #x9 | #xD | #xA), so
\r (0x0D) belongs in the skip set alongside the other three.
Adds the missing byte plus three assertions in the existing
test_is_xml: \r<foo and \r\n<foo are now recognised, and a
sanity check that \r\nfoo is still rejected.

* [autofix.ci] apply automated fixes

* simplify wording

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2026-05-21 19:15:31 +02:00
Emanuele Micheletti
ed564afe94
Reduce generated certificate validity (#8203)
* Reduce generated certificate validity

* [autofix.ci] apply automated fixes

* make cert backdating more clear

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Maximilian Hils <github@maximilianhils.com>
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2026-05-11 14:08:05 +00:00
unique-jakub
b464cbf823
Copy issuer's SubjectKeyIdentifier into leaf AuthorityKeyIdentifier (RFC 5280 §4.2.1.2) (#8214)
* Copy issuer's SubjectKeyIdentifier into leaf AuthorityKeyIdentifier

mitmproxy.certs.dummy_cert previously built the leaf's
AuthorityKeyIdentifier with `from_issuer_public_key()`, which always
derives the keyIdentifier as the SHA-1 of the issuer's BIT STRING public
key. This violates RFC 5280 §4.2.1.2:

  The value of the subject key identifier MUST be the value placed in
  the key identifier field of the authority key identifier extension of
  certificates issued by the subject of this certificate.

Whenever the issuer's stored SKI was generated by any other method
(RFC 7093 truncated SHA-256/384/512, hardware-rooted CAs, or any custom
value), the recomputed AKI mismatches the issuer's SKI and strict TLS
chain builders (`X509_V_FLAG_X509_STRICT`, Python `ssl`, Go
`crypto/x509`) reject the chain with "authority and subject key
identifier mismatch".

The most common modern trigger: cert-manager >=1.18 and Go >=1.25
default to truncated SHA-256 SKIs for FIPS 140-3 compliance, so any
mitmproxy deployment fed a CA from those toolchains breaks.

Fix: prefer the issuer's stored SKI extension verbatim
(AuthorityKeyIdentifier.from_issuer_subject_key_identifier), and only
fall back to the previous behavior when the issuer cert has no SKI
extension at all.

Adds two regression tests:
- test_aki_copies_issuer_ski_non_sha1 verifies that a CA with a
  truncated SHA-256 SKI (as produced by cert-manager / Go 1.25+) yields
  a leaf whose AKI is byte-equal to the issuer's stored SKI.
- test_aki_falls_back_when_issuer_has_no_ski verifies the SKI-absent
  fallback still produces the previous AKI value.

* [autofix.ci] apply automated fixes

* shorten changelog

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2026-05-11 13:45:24 +00:00
Julio César Suástegui
a8fbfc73fa
fix: avoid IndexError in is_mostly_bin for short tails (#8196)
* fix: avoid IndexError in is_mostly_bin for short tails

`is_mostly_bin` looks up to 4 bytes past the 100-byte cutoff to find a
clean UTF-8 character boundary. when the input is just over 100 bytes
and starts with a continuation byte at index 100, the lookahead reads
past the end of the buffer.

cap the loop end at `len(s)`. existing fallback to `s[:100]` still
covers the case where every byte in the lookahead window is a
continuation byte.

fixes #8188

* [autofix.ci] apply automated fixes

---------

Co-authored-by: Julio César Suástegui <juliosuas@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-25 11:24:59 +02:00
Maximilian Hils
71c9234057
Fix LDAP Sanitization (#8178)
This fixes GHSA-527g-3w9m-29hv.
2026-04-12 21:14:46 +00:00
Emanuele Micheletti
cc58fc9f38
load pending scripts before dumping options (#8176)
* fix: include addon options in --options output

* add changelog entry for #4423

* explain why we do this dance

* fix: tests

---------

Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2026-04-12 22:37:30 +02:00
nameearly
6d1f71ee2e
correct a parameter (#8172)
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2026-04-12 14:17:13 +00:00
Emanuele Micheletti
d1e06b6870
Fix uppercase scheme (#8174)
* fix: lowercase scheme

* fix: add uppercase proto test

* [autofix.ci] apply automated fixes

* Add RFC reference

Add comments to clarify scheme handling in URL parsing

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2026-04-12 14:03:14 +00:00
Emanuele Micheletti
ca58cd8e07
fix: display failed CONNECT requests in mitmdump (#8175)
fix: display failed CONNECT requests in mitmdump (#7083)

Handle HttpConnectErrorHook in the dumper addon so that failed CONNECT
requests (e.g. DNS resolution errors) are logged to the terminal.
2026-04-12 15:52:04 +02:00
Mavik
5a4a12888e
fix: skip inject_event when inject flow type is wrong (#8141)
* fix: return after inject type mismatch (#5808)

Root cause: warn-only check still called inject_event with invalid flow.

* test: cover inject_tcp dead-connection ValueError (#8141)

---------

Co-authored-by: themavik <themavik@users.noreply.github.com>
Co-authored-by: themavik <maviktech99@gmail.com>
2026-03-24 07:18:51 +01:00
oha
b5d14444c6
cleanup: removed unused functions/classes and scripts (#8136)
* cleanup: removed unused functions/classes and scripts

* changes: revert save_settings() removal .. may be a missing call in export(), flagged in PR for maintainer input.

* fix: restore missing test and clean up bits.py references

* added: add changelog for #8095 under unreleased, removal of several dead functions

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-18 07:58:22 +01:00
Daniil Sivak
6d073bbe84
Console: Option to hide quickhelp UI (#5746) (#8095)
* Option to hide quickhelp UI

Closes #5746

* Added CHANGELOG.md entry

* [autofix.ci] apply automated fixes

* Accidentally broke CHANGELOG.md formatting

* PR review edits

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-06 18:06:56 +01:00
HueCodes
50ba950494
Fix modify_body crash when replacement contains backslash sequences (#8046)
* Fix modify_body crash when replacement contains backslash sequences

When using modify_body with replacement strings containing backslashes
(e.g., \n, \x00, \u003), re.sub() interprets them as escape sequences,
causing a PatternError.

Using a lambda function for the replacement argument treats the string
literally, avoiding regex escape interpretation.

Fixes #7579

* [autofix.ci] apply automated fixes

---------

Co-authored-by: Hugh <HueCodes@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-02-11 07:23:06 +01:00
NeedmeFordev
73b8608232
Add ZIP content view for issue #8051 (#8054)
* Add ZIP content view for issue #8051

- Implement ZipContentview with ZIP file parsing
- Display file metadata (names, sizes, compression methods, dates, comments)
- Add comprehensive test suite with 12 test cases covering all scenarios
- Register view in contentviews module
- Achieve 100% test coverage

Fixes #8051

* [autofix.ci] apply automated fixes

* Add coverage tests for ZIP content view exception handling

- Add test_view_zip_invalid_date_time to cover ValueError exception
- Add test_view_zip_overflow_date_time to cover OverflowError exception
- Add test_view_zip_general_exception to cover general Exception handler
- Achieves 100% code coverage for _view_zip.py

* Update ZIP content view to match unzip -l and unzip -l -v formats

- Standard view now matches unzip -l format with Length, Date, Time, Name columns
- Added verbose view matching unzip -l -v format with compression details
- Updated tests to assert against new table-like output format
- Added comprehensive test coverage for both standard and verbose views
- Handles edge cases: empty archives, different compression methods, invalid dates

* Fix lint errors: remove unused variables

- Remove unused max_date and max_time variables from ZIP content views
- Fix import ordering in test file

* Fix PR feedback: separator hyphen count and CRC spacing

* Fix PR feedback: separator hyphen count and CRC spacing

* Simplify ZIP contentview per maintainer feedback

* Add test cases for ZIP contentview

* Simplify ZIP contentview: compact one-line format per file

* Simplify ZIP contentview: use yaml_dumps for safe filename output

- Output just filenames as YAML list (no size info)
- Use yaml_dumps() to avoid template injection risk
- Remove try/catch, let framework handle exceptions
- Return '(empty zip file)' for empty archives
- Reduce test suite to minimal golden test with edge cases

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-30 22:15:07 +01:00
Copilot
a762102119
Fix mitmweb blank page on Windows due to incorrect JavaScript MIME type (#8041)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2026-01-12 09:54:22 +00:00
zdw@
5d28de8231
Add option name to parsing exceptions in optmanager (#8016)
* Add option name to parsing exceptions

* update changelog

* [autofix.ci] apply automated fixes

* update tests

* 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>
Co-authored-by: Maximilian Hils <github@maximilianhils.com>
2026-01-01 23:40:48 +00:00
Maximilian Hils
2607487981
Move mitmweb to Vite (#7971)
* Partially Revert "Web: harden `xsrf_token` usage (#7491)"

This reverts commit b761cb46c4.

The reason for this revert is that it's incompatible with Vite's
server (https://github.com/mitmproxy/mitmproxy/issues/7969).

We keep the parts that are compatible, and add an additional
`Sec-Fetch-Site` check for for all requests.

* use type imports for Vite compatibility

* make flow columns work with function name minification

* make modals work with function name minification

* vite: move assets

* web: switch builds to vite

* move to vite

* vite: move css and js

* update CHANGELOG

* [autofix.ci] apply automated fixes

* fix test failures

* fix static viewer

* obtain xsrf cookie lazily

* split js/css bundles into app/vendor

* [autofix.ci] apply automated fixes

* update compiled assets

* fix nits

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-11-13 18:05:51 +00:00
Julien Castiaux (juc)
a358d28825
fix mitmweb --web-host with ipv6 (#7963)
* fix mitmweb --web-host with ipv6

When using `--web-host ::1` the `web_url` was `http://::1:8081` instead
of `http://[::1]:8081`. This lead for the wrong URL to be written in the
logs, and the wrong URL to be opened with `--web-open-browser`.

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-11-11 15:01:57 +01:00
Keshav Krishna
9e22acffcb
feat: Make TCP inactivity timeout configurable (#7910)
* feat: Make TCP inactivity timeout configurable (currently fixed at 10 minutes) #7909

* docs: updated CHANGELOG

* [autofix.ci] apply automated fixes

* fix: add tests

* fix: testcase

* fix nits:

- We currently only add command line flags for the most important options. `--set tcp_timeout=10` is the recommended approach for now.
- Move timeout to the "wait for close" part specifically.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Maximilian Hils <github@maximilianhils.com>
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2025-11-11 12:27:39 +00:00
Aditya
c356c40b65
fixes gzip decoding issue. (#7940)
* fixes gzip decoding issue.

* [autofix.ci] apply automated fixes

* comment added and handle error more precisely.

* uses +47 range value.

* review change done.

* [autofix.ci] apply automated fixes

* Update mitmproxy/net/encoding.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* tests++

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2025-11-09 14:36:54 +00:00
Cheng Xu
e19a5cef04
infer_content_encoding: Fallback to UTF-8 for more content types (#7961)
For html, css, js, and xml content types, the official specs tell
us to use UTF-8 as fallback when charset are not specified.

Relevant sections of the specs are included in the comments for
the corresponding branches.

This commit also uncovered incorrect decoding in the following har
tests:

test/mitmproxy/data/har_files/firefox.json
test/mitmproxy/data/har_files/safari.json

```diff
- * Licensed MIT © Zeno Rocha
+ * Licensed MIT  Zeno Rocha
```

Noted that the UTF-8 char `©` was missing due to the incorrect encoding
fallback.
2025-11-09 15:18:13 +01:00
Maximilian Hils
5898ebb3a8
Move off deprecated pyOpenSSL functionality (#7968)
* migrate off pyOpenSSL's crypto module

* `asyncio.iscoroutinefunction` -> `inspect.iscoroutinefunction`
2025-11-09 13:58:24 +00:00
Matteo Luppi
b8292fe19e
Console: Show query parameters for empty-body requests (#7923)
* show query parameters for empty-body requests

* [autofix.ci] apply automated fixes

* update changelog

* fix PR number

* access directly the query attribute

* [autofix.ci] apply automated fixes

* nits

* coverage++

* [autofix.ci] apply automated fixes

* coverage ++

* [autofix.ci] apply automated fixes

* review changes

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-11-03 17:57:24 +01:00
Caíque Porfirio
3b3beedef6
fix: is_mostly_bin support chinese characters (#7933)
* improve is_mostly_bin heuristic

* [autofix.ci] apply automated fixes

* nits

---------

Co-authored-by: Maximilian Hils <git@maximilianhils.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-10-31 00:09:39 +01:00
Cheng Xu
cf952bc1fc
Fix various issues in infer_content_encoding (#7928)
* Fix various issues in infer_content_encoding

- Per spec, the byte order mark (BOM) always has the highest priority to
  determine various UTF related encodings. Ref:
    - https://www.w3.org/International/questions/qa-html-encoding-declarations#bom
    - https://html.spec.whatwg.org/multipage/semantics.html#charset
    - https://drafts.csswg.org/css-syntax/#css-decode-bytes
- For xml traffics such as `application/xml`, `image/svg+xml` etc, a XML
  declaration may contain the encoding information. Ref:
    - https://www.w3.org/TR/xml/#charencoding
    - https://html.spec.whatwg.org/multipage/semantics.html#charset
- For CSS, the default fallback encoding should be UTF-8. Ref:
    - https://drafts.csswg.org/css-syntax/#determine-the-fallback-encoding

* nits

---------

Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2025-10-27 20:55:36 +00:00
Maximilian Hils
886055df17
Update to Python 3.14 (#7918)
* update to Python 3.14

* [autofix.ci] apply automated fixes

* fix python 3.14 compatibility

* bump minimum required zstandard version

0.15 was causing CI issues with Python 3.14.

* Revert "Bump hypothesis dependency (#7865)"

This reverts commit 0981668515.

windows-curses has no abi3 wheels, which blocks adoption of Python 3.14. Kill it with fire.

* remove compression from HAR tests

* add `build-essential` to build jobs

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-10-15 21:32:53 +02:00
Maximilian Hils
ff2291159e
Temporarily silence a valid fuzzing finding (#7917)
temporarily silence a valid fuzzing finding
2025-10-15 17:01:02 +00:00
Maximilian Hils
46d0adc7d1
Add custom htpasswd parser (#7906)
* add custom htpasswd parser

This PR migrates us off passlib, which is unmaintained.

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-10-10 12:29:23 +05:30
Gaurav Jain
c8ddc2140f
Bump pytest dependency group (#7864)
* Bump the pytest dependency group

* Remove deprecated event_loop fixture

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-09-08 15:52:14 +02:00
Maximilian Hils
12ee8193c0
fix a flow reader bug found with fuzzing (#7841) 2025-08-24 17:26:00 +00:00
Sujal Singh
f6d27fadc8
Fix auth cookie always using the default web_port option. (#7827)
* fix auth cookie always using the default `web_port`

* update changelog

* add test

* switch to webauth method
2025-08-19 23:04:34 +02:00
Justin Su
bbb95a7670
Run pyupgrade and improve f-strings (#7837)
* `pyupgrade --py312-plus **/*.py`

* Use `!r` flag in f-strings

* Remove redundant `str()` on `log.LogEntry.msg`

* Remove redundant `str()` in f-strings

* Use self-documenting f-strings

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-19 20:15:46 +02:00
Matthew Heguy
6571b9ca06
fix missing content-length header in curl export (#7810)
* fix missing content-length header in curl export

* [autofix.ci] apply automated fixes

* Simplify logic and remove redundant tests

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-03 18:46:19 +02:00
Maximilian Hils
e683c737f6
Ensure syntax highlighting is consistent between Rust and mitmweb (#7741)
* ensure syntax highlighting is consistent between Rust and mitmweb

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-05-30 23:21:40 +02:00
Maximilian Hils
72ca373b85
Do not escape non-ascii characters in the JSON contentview (#7740)
* do not escape non-ascii characters in the JSON contentview

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-05-30 13:02:38 +02:00
Cédrick Gauthier
790f000e1f
fix concurrent mitmweb instances overwrite each others mitmproxy auth cookie (#7690) 2025-05-24 15:03:34 +02:00
Matteo Luppi
e87f699f8a
Web: search/highlight by body content (#7704)
* Add 'updateFilter' method to the current websocket connection (#7421)

* specify types

* create backend singleton class and remove window.backend

* add example of sending a message through web socket

* back to previous version

* make sendMessage private and add updateFilter function

* send correct messages

* remove console logs

* update snapshot

* remove unrelated stuff

* [autofix.ci] apply automated fixes

* remove console.log

* move the backend update in the redux duck

* remove circular dependency, use window.backend

* improve typing

* remove cyclic dependency on backend instance

* [autofix.ci] apply automated fixes

* type -> icon naming

* remove partial

* back to prev approach and solve cyclic dependencies

* [autofix.ci] apply automated fixes

* nit

* add comment

---------

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

* Fix bug when sending a message while CONNECTING (#7467)

* fix problem while connecting + add more tests

* [autofix.ci] apply automated fixes

---------

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

* web: add server-side filters (#7506)

* fix logic and conflicts

* fix tests

* client side logic to show/hide filters

* move message information inside payload

* leftover

* update filt.peg and filt.js

* [autofix.ci] apply automated fixes

* update existing tests

* [autofix.ci] apply automated fixes

* websocket broadcaster: add send task

this ensures that messages are sent in order

* websocket broadcaster: nits

* filtersUpdated -> filterUpdate

* wip: fixup flows store

* store: move flows off immer

* move flow backend actions

* bench++

* web flows: object -> map/set

* lint!

* tests++, fixes++

* web: tests++, fix sort

* be explicit about missing search filters

* fix flow deletion

* wip

* [autofix.ci] apply automated fixes

* incorporate review feedback

* add tests for view utils

* fix nits

* fix compatibility with nodejs 18

* update app.js

* nits

* [autofix.ci] apply automated fixes

* update app.js

* changelog++

* cov++

* untangle store and backend

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2025-05-23 20:44:33 +02:00
Sujal Singh
974a22e924
Fix raw response export incorrectly zeroing non-zero Content-Length header for HEAD requests. (#7701)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2025-05-12 07:20:04 +00:00
Maximilian Hils
4be711c3a1
web: increase typescript use for ducks (#7692)
* web: increase typescript use for ducks

* tests++

* web: move event log off store abstraction

* [autofix.ci] apply automated fixes

* exclude typescript guards from coverage

* fix coverage

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-05-09 20:35:33 +02:00
Guillaume Schaer
c69f0b3819
[web] Add token header (#7681) 2025-05-04 12:14:33 +00:00
Maximilian Hils
bdd1827687
fix various deprecation warnings (#7687) 2025-05-03 17:55:57 +00:00
Maximilian Hils
d48f9ae59c
bump mitmproxy_rs, add interop tests (#7678) 2025-04-29 12:44:53 +02:00
Maximilian Hils
4e8eef805b
migrate to new contentview API, make DNS interactive (#7670)
* migrate all views to new contentview API
* make DNS view interactive
* rename dns.Message to DNSMessage
2025-04-25 15:17:12 +00:00
Maximilian Hils
b089c5fb83
fix #7452 (#7666)
* savehar: gracefully handle if `content` raises, fix #7452

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-04-23 12:30:50 +00:00
Jordan Adams
ce151531f8
Add CRL to dummy certs (#7609)
Co-authored-by: Gabriel Huber <mail@gabrielhuber.at>
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2025-04-22 15:29:41 +02:00
Maximilian Hils
d0a35dcf9b
introduce new contentview API (#7623) 2025-04-21 14:56:58 +02:00
Maximilian Hils
f29f146ed1
switch to uv (#7662) 2025-04-16 18:38:35 +02:00
Gaurav Jain
c281f76366
Wireguard: Bind server on IPv4 and IPv6 separately (#7589)
* Wireguard: Handle binding on IPv4 and IPv6 separately

* [autofix.ci] apply automated fixes

* cleanup

* [autofix.ci] apply automated fixes

* cleanup++

* [autofix.ci] apply automated fixes

* Add comments

* Format IPv6 address for new rust API

* Add test

* Update CHANGELOG.md

* [autofix.ci] apply automated fixes

* bump mitmproxy_rs verison

* fix process handler

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Maximilian Hils <github@maximilianhils.com>
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2025-04-14 15:46:55 +00:00
Mark Kiami
d33090b4f3
Log streamed bodies (#7637)
* 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>
2025-04-07 20:09:53 +02:00
Maximilian Hils
3c7c3ccfd5
fixup url.unparse (#7624)
the parse implementation is still awful, but this is a bit of progress
2025-03-28 22:44:11 +00:00