other-TortoiseGit设置ssr代理(废弃)

此文已废弃, 直接参考 others-Windows代理ssr-Proxifier.md
不走代理的 git clone 仓库速度实在是太慢, 此文只针对 Windows 下的 git 客户端可视化工具 TortoiseGit.
让 TortoiseGit 的网络操作都走代理


本地代理

本地代理开启 10088 端口, 并接受连接

判读是否走代理的方法: 直接看 任务管理器 中的 ssr 进程 网络 数据 是否与实际下载速度一直.


错误姿势 1

如果只是 ssr 开全局模式, TortoiseGit 是不会走 ssr 去请求资源的.


错误姿势 2

网上找到的大多数教程都是设置全局配置的 http 与 https 设置.

1
2
git config --global http.proxy 'socks5://127.0.0.1:10088'
git config --global https.proxy 'socks5://127.0.0.1:10088'

然而实际测试中发现, 还是没有走代理, 卧槽


正确姿势

参考: Windows 下 Git SSH 连接方式配置 Socks 代理 - https://upupming.site/2019/05/09/git-ssh-socks-proxy/
其实就是利用 ssh 去找 config 配置文件, 管理会话

.ssh 目录先创建 config 文件, 全路径就是 C:\Users\wilker\.ssh\config, 内容如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 这里的 -a none 是 NO-AUTH 模式,参见 https://bitbucket.org/gotoh/connect/wiki/Home 中的 More detail 一节
ProxyCommand connect -S 127.0.0.1:10088 -a none %h %p

Host github.com
User git
Port 22
Hostname github.com
# 注意修改路径为你的路径
IdentityFile "C:\Users\wilker\.ssh\id_rsa"
TCPKeepAlive yes

Host ssh.github.com
User git
Port 443
Hostname ssh.github.com
# 注意修改路径为你的路径
IdentityFile "C:\Users\wilker\.ssh\id_rsa"
TCPKeepAlive yes

然后测一下 clone 仓库. git@github.com:eliasts/Ocean_Community_Next_Gen.git

现在就是完全走代理了, 速度对得上. 终于不会那么感人的速度了.


如果关了本地代理, 会发现 clone 报错.

此时只需要将 config 文件重命名一下就行了, 让 ssh 找不到这个配置文件. 就不会走代理了

工具化这个操作

直接在 vscode 写个插件去修改或生产这个文件