使用 Docker 封印 EasyConnect
在这篇文章中只介绍在 Windows 下使用 Docker 封印 EasyConnect 的操作步骤。我们会使用到 4 个软件:Docker Desktop、VNC Viewer、Clash for Windows、Wintun 和 1 个镜像:docker-easyconnect。
下载 docker-easyconnect 镜像
为了确定要下载的镜像版本请在浏览器地址栏输入 https://服务端地址/por/ec_pkg.csp?platform=liunx,请根据实际情况替换服务端地址部分

根据浏览器输出并结合 EasyConnect 版本选择当前我们应该选择 7.6.3 版本
1 | docker pull hagb/docker-easyconnect:7.6.3 |
启动 docker-easyconnect 容器
根据图形界面版 EasyConnect 的说明我们启动容器的命令如下,替换 $HOME
变量为 Windows 下的用户目录 C:\Users\nuc,PASSWORD
设置为 123456,其他保持不变
1 | docker run --rm --device /dev/net/tun --cap-add NET_ADMIN -ti -e PASSWORD=123456 -e URLWIN=1 -v C:\Users\nuc\.ecdata:/root -p 127.0.0.1:5901:5901 -p 127.0.0.1:1080:1080 -p 127.0.0.1:8888:8888 hagb/docker-easyconnect:7.6.3 |
使用 VNC Viewer 登录 EasyConnect
打开 VNC Viewer 软件,在菜单栏选择 File > New connection

在弹出的对话框中,VNC Server 项输入在启动容器由参数 -p 127.0.0.1:5901:5901
设置地址和端口 127.0.0.1:5901;Name 项取一个自己容易识别的名字,比如 Docker EasyConnect

在 VNC Viewer 主界面双击刚创建的 VNC Server

在弹出的 Encryption 确认框中点击 Continue 按钮忽略未加密连接警告

在弹出的 Authentication 对话框中,Password 项输入启动容器时通过 -e PASSWORD=123456
参数设置的密码 123456

如果没什么意外将看到 Easy Connect 连接界面,输入服务器地址、用户名、密码进行正常的登录

使用 Clash for Windows 配置代理
打开 Clash for Windows 软件,选择 Profilees,点击 <> 按钮开始编辑

config.yaml 配置的 1 ~ 4 行为原始内容,5 ~ 18 行为新增内容。第 8 ~ 9 行是在启动容器时通过 -p 127.0.0.1:1080:1080
参数设置地址和端口;第 16 ~ 18 行 rules 部分请根据自己实际进行配置

1 | mixed-port: 7890 |
现在打开 Proxies,应该就可以看到前面配置的代理

为了使代理生效需要在 General 中打开 System Proxy

经过以上的配置已经可以在浏览器访问内网应用。
TUN 模式
选择 General,点击 Open Folder 打开 Home Directory

将 wintun.dll 拷贝到 Home Directory

拷贝完成后的效果如下图所示

选择 General,点击 Service Mode 右边的 Manage 按钮

在 Service Management 弹框可以看到当前状态是 Inactive,点击 Install 按钮

Clash for Windows 会重启一下,安装完成后的效果

选择 General,打开 TUN Mode

在控制面板 > 网络和 Internet > 网络连接可以看到新加入的 Clash 连接

开始愉快地玩耍吧!
TUN 模式(v2rayN)
我们使用 6.58 版本的 v2rayN-With-Core.zip。在 6.60 版本的 v2rayN-With-Core.zip 和 7.11.3 版本的 v2rayN-windows-64.zip 未能测试通过,其他版本未进行测试。
新增订阅分组
首先,新建一个别名为内部网络的订阅分组

新增 SOCKS 配置文件
选中刚创建的内部网络订阅分组,点击服务器 > 添加[Socks]服务器

服务器选 sing_box,别名填 Docker EasyConnect,地址填 127.0.0.1,端口填 1080,其中地址和端口是在启动容器时通过 -p 127.0.0.1:1080:1080
参数设置地址和端口,其他保持不变

配置 Tun 模式设置
点击设置 > 参数设置

选中 Tun 模式设置标签页,关闭 Strict Route,Stack 选择 gvisor,其他保持默认

配置路由设置
点击设置 > 路由设置

在路由设置对话框点击高级功能 > 添加规则集

在规则集设置对话框填写别名为内部网络,其他保持不变,然后点击添加规则按钮

在路由规则集详情设置对话框 outboundTag 选择 proxy,其他保持不变;Domain 根据自己实际填写

以相同的方式配置 IP 或 IP CIDR 规则集

为了能够正确地访问外部网络需要把 V3-绕过大陆(Whitelist) 规则集里 outboundTag 为 direct 的规则复制一份到我们的内部网络(可能需要去掉 geoip:private,
部分),配置完成后我们的内部网络规则集如下所示

配置 DNS 设置
点击设置 > DNS 设置

在 DNS 设置对话框选择 sing-box DNS设置标签页,点击点击导入默认DNS配置按钮

启用 TUN 模式
选择内部网络订阅分组,将别名为 Docker EasyConnect 设置为活动服务器,打开启用Tun模式开关,系统代理选择自动配置系统代理,路由选择内部网络。如果不是以管理员身份运行 v2rayN 会自动重启一次

在控制面板 > 网络和 Internet > 网络连接可以看到新加入的 singbox_tun 连接

开始愉快地玩耍吧!
参考资料
- Windows 的 WSL 中运行 EasyConnect
- Windows下使用Docker封印EasyConnect
- 封印 Easyconnect
- 新时代的快乐科研:WSL2+Docker+EasyConnect+Clash
- 解决EasyConnect的毒瘤行为
- Rules 规则
- 记一次Windows下使用docker封印Easyconnect的过程
- Clash for Windows
- 参考配置
- 深入理解Clash配置文件
- 解决挂着Clash的时候git操作push失败的问题
- Github可以访问,但是git clone报错443端口连接超时
- 开clash后Git依然超时的解决方法
- 用docker封印EasyConnect并连接远程桌面和数据库
- 解决EasyConnect的毒瘤行为
- Clash for Windows 使用 TUN 模式实现网卡级代理
- Clash for Windows 优雅地使用 TUN 模式接管系统流量
- 最新 clash for windows 设置TUN模式实现真全局模式(有限真全局)
- TUN模式 Clash for windows 配置教程