1.在用户文件夹 %USERPROFILE% 新建一个 .wslconfig 文件,写入一下内容:

[experimental]
autoMemoryReclaim=gradual  # gradual  | dropcache | disabled
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true

设置完执行 wsl --shutdown 重启一下wsl就可以了

2.如果wsl安装xfce之类的桌面,桌面打开的Terminal等也想要使用代理,则可以修改 ~/.bashrc 文件,在末尾加入如下内容:

# WSL 代理自动继承(如果 autoProxy=true + mirrored 有效,但图形 session 可能不继承,这里手动补)
if [ -z "$http_proxy" ] && [ -z "$WSL_DISTRO_NAME" ]; then
    # 尝试从 Windows 拉取(mirrored 模式下 wsl.exe env 可见)
    export PATH="$PATH:/mnt/c/Windows/System32"
    # proxy_lines=$(wsl.exe -- env | grep -i proxy | tr -d '\r')
    proxy_lines=$(wsl.exe -- env | grep -i proxy 2>/dev/null)
    echo "$proxy_lines"

    if [ -n "$proxy_lines" ]; then
        echo "找到代理设置,正在加载..."
        eval "$(printf '%s\n' "$proxy_lines" | sed 's/^/export /' | sed 's/=\(.*\)$/="\1"/' | sed 's/\r$//')"
        echo "代理加载完成:http_proxy = ${http_proxy:-未设置}"
    else
        echo "Windows 环境变量中未找到任何 proxy 设置"
    fi
fi

设置成功后效果如下:

image

真希望国内开发不需要代理的那天能早日到来

posted on 2026-02-07 22:38  Cameron  阅读(51)  评论(0)    收藏  举报