macOS SOCKS5-Proxy-Einrichtung: Systemweit, Terminal und App-spezifische Konfiguration
macOS hat zwar eine systemweite SOCKS-Proxy-Einstellung, aber nicht alle Apps respektieren sie. Hier erfahren Sie, wie Sie sie in den Systemeinstellungen und mit networksetup festlegen, Terminal und Entwicklertools konfigurieren und DNS sowie Leaks überprüfen.
macOS does have a SOCKS proxy setting, which makes it feel like a system-wide switch. In practice, Safari and some apps follow it, while Terminal, Homebrew, and many developer tools ignore it. This guide shows how to set a SOCKS5 proxy on macOS from System Settings and networksetup, then how to make the tools you actually use honor it without DNS leaks.
Wo macOS seine SOCKS-Proxy-Einstellung speichert
Öffnen Sie Systemeinstellungen > Netzwerk. Wählen Sie WLAN oder Ethernet, klicken Sie auf Details und dann auf Proxies. Sie sehen Kontrollkästchen für Web-Proxy (HTTP), Sicheren Web-Proxy (HTTPS), SOCKS-Proxy und andere. Der Bereich SOCKS-Proxy fragt nach Server und Port. Es gibt kein Dropdown-Menü für die Protokollversion. Für strenge Kontrolle konfigurieren Sie einzelne Apps mit socks5h, wenn sie dies unterstützen.
Den macOS SOCKS-Proxy über die Systemeinstellungen festlegen
- Öffnen Sie Systemeinstellungen > Netzwerk.
- Wählen Sie den aktiven Netzwerkdienst aus, z. B. WLAN.
- Klicken Sie auf Details > Proxies.
- Aktivieren Sie SOCKS-Proxy.
- Geben Sie Serveradresse und Port ein.
- Fügen Sie bei Bedarf Bypass-Domains hinzu, z. B. lokale Ressourcen.
- Klicken Sie auf OK und wenden Sie die Änderungen an.
Beachten Sie, dass diese Einstellung Apps betrifft, die den macOS-Systemproxy respektieren. Sie garantiert nicht, dass jede Verbindung jeder App über den Proxy läuft.
Über das Terminal mit networksetup festlegen
networksetup ist nützlich für Skripte, Remote-Support und schnelle Änderungen.
# Netzwerkdienste auflisten
networksetup -listallnetworkservices
# SOCKS-Proxy für WLAN festlegen
networksetup -setsocksfirewallproxy 'Wi-Fi' 127.0.0.1 1080
# Einschalten
networksetup -setsocksfirewallproxystate 'Wi-Fi' on
# Aktuelle Einstellung überprüfen
networksetup -getsocksfirewallproxy 'Wi-Fi'
# Ausschalten
networksetup -setsocksfirewallproxystate 'Wi-Fi' off
Sie können auch Bypass-Domains festlegen:
networksetup -setproxybypassdomains 'Wi-Fi' '*.local' '169.254/16' 'localhost'
Verwenden Sie Anführungszeichen um den Namen des Netzwerkdienstes, insbesondere wenn er Leerzeichen enthält.
Terminal und Entwicklertools dazu bringen, SOCKS5 zu verwenden
Terminal-Sitzungen übernehmen die macOS SOCKS-Proxy-Einstellung im Allgemeinen nicht. Legen Sie Umgebungsvariablen für die aktuelle Shell fest:
export ALL_PROXY=socks5h://127.0.0.1:1080
export all_proxy=socks5h://127.0.0.1:1080
Einige Tools verwenden HTTP_PROXY und HTTPS_PROXY. Vorsicht: Nicht jedes Tool versteht einen socks5h://-Wert in diesen Variablen. Wenn ein Tool ein eigenes SOCKS-Flag hat, verwenden Sie dieses stattdessen.
curl
curl --socks5-hostname 127.0.0.1:1080 https://api.ipify.org
git
git config --global http.proxy socks5h://127.0.0.1:1080
git config --global https.proxy socks5h://127.0.0.1:1080
# Später entfernen
git config --global --unset http.proxy
git config --global --unset https.proxy
Python
import requests
proxies = {
'http': 'socks5h://127.0.0.1:1080',
'https': 'socks5h://127.0.0.1:1080',
}
print(requests.get('https://api.ipify.org?format=json', proxies=proxies, timeout=10).json())
Browserspezifische Hinweise: Safari, Chrome und Firefox
- Safari folgt normalerweise dem macOS-Systemproxy.
- Chrome unter macOS verwendet im Allgemeinen die Systemproxyeinstellungen, es sei denn, es wird mit expliziten Proxy-Flags gestartet.
- Firefox hat eigene Netzwerkeinstellungen. Wenn es auf "Systemproxyeinstellungen verwenden" eingestellt ist, sollte es macOS folgen. Wenn Sie Remote-DNS benötigen, stellen Sie Firefox auf "Manuelle Proxy-Konfiguration" und aktivieren Sie "Proxy-DNS bei Verwendung von SOCKS v5".
Testen Sie nach dem Ändern der Browsereinstellungen in einem privaten Fenster, damit zwischengespeicherte Verbindungen Sie nicht in die Irre führen.
Proxy überprüfen und DNS-Leaks aufspüren
Überprüfen Sie die Systemproxy-Konfiguration:
scutil --proxy
Überprüfen Sie die Exit-IP:
curl --socks5-hostname 127.0.0.1:1080 https://api.ipify.org
Vergleichen Sie dann mit einem DNS-Leak-Test. Der entscheidende Unterschied ist socks5 gegenüber socks5h: socks5 löst DNS möglicherweise lokal auf, während socks5h den Hostnamen zur Auflösung an den Proxy sendet. Wenn Geotargeting wichtig ist, ist Remote-DNS normalerweise das, was Sie wollen.
Ausschalten und häufige Fallstricke vermeiden
- Deaktivieren Sie den Proxy, wenn Sie ihn nicht mehr benötigen; andernfalls können Captive Portals und lokale Geräte ausfallen.
- Prüfen Sie auf Konflikte mit VPN-Clients und anderen Netzwerkerweiterungen.
- Denken Sie daran, dass Systemproxyeinstellungen nicht jede App abdecken.
- Wenn der Proxy auf einem anderen Rechner läuft, verwenden Sie nicht
127.0.0.1. - Überprüfen Sie die tatsächliche App, die Sie interessiert, nicht nur das Terminal.
Fazit
macOS bietet Ihnen ein echtes systemweites SOCKS-Proxy-Kontrollkästchen, aber es ist keine universelle Lösung. Verwenden Sie die Systemeinstellungen oder networksetup für Apps, die dem Systemproxy folgen, und konfigurieren Sie dann Terminal und Entwicklertools direkt mit socks5h und überprüfen Sie das DNS-Verhalten.