I've been using macOS as my daily driver for over a decade, and one thing that consistently trips people up is the gap between "I configured the proxy" and "everything is going through the proxy." Let me save you the hours I lost debugging this.

The Built-in Way: System Settings

Apple makes it easy to configure a SOCKS5 proxy at the system level. Here's the exact path:

  1. Open System Settings → Network
  2. Select your active connection (WiFi or Ethernet) → Advanced
  3. Go to the Proxies tab
  4. Enable SOCKS proxy
  5. Enter gw.snowpad.io as the SOCKS proxy server and 9999 as the port
  6. Check "Proxy server requires password" and enter your Snowpad credentials
  7. Click OK → Apply

That's it. Your system now has a SOCKS5 proxy configured.

The Catch: What Actually Respects It

Here's what I learned the hard way: macOS system proxy settings are more of a suggestion than a rule. Here's what works and what doesn't:

Respects system proxy:

  • Safari, Chrome, Firefox, and most browsers
  • Apps using NSURLSession with default configuration
  • System network tools

Ignores system proxy:

  • Most native macOS apps (Mail, Messages, Maps)
  • Terminal commands (curl, wget, git — unless explicitly configured)
  • Games and Steam
  • Many third-party apps that implement their own networking

This isn't a bug — it's by design. Apple gives developers control over their networking stack, and most choose to bypass system proxy settings.

The Proxifier Solution

For true system-wide proxy coverage on macOS, I use Proxifier. It works by hooking into the network layer at a lower level than system settings, intercepting connections before apps make them.

Proxifier setup:

  1. Download and install Proxifier for Mac
  2. Open Proxifier → Proxies → Add
  3. Set address to gw.snowpad.io, port to 9999
  4. Protocol: SOCKS5, enable authentication with your Snowpad credentials
  5. Go to Rules → set Default action to route through your proxy
  6. Optionally create per-app rules to exclude specific apps

Proxifier also gives you a real-time connection log so you can see exactly which apps are connecting where.

Testing Your Setup

Whether you went with system settings or Proxifier, verify it's working:

# Test with explicit SOCKS5 proxy
curl --socks5 gw.snowpad.io:9999 -U username:password http://httpbin.org/ip

# Test through Proxifier (no flags needed — it intercepts automatically)
curl http://httpbin.org/ip

If the returned IP is different from your real IP, you're good.

When to Use Each Approach

  • System settings: Quick setup for browser-only proxy usage. Good for testing.
  • Proxifier: When you need every app on your Mac to route through Snowpad's SOCKS5 proxy. Essential for desktop automation, API clients, and any non-browser tool.

For more on why SOCKS5 is the protocol of choice here, check out the SOCKS5 vs HTTP proxy comparison.