9
6
I want to apply proxy settings to a particular host only (e.g., www.apple.com) in Mac OS X. How can I do it?
In System Preferences there are only options for bypassing proxy settings for particular hosts.
9
6
I want to apply proxy settings to a particular host only (e.g., www.apple.com) in Mac OS X. How can I do it?
In System Preferences there are only options for bypassing proxy settings for particular hosts.
15
You can use the following proxy.pac
file to send all traffic to apple.com through the proxy 1.2.3.4 while still going directly to all other hosts:
function FindProxyForURL(url, host) {
PROXY = "PROXY 1.2.3.4"
// Apple.com via proxy
if (shExpMatch(host,"*.apple.com")) {
return PROXY;
}
// Everything else directly!
return "DIRECT";
}
proxy.pac
(or any other name you like) on a web server. This can be a local web server (http://localhost/proxy.pac). This is required as of OSX Lion.System Preferences
.Network
.Advanced...
button. Proxies
tab [x] Automatic Proxy-Configuration
.URL:
field, type in the URL to the file you've created in step 1., for example: http://localhost/proxy.pac
. (note: local paths will not work in modern OSX)Save
and Apply
Voila! Your own proxy-configuration
For more information on the format of the proxy.pac
file have a look at http://en.wikipedia.org/wiki/Proxy_Auto-Config as starting point.
8
Actually you can use the file:///path/to/file
scheme for the URL, instead of having to rely on a web server.
For example:
file:///Users/youruser/var/proxy/proxy.pac
0
Adding to @heiglandreas's answer...
@jnbek's solution did not work on Mac OSX for me and I was looking for a simple solution.
So, I created a new folder and copied the pac file into that. Then, I started a simple web server on OSX on port 80 from that folder itself.
Just go into the folder & run this command. Please change the port from 80 to something else if its already occupied.
python -m SimpleHTTPServer 80
Now, I could easily get the proxy.pac file from http://localhost/proxy.pac
.
Or, for different port use: http://localhost:PORT/proxy.pac
.
1Interestingly this all works for Linux/BSD as well, and possibly even Windows; anywhere Automatic Proxy Configuration is used, this is likely to work. – jnbek – 2016-05-02T03:34:10.790
This should probably be the accepted answer as it avoids overcomplicating the stack in use and as the previous comment mentions - is a far more universal solution. – user239546 – 2018-03-02T16:34:44.637
If you use file:///...pac, then in some applications you can have issues (e.g. Microsoft apps like Teams and others, see https://support.microsoft.com/en-us/help/4042151/outlook-2016-for-mac-crash-when-a-proxy-auto-configuration-file-used), so the best way is to put it on localhost or any public server on the Internet.
– paly – 2018-07-20T10:51:51.4331This does NOT work on OSX. – jpgeek – 2019-06-19T10:34:56.883