GitHub hat 2019 auf Anordnung des OFAC – der amerikanischen Behörde, die die Einhaltung von Sanktionen überwacht – den Zugang für Benutzer aus dem Iran blockiert. Seitdem sehen sich iranische Entwickler mit demselben Bild konfrontiert: Repositories sind nicht zugänglich, Push- und Pull-Anfragen schlagen fehl, und das Konto kann jederzeit eingefroren werden. Dennoch wird die Arbeit nicht eingestellt – Teams committen, deployen und beteiligen sich an Open-Source-Projekten. In diesem Artikel untersuchen wir, was im Jahr 2024–2025 tatsächlich funktioniert, welche Proxys für GitHub geeignet sind und wie man sie richtig einrichtet, ohne die Geschwindigkeit zu verlieren.
Warum GitHub den Iran blockiert: Sanktionen und technische Umsetzung
Im Juli 2019 begann GitHub, den Zugang für Benutzer aus dem Iran, der Krim, Kuba, Syrien und Nordkorea einzuschränken. Der Grund sind die Anforderungen des OFAC (Office of Foreign Assets Control) im Rahmen des US-Sanktionengesetzes. Microsoft, das GitHub seit 2018 besitzt, ist als amerikanisches Unternehmen verpflichtet, diese Einschränkungen einzuhalten.
Technisch funktioniert die Blockierung auf mehreren Ebenen:
- Geoblocking nach IP: GitHub bestimmt das Land anhand der IP-Adresse und blockiert Anfragen aus dem iranischen Adressbereich (AS-Blöcke, die iranischen Anbietern gehören).
- Kontosperrung: Konten, die mit iranischen IPs oder mit Angabe des Iran im Profil registriert sind, können in den Nur-Lese-Modus versetzt oder vollständig gesperrt werden.
- Blockierung privater Repositories: Öffentliche Repositories sind teilweise lesbar, private jedoch vollständig geschlossen.
- Einschränkungen bei GitHub Actions und Packages: CI/CD-Pipelines und Paketregister sind ebenfalls aus blockierten Regionen nicht verfügbar.
Gleichzeitig hat GitHub mehrfach erklärt, dass es gegen diese Einschränkungen ist und bei den Regulierungsbehörden für Erleichterungen lobbyiert. Im Jahr 2019 gelang es dem Unternehmen, die Erlaubnis zu erhalten, iranischen Entwicklern kostenlosen Zugang zu öffentlichen Repositories zu gewähren, jedoch wurde die vollständige Aufhebung der Blockade nie erreicht.
⚠️ Wichtig zu verstehen: Die Blockade richtet sich gegen Organisationen und Regierungsstrukturen unter Sanktionen, nicht gegen individuelle Entwickler. Die meisten iranischen Programmierer arbeiten in internationalen Teams und fallen persönlich nicht unter die Sanktionen – aber technisch blockiert das System alle nach IP.
Aus diesem Grund liegt die Lösung des Problems in der Änderung der IP-Adresse – das ist der einzige Weg, um die Geoblockierung technisch zu umgehen. Lassen Sie uns untersuchen, welche Werkzeuge dafür geeignet sind.
Was tatsächlich funktioniert: Proxys, VPNs und Umgehungsstrategien
Iranische Entwickler verwenden mehrere Ansätze. Jeder hat Vor- und Nachteile – wir werden sie ehrlich ohne Marketing untersuchen.
1. Residente Proxys
Residente Proxys verwenden echte IP-Adressen von Privatanwendern aus anderen Ländern – Deutschland, den Niederlanden, den USA, der Türkei. Aus Sicht von GitHub sieht eine solche Anfrage wie eine Anfrage von einem normalen Benutzer aus einem erlaubten Land aus. Dies ist die zuverlässigste Option für eine kontinuierliche Arbeit: minimales Risiko der Blockierung des Proxys selbst, hohe Stabilität.
Nachteil – die Geschwindigkeit ist niedriger als bei Rechenzentrums-Proxys und die Kosten sind höher. Für Git-Operationen (Push/Pull/Clone) ist das normalerweise nicht kritisch: Repositories wiegen Megabytes und nicht Gigabytes.
2. Rechenzentrums-Proxys
Proxys aus Rechenzentren arbeiten schneller und kosten weniger. Sie eignen sich für das Klonen großer Repositories, das Herunterladen von Artefakten und die Arbeit mit der GitHub API. Allerdings sind IPs von Rechenzentren leichter als Proxys zu identifizieren – einige Bereiche sind bereits auf die Sperrliste von GitHub gesetzt. Wir empfehlen, Rechenzentrums-Proxys aus europäischen Standorten (DE, NL, FR) zu verwenden – sie geraten seltener in die Filter.
3. VPN
VPN ist das beliebteste Werkzeug unter iranischen Nutzern. Es funktioniert auf Betriebssystemebene und erfordert keine separate Einrichtung in jeder Anwendung. Nachteile: Viele VPN-Server sind bereits von GitHub blockiert (insbesondere beliebte kostenlose), die Geschwindigkeit ist instabil, und bei Verbindungsabbrüchen kann der Datenverkehr über die iranische IP abfließen.
4. Tor
Tor funktioniert technisch, aber GitHub blockiert aktiv die Ausgangsknoten von Tor. Die Geschwindigkeit ist extrem niedrig – das Klonen selbst eines kleinen Repositories kann Stunden dauern. Für sporadischen Zugriff auf die Weboberfläche geeignet, für regelmäßige Entwicklung jedoch nicht.
5. SSH-Tunnel über einen Server in einem anderen Land
Wenn Sie einen VPS in Europa oder den USA haben, können Sie einen SOCKS5-Proxy über einen SSH-Tunnel einrichten. Dies ist technisch zuverlässig und kostenlos (wenn ein Server vorhanden ist), erfordert jedoch grundlegende Linux-Kenntnisse. Weitere Informationen zur Einrichtung finden Sie im Abschnitt über Git.
Zusammenfassung der Werkzeuge:
Für die tägliche Arbeit mit GitHub ist die Kombination optimal: residente oder Rechenzentrums-Proxys + Konfiguration in Git auf der Ebene der Konfiguration. Dies bietet Stabilität, ohne den gesamten Datenverkehr des Systems zu beeinflussen.
Welche Proxy-Typen für GitHub geeignet sind: Vergleichstabelle
Lassen Sie uns alle Optionen in einer Tabelle untersuchen, um die Auswahl für Ihre Situation zu erleichtern:
| Typ | Geschwindigkeit | Zuverlässigkeit | Risiko einer GitHub-Blockierung | Am besten geeignet für |
|---|---|---|---|---|
| Residente Proxys | Mittel | Hoch | Minimal | Tägliche Arbeit, Push/Pull, Weboberfläche |
| Rechenzentrums-Proxys | Hoch | Mittel | Mittel | Klonen großer Repos, GitHub API, CI/CD |
| Mobile Proxys | Mittel | Sehr hoch | Sehr niedrig | Arbeiten mit einem Konto, wenn es bereits unter Verdacht steht |
| VPN (kostenpflichtig) | Mittel | Mittel | Mittel | Allgemeiner Internetzugang + GitHub |
| SSH-Tunnel (eigener VPS) | Hoch | Hoch | Niedrig | Entwickler mit VPS in Europa/USA |
| Tor | Sehr niedrig | Niedrig | Hoch | Nicht empfohlen für die Arbeit mit Git |
Wenn Ihr Konto bereits Warnungen erhalten hat oder vorübergehend gesperrt wurde, sollten Sie mobile Proxys in Betracht ziehen – sie verwenden IPs von Mobilfunkanbietern, die GitHub praktisch nie blockiert, da hinter einer mobilen IP Tausende von Nutzern stehen.
Wie man Proxys in Git, Terminal und IDE einrichtet: Schritt-für-Schritt-Anleitung
Der Hauptvorteil der Proxy-Einrichtung direkt in Git (und nicht auf System- oder VPN-Ebene) besteht darin, dass Sie kontrollieren, welcher Datenverkehr über den Proxy läuft. Lokale Anfragen bleiben direkt, nur der GitHub-Datenverkehr wird über die externe IP geleitet.
Einrichtung von HTTPS-Proxys in Git (global)
Öffnen Sie das Terminal und führen Sie die folgenden Befehle aus, wobei Sie HOST und PORT durch die Daten Ihres Proxys ersetzen:
# Für HTTP/HTTPS-Proxys: git config --global http.proxy http://HOST:PORT # Für SOCKS5-Proxys (empfohlen): git config --global http.proxy socks5://HOST:PORT # Wenn der Proxy Authentifizierung benötigt (Benutzername + Passwort): git config --global http.proxy socks5://USERNAME:PASSWORD@HOST:PORT # Nur für github.com anwenden (andere Repositories nicht berühren): git config --global http.https://github.com.proxy socks5://HOST:PORT
Der letzte Befehl ist der nützlichste: Er wendet den Proxy nur auf Anfragen an github.com an, ohne GitLab, Bitbucket oder interne Unternehmens-Repositories zu beeinträchtigen.
Überprüfung der Einstellungen
# Aktuelle Proxy-Einstellungen in Git anzeigen: git config --global --list | grep proxy # Verbindungstest zu GitHub über den Proxy: git ls-remote https://github.com/github/gitignore HEAD
Wenn der Befehl ls-remote den Commit-Hash zurückgibt – funktioniert der Proxy. Wenn der Fehler Connection refused oder Could not resolve host auftritt – überprüfen Sie die Richtigkeit von HOST und PORT.
Proxy deaktivieren (wenn nicht benötigt)
# Globalen Proxy entfernen: git config --global --unset http.proxy # Proxy nur für github.com entfernen: git config --global --unset http.https://github.com.proxy
Einrichtung in VS Code
VS Code verwendet die Systemeinstellungen für Proxys für das integrierte Terminal und Erweiterungen. Wenn Sie den Proxy in Git über das Terminal eingerichtet haben, wird das integrierte Terminal von VS Code diese Einstellungen automatisch übernehmen. Für HTTP-Proxys im Editor selbst (z. B. für die Installation von Erweiterungen) öffnen Sie:
Datei → Einstellungen → Einstellungen → Suche "proxy" → Geben Sie die Proxy-Adresse im Feld http.proxy an.
Einrichtung über SSH-Tunnel (wenn Sie einen eigenen VPS haben)
Wenn Sie einen VPS in Europa oder den USA haben, können Sie einen lokalen SOCKS5-Proxy über SSH mit einem Befehl einrichten:
# SOCKS5-Proxy auf lokalem Port 1080 über SSH erstellen: ssh -D 1080 -C -N user@your-vps-ip # Dann in Git diesen lokalen Proxy angeben: git config --global http.proxy socks5://127.0.0.1:1080
Das Flag -D 1080 öffnet den SOCKS5-Proxy auf Port 1080, -C aktiviert die Kompression, -N sagt SSH, keine Befehle auszuführen – nur den Tunnel zu halten.
SSH vs HTTPS: Was besser über Proxys für GitHub funktioniert
Dies ist eine der häufigsten Fragen: Welches Protokoll sollte man für die Arbeit mit GitHub über Proxys verwenden – SSH (Port 22 oder 443) oder HTTPS (Port 443)?
HTTPS über Proxys
HTTPS-Verbindungen lassen sich leicht proxysieren – die Befehle git config http.proxy, die wir oben besprochen haben, gelten genau für HTTPS. Nachteil: Bei jedem Push/Pull fragt Git nach Benutzername und Passwort (oder Personal Access Token). Lösung – speichern Sie das Token im Credential Store:
# Aktivieren Sie die Speicherung des Tokens im systemweiten Schlüsselbund: git config --global credential.helper store # Nach dem ersten erfolgreichen Push wird das Token automatisch gespeichert
SSH über Proxys (ProxyCommand)
SSH-Verbindungen können nicht über den Standard-http.proxy in Git proxysiert werden – eine separate Konfiguration in ~/.ssh/config ist erforderlich. Fügen Sie den folgenden Block hinzu:
Host github.com
HostName ssh.github.com
User git
Port 443
ProxyCommand nc -X 5 -x HOST:PORT %h %p
Hier ist ssh.github.com:443 ein spezieller SSH-Endpunkt von GitHub, der auf Port 443 (HTTPS) arbeitet, was hilft, Blockaden auf Port 22 zu umgehen. nc -X 5 verwendet SOCKS5-Proxys.
Sie können die SSH-Verbindung mit dem Befehl überprüfen:
ssh -T [email protected] # Erwartete Antwort: Hi username! You've successfully authenticated...
Empfehlung:
Für die meisten Entwickler ist es einfacher, HTTPS + SOCKS5-Proxy in der Git-Konfiguration einzurichten. SSH über ProxyCommand erfordert die Installation des Tools netcat und eine etwas komplexere Konfiguration, bietet jedoch den Komfort der Arbeit mit SSH-Schlüsseln ohne Eingabe des Tokens.
Risiken für das Konto und wie man sie minimiert
Die Verwendung von Proxys für GitHub ist nicht nur eine technische Aufgabe, sondern auch eine Frage der Sicherheit des Kontos. Eine falsche Konfiguration kann die Aufmerksamkeit auf das Konto lenken oder neue Probleme verursachen.
Risiko 1: Ständige IP-Wechsel
Wenn Sie rotierende Proxys verwenden (IP wechselt mit jeder Anfrage oder alle paar Minuten), kann GitHub verdächtige Aktivitäten feststellen: Ein Konto greift innerhalb kurzer Zeit von Dutzenden verschiedener IPs zu. Dies ist ein Trigger für Sicherheitsüberprüfungen und potenzielle Blockierungen.
Lösung: Verwenden Sie statische (sticky) Proxys mit fester IP oder Sitzungproxys mit langer Sitzungsdauer (mindestens 24 Stunden). Für GitHub ist keine Rotation erforderlich – Stabilität ist gefragt.
Risiko 2: Verwendung von blockierten IPs aus Rechenzentren
Einige IP-Bereiche beliebter Hosting-Anbieter (AWS, DigitalOcean, Vultr) sind bereits auf Sperrlisten oder ziehen erhöhte Aufmerksamkeit auf sich. GitHub blockiert sie nicht direkt, kann jedoch zusätzliche Verifizierungen anfordern.
Lösung: Wählen Sie europäische Rechenzentren (DE, NL, CH) – sie geraten seltener auf Sperrlisten. Überprüfen Sie die IP vor der dauerhaften Nutzung über ipinfo.io oder scamalytics.com.
Risiko 3: Iranische Daten im Profil
Wenn im Profil von GitHub Iran angegeben ist (im Feld Standort), wird das Konto mit höherer Wahrscheinlichkeit unter Einschränkungen stehen, unabhängig von der IP. Das bedeutet nicht, dass man die Herkunft verbergen sollte – aber es ist wichtig zu verstehen, dass dies ein zusätzlicher Faktor ist.
Risiko 4: Arbeiten mit organisatorischen Repositories
Wenn Ihre Organisation auf GitHub von einem iranischen Unternehmen registriert ist oder iranische Administratoren hat, können die Einschränkungen strenger sein – bis hin zur Sperrung der gesamten Organisation. In diesem Fall hilft der Proxy für das persönliche Konto, löst jedoch das Problem auf Organisationsebene nicht.
Was tun, wenn das Konto bereits gesperrt ist
GitHub bietet einen offiziellen Prozess zur Wiederherstellung des Kontos für private Entwickler an. Schreiben Sie an [email protected] und erklären Sie die Situation. Geben Sie in der E-Mail an:
- Dass Sie ein individueller Entwickler sind, der nicht mit sanktionierten Organisationen in Verbindung steht
- Dass Ihre Tätigkeit – Open-Source oder kommerzielle Softwareentwicklung ist
- Links zu Ihren öffentlichen Repositories und Aktivitäten
Nach den Erfahrungen der Community stellt GitHub den Zugang für die meisten individuellen Entwickler innerhalb von 1–4 Wochen wieder her.
Checkliste: Schnelle Überprüfung der Proxy-Einstellungen für GitHub
Verwenden Sie diese Checkliste, um sicherzustellen, dass alles korrekt eingerichtet ist, bevor Sie mit der Arbeit beginnen:
✅ Vor der Einrichtung
- Erhalten Sie die Proxy-Daten: HOST, PORT, Typ (HTTP/SOCKS5), Benutzername/Passwort
- Überprüfen Sie die IP des Proxys auf
ipinfo.io– das Land sollte nicht Iran sein - Stellen Sie sicher, dass die IP nicht auf der Sperrliste steht: Überprüfen Sie auf
scamalytics.com - Wählen Sie eine statische IP (keine rotierende) für die dauerhafte Nutzung
✅ Git-Einrichtung
- Der Befehl
git config --global http.proxywurde ausgeführt - Der Proxy wurde nur für github.com angewendet (nicht global) – wenn eine gezielte Konfiguration erforderlich ist
- Der credential.helper wurde eingerichtet, um das Token zu speichern (für HTTPS)
- Für SSH: Der Block wurde in
~/.ssh/configmit ProxyCommand hinzugefügt
✅ Funktionsprüfung
- Der Befehl
git ls-remote https://github.com/github/gitignore HEADgibt einen Hash zurück - Der Befehl
ssh -T [email protected]gibt eine Begrüßung zurück (für SSH) - Push in ein Test-Repository war erfolgreich
- Keine Fehler
403 ForbiddenoderRepository access blocked
✅ Sicherheit des Kontos
- Es wird eine statische IP verwendet (keine rotierende)
- Die Zwei-Faktor-Authentifizierung ist für das GitHub-Konto aktiviert
- Personal Access Token ist mit den minimal erforderlichen Rechten eingerichtet (nur repo)
- Das Token hat eine Ablaufzeit (nicht unbegrenzt)
Fazit
Die Sanktionseinschränkungen von GitHub sind eine unangenehme Realität für iranische Entwickler, aber kein Deadlock. Technische Lösungen existieren und funktionieren: Proxys mit ausländischer IP in Kombination mit der richtigen Git-Konfiguration ermöglichen eine vollständige Entwicklung – Commits pushen, Repositories klonen, mit GitHub Actions arbeiten und an Open-Source-Projekten teilnehmen.
Wichtige Erkenntnisse aus dem Artikel:
- Für die tägliche Arbeit wählen Sie statische residente oder Rechenzentrums-Proxys aus Europa – stabiler IP ohne Rotation.
- Richten Sie Proxys in der Git-Konfiguration ein, nicht auf Systemebene – das bietet gezielte Kontrolle ohne Einfluss auf den gesamten Datenverkehr.
- Wenn das Konto bereits unter Verdacht steht – verwenden Sie mobile IPs, sie werden praktisch nie blockiert.
- Wenn das Konto gesperrt ist – schreiben Sie an [email protected], GitHub stellt den Zugang für individuelle Entwickler wieder her.
- Verwenden Sie SSH über Port 443 (ssh.github.com) – das umgeht die meisten Blockaden auf Anbieterebene.
Wenn Sie nach einer zuverlässigen Lösung für die dauerhafte Arbeit mit GitHub suchen, empfehlen wir, residente Proxys in Betracht zu ziehen – sie verwenden echte IPs von Privatanwendern aus erlaubten Ländern, ziehen minimal die Aufmerksamkeit von Schutzsystemen auf sich und bieten eine stabile Verbindung für Git-Operationen. Für Aufgaben mit hoher Last (Klonen großer Repositories, CI/CD-Pipelines) sind Rechenzentrums-Proxys eine gute Alternative – sie sind schneller und kostengünstiger bei der Verarbeitung großer Datenmengen.
```