M3ngL

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

其他不可行的方法

目前都无法访问

$Reference$

https://juejin.cn/post/6876715404455051272

https://github.zhlh6.cn/

📑
目录