Если у вас в начале июня внезапно завис git clone, а pip install начал валиться на каждом втором пакете — выдохните, дело не в вас и не в карме. С мая 2026 доступ к ключевым инструментам разработчика из России потихоньку деградирует. 8 июня Роскомнадзор предложил отрасли решение, и отрасль встретила его, мягко говоря, без оваций. Давайте по порядку: что сломалось, почему достаётся именно репозиториям, что это за «ГосVPN» такой, почему инженеры от него отмахиваются и что можно сделать прямо сейчас — без шаманства, обычной инженерной гигиеной.

Сразу одна важная вещь. Дальше я честно помечаю, где у меня твёрдый пруф, а где — реконструкция по одному источнику или просто разумное предположение. РКН официально отрицает блокировки PyPI и GitHub, часть атрибуций («это ТСПУ») технически правдоподобна по характеру сбоев, но ведомством не подтверждена. Так что местами я буду оговариваться — это не занудство, это честность.

Что случилось: хронология

GitHub. Первый заметный сбой случился 5 мая 2026. По измерениям OONI (агрегация через Verstka) доля битых соединений к GitHub подскочила с фоновых 4% до 10%, а 6–7 мая дошла до 16% — и там и держится. Это не полная блокировка, а именно деградация: троттлинг плюс DPI-фильтрация. РКН 8 мая заявил, что «не ограничивает доступ к GitHub» (Vedomosti, Meduza). При этом по состоянию на май в реестр добавили 61 отдельную страницу GitHub (суммарно больше 130 с начала года) — больше, чем за весь прошлый год целиком.

Симптомы у разработчиков очень узнаваемые. Всё, что качает много данных — git clone без ограничения глубины, git push тяжёлого дерева, — обрывается или уходит в таймаут заметно чаще, чем лёгкий git fetch. Это ровно то, как ведёт себя троттлинг по объёму и длительности сессии, а не полный блок хоста. Грубо говоря: маленькую посылку пропускают, а фуру тормозят на въезде.

PyPI. 1 июня 2026 около 13:00 МСК pypi.org перестал открываться из российских адресов. География задокументированных сбоев — Петербург, Хабаровск, Саратов, Сочи. Соединение обрывалось на стадии TLS-хендшейка — классический почерк DPI-фильтрации. РКН в тот же день опроверг: «не ограничиваем доступ к PyPI и не выявляем проблем с ресурсом» (цитата через Meduza и Vedomosti). К вечеру 1 июня жалоб стало меньше, а тесты Web Connectivity 2 июня показали частичное восстановление. Эпизод был разовым, а не «PyPI лежал весь май».

Figma. 30 мая 2026 в 15:33 МСК пошёл вал жалоб: сотни обращений в Downdetector, концентрация в Новосибирской области и Петербурге. Причину официально не установили — мог быть и технический сбой, и ТСПУ. РКН по Figma вообще ничего не заявлял, так что «Figma заблокировали ТСПУ» — это предположение, а не факт.

Linux-репозитории. git.kernel.org недоступен с 12 февраля 2026 (CNews), деградацию связывают с изменениями в фильтрации в период ограничений Telegram. Тогда же зацепило обновления Astra Linux, Alt Linux и Red OS — то есть российских же ОС, что особенно иронично. Жалобы на Debian-репозитории были, но точную дату начала в открытых источниках найти не удалось. crates.io (Rust) РКН упоминал на совещании 8 июня как потенциально затронутый ресурс — но отдельных подтверждённых эпизодов блокировки crates.io в открытом доступе нет, так что в списке «пострадавших» он пока не зафиксированный инцидент, а заявленная категория.

Чтобы был масштаб. На январь 2026 РКН ограничил доступ примерно к 440 сервисам. В марте 2026 пять самых популярных VPN-приложений в Google Play скачали в России около 9,2 млн раз — в 14 раз больше, чем годом ранее (данные сервиса Digital Budget на базе Similarweb; «Коммерсантъ»). CNews 2 июня вышел с материалом о том, как всё это бьёт по работе ИТ-разработчиков.

