How to Set Up and Test Proxies on macOS

Clark
Clark
IPWeb Technical Researcher

A Mac can have several network services: Wi-Fi, Ethernet, USB adapters, VPN interfaces, and other profiles. Proxy settings apply to the selected service, so changing the wrong service can leave your browser or app unchanged.

In macOS, open network settings, select the active service, then find the proxy options. Older guides may say Mac OS X, but the practical idea is the same: choose the active network connection before entering proxy details.

Quick Answer

Mac proxy settings let macOS send supported network traffic through a configured proxy server for a selected network service. The setup is only half the job: after saving HTTP, HTTPS, or SOCKS settings, verify the public IP, browser route, DNS behavior, and the exact app you plan to use. Some tools honor system settings; others need their own proxy configuration.

Key Takeaways
  • Configure the proxy on the active Wi-Fi or Ethernet service, not on an unused network profile.
  • HTTP, HTTPS, and SOCKS proxy settings are separate choices; use the protocol your proxy actually supports.
  • After setup, confirm the visible IP and region from the same browser or app that will use the proxy.
  • System proxy settings may not control every terminal, Python, automation, or browser-profile workflow.
  • A proxy changes request routing, not cookies, account state, browser profile data, or app-specific settings.

How to Set Up Proxy Settings on macOS

Apple's current macOS documentation places proxy controls under System Settings > Network > the active network service > Details > Proxies. The exact labels can vary slightly by macOS version, but the important point is to configure the Wi-Fi or Ethernet service you are actually using. See Apple's proxy settings guide for the current interface.

  1. Open the Apple menu, choose System Settings, then select Network.
  2. Select the active Wi-Fi or Ethernet service, click Details, then open Proxies.
  3. Turn on the proxy type you need: Web Proxy (HTTP), Secure Web Proxy (HTTPS), or SOCKS Proxy.
  4. Enter the proxy server address and port. If authentication is required, enable the password option and enter the username and password supplied by your proxy provider.
  5. If specific hosts or domains should connect directly, add them to the bypass list instead of sending them through the proxy. Common examples include *.local and 127.0.0.1, but only bypass destinations you intentionally want to reach directly.
  6. Click OK, then test the route from the same browser or app that will use the proxy.

A proxy provider typically supplies a host, port, protocol, and, when required, login credentials. IPWeb Dynamic Residential Proxies support HTTP, HTTPS, and SOCKS5 endpoints, so the endpoint details should be entered under the matching macOS proxy type.

macOS Wi-Fi proxy settings panel showing HTTP, HTTPS, SOCKS, and bypass options
Figure 1: Open the active network service on macOS, then review the available proxy types and bypass options in the Proxies panel.
macOS SOCKS proxy settings showing server, port, and password fields
Figure 2: When SOCKS proxy is enabled, macOS displays the server, port, and optional password fields required for configuration.

Choose HTTP, HTTPS, or SOCKS Correctly

HTTP proxy settings apply to plain HTTP requests. HTTPS proxy settings are used for HTTPS traffic when the application honors the system configuration. SOCKS can carry different traffic types but must be supported by the proxy and the app.

Do not assume one checkbox covers every workflow. A browser, a command-line tool, a desktop app, and an automation framework can each handle proxy settings differently.

Match the macOS proxy type to the endpoint your provider actually supports. Enabling a different protocol only because the option is available can produce connection failures that look like a proxy or website problem.

Table 1: macOS proxy settings should match the protocol and application you plan to test.
SettingUse whenCheck after saving
HTTP proxyThe app sends HTTP requests through a proxyOpen an HTTP test page or use the app's own request path
HTTPS proxyThe app should route HTTPS traffic through the proxyConfirm the visible public IP in the same browser or app
SOCKS proxyThe proxy and app both support SOCKS routingCheck whether DNS is handled locally or through the app/proxy path
Bypass listHosts such as *.local or 127.0.0.1 should connect directlyConfirm only the intended local or internal hosts bypass the proxy

In short, the correct macOS setting is the one that matches both the proxy endpoint and the application that will use it.

macOS proxy settings with HTTP, HTTPS, and SOCKS options highlighted
Figure 3: Choose the proxy type that matches the endpoint and the application you want to test.

Save Settings, Then Test From the Same App

After saving Mac proxy settings, do not test from a different environment and assume the target app is fixed. Test from the same browser profile, terminal command, desktop app, or automation tool that will use the proxy.

Start with an IP lookup page and confirm the visible public IP, country or region, and ASN if that matters for your workflow. Then load the target public page and check whether the response changed. For a repeatable validation sequence, use the check if a proxy is working guide.

If the browser shows the expected IP but a Python script does not, the script may be ignoring system proxy settings. That is a configuration boundary, not proof that the proxy itself failed.

Quick Terminal Check with cURL

For a quick terminal check, you can read the Web Proxy values configured for the Wi-Fi network service and pass them explicitly to cURL. If your active service has a different name, replace Wi-Fi with that service name.

PROXY_HOST=$(networksetup -getwebproxy "Wi-Fi" | awk '/Server:/ {print $2}')
PROXY_PORT=$(networksetup -getwebproxy "Wi-Fi" | awk '/Port:/ {print $2}')
curl --proxy "http://${PROXY_HOST}:${PROXY_PORT}" https://api.ipify.org

For tools that read proxy environment variables, a one-command test can set HTTPS_PROXY only for that request:

HTTPS_PROXY="http://HOST:PORT" curl https://api.ipify.org

Compare the returned public IP with a direct request from the same Mac. If authentication is required, use the credential method supported by your proxy provider rather than assuming the system keychain or browser login will apply to cURL.

