WSL2挂代理 / 加速git访问
适用于在WSL2没有梯子的情况下,解决git clone github的相关仓库,出现连接github仓库超时的错误
在Linux / WSL2下一直没有找到可用的Linux版本的SSR软件,适用于SSR软件的订阅链接在其他VPN软件中又没有成功订阅
因此收集了在没有梯子的情况下如何加速github的clone过程
$Solution$
github反向代理
简单来说,就是在进行git请求时,将原本直接法相github服务器的请求,显性地要求经过中间代理服务器
长期更换
两种方式,二者等价
- 在该文件
~/.gitconfig中增加以下语句
[url "https://gitclone.com/github.com"]
insteadOf = https://github.com/
- 终端输入
git config --global url."https://gitclone.com/github.com".insteadOf https://github.com/
短期更换
git clone https://gitclone.com/github.com/SCVMON/SCVMON.git
修改hosts文件
在进行DNS请求以前,操作系统会先检查自己的Hosts文件中是否有这个域名和IP的映射关系
- 如果有,则直接访问这个IP地址指定的网络位置
- 如果没有,再向已知的DNS服务器提出域名解析请求
也就是说Hosts的IP解析优先级比DNS要高,直接使用Hosts文件的ip域名对应关系,等价于不再远程解析域名
本机网络设置的远程 DNS 服务器中,Github 相关域名和IP地址的对应关系,可能有遭受污染的 IP 地址,这些 IP 地址要么本身无法访问,要么节点过远,从而导致了访问失败或者速度缓慢。修改 HOST 文件可以绕过公共 DNS 解析,直接访问正确的 Github 服务器IP地址,从而达到加速访问的目的。
修改步骤
- 访问 https://www.ipaddress.com/
- 输入
github.global.ssl.fastly.net查询当前有效的该域名对应的IP地址,得到 IP1 - 输入
github.com查询当前有效的该域名对应的IP地址,得到 IP2 - 在
/etc/hosts文件中加入
IP1 github.global.ssl.fastly.net
IP2 github.com
使用其他物理机的vpn代理
原理:局域网内访问其他机器,使其代理转发当前机器的流量
如WSL的流量要求物理机转发,或者同一局域网下的机器要求另一台搭载好的机器转发流量
需要代理的机器
使用git clone之前,在命令行/终端,将有代理的机器IP写入本地的代理规则,写入方法如下
- Windows
set http_server=ip:ip_port
set https_server=ip:ip_port
- Linux
export http_server=ip:ip_port
export https_server=ip:ip_port
注意目标代理使用的协议,可能是
http://,https://,也可能是socks5://
连接的目标机器
将本地代理软件中设置,局域网内可以连接
其他方法
浏览器加速插件
- https://github.com/fhefh2015/Fast-GitHub
- GitHub加速
由第三方代理下载
- https://github.ur1.fun/
持续更新的github加速链接汇总
- https://ghproxy.link/
检测是否能科学上网
在WSL2 \ Linux下使用终端命令检测使用的方法是否生效
ping命令由于是ICMP协议,无法保证
http/https协议下也能访问对应的域名或者ip地址因此不适用ping命令来检验
- curl命令
curl -vv http://www.google.com
- wget命令
wget http://www.google.com
其他不可行的方法
-
github镜像网站
目前都无法访问
$Reference$
https://juejin.cn/post/6876715404455051272
https://github.zhlh6.cn/