Wie würde ich einen Proxy für meinen Computer via Terminal hinzufügen und aktivieren (ohne in die Systemeinstellungen zu gehen.) Kann ich das irgendwie mit scutil --proxy
machen? Ich bin mit einem MacBook AirWie würde ich einen Proxy im OSX-Terminal konfigurieren?
Antwort
Methode auf OSX Yosemite läuft 1
Wir können awk
verwenden, um die Ausgabe von scutil
und extrahieren Sie die Proxy-Konfiguration zu analysieren. Der folgende Ausschnitt funktioniert der Trick:
$ export http_proxy=`scutil --proxy | awk '\
/HTTPEnable/ { enabled = $3; } \
/HTTPProxy/ { server = $3; } \
/HTTPPort/ { port = $3; } \
END { if (enabled == "1") { print "http://" server ":" port; } }'`
$ export HTTP_PROXY="${http_proxy}"
Dieses Skript für HTTPEnable
sieht, HTTPProxy
und HTTPPort
in der Ausgabe von scutil
. Wenn der Proxy aktiviert ist, druckt das Skript die Proxy-URL aus und legt sie als Umgebungsvariable http_proxy
fest. Wenn der Proxy nicht aktiviert ist, setzt das Skript http_proxy
auf eine leere Zeichenfolge. In der letzten Zeile wird auch die Umgebungsvariable HTTP_PROXY
festgelegt, da dies von einigen Befehlszeilenanwendungen verwendet wird.
Wenn Sie dieses Snippet in Ihre .bash_profile-Datei einfügen, wird sichergestellt, dass Ihr Proxy beim Umschalten zwischen kabelgebundenen und drahtlosen Netzwerken automatisch konfiguriert bleibt.
Methode 2
Sie könnten versuchen, einen Bash-Anmeldeskript erstellen, die eine der folgenden Verwendungen von „network“ verwendet die aktuellen Proxy-Liste, und dann die Adresse des Servers analysieren, und es auf den aktuellen Terminal-Sitzung:
networksetup -getftpproxy <servicename>
networksetup -getwebproxy <servicename>
networksetup -getsecurewebproxy <servicename>
networksetup -getstreamingproxy <servicename>
networksetup -getgopherproxy <servicename>
networksetup -getsocksfirewallproxy <servicename>
Es können auch andere Verwendungen des network Tool sein, dass Sie die spezifischen Proxy geben können Sie verwenden, nur nachschlagen „Mann network“, um zu sehen, alle Details und Verwendungen.
Methode 3 Das Terminal verwendet keine Proxyeinstellungen, die im Bereich Netzwerkeinstellungen konfiguriert wurden, da keine Verbindung hergestellt wird. Mit dem Terminal können Sie Befehle auslösen, die das Netzwerk auf verschiedene Arten verwenden.
export http_proxy="username:[email protected]:port"
Referenz: https://dmorgan.info/posts/mac-network-proxy-terminal/
Ich schrieb einen little tool, die genau tut das. Die Verwendung ist unkompliziert.
- Kompilieren Sie es mit xCode.
Anzahl:
eval `./path/to/export-proxies`
zu Ihrem
.profile
,.bashrc
oder.bash_profile
.
Es werden alle häufig verwendeten Proxy-Umgebungsvariablen ($HTTP_PROXY
, $http_proxy
, $HttpProxy
, etc.) für alle Protokolle (HTTP, FTP, SOCKS) einschließlich aller Ausnahmen wie in der OS X Systemsteuerung definiert.
Vorschläge und Verbesserungen sind auch immer willkommen;)
EDIT ich die Einstellungen statt sie zu lesen gerade gesehen, die Sie festlegen möchten. Ich habe noch keinen Weg gefunden, dies zu tun. Würde aber gerne anders erfahren ...