我使用的是Clash Party,其它代理都一样。
开启局域网访问

在 WSL 里输入:
ip route show default | awk '{print $3}'
查看到windows和WSL互通的局域网地址

然后用这个 IP 设代理:
export http_proxy="http://172.28.176.1:7890"
export https_proxy="http://172.28.176.1:7890"
curl -I https://www.google.com
有输出就代表代理成功

如果需要永久生效就使用以下命令
sed -i '/^export http_proxy/d' ~/.bashrc
sed -i '/^export https_proxy/d' ~/.bashrc
sed -i '/^export all_proxy/d' ~/.bashrc
sed -i '/^HOST_IP/d' ~/.bashrc
echo '
# WSL 共享 Windows Clash 代理
HOST_IP=$(ip route show default | awk '\''{print $3}'\'')
export http_proxy="http://\$HOST_IP:7890"
export https_proxy="http://\$HOST_IP:7890"
export all_proxy="socks5://\$HOST_IP:7890"
export no_proxy="localhost,127.0.0.1,10.0.0.0/8,172.28.0.0.0/12,192.168.0.0.0/16"
' >> ~/.bashrc
source ~/.bashrc
以后每次打开 WSL 都会自动走代理,不用再手动设置