WSL2搭建v2Ray代理
WSL2 下没法直接使用 Windows 中的 VPN,导致涉及到 GitHub 的操作经常失败,因此尝试在 WSL2 中搭建 v2Ray 代理。
V2Ray 核心使用的是 v2fly/v2ray-core: A platform for building proxies to bypass network restrictions. (github.com);
V2Ray 客户端使用的是 v2rayA/v2rayA: A web GUI client of Project V which supports V2Ray, Xray, SS, SSR, Trojan and Pingtunnel 🚀 (github.com);
购买境外节点使用的是 Portal Home - V2NET (v2ray.cx)
下面是详细流程:
本文参考了:一学就会,树莓派4B搭建V2Ray图文教程 - 知乎 (zhihu.com),但由于是在 WSL2-Ubuntu 上,细节有所不同。
1. 安装 v2ray-core 和 v2rayA
这一步直接参考 v2rayA 官方文档: Debian / Ubuntu - v2rayA
“安装 V2Ray 内核 / Xray 内核” 一步,选择 “ v2rayA 提供的镜像脚本(推荐)”
1 | # 下载并执行 v2raya 提供的脚本 |
“安装 v2rayA” 一步,选择 “方法一:通过软件源安装”
1 | # 添加公钥 |
“启动 v2rayA / 设置 v2rayA 自动启动”
1 | # 启动 v2rayA |
在普通的 Ubuntu 系统下,这一步到这里就完成了。但在 WSL2-Ubuntu 下,使用 systemctl
命令会遇到
1 | System has not been booted with systemd as init system (PID 1). Can't operate |
这样的报错,这是由于
WSL2 本身是由 Windows 负责运行的,因此使用 tree 或 ps 命令时会看到根进程不是 systemd,这将导致无法启动 Linux 系统服务的守护进程(deamon)。当我们执行 systemctl 命令的时候,会显示出我们的 init system (PID 1) 并非 systemd,而是微软提供的 /init。
解决方法是使用 gdraheim/docker-systemctl-replacement (github.com) 提供的替代脚本,因为这个脚本基于 python2,所以先安装 python2。具体命令如下:
1 | apt install python2 |
如果连接不上 raw.githubusercontent.com 的话,可以先用浏览器下载到本地,再传输到 wsl2 的文件目录里。
这样就可以正常使用 systemctl
命令了。
2. 从 v2net 购买境外节点
Portal Home - V2NET (v2ray.cx)
可以选择自己适用的类型,一般来说 10GB / 20GB 的 Plan 就足够了。
购买可以使用支付宝,完成后点击个人主页上刚购买的产品,打开 “订阅地址”,
复制 Linux 的订阅地址,待下一步使用。
3. 配置 v2rayA
打开浏览器,输入127.0.0.1:2017
打开 v2rayA 的配置界面。
注册完成后,点击 “Import”,如下
输入刚刚的订阅地址,接下来在 V2SUB.COM
标签页中就会出现所有可用的服务器节点。勾选左上角全选,点击 HTTP
,测试连通性和时延:
点击 Operations
中的 Select
, 选择所有你需要的节点,此时所有的选中项应该都是粉红色的,鼠标移到左上角的 Ready
处,按钮会变为 Start
,点击后即可启动代理服务,此时所有选中项变为蓝色。
点击右上角的 setting
,打开弹窗里左下角的 address and ports
,即可查看不同协议对应的端口号,如 socks5
协议的代理端口是 20170,http
协议的代理端口是 20171。
4. 配置代理
(1) 若不开启透明代理
如果保持 v2rayA 的默认配置,不开启透明代理,则需要针对不同的服务分别配置。
浏览器
使用 SwitchyOmega 浏览器插件,支持 Chrome 和 Firefox: Releases · FelisCatus/SwitchyOmega (github.com)
Git
使用下面的语句配置 git 的 http 代理:
1 | # 注意端口号不一定是20171,根据实际而定 |
使用下面的语句取消代理:
1 | git config --global --unset http.proxy |
(2) 开启透明代理
点击右上角 设置
,第一栏 透明代理 / 系统代理
中选择 启用:大陆白名单模式
。
此时系统所有流量将自动经过代理,不需要手动配置,非常方便。
WSL2搭建v2Ray代理