EasyConnect 纯净化:让流氓软件变得纯净无暇

发布时间 2023-04-18 01:44:14作者: Naihe\

前言

EasyConnect ,用过的人都对这个流氓软件深恶痛觉。

这里教大家一种方法,让它一秒”变乖“,这里就需要使用这个程序了

https://github.com/Hagb/docker-easyconnect.git

一键运行方式

让它在docker中运行,达到纯净效果,我的运行方式是放在服务器上,开放一个代理端口,方便连接使用,我这边使用的是Debian11系统,下面采用命令行方式完成操作:

docker run -d --restart=always --restart=on-failure --device /dev/net/tun --cap-add NET_ADMIN -ti -p 0.0.0.0:51080:1080 -p 127.0.0.1:58888:8888 -e SOCKS_USER=username -e SOCKS_PASSWD=password -e EC_VER=7.6.8 -e CLI_OPTS="-d serverip -u user -p pwd" hagb/docker-easyconnect:cli

这是一个使用 Docker 运行 EasyConnect VPN 客户端的命令,下面是各个参数的解释:

  • -d:以后台模式运行容器。
  • --restart=always:容器退出时总是重启容器。
  • --restart=on-failure:容器退出时,如果退出状态码不为 0,则重启容器。
  • --device /dev/net/tun:将 /dev/net/tun 设备挂载到容器中,以便容器可以使用 TUN/TAP 设备。
  • --cap-add NET_ADMIN:为容器添加 NET_ADMIN 权限,以便容器可以进行网络配置。
  • -ti:分配一个伪终端并保持 STDIN 打开。
  • -p 0.0.0.0:11080:1080:将容器的 1080 端口映射到主机的 11080 端口,以便可以从外部访问容器的 SOCKS5 代理服务。
  • -p 127.0.0.1:18888:8888:将容器的 8888 端口映射到主机的 127.0.0.1:18888 端口,以便可以从本地访问容器的 EasyConnect VPN 客户端。
  • -e SOCKS_USER=username:设置 SOCKS5 代理服务的用户名为 username
  • -e SOCKS_PASSWD=password:设置 SOCKS5 代理服务的密码为 password
  • -e EC_VER=7.6.8:设置 EasyConnect VPN 客户端的版本为 7.6.8
  • -e CLI_OPTS="-d serverip -u user -p pwd":设置 EasyConnect VPN 客户端的命令行参数为 -d serverip -u user -p pwd,其中 serverip 是 VPN 服务器的 IP 地址,user 是 VPN 用户名,pwd 是 VPN 密码。
  • hagb/docker-easyconnect:cli:使用 hagb/docker-easyconnect 镜像的 cli 标签启动容器。

在这里我开放了一个外网端口供本地电脑使用,如果是部署在本地可以该参数为-p 127.0.0.1:11080:1080,如果在本地部署后需要访问docker的内部网络,可以使用下面方式:

$ ps aux |grep start.sh |grep _EC

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 238171 0.0 0.0 2388 752 pts/0 Ss+ 12:14 0:00 /bin/sh -c _EC_CLI=1 start.sh

sudo nsenter --net --target <PID> # 将换成grep出来的第二列进程id --net可使用-n --target 可使用-t
sudo nsenter -n -t 238171 回车后始可使用内部网络 可通过ip route查看docker的路由表。
host上面安装的软件在这里都可以使用, 只是使用了docker的network namespace.

实操中碰到的问题:

# 不断的断开重连
auto login is disabled
user "0117105" login successfully!
svpn stop!
auto login is disabled
user "0117105" login successfully!
svpn stop!

尝试修改版本号,例如EC_VER=7.6.8,在客户端显示版本号是7.6.8.10,而docker启动命令中只需要7.6.8就可以。

proxy代码连接测试:

import requests
proxies = {
    'http': 'socks5://user:pwd@serverip:11080',
    'https': 'socks5://user:pwd@serverip:11080'
}
with requests.get("http://decs.xx.xx.xxx:8888", proxies=proxies) as res:
    print(res.status_code)
    print(res.text)

了解更多

usage https://github.com/Hagb/docker-easyconnect/blob/master/doc/usage.md#easyconnect-web-登录
访问内部网络 https://github.com/Hagb/docker-easyconnect/issues/193