Почему ТСПУ ломает именно репозитории: техника

ТСПУ (технические средства противодействия угрозам) — это DPI-оборудование, которое операторы обязаны ставить по 90-ФЗ («суверенный интернет», 2019; вносит изменения в 126-ФЗ «О связи» и 149-ФЗ) и постановлению правительства № 127 от 12.02.2020. Стоит оно на стыках операторов с вышестоящими узлами и управляется централизованно из РКН. Это не банальный блок-лист по IP, а инспекция на L3–L7: оборудование умеет замедлять трафик, периодически дропать пакеты или отсекать конкретные эндпоинты.

Отсюда и тот самый странный паттерн: сервис работает у одного провайдера и не работает у другого, открывается утром и отваливается вечером. И отсюда же формальная правота РКН — если ТСПУ работает в режиме замедления, а не полного блока, то фраза «мы ничего не блокируем» технически и правда не ложь.

Почему под раздачу попадают именно pipnpmgit? Тут накладывается сразу несколько механизмов.

SNI-фильтрация и рикошет по CDN. При TLS-хендшейке клиент отдаёт поле SNI (имя домена) в открытом виде, ещё до шифрования. ТСПУ читает его и сверяет с реестром, не расшифровывая сам трафик. Загвоздка в том, что GitHub, PyPI и Figma живут на CDN: PyPI обслуживается Fastly (pypi.org и files.pythonhosted.org), GitHub — Akamai плюс собственная сеть, Figma — Fastly/Cloudflare. А один IP-адрес CDN обслуживает тысячи доменов разом.

И вот тут у фильтра выбор. Можно резать точечно по SNI — но для этого нужен полный список SNI на этом IP. А можно рубануть по IP-диапазону — и тогда вместе с целью под нож уходят сотни посторонних сервисов на том же адресе. По техническим разборам, именно так в 2022-м фильтрация Twitter/X задела часть сети Ростелекома — из-за того, что CDN-инфраструктура была общей с кучей других сервисов (Censored Planet, OONI).

Есть гипотеза, что блокировка PyPI 1 июня была как раз IP-уровневой, по диапазонам Fastly, а не точечной по SNI — иначе она вряд ли была бы такой тотальной. Это бьётся с тем, что pip перестаёт резолвить пакеты целиком, если DNS возвращает адрес из заблокированного диапазона. Fastly публикует свои ASN и IP-диапазоны (в том числе AS54113), так что фильтрация по ним технически тривиальна. Оговорюсь: конкретный механизм эпизода 1 июня документально не подтверждён — это реконструкция по косвенным признакам (жалобам в Downdetector и тредам на Хабре), независимо не верифицированная.

Поведенческие эвристики (DPI L7). Что делает pip install под капотом: DNS-запрос к pypi.org → TLS-хендшейк → HTTP/2 GET /simple/package-name → резолв зависимостей → несколько параллельных TLS-соединений к files.pythonhosted.org за .whl/.tar.gznpm install устроен похоже. Паттерн получается узнаваемый: много коротких TLS-соединений к одному диапазону за короткое время, без браузерного User-Agent. Теоретически DPI может строить поведенческие профили и метить такой трафик как «не-браузерный к CDN».

Важная оговорка [гипотеза]. TLS-fingerprint (JA3) у pip задаётся его TLS-стеком (OpenSSL/urllib3) и совпадает с миллионами легитимных Python-клиентов — поэтому сам по себе JA3 не годится как надёжный критерий блокировки: фильтрация только по нему уронила бы заметную часть всего Python-трафика. Так что связка «у pip узнаваемый JA3 → ТСПУ режет именно по нему» — предположение, причинно-следственная связь не доказана. Приказ Минцифры № 486 от 27.06.2023 описывает возможность анализа поведенческих паттернов соединений, но детали закрыты, и проверить, применяют ли этот механизм к репозиториям, нельзя. Так что весь пункт держится максимум на «технология существует».

