So leiten Sie Linux-CLI-Tools durch ProxyScrape SOCKS5-Proxys
Senden Sie curl, wget, git, proxychains und Python unter Linux durch die HTTP- und SOCKS5-Endpunkte von ProxyScrape – mit sicherer Handhabung von Zugangsdaten und DNS-leckfreier SOCKS5h-Einrichtung.
Überblick
Unter Linux lesen die meisten Tools keine einzelne globale Proxy-Einstellung – jedes Programm schaut in seine eigene Konfigurationsdatei oder auf die Umgebungsvariablen http_proxy, https_proxy und all_proxy. ProxyScrape unterstützt HTTP und SOCKS5, und diese Anleitung zeigt, wie Sie gängige Kommandozeilen-Tools auf Ihren Endpunkt ausrichten.
Bevorzugen Sie SOCKS5 mit dem Schema socks5h, wenn DNS-Abfragen beim Proxy statt lokal erfolgen sollen. Das vermeidet DNS-Leaks und verhindert Fehler, wenn ein Ziel Namen verwendet, die Ihr lokaler Resolver nicht auflösen kann.
Schritte
-
Endpunkt ermitteln. Notieren Sie im ProxyScrape-Dashboard den Host, den HTTP-Port, den SOCKS5-Port sowie Ihren Benutzernamen und Ihr Passwort.
-
Zugangsdaten für Ihre Shell-Sitzung exportieren. Vermeiden Sie es, Passwörter direkt in Befehle einzugeben, wo sie in der Shell-Historie landen:
read -rsp "ProxyScrape username: " PS_USER && echo read -rsp "ProxyScrape password: " PS_PASS && echo export PS_HOST="your-host" export PS_HTTP_PORT="your-http-port" export PS_SOCKS_PORT="your-socks5-port" -
Testen Sie den HTTP-Proxy mit curl.
curl -x "http://$PS_USER:$PS_PASS@$PS_HOST:$PS_HTTP_PORT" https://ipinfo.io/ip -
Testen Sie SOCKS5.
--socks5-hostnamelöst DNS über den Proxy auf. SOCKS5-Benutzername/Passwort-Authentifizierung erfordert curl 7.51.0 oder neuer:curl --socks5-hostname "$PS_HOST:$PS_SOCKS_PORT" -U "$PS_USER:$PS_PASS" https://ipinfo.io/ip -
Legen Sie Umgebungsvariablen für Tools fest, die diese beachten.
export http_proxy="http://$PS_USER:$PS_PASS@$PS_HOST:$PS_HTTP_PORT" export https_proxy="$http_proxy" export no_proxy="localhost,127.0.0.1,.local"Verwenden Sie für SOCKS5
export all_proxy="socks5h://$PS_USER:$PS_PASS@$PS_HOST:$PS_SOCKS_PORT". Nicht jedes Programm beachtetall_proxy; prüfen Sie dies mitcurl -voder der Dokumentation des jeweiligen Tools. -
Konfigurieren Sie wget. wget unterstützt keine SOCKS-Proxys, verwenden Sie daher den HTTP-Port in
~/.wgetrc:use_proxy = yes http_proxy = http://USER:PASS@HOST:PORT https_proxy = http://USER:PASS@HOST:PORTBeschränken Sie dann den Zugriff mit
chmod 600 ~/.wgetrc. -
Leiten Sie beliebige Binärdateien mit proxychains-ng um. Installieren Sie
proxychains-ngund fügen Sie Ihren Endpunkt zuproxychains.confhinzu:socks5 HOST PORT USER PASSproxychains-ng akzeptiert optionale Benutzername- und Passwortfelder nach dem Port; falls Ihre Build sie ablehnt, prüfen Sie die Dokumentation Ihrer Distribution für diese Version. Stellen Sie dann einem beliebigen Befehl Folgendes voran:
proxychains4 curl https://ipinfo.io/ip -
Verwenden Sie es aus Python.
import os, requests url = f"http://{os.environ['PS_USER']}:{os.environ['PS_PASS']}@{os.environ['PS_HOST']}:{os.environ['PS_HTTP_PORT']}" proxies = {"http": url, "https": url} print(requests.get("https://ipinfo.io/ip", proxies=proxies, timeout=15).text)Installieren Sie
requests[socks], wenn Sie den SOCKS5-Port bevorzugen. -
Halten Sie Geheimnisse aus einfachen Dateien heraus. Bevorzugen Sie Umgebungsvariablen oder
~/.netrcmitchmod 600, und bedenken Sie, dass direkt in einer Kommandozeile übergebene Zugangsdaten für andere Benutzer überps auxsichtbar sein können.