├── .gitignore ├── .npmignore ├── LICENSE ├── README.md ├── bin ├── mitmproxy-ui ├── mitmproxy-ui.js └── mitmproxy-ui_win.bat ├── briefJsonFields.json ├── copyBuildFromAllProxy.sh ├── createApFileSystemJson.js ├── docs ├── apFileSystem.json ├── asset-manifest.json ├── favicon.ico ├── index.html ├── manifest.json ├── plugins │ ├── importjson │ │ └── plugin.js │ └── parsejson │ │ └── plugin.js ├── robots.txt └── static │ ├── css │ ├── main.3e235f7e.css │ └── main.3e235f7e.css.map │ ├── js │ ├── 787.44e022fc.chunk.js │ ├── 787.44e022fc.chunk.js.map │ ├── main.ced1039b.js │ ├── main.ced1039b.js.LICENSE.txt │ └── main.ced1039b.js.map │ └── media │ ├── fa-brands-400.2285773e6b4b172f07d9.woff │ ├── fa-brands-400.23f19bb08961f37aaf69.eot │ ├── fa-brands-400.2f517e09eb2ca6650ff5.svg │ ├── fa-brands-400.527940b104eb2ea366c8.ttf │ ├── fa-brands-400.d878b0a6a1144760244f.woff2 │ ├── fa-regular-400.4689f52cc96215721344.svg │ ├── fa-regular-400.491974d108fe4002b2aa.ttf │ ├── fa-regular-400.77206a6bb316fa0aded5.eot │ ├── fa-regular-400.7a3337626410ca2f4071.woff2 │ ├── fa-regular-400.bb58e57c48a3e911f15f.woff │ ├── fa-solid-900.1551f4f60c37af51121f.woff2 │ ├── fa-solid-900.7a8b4f130182d19a2d7c.svg │ ├── fa-solid-900.9bbb245e67a133f6e486.eot │ ├── fa-solid-900.be9ee23c0c6390141475.ttf │ └── fa-solid-900.eeccf4f66002c6f2ba24.woff ├── image-1.png ├── image-2.png ├── image-3.png ├── image-4.png ├── image-5.png ├── image-6.png ├── image.png ├── jsonLogScript ├── jsonQueries.json ├── jsonSubQueries.json ├── method └── package.json /.gitignore: -------------------------------------------------------------------------------- 1 | .http-mitm-proxy 2 | config.json 3 | build/ 4 | ca.pem 5 | *.proto 6 | 7 | # Logs 8 | *.log 9 | npm-debug.log* 10 | yarn-debug.log* 11 | yarn-error.log* 12 | 13 | # Runtime data 14 | pids 15 | *.pid 16 | *.seed 17 | *.pid.lock 18 | 19 | # Directory for instrumented libs generated by jscoverage/JSCover 20 | lib-cov 21 | 22 | # Coverage directory used by tools like istanbul 23 | coverage 24 | 25 | # nyc test coverage 26 | .nyc_output 27 | 28 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 29 | .grunt 30 | 31 | # Bower dependency directory (https://bower.io/) 32 | bower_components 33 | 34 | # node-waf configuration 35 | .lock-wscript 36 | 37 | # Compiled binary addons (https://nodejs.org/api/addons.html) 38 | build/Release 39 | 40 | # Dependency directories 41 | node_modules/ 42 | jspm_packages/ 43 | 44 | # TypeScript v1 declaration files 45 | typings/ 46 | 47 | # Optional npm cache directory 48 | .npm 49 | 50 | # Optional eslint cache 51 | .eslintcache 52 | 53 | # Optional REPL history 54 | .node_repl_history 55 | 56 | # Output of 'npm pack' 57 | *.tgz 58 | 59 | # Yarn Integrity file 60 | .yarn-integrity 61 | 62 | # dotenv environment variables file 63 | .env 64 | 65 | # next.js build output 66 | .next 67 | out/ 68 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | /* 2 | !bin/ 3 | !package.json 4 | !index.js -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 allproxy 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

MITM Proxy UI

