mitmproxy/web
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
..
gen Ensure syntax highlighting is consistent between Rust and mitmweb (#7741) 2025-05-30 23:21:40 +02:00
public/static Move mitmweb to Vite (#7971) 2025-11-13 18:05:51 +00:00
src Move mitmweb to Vite (#7971) 2025-11-13 18:05:51 +00:00
.editorconfig
.prettierignore
eslint.config.mjs Web: Show Local timezone in the Timing tab (#7804) 2025-08-08 08:08:30 +02:00
index.html Move mitmweb to Vite (#7971) 2025-11-13 18:05:51 +00:00
jest.config.js Web: Show Local timezone in the Timing tab (#7804) 2025-08-08 08:08:30 +02:00
package-lock.json Move mitmweb to Vite (#7971) 2025-11-13 18:05:51 +00:00
package.json Move mitmweb to Vite (#7971) 2025-11-13 18:05:51 +00:00
README.md Move mitmweb to Vite (#7971) 2025-11-13 18:05:51 +00:00
setup-global-jest.js Web: Show Local timezone in the Timing tab (#7804) 2025-08-08 08:08:30 +02:00
setup-jest.js Web: Show Local timezone in the Timing tab (#7804) 2025-08-08 08:08:30 +02:00
tsconfig.json Move mitmweb to Vite (#7971) 2025-11-13 18:05:51 +00:00
vite.config.ts Move mitmweb to Vite (#7971) 2025-11-13 18:05:51 +00:00

Quick Start

  • Install mitmproxy as described in ../CONTRIBUTING.md
  • Run node --version to make sure that you have at least Node.js 18 or above. If you are on Ubuntu <= 22.04, you need to upgrade.
  • Run cd ./web to change to the directory with package.json.
  • Run npm install to install dependencies.
  • Run uv run mitmweb
  • Run npm start in a separate window to start the Vite development server for the web interface.

Testing

  • Run npm test to run the test suite.

Code formatting

Architecture

There are two components:

Contributing

We very much appreciate any (small) improvements to mitmweb. Please do not include the compiled assets in mitmproxy/tools/web/static in your pull request. Refreshing them on every commit would massively increase repository size. We will update these files before every release.

Developer Tools