Транзитивный ущерб. GitHub — это ведь не только код. На github.com/.../releases/download/... лежат бинарные артефакты, которые тянут Homebrew, Go modules (proxy.golang.org кэширует, но первый pull может пойти прямо на github.com), куча Cargo.toml с git = "https://github.com/...", Docker-образы. Стоит просесть github.com или raw.githubusercontent.com (это отдельный домен, его часто фильтруют отдельно) — и по цепочке ломаются go getcargo buildansible-galaxy installhelm plugin install. Дёрнули за одну ниточку — поехало полсвитера.

Чего ТСПУ не делает. Массового TLS-перехвата (MITM) нет. Он потребовал бы установки государственного корневого сертификата на все устройства, а это на практике нереализуемо (попытку с «национальным CA» в 2022-м никто толком не подхватил). ТСПУ работает до хендшейка (по SNI) и по метаданным: длины пакетов, тайминги, версия TLS, наборы шифров. ECH/ESNI, которые шифруют SNI, могли бы помочь, но массово их на стороне сервисов не включают: PyPI и GitHub ECH не активировали. Запомните тезис про отсутствие MITM — он ещё выстрелит в разговоре про ГосVPN.

По заявленным планам к 2030 году через ТСПУ собираются пропускать весь трафик Рунета; мощность системы хотят нарастить примерно в 2,5 раза — до 954 Тбит/с — при вложениях около 84 млрд рублей (elec.ruHabr). То есть нынешние сбои — это ещё база, а не пик.

Что такое «ГосVPN» и почему отрасль против

8 июня 2026 в РКН прошёл семинар-совещание «Решение проблем с доступом к зарубежным репозиториям». От ведомства выступал Олег Терляков, заместитель руководителя РКН. Среди участников, подтверждённых несколькими источниками (Meduza, iStories, xakep.ru): Яндекс, VK, 1С, InfoWatch, Positive Technologies и другие; полный список закрытого совещания неизвестен.

Предложение в точной формулировке по Meduza: «создать единый госVPN со сложной структурой и рекомендовать разработчикам „ходить" через него» тем, кому «очень надо». Подчеркну статус: это предложение на предварительном совещании, а не решение. Технического документа публично нет, дата следующего совещания не объявлена, официального подтверждения инициативы РКН не давал. «Сложная архитектура» — это, по сути, единственная техническая деталь во всей формулировке, и именно отсутствие конкретики делает предметный разбор почти невозможным. Разбирать тут особо нечего — но попробуем хотя бы очертить контуры.

Что говорят публично. Наталья Касперская (президент InfoWatch) ещё в апреле 2026 замечала, что «нельзя эффективно заблокировать VPN, не обрушив работу рунета» (Xakep, 23.04.2026), а 11 июня прокомментировала инициативу прямой цитатой (Anti-Malware): «Не перестаю думать об уместности траты времени и государственных средств на то, что просто не работает». Протокол совещания опубликовал Игорь Ашманов в блоге, его подтвердил Frank Media; правда, ряд деталей протокола независимо не проверяется, так что дальше я опираюсь только на атрибутированные публичные цитаты, а не на пересказ реплик с совещания.

Теперь почему инженеры реагируют сдержанно-кисло. Доводы воспроизводятся в Meduza, iStories, xakep.ru как позиция участников; привязать каждый довод к конкретному человеку с прямой цитатой по открытым источникам нельзя, кроме реплик Касперской. Но сами аргументы — технические и проверяемые, и в этом вся соль.

Единая точка отказа и геоблок. Главный довод простой. Если весь российский разработческий трафик потечёт через ограниченный пул выходных IP госшлюза, эти адреса довольно быстро опознают threat-intelligence провайдеры (MaxMind, IPinfo, Cloudflare Radar) как однородный государственный трафик. А дальше два сценария.

Compliance-политический: сервис ограничивает эти IP по стране — у GitHub уже был прецедент ограничения аккаунтов из Ирана, Сирии, Крыма по санкционным предписаниям (блог GitHub, 2019). Автоматический: аномальная концентрация запросов от горстки IP триггерит WAF/bot-protection — Fastly и Cloudflare делают это автоматизированными моделями, без живого человека в цикле. Сегодня доступность держится именно на разнообразии маршрутов и решений; централизация это разнообразие убивает: достаточно ограничить несколько IP — и накрыло всех сразу.

