BusymateHelper captures traffic two ways — a system VPN tunnel or a Wi-Fi PAC proxy — and they're mutually exclusive: only one runs at a time. Both stream to the same dashboard; they differ in where capture happens and what they cover.
The two modes at a glance
| VPN | PAC | |
|---|---|---|
| What it is | An on-device system tunnel (NEPacketTunnelProvider) | Your Wi-Fi's auto-proxy pointed at a Busymate server |
| Where capture runs | On the device, in-process | On the Busymate proxy server |
| Covers | All traffic — Wi-Fi and cellular | Wi-Fi traffic only |
| Survives backgrounding | Yes (tunnel stays up) | Yes (it's a Wi-Fi setting, not an app process) |
| Breakpoints | Supported (on-device, in the tunnel extension) | Supported (server-side, on the proxy) |
When to use each
Use VPN when:
- You need to capture everything, including cellular and non-browser app traffic.
- You're debugging on the go, away from a trusted Wi-Fi network.
- You want capture without touching iOS network settings.
Use PAC when:
- You're on Wi-Fi and only care about Wi-Fi traffic.
- You want a lightweight path that keeps working reliably in the background.
- You'd rather the heavy lifting (decryption, breakpoints, scripts) happen off-device, on the proxy server.
Breakpoints work in both modes. Pausing and editing a live request is no longer PAC-only — VPN mode runs the same breakpoint cycle inside the on-device tunnel extension. (See Inspect & breakpoints.)
What each looks like on the home screen
The big animated app icon is the live indicator: it spins while connecting, settles into a steady green ring when capture is on, and shows a VPN or PAC badge for the active path.
Below the device name, the home screen shows the controls for the currently selected mode:
VPN mode
A Status row with a toggle. Flip it on and you'll see a brief "Syncing…" then "Connected", and a VPN badge appears in the iOS status bar and Control Center — every request from then on, on Wi-Fi or cellular, streams to your dashboard. Flip it off to stop. While VPN is on, PAC can't be detected (iOS hides the Wi-Fi proxy config behind the tunnel), so the PAC status reads "Unavailable — VPN active."
This 50-second screen recording shows the whole VPN flow on a phone with no Wi-Fi — toggling Status on, the green Connected ring and the system VPN badge appearing, and capture running over cellular:
PAC mode
A grouped card showing the live Status and the URL for this device, of the form:
http://<port>.busymate.netTo activate it, point your Wi-Fi's proxy at that URL:
Settings → Wi-Fi → (your network) → Configure Proxy → AutomaticPaste the URL into the Auto field. Tapping the in-app Settings link pre-copies the URL to your clipboard, and the app's How to set up Wi-Fi PAC button walks you through it. The card's status flips to Active the moment iOS starts routing through it.
Tip: For the full step-by-step — certificate trust, the Configure Proxy flow, and a screen recording of the whole setup — see Set up Wi-Fi PAC.
Note: The PAC URL only becomes real after the device gets its assigned port from the server — usually a few seconds after pairing. Until then the URL shows
<allocating>and the status reads "Waiting for port…".
Switching modes
The two modes are mutually exclusive and the app keeps them honest:
- Turning VPN on disables the PAC controls; turning it off lets PAC be read again.
- Configuring your Wi-Fi to point at this device's PAC URL automatically stops the VPN — the app detects the live PAC routing and steps the tunnel down.
The selected mode is also a per-device preference you can set from the dashboard's Devices tab; the home screen follows whatever's set, in real time.
Tip: For the exact reconciliation rules — how the app decides which mode "wins" and how presence is reported in each — see iOS connection modes and PAC presence.