Fügen Sie einem bestimmten Host nur auf dem Mac einen Proxy hinzu

10

Ich möchte Proxy-Einstellungen nur auf einen bestimmten Host (z. B. www.apple.com) in Mac OS X anwenden. Wie kann ich das tun?

In den Systemeinstellungen gibt es nur Optionen zum Umgehen der Proxyeinstellungen für bestimmte Hosts.

Tusharmath
quelle

Antworten:

17

Sie können die folgende proxy.pacDatei verwenden, um den gesamten Datenverkehr über den Proxy 1.2.3.4 an apple.com zu senden, während Sie weiterhin direkt zu allen anderen Hosts gehen:

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";
}
  1. Speichern Sie dieses Skript als proxy.pac(oder einen beliebigen anderen Namen) auf einem Webserver. Dies kann ein lokaler Webserver sein ( http: //localhost/proxy.pac ). Dies ist ab OSX Lion erforderlich .
  2. Gehe zum System Preferences.
  3. Wählen Sie Network.
  4. Wählen Sie das Netzwerk aus, das Sie ändern möchten (z. B. "WiFi").
  5. Klicken Sie auf die Advanced...Schaltfläche.
  6. Klicken Sie auf die ProxiesRegisterkarte
  7. Überprüfen Sie [x] Automatic Proxy-Configuration.
  8. URL:Geben Sie in das Feld die URL zu der Datei ein, die Sie in Schritt 1 erstellt haben. Beispiel : http://localhost/proxy.pac. (Hinweis: Lokale Pfade funktionieren unter modernen OSX nicht.)
  9. Klicken Sie auf SaveundApply

Voila! Ihre eigene Proxy-Konfiguration

Weitere Informationen zum Format der proxy.pacDatei finden Sie unter http://en.wikipedia.org/wiki/Proxy_Auto-Config als Ausgangspunkt.

heiglandreas
quelle
8

Tatsächlich können Sie das file:///path/to/fileSchema für die URL verwenden, anstatt sich auf einen Webserver verlassen zu müssen.

Zum Beispiel:

file:///Users/youruser/var/proxy/proxy.pac
jnbek
quelle
1
Interessanterweise funktioniert dies alles auch für Linux / BSD und möglicherweise sogar für Windows. Überall dort, wo die automatische Proxy-Konfiguration verwendet wird, funktioniert dies wahrscheinlich.
jnbek
Dies sollte wahrscheinlich die akzeptierte Antwort sein, da dadurch eine Überkomplizierung des verwendeten Stapels vermieden wird und - wie im vorherigen Kommentar erwähnt - eine weitaus universellere Lösung ist.
user239546
Wenn Sie file: ///...pac verwenden, können in einigen Anwendungen Probleme auftreten (z. B. Microsoft-Apps wie Teams und andere, siehe support.microsoft.com/en-us/help/4042151/… ) Am besten stellen Sie es auf localhost oder einen öffentlichen Server im Internet.
Paly
1
Dies funktioniert NICHT unter OSX.
Jpgeek
@jpgeek funktioniert für mich am 10.15. Wenn Sie sich nicht sicher sind, kehren Sie zurück, 'PROXY ...'ohne nach der zu überprüfenden Domain zu suchen. proxy.pacwird erneut gelesen, wenn Sie WLAN umschalten.
seeker_of_bacon
1

Hinzufügen zu @ heiglandreas Antwort ...

Die Lösung von @ jnbek funktionierte unter Mac OSX für mich nicht und ich suchte nach einer einfachen Lösung.

Also habe ich einen neuen Ordner erstellt und die pac-Datei in diesen kopiert. Dann habe ich einen einfachen Webserver unter OSX auf Port 80 von diesem Ordner aus gestartet.

Gehen Sie einfach in den Ordner und führen Sie diesen Befehl aus. Bitte ändern Sie den Port von 80 auf etwas anderes, wenn er bereits belegt ist.

python -m SimpleHTTPServer 80

Jetzt konnte ich leicht die Datei proxy.pac abrufen http://localhost/proxy.pac. Oder für unterschiedliche Portnutzung : http://localhost:PORT/proxy.pac.

Rehmat
quelle