Санкционный compliance. PyPI управляется Python Software Foundation (США), GitHub принадлежит Microsoft (США). Оба под юрисдикцией OFAC. Если выходные IP госшлюза зарегистрированы на российское госюрлицо — а при «государственном» VPN это вполне вероятный исход — у PSF и Microsoft появляется обязанность блокировать их по санкционному режиму (OFAC SDN List, EO 14024). Это не про чьи-то намерения, это про механику американского законодательства, которая работает сама по себе. Сопоставимый прецедент: 30 мая 2024 Docker Inc. сам ограничил доступ с IP РФ и Беларуси по US export control. Это была не ТСПУ, а санкционная блокировка со стороны вендора — привожу её именно как пример вендорского compliance, а не как эпизод ТСПУ.

TLS-инспекция ломает инструменты, а не чинит. Вот тут и возвращается тезис про отсутствие MITM. Если задача госшлюза — «контролируемый» доступ, а не просто проксирование, то у него два пути, и оба так себе.

Путь первый — фильтрация без расшифровки. Госшлюз может фильтровать по SNI/доменам ровно так же, как это делает ТСПУ, не терминируя TLS. Только тогда никакой «сложной» добавленной ценности у шлюза нет: он дублирует то, что фильтр на уровне оператора и так делает, и лишь сгоняет весь трафик в одну точку отказа (про неё см. выше).

Путь второй — глубокая инспекция (SSL inspection): терминировать TLS и переподписывать сертификаты государственным CA. Но pip (через собственный certifi bundle), cargonpm и go таскают с собой свои наборы доверенных CA, и российского государственного там нет — и, судя по политике этих проектов, не будет. Итог предсказуем: pip installначнёт падать с SSL: CERTIFICATE_VERIFY_FAILED, то есть с госшлюзом инструмент будет работать хуже, чем вообще без него. Чтобы это «починить», разработчику пришлось бы вручную доверять госCA (--trusted-hostNODE_TLS_REJECT_UNAUTHORIZED=0 или системный trust store) — а это дыра в безопасности уже для всего остального трафика. Лекарство злее болезни.

Структурный итог: для доменной/SNI-фильтрации шлюзу MITM не нужен (SNI и так виден до хендшейка), но без MITM он не даёт ничего сверх уже существующей фильтрации; а с MITM — ломает основные инструменты разработчика. «Сложная архитектура» эту вилку не разрешает, она её только прячет.

Доверие, логирование и СОРМ. Государственный шлюз по определению — точка полного мониторинга метаданных. Даже без TLS-инспекции он видит: какой пользователь, когда, к каким доменам подключался, объём и паттерн активности. СОРМ-3 (374-ФЗ, «пакет Яровой») обязывает операторов хранить метаданные и предоставлять доступ уполномоченным органам. Если госVPN получит статус оператора связи (логически вполне вероятно), то через него пойдут корпоративные репозитории, SSH-ключи и токены разработчиков. А для тех, кто работает с зарубежными заказчиками или в open source, это уже прямой compliance-риск для их иностранных партнёров (GDPR, export control).

И поверх всего — структурный парадокс. ТСПУ управляется РКН, госVPN будет управляться (предположительно) им же или подведомственной структурой. Расширит регулятор реестр — шлюз не пойдёт против собственного регулятора. Ограничит зарубежный сервис IP госшлюза — РКН это не исправит, потому что решение принимается в иностранной юрисдикции. В сухом остатке получается не VPN в техническом смысле (приватная сеть), а государственный proxy с идентификацией пользователей и централизованным логированием — зато с иллюзией «легальности» доступа.

