Proxy Pac file
This is a file that gets installed on the operating system and sometimes it can be configured per browser where we basically tell the application that before performing a connection to a site, it has to find a proxy URL. I’ve used this file before for:
- internal network proxying. Like having a Raspberry PI with
traefik
configured serving content onyourdomain.local
oryourdomain.internal
. - routing traffic to a VPN
// proxy.pac
function FindProxyForURL(url, host) {
if (host.endsWith("<host name>")) {
return "PROXY <target ip>";
}
// Default to no proxy
return "DIRECT";
}
That magic JS code is supposed to be written on a proxy.pac
file and served from an URL when assigned to the macOS proxy configuration. Yes, it does have to be accesible from an URL because apparently macOS doesn’t support the file://
path.
My recomendation would be not to add logic too complex because that can supposed an overhead when requesting resources.