WSL2 使用系统代理

修改 .wslconfig

先打开 Powershell 停止 wsl

wsl --shutdown

打开 .wslconfig, 这里使用记事本

notepad.exe C:\Users\你的用户名\.wslconfig

在里面加入配置并保存

[wsl2]
memory=8GB
processors=8
[experimental]
autoMemoryReclaim=gradual  
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true

添加代理脚本

启动 wsl 后, 直接在 ~ 目录下创建 proxy.sh 脚本, 自行修改端口

这个脚本参考了 《WSL2中设置脚本以便捷开启命令行代理加速》 - 作者: wadaxiyang

#!/bin/sh
# hostip=$(cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }')
hostip=127.0.0.1
wslip=$(hostname -I | awk '{print $1}')
socks_port=socks端口
http_port=http端口

PROXY_HTTP="http://${hostip}:${http_port}"
PROXY_SOCKS5="socks5://${hostip}:${socks_port}"

set_proxy(){
  export http_proxy="${PROXY_HTTP}"
  export HTTP_PROXY="${PROXY_HTTP}"

  export https_proxy="${PROXY_HTTP}"
  export HTTPS_proxy="${PROXY_HTTP}"

  export ALL_PROXY="${PROXY_SOCKS5}"
  export all_proxy=${PROXY_SOCKS5}

  git config --global http.https://github.com.proxy ${PROXY_HTTP}
  git config --global https.https://github.com.proxy ${PROXY_HTTP}

  echo "Proxy has been opened."
}

unset_proxy(){
  unset http_proxy
  unset HTTP_PROXY
  unset https_proxy
  unset HTTPS_PROXY
  unset ALL_PROXY
  unset all_proxy
  git config --global --unset http.https://github.com.proxy
  git config --global --unset https.https://github.com.proxy

  echo "Proxy has been closed."
}

test_setting(){
  echo "Host IP:" ${hostip}
  echo "WSL IP:" ${wslip}
  echo "Try to connect to Google..."
  resp=$(curl -I -s --connect-timeout 5 -m 5 -w "%{http_code}" -o /dev/null www.google.com)
  if [ ${resp} = 200 ]; then
    echo "Proxy setup succeeded!"
  else
    echo "Proxy setup failed!"
  fi
}

if [ "$1" = "set" ]
then
  set_proxy

elif [ "$1" = "unset" ]
then
  unset_proxy

elif [ "$1" = "test" ]
then
  test_setting
else
  echo "Unsupported arguments."
fi

修改 .bashrc

wsl 里打开 ~/.bashrc, 在里面添加 alias 命令并保存

alias proxy="source ~/proxy.sh"

使用

source 一下 ~/.bashrc 或 打开新的 wsl 窗口

proxy set      # 开启代理
proxy unset    # 关闭代理
proxy test     # 测试代理

效果

gelomen in ~ proxy test				# 刚打开 `wsl`, 测试: 失败
Host IP: 127.0.0.1
WSL IP: 192.168.2.108
Try to connect to Google...
Proxy setup failed!
gelomen in ~
gelomen in ~ proxy set				# 打开代理
Proxy has been opened.
gelomen in ~
gelomen in ~ proxy test				# 再次测试: 成功
Host IP: 127.0.0.1
WSL IP: 192.168.2.108
Try to connect to Google...
Proxy setup succeeded!
gelomen in ~
gelomen in ~ proxy unset			# 关闭代理
Proxy has been closed.
gelomen in ~
gelomen in ~ proxy test				# 再次测试: 失败
Host IP: 127.0.0.1
WSL IP: 192.168.2.108
Try to connect to Google...
Proxy setup failed!
  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值