{
  "added_at": "2026-11-09",
  "additional_evidence_urls": [
    "https://github.com/lyc8503/NJUConnect/blob/ded56b0a89b9880e8def6af8bd53ec3b57247dd4/README.md",
    "https://github.com/lyc8503/NJUConnect/blob/ded56b0a89b9880e8def6af8bd53ec3b57247dd4/core/EasyConnectClient.go"
  ],
  "category": "reconstruction-cases",
  "class": "software",
  "description_en": "NJUConnect implements a Go client for Nanjing University's EasyConnect VPN service using a custom TLS ClientHello and separate tunnel receive and transmit handshakes. Its code handles web login, token exchange, IP assignment and a SOCKS5 endpoint backed by gVisor networking.",
  "description_zh": "NJUConnect 用 Go 实现南京大学 EasyConnect VPN 客户端，通过定制 TLS ClientHello 及独立的收发握手建立隧道。代码处理网页登录、令牌交换、IP 分配，并借助 gVisor 网络栈提供 SOCKS5 入口。",
  "entry_url": "https://awesomerea.org/resources/njuconnect-vpn-protocol-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/njuconnect-vpn-protocol-case/",
  "evidence_url": "https://github.com/lyc8503/NJUConnect/blob/ded56b0a89b9880e8def6af8bd53ec3b57247dd4/core/protocol.go",
  "group": "cases",
  "id": "njuconnect-vpn-protocol-case",
  "json_url": "https://awesomerea.org/resources/njuconnect-vpn-protocol-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/njuconnect-vpn-protocol-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/njuconnect-vpn-protocol-case/index.md",
  "name": "NJUConnect: reconstructing the NJU EasyConnect VPN client",
  "name_zh": "NJUConnect：重建南京大学 EasyConnect VPN 客户端",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "limits",
    "license"
  ],
  "requirements": [
    "Requires access credentials for Nanjing University's VPN service.",
    "The client is no longer maintained and does not work with updated EasyConnect servers; it still works with Nanjing University's server.",
    "The author withdrew the AGPL-3.0 license; the repository has no license file."
  ],
  "requirements_zh": [
    "需要南京大学 VPN 服务的访问凭据。",
    "该客户端已停止维护，无法兼容更新后的 EasyConnect 服务端，但仍可用于南京大学的服务端。",
    "作者已撤回 AGPL-3.0 许可证；仓库中没有许可证文件。"
  ],
  "targets": [
    "protocol"
  ],
  "url": "https://github.com/lyc8503/NJUConnect",
  "verification": "source-reviewed",
  "verified_at": "2026-11-06"
}
