git - 如何让 git 工作以通过 tor 将提交推送到 GitHub?

标签 git github tor

因此,GitHub 现在已被俄罗斯政府和 Rospotrebnadzor 正式禁止。我使用 GitHub 创建免费软件并分享它,这是我生活中重要的一部分。

今天我在 Arch Linux 上安装了 Tor,现在我可以浏览 GitHub 和其他被禁止的网站了。我试图通过 Tor 使 git 工作但没有成功。

这是我做的:

git config --global http.proxy localhost:9050
git config --global https.proxy localhost:9050

但是当我尝试推送时,出现错误 501:

fatal: unable to access 'https://X@github.com/X/X.git/': Received HTTP code 501 from proxy after CONNECT

因此,501 表示“未实现”。我对 Tor 的经验很少(但从现在开始我开始欣赏它),所以不知道是否真的无法以这种方式使用 Tor 还是我做错了什么。

问:如何配置 git 以通过 Tor 使用它?

最佳答案

设置 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 设置。它接受您的输入并通过 Tor 通过 socat 将其定向。

现在您可以执行 git COMMAND ssh://github/USER/REPO,git 将通过 Tor 执行您的 COMMAND

关于git - 如何让 git 工作以通过 tor 将提交推送到 GitHub?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27279359/

相关文章:

python - 使用 Flask-Migrate 在多个分支上工作

git - 关于 git rebase into 选项的一些问题

node.js - 我如何从 github 安装 npm 模块并构建它?

github - 如何(以及为什么)升级 GitHub 工作流以使用 “Environment files”

C# Selenium - 无法启动 Tor

linux - 无法打开 "/var/run/tor/tor0.pid"来写入 : Permission denied after multiple instances

git - 检查 "git stash"是否 stash 了任何东西

git 错误 : cannot stat <filename> : Protocol error

r - 安装 ggbiplot 时出错 - 未找到对象 'digest_impl'

windows - 如何将 Tor 与 cURL 结合使用(在 Windows 中)?