POSTS / 用 Docker 封印 EasyConnect

Published: 2023-07-01
Updated:   2023-09-14

部署容器

容器来源:docker-easyconnect@Hagb

配置文件

创建docker-compose.yml文件,写入如下内容:

version: '3.4'
services:
    easyconnect:
        image: hagb/docker-easyconnect:<VERSION>
        container_name: easyconnect
        devices:
          - /dev/net/tun
        cap_add:
          - NET_ADMIN
        volumes:
          - $HOME/.ecdata:/root
        environment:
          - URLWIN=1
          - PASSWORD=<PASSWORD>
        ports:
          - "127.0.0.1:5901:5901" # for VNC
          - "127.0.0.1:1081:1080" # for SOCKS5
          - "127.0.0.1:8888:8888" # for HTTP

然后执行命令进行部署:

$ docker-compose up -d

其中VERSION部分填写适合服务器的EasyConnect版本(南京大学使用的版本为7.6.7),PASSWORD部分为图形前端的访问密码。

参数介绍

参考:docker-easyconnect@Hagb/usage

登录EasyConnect

使用VNC-Viewer访问容器的图形前端,地址为127.0.0.1:5901,密码为配置文件中设置的密码,这样就可以使用二次验证了。

使用代理

容器配置的SOCKS5代理服务器为127.0.0.1,端口为1081

遇到的问题

  1. VNC-Viewer连接失败:因为原配置文件使用X11进行图形界面的显示,需要将其改为默认参数才能使用vnc服务来操作EasyConnect前端。
  2. 版本不匹配:一开始选取的版本不匹配的话,如果直接更换版本重新运行是没有办法解决问题的,需要删除$HOME/.ecdata中的所有文件然后重启容器。这里$HOME/.ecdata的路径映射到了root文件夹,所以删除root文件夹中的所有文件即可。参考:
    1. 服务器版本不匹配的一种可能出错情况 · Issue #217 · docker-easyconnect@Hagb
    2. 提示更新无法使用,版本更新到7.6.3.101 · Issue #156 · docker-easyconnect@Hagb

添加到Clash代理

参考:

  1. 【补档】Clash 学习(一)配置文件各项在实际使用中的用处和创建自己的第一个配置文件
  2. 【补档】Clash 学习(四)在 Clash 中配置使用 HTTP 协议或 SOCKS5 协议的节点

在proxies组下添加如下节点:

{
    name: "Docker-EasyConnect",
    type: http,
    server: 127.0.0.1,
    port: 8888 // 和前面设置的HTTP端口相同即可
}

在proxy-groups组下添加如下策略:

{
    name: EasyConnect,
    type: select,
    proxies: [Docker-EasyConnect, DIRECT]
}

在rules组下面添加如下规则:

'DOMAIN-SUFFIX,nju.edu.cn,EasyConnect'