How capture works
HTTPGlass is a proxy that runs inside the app. To see your Mac’s traffic, it has to be the proxy your apps use — so while you capture, it changes your Mac’s proxy settings, and when you stop it changes them back. This page is exactly what it touches.
The local proxy
Section titled “The local proxy”When you click Start (or press ⇧⌘P), HTTPGlass starts listening on
127.0.0.1, port 9191. If another program already holds that port, it steps to the next
free one. The proxy only accepts connections from this Mac; it is never opened to your
network.
The port 9191 was picked to stay clear of the defaults of other debugging proxies
(Proxyman’s 9090, Charles’s 8888, Fiddler’s 8866), so they can run side by side.
Settings → Proxy shows the address HTTPGlass is actually listening on.
The system proxy
Section titled “The system proxy”Next, HTTPGlass uses macOS’s networksetup tool to set the Web Proxy (HTTP) and
Secure Web Proxy (HTTPS) of your network services to that address. It does this for
every service, including ones that are currently switched off, so a service you turn on
mid-session doesn’t quietly bypass capture. A network service that appears while you’re
capturing — a VPN connecting, an adapter being plugged in — is picked up too.
Before changing anything, HTTPGlass writes down what each service’s proxy settings were, in
~/Library/Application Support/HTTPGlass/proxy-backup.json.
The status in the toolbar tells you where things stand:
| Status | Meaning |
|---|---|
| Idle | Not capturing |
| Starting… | Binding the proxy and changing the network settings |
| Capturing | Listening, and your network services point at HTTPGlass |
| Not routed | Listening, but no network service could be pointed at it — nothing will be captured |
| Failed | The proxy couldn’t start; hover for the reason |
If some services couldn’t be changed, HTTPGlass lists them — Settings → Proxy shows them under Not configured. Traffic on those services won’t be captured. A Mac managed by a configuration profile may refuse the change.
Putting it back
Section titled “Putting it back”HTTPGlass restores the settings it recorded:
- When you stop capturing. The network settings go back first, then the proxy stops.
- When you quit. Closing the window quits HTTPGlass, and quitting restores the settings before the app exits.
- When the app is terminated by a logout,
killall, orkillfrom Terminal. - At the next launch, if HTTPGlass crashed, was force-killed, or the Mac lost power while capturing. The backup file still being there means the last run didn’t finish, so HTTPGlass puts those settings back before you can start anything.
At launch, HTTPGlass only restores services that still point at its port. If you fixed a setting by hand, or switched to another proxy in the meantime, it leaves that alone. The same goes when you stop: a service that pointed at another debugging proxy before you started gets that setting back.
If the settings are wrong anyway
Section titled “If the settings are wrong anyway”Capture → Reset System Proxy… (also in Settings → Proxy) switches the HTTP and HTTPS proxy off on every network service, whatever HTTPGlass thinks it knows. Use it when your Mac has no internet and HTTPGlass isn’t capturing — see No internet after HTTPGlass quit.
What doesn’t go through the proxy
Section titled “What doesn’t go through the proxy”The system proxy is a setting apps choose to follow. Safari, Chrome, and most apps built on Apple’s networking do. Many command-line tools and language runtimes don’t, and some tools bring their own list of trusted certificates. See Command-line tools and other trust stores.
HTTPGlass’s own update and licence checks deliberately bypass the proxy, so they never show up in your traffic.
