mirror of
https://github.com/vee1e/mitmproxy.git
synced 2026-09-01 18:27:18 +00:00
* 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> |
||
|---|---|---|
| .. | ||
| gen | ||
| src | ||
| .editorconfig | ||
| .prettierignore | ||
| eslint.config.mjs | ||
| gulpfile.js | ||
| jest.config.js | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| setup-jest.js | ||
| tsconfig.json | ||
Quick Start
- Install mitmproxy as described in
../CONTRIBUTING.md - Run
node --versionto 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/webto change to the directory with package.json - Run
npm installto install dependencies - Run
npm startto start live-compilation - Run
mitmwebafter activating your Python virtualenv (see../CONTRIBUTING.md).
Testing
- Run
npm testto run the test suite.
Code formatting
- Run
npm run prettierto format your code. You can also integrate prettier into your editor, see https://prettier.io/docs/en/editors.html
Architecture
There are two components:
-
Server:
mitmproxy/tools/web -
Client:
web
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
npm startsupports live-reloading if you install a matching browser extension.- You can debug application state using the React DevTools and Redux DevTools browser extensions.