2 | 3 | MITM debugging proxy UI to view and modify the HTTP and HTTPS (SSL) traffic between your machine and the Internet. Also supports reverse proxy protocols: HTTP, HTTPS, MongoDB, Redis, MySQL and gRPC. 4 | 5 | ![image](https://img.shields.io/badge/mac%20os-000000?style=for-the-badge&logo=apple&logoColor=white) 6 | ![image](https://img.shields.io/badge/Linux-FCC624?style=for-the-badge&logo=linux&logoColor=black) 7 | ![image](https://img.shields.io/badge/Windows-0078D6?style=for-the-badge&logo=windows&logoColor=white) 8 | 9 | ![Alt text](image.png) 10 | 11 | ### Install NPM Package 12 | > 1. `npm install -g mitmproxy-ui` 13 | > 2. Run `mitmporoxy-ui` 14 | 15 | ### Build Package 16 | 17 | > 1. Clone repo. 18 | > 2. `npm install` # The production build may take a minute... 19 | > 3. `npm start` 20 | 21 | > Open `MITM Proxy` in browser; 22 | > * [localhost:8888/mitmproxy](http://localhost:8888/mitmproxy) 23 | 24 | ### Updating 25 | 26 | The MITM Proxy uses the [allproxy](https://github.com/allproxy/allproxy) package. 27 | 28 | To update the `allproxy` npm package run: 29 | > **npm update** 30 | 31 | ### HTTPS Proxy 32 | MITM Proxy is a man-in-the-middle server that captures the traffic between your application and web server. You can inspect the complete HTTP request and response. 33 | ![Alt text](image-1.png) 34 | 35 | ### Advanced Filtering 36 | Use advanced filter criteria to find what you're looking for. Use complex boolean expressions to match the protocol, payload, URL, headers, and just about any part of the request or response message. 37 | ![Alt text](image-2.png) 38 | 39 | ### Breakpoints 40 | Set breakpoints to stop the HTTP request and optionally modify it before sending it to the web server. 41 | ![Alt text](image-3.png) 42 | 43 | ### Modify and Resend Requests 44 | Modify and resend any captured HTTP requests. 45 | ![Alt text](image-4.png) 46 | 47 | ### Reverse Proxy 48 | Resource proxy protocols include: MongoDb, Redis, MySQL, qGRPC, HTTP, HTTPS and TCP. 49 | ![Alt text](image-5.png) 50 | 51 | ### Integrated Online Help 52 | The Help modal helps you configure and use the application. 53 | ![Alt text](image-6.png) 54 | 55 | ![image](https://img.shields.io/badge/HTML-239120?style=for-the-badge&logo=html5&logoColor=white) 56 | ![image](https://img.shields.io/badge/MySQL-005C84?style=for-the-badge&logo=mysql&logoColor=white) 57 | ![image](https://img.shields.io/badge/MariaDB-003545?style=for-the-badge&logo=mariadb&logoColor=white) 58 | ![image](https://img.shields.io/badge/MongoDB-4EA94B?style=for-the-badge&logo=mongodb&logoColor=white) 59 | ![image](https://img.shields.io/badge/redis-%23DD0031.svg?&style=for-the-badge&logo=redis&logoColor=white) 60 | 61 | ## License 62 | 63 | This code is licensed under the [MIT License](https://opensource.org/licenses/MIT). 64 | 65 | ![image](https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge&logo=typescript&logoColor=white) ![image]( https://img.shields.io/badge/React-20232A?style=for-the-badge&logo=react&logoColor=61DAFB) ![image](https://img.shields.io/badge/Node.js-43853D?style=for-the-badge&logo=node.js&logoColor=white) 66 | -------------------------------------------------------------------------------- /bin/mitmproxy-ui: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | BIN_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) 4 | SYMLINK=$(readlink "${BASH_SOURCE[0]}") 5 | if [ ! -z "$SYMLINK" ]; then 6 | BIN_DIR=$BIN_DIR/$(dirname $SYMLINK) 7 | fi 8 | cd $BIN_DIR 9 | 10 | npm run start -------------------------------------------------------------------------------- /bin/mitmproxy-ui.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const { exec } = require('child_process'); 4 | const dir = require('path').basename(__dirname); 5 | 6 | function start() { 7 | process.chdir(dir); 8 | 9 | console.log('Starting MITM Proxy...'); 10 | exec("npm run start") 11 | } 12 | 13 | start(); 14 | -------------------------------------------------------------------------------- /bin/mitmproxy-ui_win.bat: -------------------------------------------------------------------------------- 1 | chdir /d %AppData%\npm\node_modules\mitmproxy-ui 2 | npm run start -------------------------------------------------------------------------------- /briefJsonFields.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /copyBuildFromAllProxy.sh: -------------------------------------------------------------------------------- 1 | # cp -r ../allproxy/build/* pages-test/docs 2 | 3 | if [ -z "$1" ]; then 4 | echo "Usage: copyBuildFromAllProxy.sh allproxy_dir" 5 | exit 1 6 | fi 7 | 8 | cmd="rm -r docs/static" 9 | echo $cmd 10 | $cmd 11 | 12 | cmd="cp -r $1/client/build/* docs/" 13 | echo $cmd 14 | $cmd 15 | 16 | #line1='\t' 17 | line2='\t' 18 | line3='\t' 19 | 20 | echo "\nThese lines must be added to the start of the
tag:" 21 | #echo $line1 22 | echo $line2 23 | echo $line3 24 | 25 | echo "\nRemove '/' from href and src properties." 26 | -------------------------------------------------------------------------------- /createApFileSystemJson.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | 3 | const json = {}; 4 | 5 | const files = fs.readdirSync('./jsonFields/'); 6 | json.jsonFields = []; 7 | for (const file of files) { 8 | if (file === '..') continue; 9 | json.jsonFields.push(file); 10 | } 11 | 12 | json.method = fs.readFileSync('./method').toString(); 13 | json.jsonLogScript = fs.readFileSync('./jsonLogScript').toString(); 14 | 15 | const queries = fs.readdirSync('./queries/'); 16 | json.queries = {}; 17 | for (const queryDir of queries) { 18 | if (queryDir === '..') continue; 19 | const query = fs.readFileSync('./queries/' + queryDir + '/query.txt').toString(); 20 | json.queries[queryDir] = {}; 21 | json.queries[queryDir].query = query; 22 | } 23 | 24 | // install files 25 | json.briefJsonFields = fs.readFileSync('./briefJsonFields.json').toString(); 26 | json.jsonSubQueries = fs.readFileSync('./jsonSubQueries.json').toString(); 27 | json.jsonQueries = fs.readFileSync('./jsonQueries.json').toString(); 28 | 29 | fs.writeFileSync('./docs/apFileSystem.json', JSON.stringify(json, null, 2)); -------------------------------------------------------------------------------- /docs/apFileSystem.json: -------------------------------------------------------------------------------- 1 | { 2 | "jsonFields": [], 3 | "method": "advanced", 4 | "jsonLogScript": "// Function called to extract date, level, app name and message\n//\n// @param preJSONString: string - optional non-JSON string proceeding JSON object\n// @param jsonObject: {} - JSON log data\n// @returns {date: Date, level: string, category: string, appName: string, message: string, rawLine: string, additionalJSON: {} }\n//\n// category is the availability zone\n// appName is the pod name\n//\nconst extractDateLevelCategoryAppNameMessage = function (preJSONString, jsonObject) {\n let level = 'info';\n let date = new Date();\n let category = '';\n let appName = 'App_name_is_not_set';\n let message = 'Message is not set - Click \"?\" in upper right to extract fields from JSON';\n // return raw JSON (optional)\n let rawLine;\n // Copy any JSON fields not defined in jsonObject\n let additionalJSON = {};\n\n // Set the level\n // level = jsonObject.m_level;\n\n // Set the date\n //date = jsonObject.my_date;\n\n // Set the app name\n //appName = jsonObject.my_app;\n\n // Set message\n //message = jsonObject.my_message;\n\n return { date, level, category, appName, message, rawLine, additionalJSON };\n}", 5 | "queries": {}, 6 | "briefJsonFields": "{}", 7 | "jsonSubQueries": "[]", 8 | "jsonQueries": "[]" 9 | } -------------------------------------------------------------------------------- /docs/asset-manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "files": { 3 | "main.css": "/static/css/main.3e235f7e.css", 4 | "main.js": "/static/js/main.ced1039b.js", 5 | "static/js/787.44e022fc.chunk.js": "/static/js/787.44e022fc.chunk.js", 6 | "static/media/fa-solid-900.svg": "/static/media/fa-solid-900.7a8b4f130182d19a2d7c.svg", 7 | "static/media/fa-brands-400.svg": "/static/media/fa-brands-400.2f517e09eb2ca6650ff5.svg", 8 | "static/media/fa-solid-900.eot": "/static/media/fa-solid-900.9bbb245e67a133f6e486.eot", 9 | "static/media/fa-solid-900.ttf": "/static/media/fa-solid-900.be9ee23c0c6390141475.ttf", 10 | "static/media/fa-regular-400.svg": "/static/media/fa-regular-400.4689f52cc96215721344.svg", 11 | "static/media/fa-brands-400.eot": "/static/media/fa-brands-400.23f19bb08961f37aaf69.eot", 12 | "static/media/fa-brands-400.ttf": "/static/media/fa-brands-400.527940b104eb2ea366c8.ttf", 13 | "static/media/fa-solid-900.woff": "/static/media/fa-solid-900.eeccf4f66002c6f2ba24.woff", 14 | "static/media/fa-brands-400.woff": "/static/media/fa-brands-400.2285773e6b4b172f07d9.woff", 15 | "static/media/fa-solid-900.woff2": "/static/media/fa-solid-900.1551f4f60c37af51121f.woff2", 16 | "static/media/fa-brands-400.woff2": "/static/media/fa-brands-400.d878b0a6a1144760244f.woff2", 17 | "static/media/fa-regular-400.eot": "/static/media/fa-regular-400.77206a6bb316fa0aded5.eot", 18 | "static/media/fa-regular-400.ttf": "/static/media/fa-regular-400.491974d108fe4002b2aa.ttf", 19 | "static/media/fa-regular-400.woff": "/static/media/fa-regular-400.bb58e57c48a3e911f15f.woff", 20 | "static/media/fa-regular-400.woff2": "/static/media/fa-regular-400.7a3337626410ca2f4071.woff2", 21 | "index.html": "/index.html", 22 | "main.3e235f7e.css.map": "/static/css/main.3e235f7e.css.map", 23 | "main.ced1039b.js.map": "/static/js/main.ced1039b.js.map", 24 | "787.44e022fc.chunk.js.map": "/static/js/787.44e022fc.chunk.js.map" 25 | }, 26 | "entrypoints": [ 27 | "static/css/main.3e235f7e.css", 28 | "static/js/main.ced1039b.js" 29 | ] 30 | } -------------------------------------------------------------------------------- /docs/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allproxy/mitmproxy-ui/cafa794d7f2c9f648f9583ca8d702b30d6a7adad/docs/favicon.ico -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | AllProxy 13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | -------------------------------------------------------------------------------- /docs/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "AllProxy", 3 | "name": "AllProxy Debugging Tool", 4 | "start_url": ".", 5 | "display": "standalone", 6 | "theme_color": "#000000", 7 | "background_color": "#ffffff" 8 | } 9 | -------------------------------------------------------------------------------- /docs/plugins/importjson/plugin.js: -------------------------------------------------------------------------------- 1 | function importJSON(jsonObjects) { 2 | } -------------------------------------------------------------------------------- /docs/plugins/parsejson/plugin.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | // Function called to extract date, level, kind and message 3 | // 4 | // @param preJSONString: string - optional non-JSON string proceeding JSON object 5 | // @param jsonObject: {} - JSON log data 6 | // @returns {date: Date, level: string, category: string, kind: string, message: string, additionalJSON: {} } 7 | // 8 | // category is the availability zone, processor... 9 | // kind could be a pod name, object kind, process ID... 10 | // 11 | function parseJSON(preJSONString, jsonObject) { 12 | let level = 'info'; 13 | let date = new Date(); 14 | let category = ''; 15 | let kind = 'Kind_is_not_set'; 16 | let message = 'Message is not set - edit or replace client/public/parsejson/plugin.js'; 17 | // return raw JSON (optional) 18 | let rawLine; 19 | // Copy any JSON fields not defined in jsonObject 20 | let additionalJSON = {}; 21 | 22 | // Set the level 23 | // level = jsonObject.m_level; 24 | 25 | // Set the date 26 | // date = jsonObject.my_date; 27 | 28 | // Set the kind 29 | //kind = jsonObject.my_kind; 30 | 31 | // Set message 32 | //message = jsonObject.my_message; 33 | 34 | return { date, level, category, kind, message, rawLine, additionalJSON }; 35 | } 36 | -------------------------------------------------------------------------------- /docs/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /docs/static/js/787.44e022fc.chunk.js: -------------------------------------------------------------------------------- 1 | "use strict";(self.webpackChunkclient=self.webpackChunkclient||[]).push([[787],{787:function(e,t,n){n.r(t),n.d(t,{getCLS:function(){return v},getFCP:function(){return S},getFID:function(){return k},getLCP:function(){return F},getTTFB:function(){return C}});var i,a,r,o,u=function(e,t){return{name:e,value:void 0===t?-1:t,delta:0,entries:[],id:"v1-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12)}},c=function(e,t){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){if("first-input"===e&&!("PerformanceEventTiming"in self))return;var n=new PerformanceObserver((function(e){return e.getEntries().map(t)}));return n.observe({type:e,buffered:!0}),n}}catch(e){}},f=function(e,t){var n=function n(i){"pagehide"!==i.type&&"hidden"!==document.visibilityState||(e(i),t&&(removeEventListener("visibilitychange",n,!0),removeEventListener("pagehide",n,!0)))};addEventListener("visibilitychange",n,!0),addEventListener("pagehide",n,!0)},s=function(e){addEventListener("pageshow",(function(t){t.persisted&&e(t)}),!0)},m="function"==typeof WeakSet?new WeakSet:new Set,p=function(e,t,n){var i;return function(){t.value>=0&&(n||m.has(t)||"hidden"===document.visibilityState)&&(t.delta=t.value-(i||0),(t.delta||void 0===i)&&(i=t.value,e(t)))}},v=function(e,t){var n,i=u("CLS",0),a=function(e){e.hadRecentInput||(i.value+=e.value,i.entries.push(e),n())},r=c("layout-shift",a);r&&(n=p(e,i,t),f((function(){r.takeRecords().map(a),n()})),s((function(){i=u("CLS",0),n=p(e,i,t)})))},d=-1,l=function(){return"hidden"===document.visibilityState?0:1/0},h=function(){f((function(e){var t=e.timeStamp;d=t}),!0)},g=function(){return d<0&&(d=l(),h(),s((function(){setTimeout((function(){d=l(),h()}),0)}))),{get timeStamp(){return d}}},S=function(e,t){var n,i=g(),a=u("FCP"),r=function(e){"first-contentful-paint"===e.name&&(f&&f.disconnect(),e.startTime=0&&a1e12?new Date:performance.now())-e.timeStamp;"pointerdown"==e.type?function(e,t){var n=function(){w(e,t),a()},i=function(){a()},a=function(){removeEventListener("pointerup",n,y),removeEventListener("pointercancel",i,y)};addEventListener("pointerup",n,y),addEventListener("pointercancel",i,y)}(t,e):w(t,e)}},b=function(e){["mousedown","keydown","touchstart","pointerdown"].forEach((function(t){return e(t,T,y)}))},k=function(e,t){var n,r=g(),v=u("FID"),d=function(e){e.startTime=0&&(n||u.has(t)||\"hidden\"===document.visibilityState)&&(t.delta=t.value-(i||0),(t.delta||void 0===i)&&(i=t.value,e(t)))}},s=function(e,t){var n,i=a(\"CLS\",0),u=function(e){e.hadRecentInput||(i.value+=e.value,i.entries.push(e),n())},s=r(\"layout-shift\",u);s&&(n=f(e,i,t),o((function(){s.takeRecords().map(u),n()})),c((function(){i=a(\"CLS\",0),n=f(e,i,t)})))},m=-1,p=function(){return\"hidden\"===document.visibilityState?0:1/0},v=function(){o((function(e){var t=e.timeStamp;m=t}),!0)},d=function(){return m<0&&(m=p(),v(),c((function(){setTimeout((function(){m=p(),v()}),0)}))),{get timeStamp(){return m}}},l=function(e,t){var n,i=d(),o=a(\"FCP\"),s=function(e){\"first-contentful-paint\"===e.name&&(p&&p.disconnect(),e.startTime=0&&t1e12?new Date:performance.now())-e.timeStamp;\"pointerdown\"==e.type?function(e,t){var n=function(){y(e,t),a()},i=function(){a()},a=function(){removeEventListener(\"pointerup\",n,h),removeEventListener(\"pointercancel\",i,h)};addEventListener(\"pointerup\",n,h),addEventListener(\"pointercancel\",i,h)}(t,e):y(t,e)}},w=function(e){[\"mousedown\",\"keydown\",\"touchstart\",\"pointerdown\"].forEach((function(t){return e(t,E,h)}))},L=function(n,s){var m,p=d(),v=a(\"FID\"),l=function(e){e.startTime 11 | 12 | (c) 2009-2016 Stuart Knightley 13 | Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown. 14 | 15 | JSZip uses the library pako released under the MIT license : 16 | https://github.com/nodeca/pako/blob/main/LICENSE 17 | */ 18 | 19 | /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ 20 | 21 | /** 22 | * @license 23 | * Lodash 24 | * Copyright OpenJS Foundation and other contributors 25 | * Released under MIT license 26 | * Based on Underscore.js 1.8.3 27 | * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors 28 | */ 29 | 30 | /** 31 | * A better abstraction over CSS. 32 | * 33 | * @copyright Oleg Isonen (Slobodskoi) / Isonen 2014-present 34 | * @website https://github.com/cssinjs/jss 35 | * @license MIT 36 | */ 37 | 38 | /** @license React v0.20.2 39 | * scheduler.production.min.js 40 | * 41 | * Copyright (c) Facebook, Inc. and its affiliates. 42 | * 43 | * This source code is licensed under the MIT license found in the 44 | * LICENSE file in the root directory of this source tree. 45 | */ 46 | 47 | /** @license React v16.13.1 48 | * react-is.production.min.js 49 | * 50 | * Copyright (c) Facebook, Inc. and its affiliates. 51 | * 52 | * This source code is licensed under the MIT license found in the 53 | * LICENSE file in the root directory of this source tree. 54 | */ 55 | 56 | /** @license React v17.0.2 57 | * react-dom.production.min.js 58 | * 59 | * Copyright (c) Facebook, Inc. and its affiliates. 60 | * 61 | * This source code is licensed under the MIT license found in the 62 | * LICENSE file in the root directory of this source tree. 63 | */ 64 | 65 | /** @license React v17.0.2 66 | * react-is.production.min.js 67 | * 68 | * Copyright (c) Facebook, Inc. and its affiliates. 69 | * 70 | * This source code is licensed under the MIT license found in the 71 | * LICENSE file in the root directory of this source tree. 72 | */ 73 | 74 | /** @license React v17.0.2 75 | * react-jsx-runtime.production.min.js 76 | * 77 | * Copyright (c) Facebook, Inc. and its affiliates. 78 | * 79 | * This source code is licensed under the MIT license found in the 80 | * LICENSE file in the root directory of this source tree. 81 | */ 82 | 83 | /** @license React v17.0.2 84 | * react.production.min.js 85 | * 86 | * Copyright (c) Facebook, Inc. and its affiliates. 87 | * 88 | * This source code is licensed under the MIT license found in the 89 | * LICENSE file in the root directory of this source tree. 90 | */ 91 | -------------------------------------------------------------------------------- /docs/static/media/fa-brands-400.2285773e6b4b172f07d9.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allproxy/mitmproxy-ui/cafa794d7f2c9f648f9583ca8d702b30d6a7adad/docs/static/media/fa-brands-400.2285773e6b4b172f07d9.woff -------------------------------------------------------------------------------- /docs/static/media/fa-brands-400.23f19bb08961f37aaf69.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allproxy/mitmproxy-ui/cafa794d7f2c9f648f9583ca8d702b30d6a7adad/docs/static/media/fa-brands-400.23f19bb08961f37aaf69.eot -------------------------------------------------------------------------------- /docs/static/media/fa-brands-400.527940b104eb2ea366c8.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allproxy/mitmproxy-ui/cafa794d7f2c9f648f9583ca8d702b30d6a7adad/docs/static/media/fa-brands-400.527940b104eb2ea366c8.ttf -------------------------------------------------------------------------------- /docs/static/media/fa-brands-400.d878b0a6a1144760244f.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allproxy/mitmproxy-ui/cafa794d7f2c9f648f9583ca8d702b30d6a7adad/docs/static/media/fa-brands-400.d878b0a6a1144760244f.woff2 -------------------------------------------------------------------------------- /docs/static/media/fa-regular-400.4689f52cc96215721344.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Created by FontForge 20201107 at Wed Aug 4 12:25:29 2021 6 | By Robert Madole 7 | Copyright (c) Font Awesome 8 | 9 | 10 | 11 | 24 | 25 | 29 | 33 | 37 | 41 | 46 | 51 | 53 | 57 | 62 | 66 | 70 | 75 | 80 | 87 | 93 | 97 | 100 | 103 | 109 | 116 | 119 | 125 | 129 | 133 | 140 | 148 | 156 | 163 | 167 | 171 | 173 | 177 | 184 | 189 | 196 | 200 | 202 | 206 | 211 | 215 | 224 | 227 | 230 | 233 | 237 | 244 | 248 | 251 | 254 | 257 | 260 | 264 | 271 | 278 | 285 | 289 | 292 | 295 | 301 | 307 | 314 | 319 | 323 | 327 | 332 | 337 | 341 | 348 | 352 | 356 | 361 | 367 | 373 | 378 | 384 | 390 | 396 | 399 | 402 | 406 | 413 | 420 | 428 | 433 | 442 | 451 | 458 | 463 | 467 | 470 | 475 | 480 | 485 | 488 | 491 | 494 | 503 | 511 | 516 | 521 | 526 | 530 | 535 | 537 | 539 | 542 | 554 | 560 | 565 | 568 | 571 | 574 | 577 | 580 | 584 | 589 | 594 | 599 | 604 | 610 | 617 | 622 | 626 | 631 | 635 | 641 | 647 | 655 | 661 | 667 | 678 | 684 | 694 | 700 | 708 | 716 | 721 | 727 | 735 | 744 | 748 | 754 | 759 | 764 | 767 | 773 | 779 | 784 | 791 | 794 | 800 | 801 | 802 | -------------------------------------------------------------------------------- /docs/static/media/fa-regular-400.491974d108fe4002b2aa.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allproxy/mitmproxy-ui/cafa794d7f2c9f648f9583ca8d702b30d6a7adad/docs/static/media/fa-regular-400.491974d108fe4002b2aa.ttf -------------------------------------------------------------------------------- /docs/static/media/fa-regular-400.77206a6bb316fa0aded5.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allproxy/mitmproxy-ui/cafa794d7f2c9f648f9583ca8d702b30d6a7adad/docs/static/media/fa-regular-400.77206a6bb316fa0aded5.eot -------------------------------------------------------------------------------- /docs/static/media/fa-regular-400.7a3337626410ca2f4071.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allproxy/mitmproxy-ui/cafa794d7f2c9f648f9583ca8d702b30d6a7adad/docs/static/media/fa-regular-400.7a3337626410ca2f4071.woff2 -------------------------------------------------------------------------------- /docs/static/media/fa-regular-400.bb58e57c48a3e911f15f.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allproxy/mitmproxy-ui/cafa794d7f2c9f648f9583ca8d702b30d6a7adad/docs/static/media/fa-regular-400.bb58e57c48a3e911f15f.woff -------------------------------------------------------------------------------- /docs/static/media/fa-solid-900.1551f4f60c37af51121f.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allproxy/mitmproxy-ui/cafa794d7f2c9f648f9583ca8d702b30d6a7adad/docs/static/media/fa-solid-900.1551f4f60c37af51121f.woff2 -------------------------------------------------------------------------------- /docs/static/media/fa-solid-900.9bbb245e67a133f6e486.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allproxy/mitmproxy-ui/cafa794d7f2c9f648f9583ca8d702b30d6a7adad/docs/static/media/fa-solid-900.9bbb245e67a133f6e486.eot -------------------------------------------------------------------------------- /docs/static/media/fa-solid-900.be9ee23c0c6390141475.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allproxy/mitmproxy-ui/cafa794d7f2c9f648f9583ca8d702b30d6a7adad/docs/static/media/fa-solid-900.be9ee23c0c6390141475.ttf -------------------------------------------------------------------------------- /docs/static/media/fa-solid-900.eeccf4f66002c6f2ba24.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allproxy/mitmproxy-ui/cafa794d7f2c9f648f9583ca8d702b30d6a7adad/docs/static/media/fa-solid-900.eeccf4f66002c6f2ba24.woff -------------------------------------------------------------------------------- /image-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allproxy/mitmproxy-ui/cafa794d7f2c9f648f9583ca8d702b30d6a7adad/image-1.png -------------------------------------------------------------------------------- /image-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allproxy/mitmproxy-ui/cafa794d7f2c9f648f9583ca8d702b30d6a7adad/image-2.png -------------------------------------------------------------------------------- /image-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allproxy/mitmproxy-ui/cafa794d7f2c9f648f9583ca8d702b30d6a7adad/image-3.png -------------------------------------------------------------------------------- /image-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allproxy/mitmproxy-ui/cafa794d7f2c9f648f9583ca8d702b30d6a7adad/image-4.png -------------------------------------------------------------------------------- /image-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allproxy/mitmproxy-ui/cafa794d7f2c9f648f9583ca8d702b30d6a7adad/image-5.png -------------------------------------------------------------------------------- /image-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allproxy/mitmproxy-ui/cafa794d7f2c9f648f9583ca8d702b30d6a7adad/image-6.png -------------------------------------------------------------------------------- /image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allproxy/mitmproxy-ui/cafa794d7f2c9f648f9583ca8d702b30d6a7adad/image.png -------------------------------------------------------------------------------- /jsonLogScript: -------------------------------------------------------------------------------- 1 | // Function called to extract date, level, app name and message 2 | // 3 | // @param preJSONString: string - optional non-JSON string proceeding JSON object 4 | // @param jsonObject: {} - JSON log data 5 | // @returns {date: Date, level: string, category: string, appName: string, message: string, rawLine: string, additionalJSON: {} } 6 | // 7 | // category is the availability zone 8 | // appName is the pod name 9 | // 10 | const extractDateLevelCategoryAppNameMessage = function (preJSONString, jsonObject) { 11 | let level = 'info'; 12 | let date = new Date(); 13 | let category = ''; 14 | let appName = 'App_name_is_not_set'; 15 | let message = 'Message is not set - edit or replace client/public/plugins/parsejson/plugin.js'; 16 | // return raw JSON (optional) 17 | let rawLine; 18 | // Copy any JSON fields not defined in jsonObject 19 | let additionalJSON = {}; 20 | 21 | // Set the level 22 | // level = jsonObject.m_level; 23 | 24 | // Set the date 25 | // date = jsonObject.my_date; 26 | 27 | // Set the app name 28 | //appName = jsonObject.my_app; 29 | 30 | // Set message 31 | //message = jsonObject.my_message; 32 | 33 | return { date, level, category, appName, message, rawLine, additionalJSON }; 34 | } -------------------------------------------------------------------------------- /jsonQueries.json: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /jsonSubQueries.json: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /method: -------------------------------------------------------------------------------- 1 | advanced -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mitmproxy-ui", 3 | "version": "3.56.2", 4 | "description": "MITM Debug Proxy UI", 5 | "keywords": [ 6 | "proxy", 7 | "debug", 8 | "mitm", 9 | "fiddler", 10 | "charles", 11 | "http", 12 | "https", 13 | "sql", 14 | "grpc", 15 | "tcp" 16 | ], 17 | "main": "index.js", 18 | "bin": { 19 | "mitmproxy-ui": "bin/mitmproxy-ui", 20 | "mitmproxy-ui_win.bat": "bin/mitmproxy-ui_win.bat" 21 | }, 22 | "scripts": { 23 | "install": "npm install allproxy", 24 | "start": "cd ./node_modules/allproxy && ALLPROXY_APP=mitmproxy node ./headless.js" 25 | }, 26 | "repository": { 27 | "type": "git", 28 | "url": "git+https://github.com/allproxy/mitmproxy-ui.git" 29 | }, 30 | "author": "Dave Christenson", 31 | "license": "MIT", 32 | "private": false, 33 | "bugs": { 34 | "url": "https://github.com/allproxy/mitmproxy-ui/issues" 35 | }, 36 | "homepage": "https://github.com/allproxy/mitmproxy-ui#readme" 37 | } 38 | --------------------------------------------------------------------------------