Как заставить git работать, чтобы нажимать на GitHub через tor?
Итак, GitHub теперь официально запрещен российским правительством и Роспотребнадзором. Я использовал GitHub для создания бесплатного программного обеспечения и его совместного использования, и это важная часть моей жизни.
Сегодня я установил Tor на Arch Linux, и теперь я могу просматривать GitHub и другие запрещенные сайты. Я попытался сделать git
работу через Tor, но без успеха.
Вот что я сделал:
git config --global http.proxy localhost:9050
git config --global https.proxy localhost:9050
Но когда я пытаюсь нажать, я получаю сообщение об ошибке 501
:
fatal: невозможно получить доступ https://[email protected]/X/X.git/ ': Получен HTTP-код 501 из прокси после CONNECT
Итак, 501
означает "не реализовано". У меня мало опыта с Tor (но с этого момента я начинаю ценить это), поэтому не знаю, действительно ли невозможно использовать Tor таким образом, или я что-то делаю неправильно.
В: как настроить git
на использование его через Tor?
Ответы
Ответ 1
Настройка прокси-сервера HTTP или HTTPS не будет работать, потому что Tor действует на порт 9050 как прокси-сервер SOCKS. Вместо этого будет работать программное обеспечение socat
с некоторыми настройками внутри вашего SSH config
:
Host github
HostName github.com
IdentityFile /path/to/your/file
User git
ProxyCommand socat STDIO SOCKS4A:127.0.0.1:%h:%p,socksport=9050
Настройки SSH обычно находятся в ~/.ssh/config
. В приведенных выше конфигурациях указаны параметры SSH для хоста github
. Он берет ваш вход и направляет его через socat
через Tor.
Теперь вы можете сделать git COMMAND ssh://github/USER/REPO
, а git сделает ваш COMMAND
через Tor.
Ответ 2
Возможно, было проще установить виртуальную машину, как это было предложено, например Whonix (также на GitHub), который будет:
- заботиться о соединении Tor
- позволяет использовать Git с GitHub без необходимости определять какой-либо прокси.
Ответ 3
Посмотрите Tails OS и PIA. Оба они должны держать вас в безопасности и бесплатно.
Ответ 4
Вы можете переключиться с https
на ssh
и использовать прокси-сервер tor SOCKS
следующим образом:
export SOCKS_SERVER=localhost:9050
git clone ssh://github.com/user/repo
Обратите внимание, что вам нужны учетные данные при использовании ssh
!
Ответ 5
Вы использовали неправильный синтаксис, правильно:
git config http.proxy socks5://localhost:9150 # 9150 for TOR browser, 9050 for TOR service
git config https.proxy socks5://localhost:9150