Skip to content
Intermediate / 3 min read

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.

Linux SOCKS5 Web Scraping

Ü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

  1. Endpunkt ermitteln. Notieren Sie im ProxyScrape-Dashboard den Host, den HTTP-Port, den SOCKS5-Port sowie Ihren Benutzernamen und Ihr Passwort.

  2. 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"
    
  3. Testen Sie den HTTP-Proxy mit curl.

    curl -x "http://$PS_USER:$PS_PASS@$PS_HOST:$PS_HTTP_PORT" https://ipinfo.io/ip
    
  4. Testen Sie SOCKS5. --socks5-hostname lö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
    
  5. 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 beachtet all_proxy; prüfen Sie dies mit curl -v oder der Dokumentation des jeweiligen Tools.

  6. 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:PORT
    

    Beschränken Sie dann den Zugriff mit chmod 600 ~/.wgetrc.

  7. Leiten Sie beliebige Binärdateien mit proxychains-ng um. Installieren Sie proxychains-ng und fügen Sie Ihren Endpunkt zu proxychains.conf hinzu:

    socks5 HOST PORT USER PASS
    

    proxychains-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
    
  8. 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.

  9. Halten Sie Geheimnisse aus einfachen Dateien heraus. Bevorzugen Sie Umgebungsvariablen oder ~/.netrc mit chmod 600, und bedenken Sie, dass direkt in einer Kommandozeile übergebene Zugangsdaten für andere Benutzer über ps aux sichtbar sein können.