А мы пойдем в обход. Github over SOCKS.

Методы использования github.com после блокировки:
  • Запуск ssh сессии из консоли (топорно)
  • Запуск ssh сессии через systemd (используя ssh)
  • Запуск ssh сессии через systemd (используя autossh)
SSH нужен для того, чтобы поднять прокси. Дальше будет необходимо настроить браузер и gitconfig для использования socks-прокси для github.com.

Из консили (топорно) $ ssh -ND 9876 [email protected]
Последние 2 метода очень похожи. Один использует ssh, а другой autossh для более удобного реконнекта после обрыва соединения.
Через systemd (ssh)
Копируем содержимое ниже в
~/.config/systemd/user/ssh-proxy.service
[Unit]
Description=SSH proxy
After=network.target

[Service]
ExecStart=/usr/bin/ssh -NTC -D 9876 -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes [email protected]
RestartSec=3
Restart=always

[Install]
WantedBy=multi-user.target
Запускаем
$ systemctl --user daemon-reload && systemctl --user start ssh-proxy
.

Через systemd (autossh)
Копируем содержимое ниже в
~/.config/systemd/user/ssh-proxy.service
[Unit]
Description=SSH proxy
After=network.target

[Service]
Environment="AUTOSSH_GATETIME=0"
ExecStart=/usr/bin/autossh -M 9999 -ND 9876 -o TCPKeepAlive=yes [email protected]

[Install]
WantedBy=multi-user.target
Запускаем
$ systemctl --user daemon-reload && systemctl --user start ssh-proxy
.

Настраиваем браузер
Ставим расширение FoxyProxy. Открываем настройки плагина. Следуем картинкам.
1 2 3 4 5 Теперь для github.com у нас используется локальный socks-прокси.

Настраиваем gitconfig $ git config --global http.proxy "socks5://localhost:9876"
Если негодяй-провайдер вам отпилил ещё и ногуssh, то настраиваем
~/.ssh/config
Host github.com
ProxyCommand nc --proxy-type socks5 --proxy localhost:9876 %h %p


Ссылки
  • https://wiki.archlinux.org/index.php/Secure_Shell#Run_Autossh_automatically_at_boot_via_systemd
  • https://github.com/ignatenkobrain/ssh-proxy