因此,GitHub现在被俄罗斯政府和Rospotrebnadzor正式禁止。我使用GitHub创建自由软件并分享它,这是我生命中重要的一部分。
今天我已经在Arch Linux上安装了Tor,现在我可以浏览GitHub和其他被禁网站了。我尝试通过Tor使git
工作,但没有成功。
这是我做的:
git config --global http.proxy localhost:9050
git config --global https.proxy localhost:9050
但是当我尝试推送时,我收到错误501
:
致命:无法访问' https://X@github.com/X/X.git/':在CONNECT之后从代理收到HTTP代码501
因此,501
表示未实施'。我对Tor没有什么经验(但从现在开始我开始欣赏它),所以不知道用这种方式使用Tor是否真的不可能或者我做某事错。
问:如何配置git
以通过Tor使用它?
答案 0 :(得分:13)
设置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
。上面的配置告诉主机github
的SSH设置。它接受您的输入并通过socat
通过Tor。
现在你可以做git COMMAND ssh://github/USER/REPO
,git会通过Tor做你的COMMAND
。
答案 1 :(得分:3)
答案 2 :(得分:1)
答案 3 :(得分:1)
您使用了错误的语法,正确的是:
git config http.proxy socks5://localhost:9150 # 9150 for TOR browser, 9050 for TOR service
git config https.proxy socks5://localhost:9150
答案 4 :(得分:0)
您可以从https
切换到ssh
并以这种方式使用tor SOCKS
代理:
export SOCKS_SERVER=localhost:9050
git clone ssh://github.com/user/repo
请注意,使用ssh
时需要凭据!
答案 5 :(得分:0)
您可以使用 proxychains
之类的工具通过 socks5 服务器代理 TCP 连接,即 Tor 守护进程。
您必须在基于 Debian 的发行版上安装 proxychains
,您可以使用
$ sudo apt install proxychains
并且您可以查找它以在您的特定发行版上安装。
安装后,默认配置文件位于 /etc/proxychains.conf
,您必须将最后一行从 socks4 127.0.0.1 9050
更改为 socks5 127.0.0.1 9050
,这不是必需的,但如果您想要使用socks5的功能,比如流隔离等等,这是需要的。
现在,您只需执行 $ proxychains git clone https://github.com/repo
或任何 git 操作,所有这些连接都将通过本地 socks5 服务器。