GitHub в Иране: двусторонний зажим (OFAC + блокировка с мая 2026)
Обновлено
First, the honest part: what's actually going on with GitHub in Iran (two blocks from opposite directions)
In practice developers in Iran see: git clone / push failing, the GitHub site not loading, Actions erroring, raw.githubusercontent not fetching. Honestly, this is a two-sided squeeze from two opposite directions. One side is a compliance block on the US side: to comply with US export controls and OFAC sanctions, GitHub excludes Iran by IP geolocation for parts of the service — anonymous browsing / cloning of public repos is usually fine, but creating an account, pushing code, and using GitHub Actions / Codespaces / Copilot get stopped as a 'sanctioned region' (this is GitHub acting on OFAC requirements, not the Iranian government). The other side is censorship on the Iranian side: since May 2026, Iran has blocked GitHub domestically (and at the same time blocked Akamai and Let's Encrypt), as part of that period's network tightening. So you can hit both at once: Iran won't let you out, and GitHub won't let an Iranian IP in.
Why one non-Iranian IP fixes 'both ends' at once
The good news: one stable, non-Iranian, non-sanctioned exit IP happens to dismantle both ends at once. First, your traffic is disguised as ordinary HTTPS to a real site as it leaves Iran, getting past Iran's domestic block on GitHub; second, the traffic finally reaches GitHub from an overseas, non-sanctioned exit IP, so GitHub sees a non-Iranian, non-sanctioned IP — sign-up, push, pull, Actions and Codespaces mostly come back. There's a point that matters especially for Iran: exit location matters more than the protocol — the node must not sit in Iran (obviously), and must not sit in another US-sanctioned region either (or the OFAC end still blocks you); it's best placed in a well-regarded country where GitHub serves normally (Germany, the Netherlands, etc.). The same tunnel incidentally covers the npm, PyPI, VS Code and container registries you'll use — most of them run on the same OFAC-by-IP exclusion (see "services sanctioned out of Iran").
An honest boundary: restoring 'access' isn't 'payment', nor does it 'revive' a sanction-flagged account
This must be said plainly to avoid over-promising: changing IP solves 'access', not 'payment', and not 'account compliance'. A non-Iranian IP usually restores cloning, pushing and most free features; but two boundaries must be stated honestly. First, a Copilot subscription, paid Actions minutes / Codespaces hours, and paid GitHub plans still need a working payment card — an Iranian bank card won't pay on any IP, you need a non-Iranian payment method. Second, if your account was already sanction-flagged / suspended by GitHub at the account level (not a plain IP block), then a new IP lets you 'reach it' but may not 'revive' an account suspended for compliance — in that case you may need to register fresh on a non-Iranian IP or contact official support. Honestly: this guide helps you connect and clone/push, it doesn't solve payment or account-level sanctions actions.
Why a free VPN / browser extension isn't enough (GitHub is a developer tool, not just a website)
The first instinct is a free VPN or browser extension, but for GitHub it's often not enough. The most fundamental point: you mostly use GitHub not in the browser but on the command line and in the IDE — git clone / push go through the git CLI, and VS Code, package managers (npm/pip) and CI tools are separate processes, so a browser extension, which only protects the browser tab, can't cover any of them. Second, free proxies use public shared IP ranges that are easily flagged by the platform and often exit in a region whose sanctioned status is uncertain — you can push today and be blocked by the OFAC end tomorrow. Third, free lines are congested and drop, and cloning a large repo, pushing a big change, or Actions pulling dependencies — this kind of sustained transfer is the most sensitive to line stability, and one drop wastes the whole thing.
A more reliable alternative: a system-level VLESS + Reality client
VLESS is a lean transport protocol and Reality is its TLS camouflage layer, disguising your traffic as ordinary HTTPS to a real public website, so it's harder for Iran's DPI to identify and target. Running a real client (sing-box / v2rayN / Shadowrocket) in TUN mode is system-level: the git CLI, VS Code, npm/pip and the browser all go through the same clean foreign line, not just the browser. With a dedicated node your exit IP is your own, placed in a non-sanctioned, well-regarded region, so it's flagged less by GitHub and drops less than a free proxy with a public entry point. The good news: developer platforms like GitHub are relatively tolerant of foreign / datacenter IPs (unlike streaming, which actively bans datacenter IPs), so as long as the IP is in a non-sanctioned region and the line is stable, clone/push/Actions usually go smoothly. The trade-off is you need a subscription and a client. Three honest boundaries remain: paid features still need a non-Iranian payment card, an account already suspended under sanctions may not be revivable by a new IP, and during a near-shutdown / sovereign-network drill any foreign channel may fail to connect — no method guarantees it works forever.
How to use GitHub reliably in Iran: concrete steps
- Copy your subscription link from the dashboard (prefer DPI-resistant VLESS+Reality nodes for Iranian conditions).
- Install a mature client: Shadowrocket on iOS, sing-box or v2rayN on Android / desktop, and import the subscription URL (don't add single nodes by hand).
- Enable TUN / 'virtual NIC' mode so the git CLI, VS Code, npm/pip and the browser all go through the tunnel (a system proxy alone often can't cover git / the terminal).
- Pick a stable node in a region where GitHub serves normally and that isn't sanctioned (Germany / the Netherlands, low latency, enough bandwidth), and run a latency test; be sure to avoid an exit that sits in Iran or another sanctioned region, or the OFAC end still blocks you.
- Use Rule mode: send Iranian local banking / government apps direct, and route github.com / *.githubusercontent.com / api.github.com / codeload / ghcr.io and npm/PyPI domains through the tunnel.
- Verify:
git clonea private repo,git pusha small change, and trigger an Actions run to confirm it no longer errors with 'sanctioned region' or a connection failure; for Copilot / paid features, separately arrange a non-Iranian payment method.
Honest expectations
- GitHub in Iran is a two-sided squeeze: US OFAC sanctions block by IP (push / Actions / Codespaces / Copilot need a non-Iranian IP, anonymous public-repo reads are usually fine) + Iran blocked GitHub domestically from May 2026 (along with Akamai / Let's Encrypt).
- One stable, non-Iranian, non-sanctioned exit IP fixes both ends at once; where the exit lands matters more than the protocol — it can't be in Iran or another sanctioned region.
- Changing IP solves 'access', not 'payment': Copilot / paid Actions / Codespaces still need a non-Iranian card; an Iranian bank card won't pay on any IP.
- Changing IP also doesn't guarantee 'reviving' a sanction-flagged account: if GitHub has suspended the account at the account level, a new IP lets you reach it but you may still need to register fresh on a non-Iranian IP or contact support.
- GitHub is a developer tool (git CLI / VS Code / package managers) that a browser extension can't cover; a system-level (TUN) VLESS+Reality covers the whole device with fewer drops. During a near-shutdown any foreign channel may fail; for how the protocol works see "What is VLESS Reality", for overall selection see "Which VPN works in Iran in 2026", and for client setup see "sing-box setup in Persian".
Comply with local laws and third-party terms of service; this article is a technical tutorial only, responsibility for security and compliance rests with the user, and no guarantee can be made about the long-term availability of third-party services (including GitHub) or changes in sanctions policy.
Частые вопросы
- Is GitHub blocked by the Iranian government, or by GitHub itself?
- Both. On one side GitHub excludes Iran by IP to comply with US OFAC sanctions — anonymous public-repo reads are usually fine, but sign-up, push, Actions, Codespaces and Copilot get stopped as a 'sanctioned region'; that's GitHub acting on US law, not the Iranian government. On the other side, since May 2026 Iran has also blocked GitHub domestically (along with Akamai and Let's Encrypt). So you can hit both at once. One stable, non-Iranian, non-sanctioned exit IP (a system-level VLESS+Reality) fixes both ends at once.
- Why does changing my IP fix both Iran's block and the US sanctions at once?
- Because a non-Iranian, non-sanctioned exit IP does two jobs: your traffic is disguised as ordinary HTTPS as it leaves Iran, getting past Iran's domestic block on GitHub; and the traffic reaches GitHub from an overseas non-sanctioned IP, so GitHub sees a non-sanctioned IP and push/Actions come back. The key is where the exit lands — not in Iran, and not in another US-sanctioned region; ideally a well-regarded country where GitHub serves normally.
- After changing IP, can I use Copilot and paid Actions?
- You can connect and use free tiers, but not paid. Changing IP solves 'access', not 'payment'. A Copilot subscription and paid Actions minutes / Codespaces hours still need a working payment card, and an Iranian bank card won't pay on any IP — you need a non-Iranian payment method.
- Will a free VPN extension in the browser fix git push?
- Usually not. You mostly use GitHub on the command line and in the IDE — git clone/push go through the git CLI, and VS Code and npm/pip are separate processes that a browser extension, which only protects the browser tab, can't cover. And free proxies often exit in a region of uncertain sanctioned status — you push today and get blocked by OFAC tomorrow. For whole-device stability, use a system-level (TUN) client running VLESS+Reality so git, the IDE and package managers all go through the same clean line landing in a non-sanctioned region.
Канал Univista в Telegram
В канале — свежие рабочие конфиги, статус узлов и разбор частых проблем.
Перейти в каналСервис, который вам нужен, заблокирован? Верните доступ — бесплатно.
Снова онлайн примерно за 2 минуты, без банковской карты. Рабочее подключение по VLESS + Reality на iOS, Android, Windows и macOS.
- Бесплатно 1 ГБ в день
- Банковская карта не нужна
- VLESS + Reality за 60 секунд
Когда друг начнёт пользоваться сервисом, вы оба получите по +30 бонусных дней и бонусный трафик.
Восстановить доступ — бесплатноПохожие руководства
Доступ к заблокированным по региону сервисам из Ирана
Что ещё работает в Иране в 2026: почему DPI ломает обычные VPN и почему важен выбор протокола
Что такое VLESS Reality: назначение и отличия от VPN
Coursera в России: платная запись приостановлена с 2022
Adobe в Иране: приложения проверяют лицензию онлайн
Coursera в Иране: бесплатный аудит vs платный сертификат
Поделиться этим руководством
Уже подписались? Помощь — импорт и устранение неполадок.
Готовы к стабильному доступу в интернет?
ТарифыМатериал носит технический характер. Соблюдайте местные законы при использовании сетевых инструментов. Univista не отвечает за ваш сценарий использования.