之前 wsl 直接设置 http_proxy 然后 clash 开启 lan 就行
按 wsl github 上某个 issue 说的改了入站规则能 ping 通了,但是还是没法走代理
clash 开 tap 虚拟网卡也不行,去看 cfw github 上某个 issue 说要把 tap 网卡改成专用网络,还是不行。。
http proxy ip 设置的主网卡和 wsl 网卡的 ip 都不行
救救孩子吧。。
1
puekin 2020-05-30 23:48:13 +08:00 via iPhone
同文 昨天升完 2004,顺手吧 wsl2 转发了 但是 zsh 下载不了, 晚上说了 export ip:端口试了也没用😐
|
2
Jirajine 2020-05-30 23:54:48 +08:00 via Android
直接透明代理解决一切疑难杂症,没有软路由的话可以起个 openwrt 虚拟机当网关。
另外不建议用这个闭源的玩意,倒不是说信不过,而是担心哪天作者被上门喝茶然后“招安”,这玩意要联网和 UAC,单点故障风险太大。 |
3
iamwho 2020-05-31 00:03:08 +08:00
|
4
aragakiyuii OP @Jirajine 谢谢,不行的话就只能跑 openwrt 了😂cfw 只是为了 fq 用
|
5
aragakiyuii OP |
6
aragakiyuii OP @puekin 具体不太清楚是什么原因,感觉还是防火墙规则的问题,之前 wsl 设置的代理都是本机 ip
|
7
shansing 2020-05-31 00:35:43 +08:00
@aragakiyuii WSL2 是个虚拟机,听说虚拟机内不能访问外界的 Windows localhost: /t/670391?p=1#r_8949686
|
8
aragakiyuii OP @shansing 这个我知道,之前我在 wsl 上设置的代理也不是 localhost
|
9
wsly47 2020-05-31 00:58:41 +08:00 8
|
10
leewi9coder 2020-05-31 00:59:01 +08:00 via iPhone
从 wsl 的角度看,主机 ip 是多少?这样就可以直接用主机的 http 代理端口了吧
|
11
Tita332 2020-05-31 02:29:21 +08:00 via iPhone
确定 tap 成功开启了吗,我这里用 tap 是可以的
|
12
kwlokip 2020-05-31 07:10:42 +08:00 via Android
|
13
aragakiyuii OP |
14
aragakiyuii OP @leewi9coder #10 wsl 里 get 到的主机 ip 其实是 hyper-v 内块虚拟网卡上设置的 ip,测试时候一直用的是这个
|
15
aragakiyuii OP |
16
aragakiyuii OP @kwlokip #12 谢谢,这篇文章之前搜到过。关于文章里 “WSL2 连接到主机代理” 这一块,我的设置是跟他一样的
|
17
aragakiyuii OP |
18
anguiao 2020-05-31 08:28:55 +08:00
“experimental” 字段已经不需要了,删掉试试?不过也可能和这个没什么关系😂
|
19
xau 2020-05-31 08:43:28 +08:00 via iPhone
弄个路由器
|
20
aragakiyuii OP @anguiao #18 这个倒是没什么关系,删掉之后也能自动识别到 interface-name
|
21
misaka00001 2020-05-31 09:42:53 +08:00 via Android
|
22
aragakiyuii OP |
23
wipbssl 2020-05-31 10:49:24 +08:00
@aragakiyuii 我觉得你可以试试把 clash 里 allow lan 打开,然后 wsl 设置代理为主机的 ip,我的 hyperv 上的 Windows 虚拟机是这么设置的,不知道 wsl 可不可以
|
24
toptyloo 2020-05-31 12:07:39 +08:00
首先打开 clash 的 Allow Lan,然后修改.zshrc 或者.bashrc
export WIN_IP=`cat /etc/resolv.conf | grep nameserver | awk '{print $2}'` # # 删除 ~/.proxychains.conf 中 [ProxyList] 所在行到文件末尾的全部内容 sed -i '/\[ProxyList\]/,$d' ~/.proxychains.conf # # 往文件末尾添加 socks5 设置,port 是我的 clash 的本地端口号 echo '[ProxyList]\nsocks5 '${WIN_IP}' port' >> ~/.proxychains.conf alias pc='proxychains4 -q -f ~/.proxychains.conf' |
25
ZingLix 2020-05-31 18:50:58 +08:00 via Android 2
如果可以 ping 通 Windows 的话,可以试试 windows 防火墙里“允许应用通过防火墙”,检查下里面是不是允许代理软件通过了
|
26
bowser1701 2020-05-31 19:03:45 +08:00 via iPhone
直接 clash 开局域网代理,
然后 export xxx_proxy=局域网 ip 端口就可以了。 就相当于你这台机器给局域网另一台机器上代理,不用管 wsl 。 |
27
aragakiyuii OP |
28
bowser1701 2020-05-31 21:02:41 +08:00
@aragakiyuii 可以的,我试过的。
|
29
bowser1701 2020-05-31 21:07:38 +08:00
@aragakiyuii 设置个 http_proxy 和 https_proxy 试一下。默认端口是 7980 。
|
30
bowser1701 2020-05-31 21:08:28 +08:00
@bowser1701 fix 7980 to 7890
|
31
aragakiyuii OP |
32
toptyloo 2020-05-31 21:11:45 +08:00
@aragakiyuii #31 proxychains(根据你安装的版本) curl myip.ipip.net
|
34
aragakiyuii OP @bowser1701 #28 这个代理方式我在 wsl 上用的挺好的,一更新到 wsl2 就不能用了。。我这是真没法成功代理。。我看 wsl github 上有好多 issue 里面都提到这样设置代理没效果
不太想弄了。。弄这个代理也是为了 fq 连 gcp,刚才把我家路由刷了梅林装了 v2ray 插件直接走路由器代理了 |
35
aragakiyuii OP @toptyloo #33 我总感觉是防火墙的问题,icmp 是可以的,tcp/http 就不行。然而我把防火墙关了依然如此,就很迷
https://github.com/microsoft/WSL/issues/4402#issuecomment-520333571 这个 issue 里 wsl 的维护者推荐在 wsl2 里开代理,让 windows -> wsl2 而不是 wsl2 -> windows,像#3 楼说的内样准备在 wsl2 里配置 clash 了 |
36
mq4079 2020-05-31 21:31:10 +08:00
@aragakiyuii 两条命令搞定:
export http_proxy=`cat /etc/resolv.conf|grep nameserver|awk '{print $2}'`:10809 export https_proxy=`cat /etc/resolv.conf|grep nameserver|awk '{print $2}'`:10809 wsl2 的网关是动态的必须用`cat /etc/resolv.conf|grep nameserver|awk '{print $2}'`先解析出网关 ip |
37
aragakiyuii OP 莫名奇妙解决了
如果要用 cfw fq 的话: - wsl2 里不开 proxy,在 cfw 里装上 tap 网卡,成功了会在网络适配器中显示(一开始显示的是"网络电缆被拔出" - 然后在 config.yml 中添加 mixin 配置 - 然后 cfw 主界面中打开 mixin,等待一会会有弹窗或者从右侧弹出通知,允许。再去看网络适配器里 cfw-tap 虚拟网卡就会正常显示了 - 这样就行了,保证 tap 开启,wsl2 的流量会被 tap 代理到并且转发,关于 tap 的文档(关于 experimental 配置可以不用加上了,现在会自动找到主网卡 https://docs.cfw.lbyczf.com/contents/tap.html 关于 windows -> wsl2: 直接用 localhost 就能访问,我在 wsl2 里启动了个 python http 服务(python -m http.server),windows 上访问 localhost:8000 就能访问到 wsl2 目录 关于 wsl2 -> windows 还不清楚怎么弄,在防火墙里加入站规则之后倒是能 ping 通了 |
38
keepeye 2020-06-18 13:27:19 +08:00
我也刚用 wsl2 也是这个问题,只能通过 tap 解决吗?
|
39
razeen 2020-07-05 08:21:35 +08:00
遇到很奇快的问题
代理端口我设置在 50000 以上的时候,proxy 连不通; 然后我改到 8000 多,就可以了。。。 防火墙也没动过哇== |
40
qrqhuang 2020-07-30 02:14:47 +08:00
@misaka00001 ip.sb 原来还有这个 IP 检测站。 感谢
|
41
mrpzx001 2020-10-10 10:56:33 +08:00
@aragakiyuii 按你那样设置后还是网络电缆被拔出
|
42
rebeccaMyKid 2020-10-30 22:49:55 +08:00
我把防火墙关了就能用了。。。
|
43
rebeccaMyKid 2020-10-31 00:23:54 +08:00
|
44
iamwho 2020-10-31 04:17:30 +08:00
|
45
rebeccaMyKid 2020-10-31 10:53:52 +08:00
@iamwho 二楼说的不是 clash windows ?题主说的不是 clash windows? 你能闭嘴吗?自己不读题说别人?
|
46
rebeccaMyKid 2020-10-31 10:57:14 +08:00
@iamwho 对不起,我的。不应该这么大戾气,跟你道歉,不过全文确实都说的是 clash windows.
|
47
Jirajine 2020-10-31 13:13:57 +08:00 via Android
@rebeccaMyKid 我上面说的就是不建议用闭源的 clash for Windows 啊。
至于 clash for Android,之前确实是开源的,不过你这么一说又去看了下,已经把代码删了改闭源了,真是好的不学。 https://github.com/Kr328/ClashForAndroid/commit/7ac60771bcdec1c5e1dc618b2051795b5cae87ae |
48
rebeccaMyKid 2020-11-02 14:55:22 +08:00
@Jirajine 嗯嗯我知道你说的是闭源的 clash for windows 。哦,clash for android 还是可以通过之前的 commit 看历史源码,那其实也可以拿来学习?
|
51
SenLief 2020-11-11 17:05:40 +08:00
@Jirajine 因为更换了 clash 内核,clash 内核分开了,一个开源的,一个闭源的。cfa 和 cfw 都切换到了闭源的内核,所以只能跟随上游的分支闭源。
你看一下 cfa 的 notice 就能看到了。 |
52
Jirajine 2020-11-11 18:31:49 +08:00 via Android 1
@SenLief 且不说上游如何,“所以只能跟随上游的分支闭源”从何而来?
就算那个所谓的“clash premium” 要求(我从未看到这样的要求)衍生物必须闭源,那也没有意义。上游 GPL 的时候也没传染到 cfw 呢。 衍生物闭源是否符合 GPL 尚且存疑,但 “clash premium”本身是毫无疑问违反 GPL 的,除非作者获得了所有贡献者的显式授权。 弄个这种莫名其妙的 notice 开始闭源,想来很可能是作者被国 an 喝茶了。 |
53
Dragonphy 2020-11-28 01:20:15 +08:00
防火墙允许 Clash 就好了
|
54
Dragonphy 2021-04-30 06:05:38 +08:00
打开控制面板“允许应用通过防火墙”,勾选所有的 clash 程序,并且把对应的专有 or 私有网络勾选上
|
55
hughshine 2021-07-10 21:43:03 +08:00
windows 防火墙开放对 clash 的权限即可用
``` export hostip=$(cat /etc/resolv.conf |grep -oP '(?<=nameserver\ ).*') export https_proxy="http://${hostip}:7890" export http_proxy="http://${hostip}:7890" export all_proxy="sock5://${hostip}:7891" alias myip="curl myip.ipip.net" ``` |
56
skyoojaa 2021-11-01 17:21:10 +08:00 3
|