Skip to content

version-260613

Latest

Choose a tag to compare

@qiweiview qiweiview released this 13 Jun 12:13
· 16 commits to master since this release

JNDC Release

本次版本是自 v20220314 以来的一次较大更新,覆盖服务端、客户端、管理控制台、协议层、部署脚本和运行时配置体系。

Highlights

1. 全新管理控制台

  • 新增独立的 jndc-server-frontend 前端工程,基于 Vite + React + Ant Design 重构管理后台。
  • 管理端现已覆盖完整的核心页面:
    • 隧道列表
    • 服务注册信息
    • 服务管控
    • 远程终端
    • 端口监听
    • IP 访问管控
    • HTTP 应用
    • 服务端运行信息
  • 管理端支持登录鉴权、页面切换动画、统一请求封装,以及基于 WebSocket 的实时通知能力。

2. 新增远程终端能力

  • 新增 browser -> server -> client 的远程终端链路。
  • 支持在管理后台直接连接客户端终端执行命令。
  • 支持终端打开、输入、输出、关闭等完整会话流程。
  • 客户端会根据操作系统自动选择 shell:
    • Windows: cmd.exe
    • Unix-like: /bin/sh

3. 新增服务端对客户端服务的管控能力

  • 客户端新增 authMode 配置,支持两种模式:
    • SELF_MANAGED
    • FULL_AUTHORIZED
  • 在全授权模式下,服务端可直接下发并替换客户端受控服务列表。
  • 管理后台新增“服务管控”页面,用于查看目标服务状态和执行替换操作。

4. 流量统计与运行状态增强

  • 新增客户端设备摘要采集与上报能力,包括设备侧基础信息。
  • 服务端新增流量分析中心,可记录并展示:
    • 客户端上行/下行累计流量
    • 实时带宽快照
    • 流量趋势数据
  • 流量趋势支持按时间桶聚合,便于后续可视化分析。
  • 管理端新增服务端运行信息页与隧道流量查看能力。

5. SQLite 持久化与运行时数据治理增强

  • 数据存储层完成重构,新增更清晰的 SQLite 抽象与初始化脚本。
  • 新增多类运行时记录对象,包括:
    • 客户端认证记录
    • 受控服务记录
    • 流量趋势记录
    • IP 过滤记录
    • 通道断连记录
  • 新增运行时数据清理服务,支持定期清理历史记录并按需执行 VACUUM
  • 服务端配置新增 cleanupConfig,可控制不同类型历史数据的保留周期。

6. 工程结构与部署方式升级

  • 服务端与客户端工程结构进一步拆分,后端与前端边界更清晰。
  • 新增服务端统一启动脚本与部署资源:
    • jndc.sh
    • startup.sh
    • shutdown.sh
    • restart.sh
    • status.sh
    • jndc.env
    • jndc-server.service
  • 更适合独立部署、脚本运维和 systemd 托管。
  • 配置模板同步完善,便于首次初始化和生产部署。

Core Changes

  • 升级构建要求到 JDK 21
  • 协议层新增消息模型:
    • DeviceSummary
    • ServiceControlMessage
    • TerminalControlMessage
  • 公共 Web 支撑能力下沉到 jndc_core,服务端/客户端复用性更高。
  • 服务端管理 API 和 WebSocket 基础设施重构,鉴权和请求处理链路更清晰。
  • Maven、Netty、Lombok、Logback、SQLite 等依赖与构建配置已同步更新。

Fixes & Improvements

  • 修复部分配置路径与读取方式相关问题。
  • 修复重复绑定可能导致的异常问题。
  • 修复错误密码场景下的重复请求问题。
  • 优化筛选、IP 记录查询、URL 解析等细节逻辑。
  • 更新 README、中文文档和面向开发/协作的项目说明文档。

Breaking / Upgrade Notes

  • 当前版本运行和构建统一要求 JDK 21
  • 运行时配置目录以 ~/.jndc 为准:
    • Server: ~/.jndc/server/conf/config.yml
    • Client: ~/.jndc/client/conf/config.yml
  • 若配置文件不存在,请使用各模块 config.template.yml 初始化。
  • 管理端前端现按独立部署方式处理,反向代理时请确认:
    • /api -> 1777
    • /ws -> ws://<server>:1777/ws
  • 前端开发端口为 5173
  • 旧客户端 GUI 相关代码已移除,当前客户端以新的后端运行结构为主。

Notes

本次版本属于一次偏架构化、平台化的升级,不只是功能追加,也包括管理面重构、运行治理增强和部署链路标准化。若你是从较早版本升级,建议优先核对 JDK、配置文件位置、管理端代理配置和启动脚本用法。