Configure Proxy and Exclusions on macOS

Prev Next

This guide explains how to configure proxy settings and exclusions on macOS when using an IP-based proxy, including an exclusion list for applications that rely on WebSockets, such as:

  • Slack
  • Lucidchart
  • Figma

These apps often fail behind proxies like Squid, which donโ€™t support WebSockets by default.

Manual Method (System Settings)

  1. Navigate to System Settings โ†’ Network.
  2. Select your active interface (e.g., Wi-Fi).
  3. Click Details โ†’ Proxies.
  4. Under Web Proxy (HTTP) and Secure Web Proxy (HTTPS):
    • Replace proxy.company.com with your proxy IP (e.g., 192.168.1.10)
    • Set port (commonly 8080)
  5. In Bypass domains, add the required domains (see below).
  6. Click OK, then Apply.

What This Script Does

  • Applies proxy settings to all network interfaces
  • Sets HTTP and HTTPS proxy
  • Configures a list of bypass domains that will not use the proxy
  • Ideal for use with networksetup and MDM-managed devices

Scripted Method (Bash)

#!/bin/bash

# Define proxy server and port
PROXY="192.168.1.10"
PORT="8080"

# Domains to exclude from proxy โ€” especially for WebSocket-based apps
EXCLUSIONS="localhost,127.0.0.1,*.microsoftonline.com,*.core.windows.net,*.slack.com,*.figma.com,*.lucidchart.com,*.lucid.app"

# Get all active network services
services=$(networksetup -listallnetworkservices | tail +2)

# Apply settings per service
for service in $services; do
  echo "Setting proxy for: $service"
  networksetup -setwebproxy "$service" "$PROXY" "$PORT"
  networksetup -setsecurewebproxy "$service" "$PROXY" "$PORT"
  networksetup -setproxybypassdomains "$service" $(echo $EXCLUSIONS | tr "," " ")
done

---