When Mac Proxy Settings Do Not Apply

Some tools use their own proxy fields. Browser automation libraries may accept proxy parameters directly. Terminal commands may read environment variables such as HTTP_PROXY, HTTPS_PROXY, and NO_PROXY. Browser extensions can override the system route for one profile.

That is why a proxy test should include the actual application. If only one app fails, inspect that app's proxy handling before changing the system setting again.

If the proxy works in one app but fails in another, compare that app's own proxy settings and environment variables before changing the macOS system route again. For broad connection failures, use the proxy error guide.

Safe Troubleshooting Checklist

Use a short checklist before blaming the website: verify host, port, protocol, credentials, active network service, public IP, DNS behavior, and target-app routing.

A proxy can help with network-layer route testing, but it cannot fix every access, account, compliance, or platform policy issue. It also does not reset cookies, browser profile data, or account/session state.

If a site still behaves differently after the route is correct, compare browser headers, cookies, session state, and other visible signals rather than repeatedly editing the proxy host.

Frequently Asked Questions

Where are proxy settings on a Mac?
They are in macOS network settings for the selected network service. The exact wording can vary by macOS version, but the important step is selecting the active Wi-Fi or Ethernet service first.
Do Mac proxy settings apply to all apps?
No. Many apps honor system proxy settings, but some browsers, terminals, automation tools, and extensions use their own configuration.
How do I test proxy settings on macOS?
Open an IP lookup page from the same app or browser profile, confirm the visible public IP, then test the target public page and any app-specific request path.
Should I use HTTP, HTTPS, or SOCKS on Mac?
Use the protocol supported by your proxy and the app. Do not enable SOCKS or HTTPS only because the option exists.
How do I turn off system proxy on Mac?
Go to System Settings > Network > your active network service > Details > Proxies, turn off the enabled proxy options, save the changes, then check your public IP again from the same browser or app to confirm the proxy route is no longer active.
Can a Mac proxy change my MAC address?
No. A proxy changes request routing. It does not change the local MAC address used between your Mac and the local network.

Final Thoughts

Mac proxy settings are useful only when the right service, protocol, and application path are configured together. Treat setup and validation as one workflow: save the route, test the visible IP, test the target app, and then inspect browser or app-level signals if the result still looks wrong.

About the author
View all articles
Clark
Clark
IPWeb Technical Researcher

A technical writer specializing in IP proxy services and network architecture. All content is derived from over six years of hands-on experience at a leading IP proxy provider, covering areas such as large-scale proxy network orchestration, optimization of SOCKS5/HTTP protocol stacks, and the dynamics of anti-scraping strategies and countermeasures. The goal is to dissect the engineering logic underpinning network security, stability, and efficiency.

Service areas
Proxy IP network architecture anti-scraping countermeasures protocol optimization for web scraping large-scale data collection engineering

You may be interested in

503 Backend Is Unhealthy cover showing backend health checks, CDN or load balancer routing, and origin server status

What Does 503 Backend Is Unhealthy Mean?

You receive an HTTP 503 response, but the page does not just say “Service Unavailable.” Instead, it says “backend is unhealthy,” “no healthy upstream,” or “no server is available to handle this request.” Those messages narrow the problem: a front-end layer received the request but could not select or reach a backend that it considered healthy. The useful question is no longer “What does HTTP 503 mean?” It is which backend-selection or health-check layer produced the message, and why did every eligible upstream fail? Quick Answer “503 backend is unhealthy” usually means a reverse proxy, load balancer, CDN, or gateway...

Marcus

Marcus

Proxy Network Analyst

How to Build an HTTP Proxy Server with Node.js cover showing HTTP forwarding and HTTPS CONNECT tunneling

How to Build an HTTP Proxy Server with Node.js

Your Node.js proxy forwards ordinary HTTP requests, but the moment you try an HTTPS URL the request hangs, closes, or never reaches the same request handler. That is the most common point of confusion in a hand-built HTTP proxy: HTTPS does not use the same forwarding path as plain HTTP. The practical fix is to handle CONNECT separately. A working proxy needs one path for normal HTTP requests and another path that opens a TCP tunnel for HTTPS. The steps below start from the failure, reproduce it on Windows, add CONNECT support, and then show how to tell whether a...

Clark

Clark

IPWeb Technical Researcher

Claude API proxy setup in Python with a proxy server between Python code and the Claude API

How to Use a Proxy with Claude API in Python

A Python application that calls the Claude API normally uses the network route available to the process that runs it. When you need a specific outbound route for development, fixed-egress testing, or an approved network environment, the Anthropic Python SDK can send requests through an explicit proxy instead of relying on the machine's default connection. The current Anthropic Python SDK uses httpx2 for its HTTP layer and lets you customize that layer with DefaultHttpxClient. Anthropic directly documents an HTTP proxy configuration, while HTTPX2 also provides optional SOCKS proxy support. That makes it possible to use either an HTTP proxy or...

Clark

Clark

IPWeb Technical Researcher

Ready to scale your data operations?
Join 10,000+ teams using IPWeb to power their web data collection. Start free today.

Strictly anti-abuse

Fraud, automated operation, and unauthorized use are prohibited.

Enterprise-level services

For legitimate commercial and technical use cases only

Risk control and restrictions

Abnormal behavior may trigger service restrictions or termination.

Compliance data use

Data acquisition and use must comply with relevant regulations.

Privacy protection first

The collection or misuse of sensitive personal information is strictly prohibited.

All services are subject to《the Usage Policy》