Zurück zum Blog

Proxys für iranische Entwickler: So erhalten Sie Zugang zu GitHub, npm und PyPI unter Sanktionen im Jahr 2024

Iranische Entwickler stehen aufgrund von Sanktionen vor Blockierungen von GitHub, npm und PyPI. Wir erklären, wie man die Einschränkungen über Proxys umgehen und die Arbeit ohne Unterbrechungen fortsetzen kann.

📅10. Juli 2026
```html

Iranische Entwickler sehen sich regelmäßig strengen Einschränkungen gegenüber: GitHub sperrt Konten, npm-Pakete können nicht installiert werden, PyPI gibt Verbindungsfehler zurück. All dies sind Folgen von Sanktionen, die ganze Länder von der grundlegenden Entwicklungsinfrastruktur abschneiden. Wenn Sie aus dem Iran arbeiten oder iranische Fachkräfte einstellen, bietet Ihnen dieser Artikel eine konkrete Lösung – ohne unnötige Informationen und Theorie.

Was genau blockiert wird und warum

Die US-Sanktionen gegen den Iran betreffen nicht nur Finanztransaktionen – sie betreffen auch technologische Dienste. Unternehmen, die unter die US-Jurisdiktion fallen (und das ist praktisch der gesamte Stack der modernen Entwicklung), sind verpflichtet, den Zugang für Nutzer aus sanktionierten Ländern zu beschränken. Infolgedessen sehen sich iranische Entwickler mit den folgenden Problemen konfrontiert:

  • GitHub – sperrt Konten, Repositories werden unzugänglich, Actions starten nicht, Copilot funktioniert nicht.
  • npm (npmjs.com) – beim Versuch, Pakete über npm install zu installieren, treten Verbindungsfehler oder eine klare Zugangsverweigerung auf.
  • PyPI (pypi.org)pip install hängt oder gibt einen Fehler 403 zurück.
  • Docker Hub – das Herunterladen von Images ist blockiert.
  • Cloudflare, AWS, Azure, Google Cloud – einige Dienste sind nicht verfügbar oder funktionieren instabil.
  • Stack Overflow, JetBrains, VS Code Marketplace – gelegentliche IP-Blockierungen.

Die Blockierung erfolgt auf IP-Adressebene: Wenn Ihre IP einem iranischen Anbieter gehört (AS-Nummern IRANCELL, Shatel, MCI und andere), wird die Anfrage automatisch abgelehnt, noch bevor das Konto überprüft wird. Deshalb ist ein VPN oder Proxy mit einer IP aus einem anderen Land kein Umgehungsmanöver, sondern der einzige funktionierende Weg, um Zugang zur Entwicklungsinfrastruktur zu erhalten.

Wichtig zu verstehen:

Proxys und VPNs lösen das Problem auf unterschiedlichen Ebenen. Ein VPN leitet den gesamten Systemverkehr um – das ist praktisch für den Browser, aber unpraktisch für Befehlszeilenwerkzeuge (git, npm, pip), wo eine gezielte Konfiguration erforderlich ist. Ein Proxy ermöglicht es, die Umgehung von Sanktionen nur für ein bestimmtes Werkzeug einzurichten, ohne den restlichen Verkehr zu beeinträchtigen.

Welcher Proxytyp für die Entwicklung geeignet ist

Für die Aufgaben eines Entwicklers – Arbeiten mit Repositories, Installation von Paketen, CI/CD – sind Stabilität der Verbindung, Geschwindigkeit und IP-Integrität wichtig. Lassen Sie uns drei Haupttypen von Proxys untersuchen und wie sie für bestimmte Szenarien geeignet sind.

Residential Proxys

Residential Proxys verwenden echte IP-Adressen von Heimnutzern aus verschiedenen Ländern. Für GitHub ist dies von entscheidender Bedeutung: Die Plattform analysiert nicht nur die Geolokalisierung der IP, sondern auch deren Reputation. Eine IP aus einem Rechenzentrum weckt Verdacht, während eine heimische amerikanische oder europäische IP als normaler Benutzer wahrgenommen wird. Residential Proxys sind die zuverlässigste Option für die dauerhafte Arbeit mit GitHub-Konten.

Rechenzentrums-Proxys

Rechenzentrums-Proxys sind schnell und kostengünstig. Sie eignen sich gut für die Installation von Paketen über npm und pip: PyPI und npmjs.com überprüfen die IP-Reputation nicht so streng wie GitHub. Wenn Sie einfach nur Abhängigkeiten in einem CI/CD-Pipeline herunterladen müssen, erledigt ein Rechenzentrums-Proxy die Aufgabe und ist günstiger.

Mobile Proxys

Mobile Proxys verwenden IPs von Mobilfunkanbietern (4G/5G). Dies ist der "reinste" IP-Typ aus Sicht von Antifraud-Systemen: hinter einer mobilen IP befinden sich gleichzeitig Tausende von echten Nutzern, weshalb es unvorteilhaft ist, sie zu blockieren. Mobile Proxys sind relevant, wenn Sie bereits Probleme mit der Sperrung Ihres GitHub-Kontos hatten und das Risiko einer erneuten Sperrung so weit wie möglich minimieren möchten.

Proxy für GitHub einrichten

GitHub verwendet zwei Protokolle für die Arbeit mit Repositories: HTTPS und SSH. Die Einrichtung des Proxys erfolgt für jedes von ihnen unterschiedlich. Lassen Sie uns beide Optionen betrachten.

Proxy für git über HTTPS

Dies ist die gebräuchlichste Methode zur Arbeit mit GitHub. Die Einrichtung erfolgt über die git-Konfiguration. Öffnen Sie das Terminal und führen Sie aus:

# HTTP-Proxy für git einrichten (ersetzen Sie host, port, user, password durch Ihre Daten)
git config --global http.proxy http://user:password@proxy-host:port
git config --global https.proxy http://user:password@proxy-host:port

# Überprüfung der Einstellungen
git config --global --get http.proxy

# Wenn der Proxy keine Authentifizierung benötigt:
git config --global http.proxy http://proxy-host:port

Nach dieser Einstellung werden alle Befehle git clone, git push, git pull über den Proxy geleitet. Wenn Sie den Proxy nur für GitHub und nicht für alle Repositories einrichten möchten:

# Proxy nur für github.com
git config --global http.https://github.com.proxy http://user:password@proxy-host:port

Proxy für git über SSH

Die SSH-Verbindung zu GitHub funktioniert über Port 22 (oder 443 als Alternative). Zum Proxieren des SSH-Verkehrs wird das Dienstprogramm nc (netcat) oder connect verwendet. Bearbeiten Sie die Datei ~/.ssh/config:

Host github.com
  HostName github.com
  User git
  ProxyCommand nc -X connect -x proxy-host:port %h %p
  # Oder für SOCKS5:
  # ProxyCommand nc -X 5 -x proxy-host:port %h %p

Wenn Sie Windows verwenden, können Sie anstelle von nc connect.exe verwenden oder ProxyCommand über PuTTY einrichten. Auf macOS und Linux ist netcat normalerweise bereits installiert.

Umgebungsvariablen einrichten

Eine alternative Methode sind Umgebungsvariablen. Diese funktionieren nicht nur für git, sondern auch für viele andere Befehlszeilenwerkzeuge:

# Linux / macOS – fügen Sie in ~/.bashrc oder ~/.zshrc hinzu
export HTTP_PROXY="http://user:password@proxy-host:port"
export HTTPS_PROXY="http://user:password@proxy-host:port"
export NO_PROXY="localhost,127.0.0.1"

# Windows (PowerShell)
$env:HTTP_PROXY = "http://user:password@proxy-host:port"
$env:HTTPS_PROXY = "http://user:password@proxy-host:port"

Proxy für npm und Node.js einrichten

npm hat eine integrierte Unterstützung für Proxys. Die Einrichtung erfolgt mit nur einem Befehl und wird sofort auf alle Paketinstallationen angewendet. Dies ist besonders wichtig für iranische Entwickler, die mit dem JavaScript/TypeScript-Stack arbeiten: React, Vue, Angular, Next.js – alle nutzen aktiv npmjs.com.

# Proxy für npm einrichten
npm config set proxy http://user:password@proxy-host:port
npm config set https-proxy http://user:password@proxy-host:port

# Überprüfung der aktuellen Konfiguration
npm config get proxy
npm config get https-proxy

# Deaktivierung des Proxys (wenn Sie eine direkte Verbindung zurückgeben möchten)
npm config delete proxy
npm config delete https-proxy

Die Einstellungen werden in der Datei ~/.npmrc gespeichert. Sie können diese Datei auch direkt bearbeiten:

# Inhalt von ~/.npmrc
proxy=http://user:password@proxy-host:port
https-proxy=http://user:password@proxy-host:port
strict-ssl=false

Yarn und pnpm

Wenn Sie Yarn oder pnpm verwenden, ist die Einrichtung ähnlich:

# Yarn v1
yarn config set proxy http://user:password@proxy-host:port
yarn config set https-proxy http://user:password@proxy-host:port

# Yarn v2/v3 (Berry) – bearbeiten Sie .yarnrc.yml
# httpProxy: "http://user:password@proxy-host:port"
# httpsProxy: "http://user:password@proxy-host:port"

# pnpm
pnpm config set proxy http://user:password@proxy-host:port
pnpm config set https-proxy http://user:password@proxy-host:port

Tipp für CI/CD:

Wenn Sie GitHub Actions, GitLab CI oder ein anderes System verwenden, fügen Sie die Variablen HTTP_PROXY und HTTPS_PROXY zu den Geheimnissen des Projekts hinzu. Dies ermöglicht es allen Schritten der Pipeline, automatisch den Proxy zu verwenden.

Proxy für PyPI und pip einrichten

Python-Entwickler aus dem Iran sehen sich besonders häufig mit der Blockierung von PyPI konfrontiert: pip verwendet HTTPS zum Herunterladen von Paketen, und wenn die IP blockiert ist, hängt die Installation einfach oder gibt einen Fehler aus. Es gibt mehrere Möglichkeiten, einen Proxy für pip einzurichten.

Methode 1: Flag --proxy bei der Installation

# Einmalige Installation über den Proxy
pip install requests --proxy http://user:password@proxy-host:port

# Für pip3
pip3 install django --proxy http://user:password@proxy-host:port

Methode 2: Konfigurationsdatei pip.conf

Um den Proxy nicht bei jedem Befehl anzugeben, fügen Sie die Einstellungen in die Konfigurationsdatei pip ein:

# Linux/macOS: ~/.config/pip/pip.conf
# Windows: %APPDATA%\pip\pip.ini

[global]
proxy = http://user:password@proxy-host:port
trusted-host = pypi.org
               pypi.python.org
               files.pythonhosted.org

Methode 3: Umgebungsvariablen

# pip übernimmt automatisch die Standard-Umgebungsvariablen
export HTTP_PROXY="http://user:password@proxy-host:port"
export HTTPS_PROXY="http://user:password@proxy-host:port"

# Danach funktioniert der normale pip install über den Proxy
pip install numpy pandas scikit-learn

Poetry und Conda

Wenn Sie Poetry zur Verwaltung von Abhängigkeiten verwenden, erfolgt die Proxy-Einrichtung über Umgebungsvariablen – Poetry erbt HTTP_PROXY und HTTPS_PROXY automatisch. Für Conda fügen Sie in die Datei ~/.condarc hinzu:

# ~/.condarc
proxy_servers:
  http: http://user:password@proxy-host:port
  https: http://user:password@proxy-host:port

Andere Entwicklerwerkzeuge: Docker, Composer, Maven

Blockierungen betreffen nicht nur GitHub, npm und PyPI. Lassen Sie uns die Proxy-Einrichtung für andere beliebte Entwicklungswerkzeuge betrachten, die ebenfalls aus dem Iran möglicherweise nicht verfügbar sind.

Docker

Docker Hub ist für iranische IPs blockiert. Um docker pull auszuführen, richten Sie den Proxy in der Docker-Daemon-Konfiguration ein:

# Linux: erstellen oder bearbeiten Sie /etc/docker/daemon.json
{
  "proxies": {
    "http-proxy": "http://user:password@proxy-host:port",
    "https-proxy": "http://user:password@proxy-host:port",
    "no-proxy": "localhost,127.0.0.1"
  }
}

# Starten Sie Docker neu
sudo systemctl restart docker

Auf macOS und Windows erfolgt die Proxy-Einrichtung für Docker Desktop über die grafische Benutzeroberfläche: Einstellungen → Ressourcen → Proxys.

Composer (PHP)

# Composer verwendet Umgebungsvariablen
export HTTP_PROXY="http://user:password@proxy-host:port"
export HTTPS_PROXY="http://user:password@proxy-host:port"

# Oder über die Composer-Konfiguration
composer config --global http-basic.repo.packagist.org user password

Maven (Java)

<!-- ~/.m2/settings.xml -->
<settings>
  <proxies>
    <proxy>
      <id>my-proxy</id>
      <active>true</active>
      <protocol>http</protocol>
      <host>proxy-host</host>
      <port>port</port>
      <username>user</username>
      <password>password</password>
      <nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>
    </proxy>
  </proxies>
</settings>

Go-Module

# Go verwendet GOPROXY zum Herunterladen von Modulen
# Sie können ein Spiegelbild angeben oder einen systemweiten Proxy einrichten
export GOPROXY="https://goproxy.io,direct"
export HTTP_PROXY="http://user:password@proxy-host:port"
export HTTPS_PROXY="http://user:password@proxy-host:port"

Sicherheit: Wie man sein GitHub-Konto nicht verliert

Die Verwendung von Proxys löst das Zugangsproblem, schafft jedoch ein neues: Wenn Sie sich von verschiedenen IP-Adressen bei GitHub anmelden (heute aus dem Iran, morgen über einen amerikanischen Proxy, übermorgen über einen europäischen), kann das Sicherheitssystem von GitHub Ihr Konto als verdächtig sperren. So vermeiden Sie das.

Regel der IP-Kontinuität

Verwenden Sie denselben Proxy-Server für die Arbeit mit GitHub. Wenn Ihr Proxy-Anbieter bei jeder Verbindung die IP wechselt (rotierende Proxys), kann dies Verdacht erregen. Für GitHub sind statische Proxys am besten geeignet – eine IP, die langfristig für Sie reserviert ist.

  • Statischer Residential Proxy – eine heimische IP aus den USA oder Europa, die für Sie reserviert ist. Maximale Zuverlässigkeit für GitHub.
  • Rotierender Proxy – geeignet für npm/pip (Paketdownloads), aber nicht für den Zugang zu einem GitHub-Konto.
  • Mischen Sie keine direkten und Proxy-Verbindungen: entweder immer über Proxy oder nie.

Zwei-Faktor-Authentifizierung

Aktivieren Sie 2FA auf GitHub – das schützt Ihr Konto, selbst wenn jemand Ihre Anmeldedaten abfängt. Verwenden Sie eine Authentifizierungs-App (Google Authenticator, Authy) anstelle von SMS – SMS kann aus dem Iran möglicherweise nicht verfügbar oder unzuverlässig sein.

SSH-Schlüssel anstelle von Passwörtern

Richten Sie SSH-Schlüssel für die Arbeit mit GitHub anstelle der HTTPS-Authentifizierung per Passwort ein. SSH-Schlüssel sind an das Gerät gebunden und nicht an die IP, daher ist der IP-Wechsel bei Verwendung von SSH für das Sicherheitssystem von GitHub weniger kritisch.

Vergleich der Proxytypen für Entwickler

Lassen Sie uns die Ergebnisse in Form einer Tabelle zusammenfassen: Welcher Proxytyp eignet sich am besten für die spezifischen Aufgaben eines Entwicklers aus dem Iran.

Aufgabe Residential Rechenzentrum Mobil
GitHub (Konto, push/pull) ✅ Ausgezeichnet ⚠️ Risiko einer Sperrung ✅ Ausgezeichnet
npm install (Paketinstallation) ✅ Gut ✅ Ausgezeichnet ✅ Gut
pip install (PyPI) ✅ Gut ✅ Ausgezeichnet ✅ Gut
Docker Hub (Images herunterladen) ✅ Gut ✅ Gut ⚠️ Teuer
CI/CD-Pipelines (Massenanfragen) ⚠️ Teuer ✅ Ausgezeichnet ❌ Nicht geeignet
Verbindungsgeschwindigkeit Durchschnittlich Hoch Durchschnittlich
Risiko einer IP-Sperrung Niedrig Mittel Sehr niedrig
Kosten Durchschnittlich Niedrig Hoch

Empfohlene Strategie

Optimales Schema für den Entwickler:

  1. Für GitHub – statischer Residential Proxy aus den USA oder Deutschland. Eine IP, immer dieselbe.
  2. Für npm/pip/Docker – Rechenzentrums-Proxy mit guter Bandbreite. Geschwindigkeit ist wichtiger als die IP-Reputation.
  3. Für den Browser und Webdienste – derselbe Residential Proxy oder ein separater.

Protokolle: HTTP vs SOCKS5

Die meisten Entwicklungswerkzeuge (git, npm, pip) unterstützen HTTP/HTTPS-Proxys. SOCKS5 ist universeller – es funktioniert auf der TCP-Ebene und eignet sich für jedes Protokoll, einschließlich SSH. Wenn Ihr Proxy-Anbieter SOCKS5 unterstützt, verwenden Sie es für SSH-Verbindungen zu GitHub. Für HTTP-Verkehr (npm, pip) gibt es praktisch keinen Unterschied.

Fazit und Empfehlungen

Sanktionen schaffen echte Hindernisse für iranische Entwickler, aber sie machen die Arbeit nicht unmöglich. Ein richtig konfigurierter Proxy ermöglicht es, vollständig mit GitHub zu arbeiten, Pakete über npm und pip zu installieren und Images aus Docker Hub herunterzuladen – ohne Kontoverluste und ohne ständige Blockierungen.

Wichtige Erkenntnisse aus dem Artikel:

  • Für die Arbeit mit GitHub verwenden Sie einen statischen Residential Proxy – eine dauerhafte IP aus den USA oder Europa.
  • Für die Installation von Paketen (npm, pip, Composer) eignen sich günstigere Rechenzentrums-Proxys mit guter Geschwindigkeit.
  • Richten Sie den Proxy auf der Ebene der Werkzeuge (git config, npm config, pip.conf) ein, nicht nur auf Systemebene.
  • Mischen Sie keine direkten Verbindungen und Proxys für ein GitHub-Konto.
  • Aktivieren Sie 2FA und verwenden Sie SSH-Schlüssel für maximale Sicherheit Ihres Kontos.

Wenn Sie nach einer zuverlässigen Lösung für die dauerhafte Arbeit mit GitHub und anderen blockierten Diensten suchen, empfehlen wir, auf Residential Proxys zu achten – sie bieten stabilen Zugang über echte Heim-IP-Adressen, die extrem selten von GitHub und anderen Plattformen blockiert werden.

```