Windows WLS2使用本机ss代理访问github

楚天乐 450 0 条

关键问题

WSL每次启动ip不一样,所以不能用静态方法设置http代理。
WSL会把宿主ip地址写入

获得当前宿主ip地址的方法

cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }'

手动设置代理的方法

$ cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }'
172.29.176.1

$ export https_proxy="http://172.29.190.80:10000"

# 下载github库
$ wget https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life/releases/download/v1.0/face_checkpoints.zip
--2022-06-05 01:46:58--  https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life/releases/download/v1.0/face_checkpoints.zip
正在连接 172.29.176.1:10000... 已连接。
已发出 Proxy 请求,正在等待回应... 302 Found
位置:https://objects.githubusercontent.com/github-production-release-asset-2e65be/274594200/49cb1e00-e34c-11eb-82bf-3c592a7d16da?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220604%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220604T174658Z&X-Amz-Expires=300&X-Amz-Signature=5ce75d01ba6ee4cb9c9ca3190282bb603552cc90a8e9cb64797eb9e19e6cc6ba&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=274594200&response-content-disposition=attachment%3B%20filename%3Dface_checkpoints.zip&response-content-type=application%2Foctet-stream [跟随至新的 URL]
--2022-06-05 01:46:58--  https://objects.githubusercontent.com/github-production-release-asset-2e65be/274594200/49cb1e00-e34c-11eb-82bf-3c592a7d16da?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220604%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220604T174658Z&X-Amz-Expires=300&X-Amz-Signature=5ce75d01ba6ee4cb9c9ca3190282bb603552cc90a8e9cb64797eb9e19e6cc6ba&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=274594200&response-content-disposition=attachment%3B%20filename%3Dface_checkpoints.zip&response-content-type=application%2Foctet-stream
正在连接 172.29.176.1:10000... 已连接。
已发出 Proxy 请求,正在等待回应... 200 OK
长度: 684354563 (653M) [application/octet-stream]
正在保存至: ‘face_checkpoints.zip’

face_checkpoints.zip                                     100%[================================================================================================================================>] 652.65M  3.68MB/s    用时 2m 41s

2022-06-05 01:49:40 (4.06 MB/s) - 已保存 ‘face_checkpoints.zip’ [684354563/684354563])

启动时候自动设置的方法

脚本/usr/bin/proxy.sh, 记得替换成自己本机代理端口

#!/bin/sh
hostip=$(cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }')
wslip=$(hostname -I | awk '{print $1}')
port=10000

PROXY_HTTP="http://${hostip}:${port}"

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

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

unset_proxy(){
    unset http_proxy
    unset HTTP_PROXY
    unset https_proxy
    unset HTTPS_PROXY
}

test_setting(){
    echo "Host ip:" ${hostip}
    echo "WSL ip:" ${wslip}
    echo "Current proxy:" $https_proxy
}

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

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

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

需要使用代理时

source proxy.sh set

取消代理

source proxy.sh unset

参考链接

https://zinglix.xyz/2020/04/18/wsl2-proxy/



与本文相关的文章

发表我的评论
昵称 (必填)
邮箱 (必填)
网址
执行时间: 50.704002380371 毫秒