如果你喜欢这篇帖子,欢迎 Star 以下三个项目:

lyc8503/EasierConnect

Mythologyli/ZJU-Connect

Mythologyli/ZJU-Connect-for-Windows

最新版介绍:https://www.cc98.org/topic/5570875

正版软件激活(Clash + TUN):https://www.cc98.org/topic/5726885


众所周知,想要在校外访问校内资源主要有两种方式:

目前来说,如果需要访问校内网页资源,例如  CC98本科生院网站知网  等,更推荐大家使用 Web VPN。为什么呢?因为  EasyConnect Windows 客户端其实很流氓

0.1 为什么不建议使用 EasyConnect Windows 客户端

引用  lyc8503  的描述:

L3 全局代理, 路由规则配置不当, 减慢网络速度, 劣化 NAT 类型

(比如想要 SSH 连接学校服务器的同时访问 Google 搜索资料, 代理也会经过 VPN, 速度可能大幅下降甚至不可用)

与其他代理软件产生冲突, 与其他软件(如游戏反作弊)容易产生冲突

安装驱动&后台常驻, 占用资源, 安装该公司自行签发的 CA, 劫持系统 DLL, 降低系统安全性

软件设计对系统侵入性强, 卸载后仍有残留, 容易造成未知的问题

另外,EasyConnect 与  Clash  等科学上网软件的兼容性也很差。

0.2 Web VPN 的缺陷

那么,我们都使用 Web VPN 就好了吧!的确,Web VPN 足以覆盖大多数网页资源的访问场景,但仍不能解决以下问题:

  • 无法访问非 Web 资源。例如:校内服务器的 SSH 服务、FTP 服务、远程桌面服务。
  • 无法将代理暴露成服务,供局域网内其他设备使用。
  • 我觉得丑且不优雅 (bushi)

1 ZJU Connect 介绍

不想看可以直接跳到使用说明。

啰嗦半天,终于要进入正题了。在介绍 ZJU Connect 之前,先介绍一下  lyc8503  的  EasierConnect

EasierConnect  是  lyc8503  用 Go 语言完成的 EasyConnect 客户端的开源实现。lyc8503 对 EasyConnect 的网络协议进行了抓包分析,完成了这个客户端。EasierConnect 会向用户暴露一个 SOCKS5 代理,用户可以通过 SOCKS5 代理进行访问。

由于学校使用的也是深信服的 SSL VPN 服务,理论上也可以使用 EasierConnect 客户端访问校内资源。但实际上,直接使用最新版的 EasierConnect 会面临以下问题:

  • DNS 问题
    EasierConnect 将所有请求在本地解析为 IP,再发送给 SSL VPN 的服务端。这会造成 xxx.zju.edu.cn 的访问问题。
    我们举一个例子。以电气工程学院网站  ee.zju.edu.cn  为例。ee.zju.edu.cn  在公网 DNS 上被解析为  210.32.8.134。这是一个公网地址,可以通过公网访问。而通过学校内网 DNS 10.10.0.21ee.zju.edu.cn  则被解析为  10.203.4.85。这是一个内网地址,只能在内网访问。有趣的是,在内网无法访问公网地址  210.32.8.134。这也是在校内上网时,DNS 配置错误后一堆内网网站无法访问的原因。
    原版 EasyConnect 可以劫持用户 DNS,通过管理员指定的 DNS 进行解析。而 EasierConnect 只能用本地 DNS(人在校外即为公网 DNS)进行解析,因此无法解析出正确的内网地址,不能访问。对于  ee.office.zju.edu.cn  等域名,根本无法使用公网 DNS 解析出地址,更别提访问了。
  • 代理规则问题
    EasierConnect 使用 SSL VPN 服务端下发的规则进行分流,将一部分流量通过 SSL VPN,一部分流量直连。但由于规则不全或 EasierConnect 的实现有缺陷,会造成一些问题。实测 CC98、读秀等资源均不能正常访问、认证。
  • 使用便捷性问题
    EasierConnect 只提供 SOCKS5 代理而没有 HTTP 代理,无法方便地添加到 Windows 代理设置中。同时,只提供命令行而没有 GUI,不像原版 EasyConnect 那么傻瓜,不利于小白使用。
  • EasierConnect 已因不可抗力停止维护

因此,笔者基于 EasierConnect,对以上问题进行解决,初步完成了  ZJU Connect  项目。

ZJU Connect  在 EasierConnect 的基础上,针对 ZJU 的使用场景,实现了使用 ZJU DNS 解析、完善代理规则、新增 HTTP 代理等目标,同时完成了 GUI 版  ZJU Connect for Windows,适合小白使用。

当然,最重要的工作即对 EasyConnect 协议的解析是由 EasierConnect 作者  lyc8503  完成的,在此向 lyc8503 表示感谢。同时,cxz66666  在 ZJU Connect 的开发过程中提交了两个重要的 PR,完成了 DNS 缓存和 SOCKS5 认证功能,也向他表示感谢。

2 使用说明

这里只面向小白用户,介绍 GUI 版  ZJU Connect for Windows  的使用方法。高级用户可以使用命令行、多平台的  ZJU Connect

  1. 在  Github Release  处下载最新版的 ZJU Connect for Windows。访问 Github 困难的同学可以前往分流地址下载。
  2. 解压并安装。

使用 ZJU Connect 代替 EasyConnect 提升你的 RVPN 体验.png

  1. 程序界面如上所示。在用户名处输入学号,密码处输入上网密码。点击连接服务器进行连接。

    警告:尽量不要打开自动重连功能!如果密码输错又一直自动重连会导致封 IP!

    警告:尽量不要打开自动重连功能!如果密码输错又一直自动重连会导致封 IP!

    警告:尽量不要打开自动重连功能!如果密码输错又一直自动重连会导致封 IP!

    警告:尽量不要打开自动重连功能!如果密码输错又一直自动重连会导致封 IP!

    警告:尽量不要打开自动重连功能!如果密码输错又一直自动重连会导致封 IP!

    警告:尽量不要打开自动重连功能!如果密码输错又一直自动重连会导致封 IP!

  2. 此时还无法正常访问内网资源,因为系统代理没有正确设置。点击设置系统代理,此时即可通过浏览器访问内网资源。

  3. 使用过程中可以关闭窗口,程序会最小化到托盘。

  4. 使用结束后,点击断开服务器,再点击清除系统代理一定要点击清除系统代理!否则之后无法正常上网。

3 免责声明

本程序按原样提供,作者不对程序的正确性或可靠性提供保证,请使用者自行判断具体场景是否适合使用该程序,使用该程序造成的问题或后果由使用者自行承担