How to install mitmproxy certificate on Chrome and Chromium?

mitproxy is a popular man in the middle proxy used in web scraping operations. However, to use it for scraping https websites the custom certificate must be installed.

For Chrome and Chromium browsers follow these steps:

  1. Install mitmproxy using pip install mitmproxy or your systems package manager like:
    • Ubuntu: sudo apt install mitmproxy
    • MacOs: brew install mitmproxy
    • Windows: download binary from mitmproxy.org
  2. Run mitmproxy in the terminal and it'll start a proxy on localhost:8080 on your machine.
  3. Start Chrome instance with mitmproxy proxy attached to it:
    • Linux: google-chrome --proxy-server="localhost:8080"
    • MacOs: open -a "Google Chrome" --args --proxy-server="localhost:8080"
    • Windows: chrome.exe --proxy-server="localhost:8080"
  4. Open http://mitm.it in the browser and download the certificate for your system.
  5. Install the certificate to your Chrome or Chromium browser:
    1. Open chrome://settings/certificates in the browser.
    2. Click on Authorities tab.
    3. Click on Import button and select the certificate from the step 4.
chrome settings to install certificates

Now mitmproxy will be able to intercept and decrypt all https traffic going through it. This enables it being used with headless browser tools like Selenium, Playwright or Puppeteer.

Question tagged: Tools, HTTP

Related Posts

How to Use Tor For Web Scraping

In this article, we'll explain web scraping using Tor. For this, we'll use Tor as a proxy server to change the IP address randomly in either HTTP or SOCKS, as well as using it as a rotating proxy server.

How to Know What Anti-Bot Service a Website is Using?

In this article we'll take a look at two popular tools: WhatWaf and Wafw00f which can identify what WAF service is used.

Selenium Wire Tutorial: Intercept Background Requests

In this guide, we'll explore web scraping with Selenium Wire. We'll define what it is, how to install it, and how to use it to inspect and manipulate background requests.