mitmproxy/web
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
..
gen web: increase typescript use for ducks (#7692) 2025-05-09 20:35:33 +02:00
src Web: search/highlight by body content (#7704) 2025-05-23 20:44:33 +02:00
.editorconfig
.prettierignore
eslint.config.mjs web: upgrade dependencies (#7707) 2025-05-13 22:56:11 +02:00
gulpfile.js web: upgrade dependencies (#7707) 2025-05-13 22:56:11 +02:00
jest.config.js [web] add multiple flow selection (#7319) 2025-04-27 12:21:50 +02:00
package-lock.json web: remove unused prop-types dependency (#7722) 2025-05-23 07:35:15 +02:00
package.json web: remove unused prop-types dependency (#7722) 2025-05-23 07:35:15 +02:00
README.md
setup-jest.js web: upgrade dependencies (#7707) 2025-05-13 22:56:11 +02:00
tsconfig.json Web: search/highlight by body content (#7704) 2025-05-23 20:44:33 +02: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 mitmproxy/web to change to the directory with package.json
  • Run npm install to install dependencies
  • Run npm start to start live-compilation
  • Run mitmweb after activating your Python virtualenv (see ../CONTRIBUTING.md).

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