Commit graph

474 commits

Author SHA1 Message Date
citizen204
8fc25b3045
docs: clarify when filter regexes must be quoted (#8346)
Applies reviewer's suggested wording and drops the unrelated
certs.py/test_certs.py changes that had leaked into this branch.

Fixes #7715
2026-08-22 11:33:08 +02:00
dependabot[bot]
c53f951a52
build(deps-dev): bump ruff from 0.15.11 to 0.16.3 (#8386)
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.15.11 to 0.16.3.
- [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/0.15.11...0.16.3)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.16.3
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-20 22:47:00 +00:00
Aroh Maurya
bae1a7e179
docs: mention Microsoft Store install on Windows (#8374)
The Windows installation instructions only pointed at the installer and
standalone binaries from mitmproxy.org, even though every release is also
published to the Microsoft Store by CI (release/deploy-microsoft-store.py).

Refs #6053.
2026-08-13 15:50:59 +02:00
ChrisJr404
0fb62c456c
docs: document addon live-reload + testing pattern (#8210)
* docs: document addon live-reload + testing pattern

Issue #6377 asked for addon development docs covering hot reload and
testing. mitmproxy already watches scripts loaded with -s for changes
and re-imports them on save (mitmproxy/addons/script.py: Script.watcher
and the unconditional Script(s, True) at line 218), but that behavior
was undocumented, and there was no canonical example of how to unit-test
a custom addon with mitmproxy.test.taddons / mitmproxy.test.tflow.

Add a "Developing Addons" section to docs/src/content/addons/overview.md
with two subsections:

- Live Reloading: explains the file-watcher behavior, including which
  errors leave the previous version unloaded and which don't.
- Testing Addons: a small example that unit-tests the Counter addon from
  anatomy.py using taddons.context() and tflow.tflow(), plus a pointer
  to tctx.cycle() and the existing test/mitmproxy/addons/ tests for
  patterns that need the full event sequence.

No code changes.

* reduce testing section

Testing helpers are currently a bit ugly and not part of the public API, so let's not put them front center in the docs.

---------

Co-authored-by: Chris (ChrisJr404) <11917633+ChrisJr404@users.noreply.github.com>
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2026-05-11 14:18:51 +00:00
Vitaly
c9b063bc65
Use sys.executable instead of python3 in docs build script (#8183)
* Use sys.executable instead of python3 in docs build script

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-19 14:50:02 +02:00
larpineer
99fed544e6
Docs: Change 'uvx' to 'uv tool install' for Installation from PyPI (#7990)
Change 'uvx' to 'uv tool install'

'uvx' is an alias for 'uv tool run' that installs packages in a temporary virtual environment that is deleted when the uv cache is cleaned. The correct installation command should be 'uv tool install' which installs the virtual environment in the uv tools directory and makes the executable available on the PATH.
See: https://docs.astral.sh/uv/concepts/tools/
2026-01-02 01:40:38 +01:00
Alexander Prinzhorn
4d1bbcb9cc
Remove macOS from supported TUN platforms (#7863) 2025-09-08 15:58:21 +02:00
tibequadorian
06175048e5
Link better instructions to root AVD (#7839)
https://github.com/shakalaca/MagiskOnEmulator didn't work for me and hasn't been maintained for 4 years
2025-08-24 18:56:13 +02:00
Michał Janiszewski
5c0aa2f4bc
Update chmod permissions for Android (#7832) 2025-08-19 20:16:13 +02:00
Maximilian Hils
d1ea8bc6ae
pipx -> uvx (#7768) 2025-06-12 00:04:31 +05:30
Maximilian Hils
42f9fc608d
docs: fix relative URLs on event hook page (#7736)
fix #7735
2025-05-27 20:28:55 +00: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
shellvon
f8648db29c
docs(fix): fix broken upstream certificate sniffing link in how-mitmp… (#7672)
docs(fix): fix broken upstream certificate sniffing link in how-mitmproxy-works

Updated broken link in docs/src/how-mitmproxy-works.md from [/overview/features](/overview/features/#upstream-certificates) to [/concepts/certificates/](/concepts/certificates/#upstream-certificate-sniffing) to point to the correct resource.
2025-04-25 12:03:21 +02:00
Maximilian Hils
d0ee0edfbc
contentviews: docs++ (#7667)
* add docstring for `SyntaxHighlight`

* docs: add contentview changes to api changelog
2025-04-23 12:28:25 +00:00
Maximilian Hils
d0a35dcf9b
introduce new contentview API (#7623) 2025-04-21 14:56:58 +02:00
Maximilian Hils
73349436ac
docs: mention that macOS local mode covers egress only (#7659) 2025-04-16 16:44:23 +00:00
Maximilian Hils
b1acc0d609
docs: mention that transparent mode is TCP only for now (#7626)
* docs: mention that transparent mode is TCP only for now

refs #7625

* nit
2025-04-01 09:07:58 +02:00
Maximilian Hils
6269898b43
Docs: Add Search Bar (#7603)
* docs: improve accessibility

* docs: source section name from `_index.md` files

* add JSON search index

* add pizza search

* Revert "add pizza search"

This reverts commit 5b5da7d2c2b9cb11919e35cfab9bda19f5651896.

* add search index

* add search bar

* update CHANGELOG

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-03-15 08:02:58 +01:00
Maximilian Hils
db57440cc5
docs: improve accessibility (#7596) 2025-03-09 12:47:36 +01:00
Emanuele Micheletti
bde7831ed1
Update README.md (#7594)
* Update README.md

* nits
2025-03-09 11:02:09 +01:00
Maximilian Hils
63a0b8d149
New Docs Layout (#7593)
* wip

* wip

* docs: improve content structure

* make menu collapsible

* move anchor to the end of the heading

* layout fixes

* avoid menu items with the same name

* wip

* add CHANGELOG entry

* [autofix.ci] apply automated fixes

* fixup

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-03-09 10:54:14 +01:00
Gaurav Jain
a5a192af3d
Fix broken wireguard link in docs (#7588)
Fix link
2025-03-05 22:08:03 +01:00
Antoine James Tournepiche
35bcadd5e1
docs: Enhance homebrew installation command for Brewfile users (#7566)
* docs: Add --cask in brew install command

# Motivation

As a Brewfile user, the current installation command in the documentation
does not tell me that mitmproxy is a Cask, which is a bit of an
inconvenience due to how Brewfile works.

Adding a formulae in a Brewfile is done by adding the line `brew "<formulae>"`
while adding a cask in a Brewfile is done by adding the line `cask "<cask>"`

Contrarily to the behavior of the brew install command, adding a formulae line
in the Brewfile will not check for a Cask if the formulae does not exist: it
will just fail.

# Impact

The brew install command currently works by first checking if a "mitmproxy"
formulae exists in the homebrew repository, then after finding out there is
none, it checks for a "mitmproxy" cask in the homebrew repository.

Adding the explicit `--cask` argument allows to skip the unnecessary
formulae existence check, while being more convenient for Brewfile users.

# TL;DR

Adding the explicit `--cask` argument is useful to Brewfile users in such
that they directly know that mitmproxy is a Cask, while not impacting users
copy-pasting the command directly in their terminal (while also avoiding an
unwanted check for a corresponding formulae before the cask installation).

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-02-19 23:02:15 +01:00
Maximilian Hils
d7e8258851
Add proxy mode docs for tun mode (#7558)
add proxy mode docs for tun mode
2025-02-15 18:11:43 +05:30
Maximilian Hils
3915c5af78
Revise Proxy Mode Docs (#7545)
* revise proxy mode documentation

* docs++

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-02-09 12:27:07 +01:00
Maximilian Hils
1093323e00
docs: add local capture mode (#7540)
* docs: add local capture mode

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-02-08 15:42:54 +01:00
dependabot[bot]
77d1f278e1
Update ruff requirement from <=0.8.6,>=0.5.0 to >=0.5.0,<=0.9.4 (#7528)
* Update ruff requirement from <=0.8.6,>=0.5.0 to >=0.5.0,<=0.9.4

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/0.5.0...0.9.4)

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

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

* [autofix.ci] apply automated fixes

* fixup

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2025-02-01 23:21:33 +00:00
Aditya
0013825c1d
fixes #7457: streamline filter expression case-sensitivity (#7483)
* make all filter expressions case-insensitive by default

* [autofix.ci] apply automated fixes

* add test cases.

* added dedicated test case for case sensitivity check

---------

Co-authored-by: Maximilian Hils <git@maximilianhils.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-01-29 20:06:36 +01:00
Esther Roth
ebf1f54c15
Add mitmweb tutorial videos to docs (#7509)
* add mitmweb tutorial videos to docs

* update changelog

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-01-26 17:04:13 +00:00
Maximilian Hils
562c4cda1c
docs: Add mitmweb user interface tutorial (#7507)
docs: add mitmweb tutorial
2025-01-26 17:36:42 +01:00
Gaurav Jain
dfb2b273a2
Updates docs for DNS and HTTP/3 mode (#7474)
* Update docs

* fix typo

* fix capitalization

---------

Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2025-01-13 12:04:08 +00:00
Maximilian Hils
6e4cb235fd
require Python 3.12+ (#7440) 2025-01-06 09:02:51 +00:00
Kenneth Pinto
b050bb12d9
Added Certificate Installation steps for Arch Linux (#7422)
* Update concepts-certificates.md

* Update index.html
2024-12-29 11:49:45 +01:00
Maximilian Hils
d51df5f896 fix docs CI 2024-12-05 10:27:21 +01:00
Matteo Luppi
ba356376c0
update docs: certificate installation on iOS simulator (#7371)
update docs
2024-12-04 09:42:17 +01:00
Alex Hedges
af8d5b9ce6
Fix Hugo deprecation error (#7372)
* Update Hugo installed in CI from `v0.92.1` to `v0.139.3`

The version in CI is close to 3 years old, which means it does not
encounter the same problems that newer installations of Hugo do.

* Fix Hugo deprecation error

I got the following error when building the documentation with Hugo
`v0.139.3`:

```
ERROR deprecated: data.GetJSON was deprecated in Hugo v0.123.0 and will be removed in Hugo 0.140.0. use resources.Get or resources.GetRemote with transform.Unmarshal.
```

I fixed the error by implementing the change the error recommended.
2024-12-04 09:41:45 +01:00
Patrick Martin
489dd77dbe
Remove Apple Silicon note (#7234) 2024-10-11 00:44:07 +02:00
Alexander Prinzhorn
ccb3ae5abe
Fix concepts-filters.md docs 2024-09-19 07:52:47 +00:00
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
Gaurav Jain
be56a0af1f
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>
2024-06-15 00:02:54 +05:30
Maximilian Hils
f997cd3a21
add server_connect_error hook (#6806)
* Add server connection error hook

* Add new hook to api-events doc

* Rename and add test

* Forgot to commit

* Small fix

* [autofix.ci] apply automated fixes

* fixed test_server.py

* fixed 'Import block is un-sorted or un-formatted'

* [autofix.ci] apply automated fixes

* test++, doc++

* add CHANGELOG entry

* [autofix.ci] apply automated fixes

* fix authors

* fix test

* [autofix.ci] apply automated fixes

---------

Co-authored-by: haanhvu <haanh6594@gmail.com>
Co-authored-by: spacewasp <spacewasp1982@gmail.com>
2024-04-17 12:47:06 +02:00
Alessandro Surace
1a489f6a8c
docs: how to create the proper CA (#5370)
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2024-03-11 10:10:06 +00:00
Matteo Luppi
590eef0d44
fix docs (#6696)
#### Description

close #6682 

#### Checklist

 - [ ] I have updated tests where applicable.
 - [ ] I have added an entry to the CHANGELOG.
2024-02-28 23:04:45 +01:00
Ngoc Pham
4101e8aeef
docs: Rosetta is required on Apple Silicon (#6591) 2024-01-08 22:02:43 +00:00
Jon Brown
ae00e82c3a
remove mention of ctx.log from addon example (#6552)
[#5590](https://github.com/mitmproxy/mitmproxy/pull/5590) made the
switch to standard logging, but this part of the addons documentation
references the previous `ctx.log` approach.
2024-01-04 13:35:17 +00:00
Maximilian Hils
89189849c0
Remove Links to Slack Workspace (#6560)
We want to focus on GitHub Discussions going forward.
2023-12-19 12:20:43 +00:00
rosydawn6
81fc802194
Stream large bodies warn with modify body (#6514)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2023-12-05 02:36:54 +00:00
Maximilian Hils
f55ee1d44f
Migrate to ruff (#6433) 2023-10-31 16:03:53 +01:00
Maximilian Hils
afb308bc8a
docs: improve hooks overview (#6376) 2023-09-21 19:27:14 +00:00
Maximilian Hils
3b68e82db4
add android-unpinner (#6357) 2023-09-06 18:36:27 +00:00