Wie ändere ich die Proxy-Einstellungen über die Befehlszeile in Mac OS?

20

Ich benutze Mac OS und manchmal muss ein Teil der Arbeit mit einem Proxy erledigt werden, sodass ich meine Proxy-Einstellungen häufig ändern muss. Das Ändern der Proxy-Einstellungen in den Systemeinstellungen ist jedoch sehr umständlich.

Kann ich meine Proxy-Einstellungen über die Befehlszeile ändern? Verwenden Sie einen Shell-Befehl oder einige Tools?

Flanker
quelle

Antworten:

24

EDIT: Ich gehe davon aus, dass Sie tatsächlich Mac OS X bedeuten, und nicht Mac OS ..

Du kannst das Kommandozeilen-Tool 'networksetup' verwenden

Es gibt eine Manpage dafür - networksetup (8)

man networksetup

Dort finden Sie viele Optionen für Proxy-Einstellungen:

              [-setftpproxy networkservice domain portnumber authenticated username password]
              [-setftpproxystate networkservice on | off] [-getwebproxy networkservice]
              [-setwebproxy networkservice domain portnumber authenticated username  password]
              [-setwebproxystate networkservice on | off] [-getsecurewebproxy networkservice]
              [-setsecurewebproxy networkservice domain portnumber authenticated username password]
              [-setsecurewebproxystate networkservice on | off] [-getstreamingproxy networkservice]
              [-setstreamingproxy networkservice domain portnumber authenticated username password]
              [-setstreamingproxystate networkservice on | off] [-getgopherproxy networkservice]
              [-setgopherproxy networkservice domain portnumber authenticated username password]
              [-setgopherproxystate networkservice on | off] [-getsocksfirewallproxy networkservice]
              [-setsocksfirewallproxy networkservice domain portnumber authenticated username password]
              [-setsocksfirewallproxystate networkservice on | off] [-getproxybypassdomains networkservice]
              [-setproxybypassdomains networkservice domain1 [domain2] [...]] [-getpassiveftp networkservice]

Wenn Sie alternativ nur den Proxy für etwas wie wget oder curl festlegen müssen, können Sie die ziemlich universellen env-Variablen http_proxy und ftp_proxy verwenden.

ZB in bash:

export http_proxy=http://my.proxy.com:1234

Wobei '1234' die Portnummer ist.

Prost

sc.

schweizer Käse
quelle
Vielen Dank. networksetupist genau das, was ich will.
Flanker
1
Gibt es eine Möglichkeit, die automatische Proxy-Konfiguration
einzustellen?
@Jeef: Siehe superuser.com/questions/1035461/...
Mikey TK
können Sie Beispiel für die geben -setwebproxyOption - ich will , ohne Benutzername und Passwort verbinden und nicht sicher , was für diese Felder eingeben
Dinesh
@swisscheese Gibt es eine Methode, um einen Proxy als Option für eine Safari festzulegen? Art wie auf Chrom für Windows, die Sie tun könnenstart chrome --proxy-server=calamari652.gc-va.ncbi.nlm.nih.gov:3128
Akin Hwan
6

Proxy mit networksetup einrichten: ( networksetup -listallnetworkservicesvorher verfügbare Adapter mit prüfen )

networksetup -setwebproxy "Wi-fi" 127.0.0.1 8080

Bei Bedarf können Sie die Authentifizierung mit der folgenden Syntax einrichten : [-setwebproxy networkservice domain portnumber authenticated username password]

Proxy ein- oder ausschalten:

networksetup -setwebproxystate "Wi-fi" off

Anzeigen des Proxy-Status:

networksetup -getwebproxy "Wi-Fi"
Gabriel Talavera
quelle
2

Aufbauend auf Swiss Cheese ‚s Antwort für den speziellen Fall der SOCKS5 Proxy (dh das erzeugte mit ssh -Doder shadowsocks).

Vorausgesetzt, Sie haben den Proxy-Server mit z

💡 Der Schnittstellenname unterscheidet nicht zwischen Groß- und Kleinschreibung

networksetup -setsocksfirewallproxy wi-fi localhost 1080

Sie können es später mit ausschalten

networksetup -setsocksfirewallproxystate wi-fi off

und dann weiter mit

networksetup -setsocksfirewallproxystate wi-fi on

Dh der erste Befehl muss nur einmal ausgeführt werden, und dann können Sie den Proxy nach Bedarf aktivieren / deaktivieren.

ccpizza
quelle
1

Erstellen Sie eine Proxy-freie Netzwerkumgebung: Klicken Sie im Bereich Netzwerk der Systemeinstellungen auf die Dropdown-Liste Profil und wählen Sie Profile verwalten. Duplizieren Sie Ihre Standardeinstellungen (durch Klicken auf die Zahnradschaltfläche am Ende der Liste). Geben Sie dem duplizierten Profil einen eindeutigen Namen (z. B. "Proxyless"). Deaktivieren Sie alle Proxys in den Einstellungen für dieses Profil.

Weisen Sie Ihrem neuen Profil ein Tastaturkürzel zu: Erstellen Sie im Bereich Tastatur der Systemeinstellungen ein neues Anwendungskürzel für "Alle Anwendungen". Nennen Sie es wie Ihr Profil (dh "Proxyless"), fügen Sie die Verknüpfung hinzu.

Die Verknüpfung wird aktiviert, sobald Sie Ihre Switch-Anwendungen mindestens einmal ausgeführt haben (sie ist nicht aktiv, solange Sie sich noch in den Systemeinstellungen befinden).

Canisio
quelle