git через проксі: HTTP і SOCKS5
git працює з проксі по-різному через HTTPS і через SSH. Розбираємо обидва випадки: http.proxy для HTTPS-ремоутів (зокрема SOCKS5) і ProxyCommand для SSH — з прив'язкою до конкретних хостів, щоб маршрутизувався лише потрібний трафік.
Ремоути по HTTPS і по SSH
Як проксіювати git, залежить винятково від протоколу вашого ремоута. Для ремоутів по HTTPS (адреси на кшталт https://github.com/...) git ходить через libcurl, тому поважає конфіг http.proxy і стандартні змінні оточення http_proxy — а оскільки це libcurl, він приймає SOCKS5-проксі за схемою socks5h:// так само, як curl. Для ремоутів по SSH ([email protected]:...) git у мережу взагалі не лізе — це робить SSH, тож тунель налаштовується через ProxyCommand у файлі конфігурації SSH.
У s4m є обидва ендпоінти: SOCKS5 на порту 1080 і HTTP на 3128, з авторизацією USER:PASS на proxy.s4m.online. Для HTTPS-ремоутів socks5h:// лишає DNS віддаленим; для SSH — ProxyCommand з nc чи ncat проводить SSH-потік крізь SOCKS5. Дивіться сторінку проксі та що таке SOCKS5; та сама ідея з ProxyCommand є й у порівнянні SOCKS5 і HTTP.
git через проксі: HTTPS і SSH
http.proxy для HTTPS-ремоутів (SOCKS5 чи HTTP) плюс ProxyCommand для SSH. Прив'язка до конкретного URL рятує від проксіювання всього підряд. Замініть USER:PASS.
# --- HTTPS remotes: SOCKS5 with remote DNS --- git config --global http.proxy socks5h://USER:[email protected]:1080 # or the HTTP proxy: git config --global http.proxy http://USER:[email protected]:3128 # --- Scope the proxy to ONE host only (leave the rest direct) --- git config --global http.https://github.com/.proxy \ socks5h://USER:[email protected]:1080 # --- Remove the proxy later --- git config --global --unset http.proxy # --- SSH remotes: tunnel git@... through SOCKS5 via ~/.ssh/config --- cat >> ~/.ssh/config <<'CFG' Host github.com HostName github.com User git ProxyCommand nc -X 5 -x proxy.s4m.online:1080 %h %p CFG # -X 5 = SOCKS5; nc/ncat must be installed. # --- One-off, no persistent config --- git -c http.proxy=socks5h://USER:[email protected]:1080 clone https://example.com/repo.git
Як правильно завести git за проксі
Спершу визначте тип ремоута, потім застосуйте відповідний конфіг.
Визначте протокол ремоута
Виконайте git remote -v. Адреса на https:// працює через http.proxy; адреса виду git@host: іде по SSH, і їй потрібен ProxyCommand.
Для HTTPS задайте http.proxy
Беріть git config --global http.proxy зі socks5h://proxy.s4m.online:1080, щоб DNS резолвився віддалено, або HTTP-ендпоінт на 3128. Якщо проксі потрібен лише для одного хоста, прив'яжіть налаштування до конкретного URL.
Для SSH додайте ProxyCommand
У ~/.ssh/config додайте ProxyCommand nc -X 5 -x proxy.s4m.online:1080 %h %p у відповідний блок Host. Якщо nc/ncat не встановлено — поставте.
Перевірте клонуванням
Склонуйте невеликий репозиторій і переконайтеся, що все проходить. Якщо висне — перевірте ще раз ендпоінт і облікові дані та переконайтеся, що налаштували саме той протокол.
Прив'язка до хоста, авторизація і чесність
Ганяти весь трафік git через проксі потрібно рідко. git уміє задавати проксі для окремого URL: http.https://github.com/.proxy діє тільки на цей хост, а інші ремоути лишаються прямими. Так внутрішні дзеркала працюють на повній швидкості, а зовнішній хост іде крізь проксі. Облікові дані живуть просто в URL проксі; якщо в паролі є спецсимволи, закодуйте їх у URL-форматі.
Проксі s4m — це датацентрові SOCKS5- і HTTP-ендпоінти з авторизацією та оплатою за фактичним трафіком: добре лягає на CI-раннери, які тягнуть залежності з-під контрольованого виходу, або на доступ до git-хоста з обмеженої мережі. Вони датацентрові, а не резидентні, і проксі змінює лише мережевий шлях — не ваші облікові дані git і не SSH-ключі. Якщо CI потрібна одна адреса виходу для білого списку, візьміть виділену персональну IP. 407 по HTTPS означає неправильні дані проксі — дивіться гайд про 407. Ендпоінти перевіряйте інструментами й читайте документацію API.
Відповіді на питання
Як змусити git ходити через SOCKS5-проксі?
Для HTTPS-ремоутів задайте git config --global http.proxy socks5h://USER:[email protected]:1080 — git працює через libcurl, тому приймає SOCKS5 так само, як curl. Для SSH-ремоутів натомість використайте ProxyCommand у ~/.ssh/config.
Чи діє http.proxy на SSH-ремоути (git@...)?
Ні. http.proxy впливає лише на HTTPS-ремоути. SSH-ремоути проксіюються на рівні SSH через ProxyCommand — наприклад, nc -X 5 -x proxy.s4m.online:1080 %h %p для SOCKS5.
Як пустити через проксі лише один git-хост?
Використайте конфіг для конкретного URL: git config --global http.https://github.com/.proxy
Як прибрати проксі з git?
Виконайте git config --global --unset http.proxy (і те саме для варіантів під конкретний URL) або, якщо ремоут по SSH, приберіть рядок ProxyCommand із ~/.ssh/config.
Клонуйте з-за проксі
Проксі з авторизацією: SOCKS5 (1080) і HTTP (3128) на proxy.s4m.online — готові до http.proxy і до ProxyCommand у SSH. Оплата за фактичним трафіком, виділена IP для білих списків CI.
Цю сторінку знаходять за запитами
- git через проксі
- git через проксі для початківців
- як перевірити git через проксі
- git через проксі пояснення
- як сконфігурувати git через проксі
- список безкоштовних проксі без реєстрації
- кращі vpn kill switch 2026
- як перевірити, чи робочий проксі (з готовим скриптом)
- як налаштувати ip адреса
- проброс портів через VPN і проксі
- як сайти виявляють проксі та VPN
- що таке авторизація проксі
- проксі для парсингу провайдер
- VPN kill switch
- свіжий авторизація проксі
Реальні пошукові фрази, на які відповідає ця сторінка — за посиланнями відкриються матеріали, що розкривають тему глибше.