впринципе — интернет, который работает

git push тормозит в России: почему и что с этим делать

GitHub в России работает, но иногда будто через модем 2007 года: push на 10 МБ висит 3–5 минут, clone вообще падает по таймауту. Дело не в вашем интернете — дело в маршрутизации трафика до зарубежных серверов. Это лечится.

В чём проблема

Почему конкретно тормозит — несколько причин, и они складываются:

Что делать (по шагам)

1. Подключитесь к «Впринципе» через @vpncipebot

Откройте Telegram, найдите @vpncipebot и нажмите Start. Выберите тариф — для одного рабочего ноутбука хватит тарифа за 199 ₽/мес. По промокоду MORE получите +5 дней теста бесплатно. Бот выдаст конфиг — WireGuard или OVPN на выбор.

2. Настройте WireGuard на вашей машине

Скачайте клиент WireGuard (wireguard.com), импортируйте полученный .conf файл. На macOS и Linux это буквально два клика. На Windows — то же самое через официальный GUI. Включите туннель.

3. Проверьте маршрут до GitHub

Запустите ping github.com — RTT должен стать 60–100 мс вместо 200+. Можно также traceroute github.com и убедиться, что хопов стало меньше. Если всё ок — идём дальше.

4. Сделайте тестовый git push

Откройте любой рабочий репозиторий и выполните git push. Скорость передачи объектов должна вырасти в 3–10 раз по сравнению с тем, что было. Большие репозитории теперь клонируются без таймаутов.

5. Настройте автозапуск туннеля

Чтобы не включать VPN вручную каждый раз, добавьте WireGuard в автозагрузку: на macOS — через системные настройки, на Linux — systemctl enable wg-quick@wg0. Работать будет незаметно в фоне.

Если коротко — что нужно сделать прямо сейчас

Открыть Telegram-бот @vpncipebot, выбрать тариф, получить ключ. Тарифы от 199 ₽ в месяц.

Открыть бот в Telegram

Или открыть бот вручную (поиск @vpncipebot) и в первом сообщении ввести промокод MORE — он добавит 5 дней к подписке.

Честно: где могут быть нюансы

VPN не поможет, если проблема на стороне самого GitHub (редкие инциденты) или если ваш провайдер режет скорость на конкретный порт. Также имейте в виду: некоторые корпоративные сети запрещают использование VPN — уточните политику у работодателя.

Чем «Впринципе» отличается от бесплатных альтернатив

Бесплатные VPN и прокси для git-трафика работают по одному сценарию: общий пул серверов, тысячи пользователей на одном IP, пропускная способность делится поровну. В итоге push на 50 МБ занимает столько же, сколько занимал без VPN — просто по другой причине. «Впринципе» использует протокол Reality (форк XTLS), который не оставляет характерных TLS-отпечатков и не создаёт очередей на перегруженных узлах.

По протоколу: Reality маскирует трафик под обычный HTTPS к легитимному домену — маршрутизаторы на пути до GitHub не видят ничего подозрительного и не применяют замедление, которое иногда прилетает к известным VPN-протоколам вроде OpenVPN или WireGuard в стандартной конфигурации. Практически это означает стабильные 80–150 Мбит/с на сервере вместо 5–20 Мбит/с у типичного бесплатного решения.

Несколько конкретных отличий:

Если сравнивать с платными конкурентами на WireGuard: WireGuard быстрый, но его UDP-трафик легко идентифицируется и избирательно замедляется на некоторых магистральных узлах. Reality работает поверх TCP 443 — порт, который трогать накладно для любого провайдера.

Что делать, если перестало работать

Иногда git push снова начинает висеть даже при подключённом VPN. Это не обязательно проблема сервиса — чаще всего причина в одном из четырёх мест. Разбираем по порядку, от простого к сложному.

  1. Проверьте, что трафик идёт через VPN, а не напрямую. Выполните curl -s https://ifconfig.me — должен вернуться IP сервера «Впринципе», а не ваш домашний. Если возвращается домашний — клиент не подключён или сработал kill switch.
  2. Смените сервер. В приложении доступно несколько локаций. Если нидерландский узел даёт 200+ мс, попробуйте финский — иногда маршрутизация от конкретного провайдера до конкретного датацентра деградирует на несколько часов.
  3. Проверьте git remote. Убедитесь, что используете SSH, а не HTTPS: git remote -v. SSH через VPN стабильнее — HTTPS иногда конфликтует с корпоративными прокси или антивирусом, который инспектирует TLS. Переключиться: git remote set-url origin [email protected]:user/repo.git.
  4. Увеличьте таймаут git. Добавьте в ~/.gitconfig строку http.lowSpeedLimit = 1000 и http.lowSpeedTime = 60 — git не будет обрывать соединение при временных просадках скорости.
  5. Перезапустите клиент полностью. Happ и v2rayN иногда теряют туннель после смены сети (Wi-Fi → мобильный интернет). Полный перезапуск приложения решает это за 10 секунд.

Если ни один шаг не помог — проблема может быть на стороне самого GitHub (статус смотрите на githubstatus.com) или у вашего провайдера временно упал BGP-маршрут до нужного датацентра. В таких случаях обычно достаточно подождать 20–40 минут.

Часто задаваемые вопросы

GitHub не заблокирован — зачем VPN?

Формально не заблокирован, но маршрутизация трафика из России до серверов GitHub деградировала. VPN меняет маршрут: трафик идёт через зарубежный сервер с нормальным пирингом до GitHub.

Не замедлит ли VPN скорость ещё больше?

Нет, если сервер VPN физически ближе к GitHub, чем ваш текущий маршрут. WireGuard добавляет минимальный оверхед — обычно скорость растёт, а не падает.

Работает ли это с GitLab и Bitbucket?

Да. Проблема маршрутизации одинакова для всех крупных git-хостингов. После подключения к зарубежному серверу все они начинают работать быстрее.

Можно ли использовать только для git, не для всего трафика?

Можно настроить split tunneling в WireGuard — пускать через VPN только трафик до нужных IP. Но проще держать туннель включённым постоянно: он почти не нагружает систему.

Какой тариф подойдёт разработчику?

Для одного ноутбука — 199 ₽/мес. Если нужно покрыть рабочий ПК, ноутбук и телефон — тариф на 5 устройств за 490 ₽/мес. Годовой тариф на 3 устройства выходит ≈99 ₽/мес.

Работает ли это через SSH или только через HTTPS?

Оба протокола работают. SSH (порт 22 или 443) через VPN-туннель, как правило, стабильнее при нестабильном соединении — git не пересогласовывает TLS при каждом прерывании. Если HTTPS-клон падает по таймауту, попробуйте переключиться на SSH-URL репозитория.

Влияет ли VPN на работу git в CI/CD — GitHub Actions, GitLab CI?

CI/CD-раннеры обычно находятся за пределами России и обращаются к GitHub напрямую без проблем с маршрутизацией. VPN нужен на вашей локальной машине или на self-hosted раннере, который физически стоит в России — тогда да, подключение через «Впринципе» ускорит push артефактов и pull образов.

Что происходит с подключением, если VPN отвалится во время push?

Если соединение с VPN-сервером прервётся в середине push, git получит ошибку сети и операция завершится неудачно — частичной записи в репозиторий не будет, данные не повредятся. Достаточно переподключиться и повторить команду. Для длинных push больших репозиториев удобно включить опцию http.postBuffer = 524288000 в gitconfig, чтобы git отправлял данные одним блоком и реже прерывался.