Skip to content

v1.0 release

vanyongqi edited this page Nov 23, 2025 · 1 revision

gotunnel v1.0.0 功能清单(简洁版)

🎯 核心功能

功能模块 功能点 状态
隧道代理 TCP 端口映射(本地端口 ↔ 远程端口)
控制通道 + 数据通道分离架构
多客户端并发支持
通信协议 自定义二进制协议(4字节长度头 + JSON)
消息类型:register/ping/offline/online
高可用 心跳保活(10秒间隔,30秒超时)
自动重连(指数退避 + jitter)
健康检查 TCP 端口探针(30秒间隔)
自动上下线(端口 down/up 自动通知)
安全认证 Token 认证
配置管理 YAML 配置文件(viper)
服务端/客户端配置项完整
日志系统 结构化日志(Debug/Info/Warn/Error)
国际化支持(中文/英文)
错误处理 统一错误码 + i18n 错误消息

📊 代码质量

指标 数值 状态
测试覆盖率 84.4%
代码规范 通过 golangci-lint
CI/CD GitHub Actions 自动化
文档完整性 中英文文档齐全

📚 文档

  • ✅ README.md(项目概述)
  • ✅ 快速开始指南(中英文)
  • ✅ 配置指南(中英文)
  • ✅ 架构文档(中英文)
  • ✅ 协议文档(中英文)
  • ✅ 开发指南(中英文)
  • ✅ 故障排查(中英文)
  • ✅ 设计说明(中英文)
  • ✅ Kubernetes 部署指南(中英文)

🏗️ 架构模块

  • pkg/core:核心转发逻辑
  • pkg/protocol:协议编解码
  • pkg/ha:高可用(心跳、重连)
  • pkg/health:健康检查
  • pkg/log:日志系统(i18n)
  • pkg/errors:错误处理

⚠️ 已知限制

  1. 仅支持单端口映射(多端口需扩展)
  2. 仅支持 TCP 协议(HTTP/HTTPS 需额外实现)
  3. 无 Web 管理界面(计划 Phase 2)
  4. 无持久化存储(映射信息仅内存)

📦 构建要求

  • Go 1.21+
  • 依赖:viper, go-i18n/v2

📄 License

MIT License

Clone this wiki locally