{
  "@context": [
    "https://schema.org",
    {
      "nuanyue": "https://www.nuanyue.com/ns#"
    }
  ],
  "@type": "SoftwareApplication",
  "@id": "https://www.nuanyue.com/software/mitmproxy/#software",
  "name": "mitmproxy",
  "description": "Free and open-source interactive HTTPS proxy for intercepting, inspecting, modifying and replaying web traffic, with command-line, web and Python-scriptable tools.",
  "url": "https://www.nuanyue.com/software/mitmproxy/",
  "mainEntityOfPage": "https://www.nuanyue.com/software/mitmproxy/",
  "operatingSystem": "macOS",
  "applicationCategory": "UtilitiesApplication",
  "sameAs": [
    "https://mitmproxy.org/",
    "https://github.com/mitmproxy/mitmproxy"
  ],
  "softwareVersion": "12.2.3",
  "license": "MIT",
  "offers": {
    "@type": "Offer",
    "price": "0",
    "priceCurrency": "USD"
  },
  "nuanyue:record": {
    "schemaVersion": 1,
    "id": "software:mitmproxy",
    "slug": "mitmproxy",
    "name": "mitmproxy",
    "type": "SoftwareApplication",
    "entityType": "HTTP debugging proxy",
    "description": "Free and open-source interactive HTTPS proxy for intercepting, inspecting, modifying and replaying web traffic, with command-line, web and Python-scriptable tools.",
    "shortDescription": "Open-source interactive HTTPS proxy, scriptable in Python.",
    "answer": "mitmproxy is an intercepting HTTPS proxy that lets you watch and change web traffic in flight. It handles HTTP/1, HTTP/2, HTTP/3, WebSockets and any other TLS-protected protocol, and can decode message types from HTML to Protobuf, so the content is readable rather than raw. It ships as three tools sharing one engine: a command-line interface, a web interface similar to a browser's developer tools, and a scripting interface driven by a Python API that gives full control over messages. It is free and open source under the MIT licence, and is used for debugging, testing, privacy measurement and penetration testing. It suits developers and testers who want scriptable control of traffic rather than a graphical application.",
    "page": "https://www.nuanyue.com/software/mitmproxy/",
    "dataUrl": "https://www.nuanyue.com/data/software/mitmproxy.json",
    "categories": [
      "networking"
    ],
    "tags": [],
    "platform": [
      "macOS"
    ],
    "architecture": [],
    "featured": false,
    "pricing": "open-source",
    "pricingDescription": "Free and open source. mitmproxy is released under the MIT licence.",
    "license": "MIT",
    "currentVersion": "12.2.3",
    "openSource": true,
    "website": "https://mitmproxy.org/",
    "documentation": "https://github.com/mitmproxy/mitmproxy/tree/main/examples/contrib",
    "github": "https://github.com/mitmproxy/mitmproxy",
    "download": "https://downloads.mitmproxy.org/12.2.3/mitmproxy-12.2.3-macos-arm64.tar.gz",
    "features": [
      "Intercepts, inspects, modifies and replays web traffic",
      "Supports HTTP/1, HTTP/2, HTTP/3, WebSockets and other TLS-protected protocols",
      "Decodes message types from HTML to Protobuf into readable form",
      "Command-line interface for terminal use and automation",
      "mitmweb provides a browser-based interface with request interception and replay",
      "Python API for writing addons that control traffic programmatically",
      "Installed through Homebrew, Docker or direct binaries",
      "Ecosystem including mitmproxy2swagger and kubetap"
    ],
    "useCases": [
      "Intercepting a specific message and changing it before it reaches its destination",
      "Replaying a captured request to a client or server later",
      "Writing a Python addon to redirect or rewrite traffic automatically",
      "Measuring what an application or device actually sends, for privacy or security review"
    ],
    "formats": [],
    "integrations": [],
    "pros": [
      {
        "text": "Intercepts, inspects, modifies and replays traffic across HTTP/1, HTTP/2, HTTP/3, WebSockets and other TLS-protected protocols.",
        "status": "developer-stated",
        "source": "official",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "Decodes message types from HTML to Protobuf so content is readable rather than raw.",
        "status": "developer-stated",
        "source": "official",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "A Python API gives full control over traffic, allowing addons that modify, redirect or visualise messages.",
        "status": "developer-stated",
        "source": "official",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "Ships a web interface, mitmweb, that offers request interception and replay in a browser.",
        "status": "developer-stated",
        "source": "official",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "Is free and open source under the MIT licence, with no paid tier.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "Installs through Homebrew or Docker as well as from published binaries.",
        "status": "verified",
        "source": "official",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      }
    ],
    "cons": [
      {
        "text": "The command-line tool is the primary interface, which makes it less approachable than a graphical application.",
        "status": "derived",
        "source": "official",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "Getting the most from it means writing Python addons.",
        "status": "derived",
        "source": "official",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "Intercepting HTTPS requires trusting a certificate on the inspected device, which weakens that device's security while installed.",
        "status": "derived",
        "source": "official",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "The minimum macOS version is not published in the sources Nuanyue tracks.",
        "status": "editorially-reviewed"
      }
    ],
    "whoIsItFor": [
      "Developers and testers who want scriptable, automatable control of traffic",
      "Security and privacy researchers who need to inspect traffic at scale"
    ],
    "notFor": [
      "Anyone who wants a graphical Mac application with a point-and-click breakpoint workflow",
      "Users who are not comfortable on the command line or writing Python, since that is where its power sits"
    ],
    "limitations": [
      "The command-line interface is the primary tool; the graphical interface is a web application rather than a native Mac app",
      "Scripting requires writing Python, which is the price of its flexibility",
      "Reading HTTPS traffic requires trusting mitmproxy's certificate on the device being inspected",
      "The minimum macOS version is not stated in the sources Nuanyue tracks"
    ],
    "firstUse": {
      "installation": {
        "value": "Installed with Homebrew, run from Docker Hub, or downloaded as a published binary.",
        "status": "verified",
        "source": "official",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      "firstLaunch": {
        "value": "Start the proxy, then point the client at it; the web interface is started with the mitmweb command.",
        "status": "developer-stated",
        "source": "official",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      "systemIntegration": {
        "value": "Runs as a standalone proxy process rather than a system extension, so clients are directed to it explicitly.",
        "status": "derived",
        "source": "official",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      "appleSilicon": {
        "value": null,
        "status": "unknown"
      }
    },
    "updates": [],
    "faq": [
      {
        "question": "Is mitmproxy free?",
        "answer": "Yes. mitmproxy is free and open source under the MIT licence, with no paid tier and no feature gating.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "question": "What is the difference between mitmproxy, mitmweb and mitmdump?",
        "answer": "They share one engine but present it differently. mitmproxy is the command-line tool, mitmweb is a graphical interface that runs in a browser and adds request interception and replay, and mitmdump is driven by the Python API for scripting and automation.",
        "status": "developer-stated",
        "source": "official",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "question": "Which protocols does mitmproxy support?",
        "answer": "It can intercept, inspect, modify and replay HTTP/1, HTTP/2, HTTP/3, WebSockets and any other SSL/TLS-protected protocol, and decodes a range of message types from HTML to Protobuf.",
        "status": "developer-stated",
        "source": "official",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "question": "What is mitmproxy used for?",
        "answer": "The project describes it as a swiss-army knife for debugging, testing, privacy measurements and penetration testing, and it can also be used to implement custom commands or visualise messages.",
        "status": "developer-stated",
        "source": "official",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      }
    ],
    "relationships": [
      {
        "target": "proxyman",
        "type": "alternative",
        "reason": "Both intercept and modify HTTP traffic, but mitmproxy is free, open source and scriptable in Python while Proxyman is a paid native Mac application with a graphical workflow.",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "target": "charles",
        "type": "alternative",
        "reason": "Both are intercepting proxies for inspecting HTTP and HTTPS, but mitmproxy is open source and terminal-first while Charles is a paid cross-platform graphical application.",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "target": "wireshark",
        "type": "complements",
        "reason": "mitmproxy works at the HTTP layer where requests and responses are readable, while Wireshark captures the packets underneath across every protocol.",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      }
    ],
    "sources": [
      {
        "id": "mitmproxy:official",
        "type": "official_website",
        "url": "https://mitmproxy.org/",
        "title": "mitmproxy — official website",
        "trustLevel": "B",
        "accessedAt": null
      },
      {
        "id": "mitmproxy:documentation",
        "type": "documentation",
        "url": "https://github.com/mitmproxy/mitmproxy/tree/main/examples/contrib",
        "title": "mitmproxy — documentation",
        "trustLevel": "C",
        "accessedAt": null
      },
      {
        "id": "mitmproxy:repository",
        "type": "github",
        "url": "https://github.com/mitmproxy/mitmproxy",
        "title": "mitmproxy — source repository",
        "trustLevel": "D",
        "accessedAt": null
      }
    ],
    "claims": [
      {
        "id": "software:mitmproxy.isA",
        "subject": "software:mitmproxy",
        "predicate": "isA",
        "value": "HTTP debugging proxy",
        "status": "editorially-reviewed",
        "sourceIds": [
          "mitmproxy:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:mitmproxy.supportsPlatform",
        "subject": "software:mitmproxy",
        "predicate": "supportsPlatform",
        "value": [
          "macOS"
        ],
        "status": "verified",
        "sourceIds": [
          "mitmproxy:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:mitmproxy.officialWebsite",
        "subject": "software:mitmproxy",
        "predicate": "officialWebsite",
        "value": "https://mitmproxy.org/",
        "status": "verified",
        "sourceIds": [
          "mitmproxy:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:mitmproxy.listedInCategory",
        "subject": "software:mitmproxy",
        "predicate": "listedInCategory",
        "value": [
          "networking"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "mitmproxy:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:mitmproxy.pricingModel",
        "subject": "software:mitmproxy",
        "predicate": "pricingModel",
        "value": "Open source",
        "status": "developer-stated",
        "sourceIds": [
          "mitmproxy:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:mitmproxy.ownership",
        "subject": "software:mitmproxy",
        "predicate": "ownership",
        "value": "Third-party product — not published by Nuanyue",
        "status": "editorially-reviewed",
        "sourceIds": [],
        "lastVerified": null
      },
      {
        "id": "software:mitmproxy.isOpenSource",
        "subject": "software:mitmproxy",
        "predicate": "isOpenSource",
        "value": true,
        "status": "verified",
        "sourceIds": [
          "mitmproxy:repository",
          "mitmproxy:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:mitmproxy.licensedUnder",
        "subject": "software:mitmproxy",
        "predicate": "licensedUnder",
        "value": "MIT",
        "status": "verified",
        "sourceIds": [
          "mitmproxy:repository",
          "mitmproxy:documentation",
          "mitmproxy:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:mitmproxy.currentVersion",
        "subject": "software:mitmproxy",
        "predicate": "currentVersion",
        "value": "12.2.3",
        "status": "developer-stated",
        "sourceIds": [
          "mitmproxy:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:mitmproxy.hasFeature",
        "subject": "software:mitmproxy",
        "predicate": "hasFeature",
        "value": [
          "Intercepts, inspects, modifies and replays web traffic",
          "Supports HTTP/1, HTTP/2, HTTP/3, WebSockets and other TLS-protected protocols",
          "Decodes message types from HTML to Protobuf into readable form",
          "Command-line interface for terminal use and automation",
          "mitmweb provides a browser-based interface with request interception and replay",
          "Python API for writing addons that control traffic programmatically",
          "Installed through Homebrew, Docker or direct binaries",
          "Ecosystem including mitmproxy2swagger and kubetap"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "mitmproxy:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:mitmproxy.usedFor",
        "subject": "software:mitmproxy",
        "predicate": "usedFor",
        "value": [
          "Intercepting a specific message and changing it before it reaches its destination",
          "Replaying a captured request to a client or server later",
          "Writing a Python addon to redirect or rewrite traffic automatically",
          "Measuring what an application or device actually sends, for privacy or security review"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "mitmproxy:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:mitmproxy.audienceFor",
        "subject": "software:mitmproxy",
        "predicate": "audienceFor",
        "value": [
          "Developers and testers who want scriptable, automatable control of traffic",
          "Security and privacy researchers who need to inspect traffic at scale"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "mitmproxy:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:mitmproxy.audienceNotFor",
        "subject": "software:mitmproxy",
        "predicate": "audienceNotFor",
        "value": [
          "Anyone who wants a graphical Mac application with a point-and-click breakpoint workflow",
          "Users who are not comfortable on the command line or writing Python, since that is where its power sits"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "mitmproxy:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:mitmproxy.limitation",
        "subject": "software:mitmproxy",
        "predicate": "limitation",
        "value": [
          "The command-line interface is the primary tool; the graphical interface is a web application rather than a native Mac app",
          "Scripting requires writing Python, which is the price of its flexibility",
          "Reading HTTPS traffic requires trusting mitmproxy's certificate on the device being inspected",
          "The minimum macOS version is not stated in the sources Nuanyue tracks"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [],
        "lastVerified": null
      },
      {
        "id": "software:mitmproxy.advantage.0",
        "subject": "software:mitmproxy",
        "predicate": "advantage",
        "value": "Intercepts, inspects, modifies and replays traffic across HTTP/1, HTTP/2, HTTP/3, WebSockets and other TLS-protected protocols.",
        "status": "developer-stated",
        "sourceIds": [
          "mitmproxy:official"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:mitmproxy.advantage.1",
        "subject": "software:mitmproxy",
        "predicate": "advantage",
        "value": "Decodes message types from HTML to Protobuf so content is readable rather than raw.",
        "status": "developer-stated",
        "sourceIds": [
          "mitmproxy:official"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:mitmproxy.advantage.2",
        "subject": "software:mitmproxy",
        "predicate": "advantage",
        "value": "A Python API gives full control over traffic, allowing addons that modify, redirect or visualise messages.",
        "status": "developer-stated",
        "sourceIds": [
          "mitmproxy:official"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:mitmproxy.advantage.3",
        "subject": "software:mitmproxy",
        "predicate": "advantage",
        "value": "Ships a web interface, mitmweb, that offers request interception and replay in a browser.",
        "status": "developer-stated",
        "sourceIds": [
          "mitmproxy:official"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:mitmproxy.advantage.4",
        "subject": "software:mitmproxy",
        "predicate": "advantage",
        "value": "Is free and open source under the MIT licence, with no paid tier.",
        "status": "verified",
        "sourceIds": [
          "mitmproxy:repository"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:mitmproxy.advantage.5",
        "subject": "software:mitmproxy",
        "predicate": "advantage",
        "value": "Installs through Homebrew or Docker as well as from published binaries.",
        "status": "verified",
        "sourceIds": [
          "mitmproxy:official"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:mitmproxy.drawback.0",
        "subject": "software:mitmproxy",
        "predicate": "drawback",
        "value": "The command-line tool is the primary interface, which makes it less approachable than a graphical application.",
        "status": "derived",
        "sourceIds": [
          "mitmproxy:official"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:mitmproxy.drawback.1",
        "subject": "software:mitmproxy",
        "predicate": "drawback",
        "value": "Getting the most from it means writing Python addons.",
        "status": "derived",
        "sourceIds": [
          "mitmproxy:official"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:mitmproxy.drawback.2",
        "subject": "software:mitmproxy",
        "predicate": "drawback",
        "value": "Intercepting HTTPS requires trusting a certificate on the inspected device, which weakens that device's security while installed.",
        "status": "derived",
        "sourceIds": [
          "mitmproxy:official"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:mitmproxy.drawback.3",
        "subject": "software:mitmproxy",
        "predicate": "drawback",
        "value": "The minimum macOS version is not published in the sources Nuanyue tracks.",
        "status": "editorially-reviewed",
        "sourceIds": [],
        "lastVerified": null
      }
    ],
    "lastUpdated": "2026-10-05T00:00:00.000Z",
    "lastReviewedAt": null
  }
}