И отдельно — про устойчивость как инженерное свойство. Сети, которые сегодня сохраняют доступность, обычно держатся на распределённости выходных узлов и транспорте, который подстраивается под условия канала; чем больше разнообразия маршрутов и чем меньше единых точек, тем труднее «сложить» всю сеть разом. Это общий архитектурный принцип — и именно он противопоставлен централизованному госшлюзу, как ни понимай его «сложную архитектуру».

Что это значит для разработчиков

Если совсем коротко: предсказуемость инфраструктуры просела, и это надолго. Вот прямые последствия, с которыми команды уже столкнулись:

  • CI/CD стал хрупким. Пайплайн, который на каждом прогоне тянет зависимости с pypi.org/registry.npmjs.org/github.com, теперь падает недетерминированно — зелёный утром, красный вечером.

  • «Работает у меня» вернулось в полный рост. Доступность зависит от провайдера и региона: один разработчик поднимает окружение за минуту, другой ловит таймауты на ровно том же requirements.txt.

  • Транзитивные зависимости опаснее прямых. Даже если основной registry доступен, сборка спотыкается на каком-нибудь крейте, который тянет тарбол с GitHub Releases.

  • Случайные сторонние прокси — это риск утечки секретов. Уже зафиксированы случаи перехвата GitHub-токенов и SSH-ключей через скомпрометированные прокси-ноды и Telegram-боты, обещающие «доступ к GitHub» (SecurityLab). Не подключайте инструменты разработки через непроверенные сторонние шлюзы — себе дороже.

Чтобы не быть голословным, я взял и сам 12 часов мерил доступность ключевых хостов с машины в России (Ростелеком, AS34168) — 14 июня, замер каждые 10 минут, 72 цикла. Результат: github.com — 99% успешных соединений (1 обрыв из 72), pypi.org и files.pythonhosted.org (Fastly) — 100%, debian.org и crates.io — 100%, медиана TLS-хендшейка ~135 мс, ни одной «заморозки». И это не опровержение проблемы — это её природа: деградация выборочная и зависит от оператора и времени суток. Там, где у одного провайдера в пиковые часы соединение рвётся, у Ростелекома в этот день всё прошло чисто. Поэтому РКН формально и заявляет «не блокируем»: тотального блока нет, есть точечная фильтрация, которую на одном операторе попросту трудно поймать за руку.

Что делать командам уже сейчас

Решение лежит не в плоскости «как бы пройти при ограничениях», а в плоскости инженерной устойчивости: кэширование зависимостей и контроль над собственной инфраструктурой. У российских команд за это время сложилась трёхуровневая схема.

Уровень 1: прокси-репозиторий внутри периметра

База, которая окупается за первый же инцидент. Поднимаете кэширующий прокси, все пакеты идут через него и оседают локально. Скачали пакет однажды — он у вас навсегда, независимо от того, что там с внешней доступностью.

  • Nexus Repository OSS — бесплатный; один сервер закрывает PyPI, npm, Docker, Maven, NuGet, Helm. Для команд от ~5 человек это де-факто стандарт.

  • devpi-server — лёгкий кэширующий прокси конкретно под Python. Минус — нужно поддерживать; плюс — независимость от внешнего CDN.

  • Verdaccio — легковесный self-hosted npm-прокси на Node.js, кэширует поверх npmjs.com. Прописываете в проекте registry=https://your-nexus/repository/npm-proxy/ в .npmrc — и команда получает зеркало прозрачно, никто и не заметит.

Уровень 2: зеркала, если свой прокси пока не подняли

