请教一个 WSL2 上代理的问题

2021-10-23 10:03:52 +08:00
 Knuth

因为 windows 分配给 wsl2 的 IP 是动态变化的,所以我在.bashrc 设置了如下环境变量,我想用curl cip.cc检测终端是不走代理,但返回的是国内当地的 ip 地址

export host_ip=$(cat /etc/resolv.conf |grep -oP '(?<=nameserver\ ).*')
export https_proxy="http://${host_ip}:7890"
export http_proxy="http://${host_ip}:7890"
export all_proxy="http://${host_ip}:7890"

所以请教下大家,终端走代理的正确姿势该怎么操作呢?

7264 次点击
所在节点    Windows
31 条回复
Nerv
2021-10-23 10:18:44 +08:00
https://docs.cfw.lbyczf.com/contents/tun.html
直接 windows 端用 tun 吧,方便的很。
Knuth
2021-10-23 10:20:50 +08:00
@Nerv 一会尝试一下
nojsja
2021-10-23 10:26:31 +08:00
linux 上我一直用 proxychain + ssr
ScepterZ
2021-10-23 11:52:21 +08:00
我现在直接路由器挂小软件了,公司里应该也差不多是这么搞的吧,用起来比较省事
canbingzt
2021-10-23 12:05:50 +08:00
TypeError
2021-10-23 12:11:04 +08:00
proxychains
jswh
2021-10-23 12:14:38 +08:00
netch
https://github.com/netchx/Netch
楼主收获了一大波软件
charlie21
2021-10-23 12:49:26 +08:00
你这就是终端走代理的正确姿势

终端走代理的检测办法是
> curl "https://www.youtube.com" -X GET -I
如果有 200 结果,则说明终端的当前 session 对 youtube.com 网址已经走代理了
hingbong
2021-10-23 13:08:30 +08:00
你 ping 一下$(hostname). 就能发现神奇的地方了,记得有个点
ch2
2021-10-23 13:11:19 +08:00
终极办法:windows 下开 openvpn 或者 pptp,任何流量都会走代理
次要:wsl2 下 proxychains
charlie21
2021-10-23 14:00:57 +08:00
win clash - Proxies 选 Global (而非 Rule)
以上设置可以达到你想要的效果
johnniang
2021-10-23 15:00:05 +08:00
试试 “宿主机名称.mshome.net” 域名,可以不用担心 IP 变动。
mchl
2021-10-23 15:20:16 +08:00
分享一个我一直在使用的解决方案:
mchl
2021-10-23 15:24:22 +08:00
分享一个我一直在使用的解决方案:
新建文件 /etc/profile.d/myenv.sh
内容是:
export http_proxy="http://$(grep -m 1 nameserver /etc/resolv.conf | awk '{print $2}'):10809"
export https_proxy=$http_proxy

保存后运行命令 source /etc/profile

这个文件会在每次重启时自动运行,而且是针对所有用户
别忘了设置 sudo 自动延用设置:
命令 sudo visudo
找到下面这行
Defaults env_reset
添加这一行
Defaults env_keep = "http_proxy https_proxy ftp_proxy all_proxy DISPLAY XAUTHORITY"
保存就可以了。
Knuth
2021-10-23 15:25:37 +08:00
@canbingzt 这个是我想要的,不过有点问题,我尝试修改一下
@ch2 这样更新也得走代理了,太慢了,我就想要 git 和 wget 走代理
chihiro2014
2021-10-23 16:48:42 +08:00
用 docker ,wsl 里面装 docker ,然后要装软件的时候通过 docker ,它的 ip 就是你的 localhost ,而不是动态分配的了
SenLief
2021-10-23 17:07:27 +08:00
你的没问题呀,clash 有么有开局域网。
ch2
2021-10-23 17:20:29 +08:00
@Knuth #15 git 很简单:git config --global https.proxy 'http://宿主机的 ip:1080'
wget 也有类似的方法,你可以单独设置,不走全局的
airborne007
2021-10-23 18:03:28 +08:00
其实也可以反过来,在 wsl2 里面开 clash ,然后 windows 用 wsl2 里面的代理上网
Knuth
2021-10-23 20:00:49 +08:00
@ch2 我之前就是这么做的,但是这个 ip 是动态变化的,每次变化后,得手动更新有点麻烦
@SenLief 开了的。。。
@airborne007 未曾设想的道路

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/809967

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX