
Complete Solution to Quantumult X Proxy Issues (Mac + iOS)
4/8/2025 · 8 min read
Complete Solution to Quantumult X Proxy Issues (Mac + iOS)
As a powerful network debugging and traffic-routing utility, Quantumult X has become the go-to tool for advanced users on macOS and iOS due to its high concurrency performance, rich scripting system, and flexible rewrite features. However, due to operating system sandbox restrictions, network stack architectures, and differing system proxy takeover logic, users frequently encounter issues like "no internet connection after enabling proxy," "traffic not being intercepted," or "rewrite rules and scripts not taking effect."
This article provides a deep dive into the proxy mechanism of Quantumult X on both macOS and iOS, along with a complete troubleshooting and configuration guide to solve your proxy connection problems once and for all.
Chapter 1: macOS Proxy Configuration & Troubleshooting
On macOS, the proxy mechanism of Quantumult X behaves quite differently from iOS. Although macOS supports TUN virtual interfaces to capture traffic, Quantumult X still heavily relies on system proxy settings (HTTP/HTTPS/SOCKS5 Proxy). If system proxy settings are overwritten by other VPN clients or fail to clear cleanly on an unexpected exit, your system network will lose internet connection or fail to route through the proxy.
1. Manually Setting up macOS System Proxies
If your browser cannot open pages or no traffic logs appear in the Quantumult X console after starting it on your Mac, first check if the system proxy points to the correct local port.
Follow these steps to manually verify and configure system proxies:
- Find Listening Ports: Open the main Quantumult X window, click the circular control button on the bottom right to open settings, and look for "Local Port". By default:
- HTTP/HTTPS Port:
6152 - SOCKS5 Port:
6153
- HTTP/HTTPS Port:
- Open System Settings: Click the Apple menu icon at the top left of your Mac screen and choose System Settings.
- Navigate to Network Proxies: Click Network in the left sidebar, select your active connection (such as Wi-Fi or Ethernet), and then click Details... in the top right.
- Configure Proxies: Select the Proxies tab in the details modal. Toggle the switches on for:
- Web Proxy (HTTP): Set Server to
127.0.0.1and Port to6152. - Secure Web Proxy (HTTPS): Set Server to
127.0.0.1and Port to6152. - (Optional) If you use SOCKS5 routing, toggle SOCKS Proxy on and point it to
127.0.0.1on port6153.
- Web Proxy (HTTP): Set Server to
- Disable Auto Configurations: Make sure "Auto Proxy Discovery" and "Automatic Proxy Configuration" are unchecked.
- Apply Settings: Click OK, then click Apply to activate the new configuration.
2. Resolving Multi-Client Conflicts and Firewall Issues
Other common macOS proxy issues stem from software conflicts and firewall blocks:
- Conflicts with Other Proxy Clients: macOS only allows one active client to write to the system global HTTP proxy at a time. If Clash, Surge, Shadowrocket, or an enterprise VPN (e.g., Cisco AnyConnect) is running concurrently, their proxy settings will conflict. Close and quit other network tools completely before starting Quantumult X.
- iCloud Private Relay Conflicts: iCloud Private Relay bypasses standard system proxies for Safari traffic. Go to System Settings → Apple ID → iCloud → Private Relay and turn it off to let Quantumult X capture Safari traffic.
- Firewall Rules: Sometimes the macOS built-in firewall blocks incoming connections to Quantumult X ports. Verify firewall settings in System Settings → Privacy & Security → Firewall to ensure Quantumult X is allowed.
Chapter 2: iOS Proxy Configuration & HTTPS Decryption
On iOS, sandboxing restricts direct access to system network configuration files. Quantumult X resolves this by creating a virtual VPN tunnel (TUN interface) to intercept incoming and outgoing traffic.
1. Installing VPN Configuration Profiles
When you switch on Quantumult X on iOS for the first time, you will see a system dialog asking to add VPN configurations:
- Tap Allow and enter your screen passcode. This registers a
NEPacketTunnelProviderin the iOS network stack. - If the switch automatically toggles back to off or says "VPN not active," your system helper service (
nehelper) might have stalled. Go to iOS Settings → General → VPN & Device Management → VPN, delete the Quantumult X profile, and re-open the app to trigger a clean re-installation.
2. Setting up MitM (HTTPS Decryption) & CA Certificate Trust
Since most modern web services use encrypted HTTPS, Quantumult X can only see target domains (e.g., example.com) without a decryption layer. For rewrite rules and scripts to run, you must set up MitM (Man-in-the-Middle) decryption by installing and trusting a root CA certificate.
Follow these precise steps:
- Enable MitM: In Quantumult X settings (bottom-right windmill icon), scroll down to MitM and toggle it on.
- Generate CA Certificate: Tap Generate CA Certificate.
- Download Profile: Tap Configure / Install Certificate. This opens Safari to download the profile. Tap Allow in the prompt.
- Install Profile: Go to iOS Settings. Tap Profile Downloaded at the top, select Install in the top-right corner, and enter your passcode to confirm.
- Trust the Root CA (Crucial Step):
This is where most users fail. You must manually grant full trust to the installed certificate:
- Go to iOS Settings → General → About.
- Scroll to the bottom and tap Certificate Trust Settings.
- Under "Enable full trust for root certificates," locate your Quantumult X CA certificate and turn the switch on. Tap Continue in the security warning.
- Configure Hostnames: Go back to the Quantumult X MitM page and add domain hostnames to decrypt (e.g.,
*.example.com). Avoid using*or*:443globally, as decrypting all HTTPS traffic slows down your connection and poses privacy risks.
Chapter 3: Common Error Codes & Solutions
Understanding the physical causes of red error logs in the Quantumult X console is key to resolving connection issues.
H3: Connection Refused (Port 6152)
- Cause: The client request reached port 6152, but no service responded. Usually, this means the Quantumult X background process was terminated by iOS (OOM) or the port is occupied by another proxy client on macOS.
- Solution:
- Mac: Run
lsof -i :6152in the terminal to identify the conflicting process and terminate it, or change the HTTP listening port in Quantumult X settings. - iOS: Re-open the Quantumult X app to revive the background process, or restart your device to reset the network stack.
- Mac: Run
H3: TLS Handshake Timeout
- Cause: The secure handshake phase between your client and the remote proxy server timed out. This points to a poor physical connection, high node latency, DNS poisoning, or packet drops caused by MTU conflicts.
- Solution:
- Test node latency on the main dashboard and switch to a lower-latency node.
- Test if switching from Wi-Fi to cellular data resolves the block.
- Adjust the MTU value to
1400or1350in the advanced configurations.
H3: MitM Decryption Failed (Untrusted Certificate)
- Cause: The client browser rejects the connection because it cannot verify the HTTPS certificate. This means the root CA certificate is either not fully trusted or the target App enforces SSL Pinning (e.g., Twitter, Spotify), rejecting any user-installed root CA.
- Solution:
- Double-check if the CA certificate toggle is enabled in Certificate Trust Settings.
- Add SSL-pinned domains to the bypass list (Skip CN / Bypass Domains) so Quantumult X passes them through without decryption.
H3: DNS Resolution Failed
- Cause: Quantumult X cannot resolve target domains to IP addresses. This happens if local network DNS servers are unreachable or the custom servers under the
[dns]configuration block are blocked. - Solution:
- Verify the
[dns]config section includes reliable public DNS resolvers. - Toggle "System DNS" on to let Quantumult X use the default gateway's DNS servers.
- Verify the
H3: API Request Blocked / Rewrite Invalid
- Cause: Rewrite rules or JavaScript scripts are not triggering. This is usually because the target domain is not in the MitM Hostnames list, the regular expression is incorrect, or the global switches are off.
- Solution:
- Ensure the yellow (Rewrite) and blue (Script) icons on the main dashboard are turned on.
- Verify that the target domain is added to your MitM Hostnames list.
- Use regex testing tools to verify that your rewrite rule pattern matches target URLs.
FAQ (Frequently Asked Questions)
FAQ 1: Why do I lose internet connection on my Mac after starting Quantumult X?
This occurs when the macOS system proxy is not correctly set. Quantumult X listens locally, meaning system HTTP/HTTPS traffic must be manually pointed to 127.0.0.1 on port 6152. Refer to Chapter 1 of this guide for step-by-step manual configuration.
FAQ 2: How do I install and trust the MitM root certificate on iOS?
First, generate the CA certificate in Quantumult X and tap "Configure/Install". Download the profile via Safari and install it under iOS Settings → Profile Downloaded. Lastly, navigate to iOS Settings → General → About → Certificate Trust Settings and toggle full trust on for the CA certificate.
FAQ 3: Why are domestic Apps loading slowly or failing when Quantumult X is active?
This happens when domestic traffic is incorrectly routed to overseas proxy nodes. We recommend importing well-maintained routing rule sets (like ACL4SSR or DivineEngine) and mapping domestic domains/services to the DIRECT policy.
FAQ 4: How can I fix "Too many open files" errors on macOS?
This error is triggered when active network connections exceed the default macOS file descriptor limit (ulimit). You can temporarily raise the limit by running ulimit -n 65535 in your terminal or make it permanent by modifying system launchctl plist files.
FAQ 5: Why are my Rewrite rules or Scripts not running?
Make sure that:
- The domain is added to your MitM Hostnames list;
- The Rewrite regex pattern matches target URLs;
- Global Rewrite (yellow icon) and Script (blue icon) switches are activated on the home dashboard.