Skip to main content

Setting up a proxy in Charles / Fiddler

Before starting, prepare the connection parameters from your Mango Proxy dashboard (host, port, login, password):
Getting started → Setting up a proxy
Protocols and differences: HTTP/HTTPS, SOCKS5
System proxies at the OS level: WindowsmacOSLinux


Why use Charles/Fiddler with Mango Proxy

  • Two‑layer control: local traffic capture/diagnostics (Charles/Fiddler) + outbound via Mango Proxy.
  • Security: hiding the origin IP behind Mango, segmenting test/production environments.
  • QA/Debug: decrypting HTTPS (with SSL Proxying), editing requests/responses, replaying, profiling.

Part A. Charles Proxy (macOS/Windows)

Step 1.

Interface Charles Proxy

Step 2.

Interface Charles Proxy

Step 3.

Interface Charles Proxy

### 1) Basic workflow

  • Your application/browser → Charles (local HTTP(S) proxy) → Upstream: Mango Proxy → Internet.

### 2) Enable Charles as system proxy (optional)

  • Proxy → macOS Proxy (on macOS) or Proxy → Windows Proxy (on Windows).
    This automatically registers Charles as the system proxy.
    If you don't want to change system settings — specify the proxy only in the desired application (see browser articles).

### 3) Configure upstream to Mango Proxy

  1. Open Proxy → Proxy Settings…
  2. In the Proxies tab — ensure the local Charles listener is enabled (typically 127.0.0.1:8888).
  3. HTTP Proxy / SOCKS Proxy tab for outbound:
    • If using HTTP/HTTPS: specify p2.mangoproxy.com and port 2333 in HTTP Proxy.
    • If using SOCKS5: switch to SOCKS and set p2.mangoproxy.com:2333.
  4. Click OK.

Authentication: on the first request, Charles will ask for your Mango Proxy login/password.
If you want to set it in advance: Proxy → Access Control Settings… / External Proxy Authentication (menus may vary between Charles versions).

### 4) HTTPS inspection (optional) To decrypt HTTPS inside Charles:

  1. Help → SSL Proxying → Install Charles Root Certificate (install the root certificate).
  2. On macOS — open Keychain Access, find Charles Proxy CA, mark as Always Trust.
    On Windows — the certificate is installed into trusted authorities.
  3. Proxy → SSL Proxying Settings… → Add and add hosts/patterns (e.g., *:* for all, or specific domains/ports).

⚠️ Use SSL Proxying only in dev/QA environments. Keep the root certificate safe.

### 5) Verification

  • Open a browser → go to https://api.ipify.org — you should see Mango Proxy IP.
  • Ensure that requests are visible in Charles.
  • If there are authentication errors — check login/password and protocol type (HTTP/HTTPS vs SOCKS5).

Part B. Fiddler (Windows/macOS)

### 1) Choose a version

  • Fiddler Classic (Windows) — classic interface.
  • Fiddler Everywhere (Win/macOS/Linux) — cross‑platform version. Below is a general approach.

### 2) Set Fiddler as system proxy (optional)

  • Tools → Options → Connections → enable interception (Allow remote / Capture).
  • Or enable the system proxy on startup (Classic does this automatically).
  • To avoid changing system parameters — set the proxy inside the application.

### 3) Upstream proxy Mango

  • Tools → Options → Gateway (Classic) or Settings → Gateway (Everywhere).
  • Select Use custom proxy and specify:
    • Address: p2.mangoproxy.com
    • Port: 2333
  • If authentication is required — enable Use custom credentials and enter login/password.

### 4) HTTPS inspection (optional)

  • Tools → Options → HTTPSDecrypt HTTPS traffic.
  • Install and trust Fiddler’s root certificate.

### 5) Verification

  • Go to https://api.ipify.org in your browser — the IP should be from Mango Proxy.
  • The entire session is displayed in the list of requests.

Common errors and solutions

  • 407 Proxy Authentication Required — wrong login/password; check that the upstream proxy is set in the correct section (HTTP vs SOCKS).
  • SSL Handshake Error — certificate not trusted; check the CA installation and the list of domains in SSL Proxying.
  • Traffic not visible — the application may ignore system proxy settings; set the proxy in the application itself or use ProxyCap (see ProxyCap).

See also