Быстрые меры без своей инфраструктуры. Доступность каждого зеркала проверяйте под своим провайдером — по регионам она может отличаться.

  • PyPI: зеркало pypi.depkit.ru, работающее независимо от Fastly: pip install --index-url https://pypi.depkit.ru/simple/ <package> (или прописать в ~/.pip/pip.conf). Запасные варианты — mirror.yandex.ru/pypi/simple и зеркала вузов (Tsinghua pypi.tuna.tsinghua.edu.cn/simple, Aliyun), которые не сидят на Fastly.

  • Docker Hub (напомню: ограничен самим Docker по export control с 30.05.2024, это не ТСПУ): зеркало через /etc/docker/daemon.json:

    {"registry-mirrors": ["https://dockerhub.timeweb.cloud"]}
    

    Альтернативы — huecker.io, Yandex Container Registry (cr.yandex) для своих образов, self-hosted Harbor как прокси-кэш, ghcr.io для размещения.

  • apt/Linux: mirror.yandex.ru (Debian, Ubuntu, CentOS, Fedora): deb http://mirror.yandex.ru/debian/ bookworm main.

  • Rust: превентивно — Panamax (зеркалирование rustup и crates.ioreplace-with в .cargo/config.toml).

  • git, приёмы для нестабильного канала (как раз против обрыва по объёму): git clone --depth 1 снижает объём передачи и риск обрыва; git config --global http.postBuffer 524288000 увеличивает буфер под крупные push; SSH через порт 443 (HostName ssh.github.comPort 443) на практике проходит стабильнее, чем HTTPS-канал.

Уровень 3: зеркальный git-хостинг и мониторинг

  • Self-hosted Git: Forgejo / Gitea / GitLab CE. Forgejo (форк Gitea, community-governance, регулярные security-патчи) — разумный выбор на 2026. Основной репозиторий держите у себя, GitHub подключаете как дублирующий remote (git remote add github ..., push в оба remote) для open source и CI на GitHub Actions, когда тот доступен. Получается и бэкап, и резервный пайплайн одним движением.

  • GitVerse (gitverse.ru) от СберТеха — российский git-хостинг с переносом репозиториев, code review, задачами и AI-ассистентом GigaCode. Для базовых задач функциональность сопоставима с GitHub; экосистема CI/CD пока победнее. Вариант для тех, кому нужен хостинг без санкционных рисков.

  • Мониторинг доступности. Добавьте в Uptime Kuma / Zabbix / Grafana проверки pypi.org, github.com, registry-1.docker.io с российских IP. Алерт прилетит раньше, чем посыплется CI, — и вы узнаете о проблеме не от злого коллеги.

Про Figma отдельно: ТСПУ-блокировка не подтверждена, а основная боль там — оплата (компания не продаёт новые подписки на российские карты; существующие аккаунты в основном работают). Запасные варианты для дизайна: Penpot(open-source, self-hosted), Pixso (доступен из РФ), Sketch (только macOS).

К чему всё идёт

Тренд читается без труда: мощность ТСПУ растёт, и к 2030-му через неё планируют пропускать весь трафик Рунета. Рикошет по CDN-инфраструктуре — это следствие самой архитектуры фильтрации, и точнее она при таком масштабе не станет. ГосVPN в нынешнем виде — это предложение, а не проект: без техдокумента, с нерешённой структурной вилкой (без своего CA в certifi инспектировать TLS нельзя, а без инспекции шлюз не добавляет ничего сверх уже существующей фильтрации) и с реакцией отрасли от вежливого скепсиса до прямого «это не работает». Даже если его попробуют построить, санкционная механика OFAC и геоблок по концентрации IP способны обнулить весь смысл затеи — независимо от воли регулятора.

А практический вывод от политики не зависит вовсе: стройте устойчивость на своей стороне. Кэширующий прокси-репозиторий, зеркальный git-хостинг и мониторинг внешних реестров — это не «обходные пути», а нормальная инфраструктурная гигиена, которую зрелые команды держали и до 2026 года. Поменялось одно: цена её отсутствия выросла, и платить за каждый инцидент простоем CI больше не хочется никому.


Дисклеймер: материал носит технический и аналитический характер, описывает архитектуру инфраструктуры разработки и не является инструкцией по обходу ограничений. Перечисленные сервисы и зеркала — легально доступные инструменты управления зависимостями. Атрибуция сбоев конкретным системам дана со ссылками на источники и помечена статусом достоверности; РКН официально отрицает блокировки PyPI и GitHub. Проверяйте актуальный правовой статус используемых сервисов в вашей юрисдикции.

Распределённые сети с адаптивным транспортом упомянуты в тексте как архитектурный контраст централизованному госшлюзу; один из таких сервисов — MegaV.