Releases: yosebyte/nodepass
Releases · yosebyte/nodepass
v1.4.1
更新日志
- 新增:API 新增了 hostname 字段,通过GET /info 方式获取,提供前端 UI 自动配置隧道的能力。
- 修复:API 实例管理修复 SSE 重复推送 update 的问题,避免已停止的实例触发重复操作或事件。
- 重构:简化了隧道监听器初始化逻辑,移除了对本地地址的检查,数据流方向的判断由监听结果决定。
- 优化:隧道握手日志,去掉端内延迟记录,避免因非首次握手成功导致的显示延迟增加。
Changelog
- 2e16766 Merge pull request #38 from NodePassProject/main
- 4315707 feat: add hostname field to Master struct and update related functions for enhanced API information
- 612e7b1 docs: add DeepWiki badge to README files for enhanced visibility
- 15e2a73 refactor: streamline client and server initialization by removing redundant address checks
- 2b4c333 fix: improve instance management by refining event notifications and ensuring proper state handling
v1.4.0
更新日志
- 新增:隧道连接增加密钥认证机制,支持两种密钥获取方式:显式密钥(通过 URL 用户名部分指定,如 server://mypassword@host:port/target)和端口派生密钥(未指定用户名时使用端口号十六进制值作为密钥)。增强了连接安全性,防止未授权访问。
- 新增:Master 模式现在支持 /info 端点,可以获取主控服务的详细信息,包括操作系统、架构、版本、日志级别、TLS 配置和证书路径等关键信息。API 认证保护该端点,需要有效的 API Key 才能访问。
- 优化:改进了服务端-客户端握手流程,新增隧道密钥验证步骤。客户端连接后先发送 XOR 加密的密钥,服务端验证通过后才建立隧道连接。密钥不匹配的连接将被拒绝,提升了系统安全性。同时只在客户端侧保留了端内tcping延迟日志的输出。
- 优化:减少服务重启冷却时间默认从 3 秒降至 1 秒(NP_SERVICE_COOLDOWN=1s),提高服务故障恢复速度。同时改进日志输出,增加隧道密钥信息显示,便于调试和监控。
- 兼容:因隧道密钥认证机制的加入,服务端或客户端均不向下兼容,请同时升级两端。
- 文档:中英文文档同步更新了上述内容,新增隧道密钥使用说明和握手流程描述。
Changelog
- 5368a0f Merge pull request #36 from NodePassProject/main
- 5a1e851 docs: update API endpoints in documentation for consistency; add tunnel key usage and handshake process
- edbbc73 chore: update exit info display for improved clarity and usage instructions
- 115250e feat: enhance server-client tunnel handshake with tunnel key handling and improved logging
- 5db8aaa feat(master): enhance NewMaster with version and log level parameters; add /info endpoint for master details
- 3613419 chore: update Discord link in README files
- bba575b chore: update npsh description for clarity and flexibility in deployment
v1.3.1
更新日志
- 新增:URL 命令格式新增了连接池容量控制选项,
client://addr/addr?min=128&max=4096
,新增了 min 和 max 这两个 query 分别设置连接池的最小容量和最大容量,作用时填写整数,否则会保持默认值 64-8192 的容量设置。注意,这两项设置只在 client 模式生效,同时也做到了 API 的兼容,在前端 UI 中依然可以按照实例样式填写。 - 兼容:此版本的 client 可以兼容 v1.3.0 的 server ,仍建议两端同时升级。
- 文档:中英文文档同步更新,修改使用指南和配置指南的相关说明。
Changelog
- d1b1a5e Merge pull request #34 from NodePassProject/main
- 74a3718 chore(readme): introducing NodePanel in NodePass Ecosystem
- 77a3307 docs: add connection pool capacity parameters to configuration and usage guides
- d3a2ad9 refactor: update pool capacity handling in client and common packages
- 62adee5 refactor: rename variables for clarity in data exchange logging
- 887c620 Merge pull request #33 from NodePassProject/main
- c473248 chore: add discord server and remove github discussion
- 3136970 chore: add discord server and remove github discussion
- 8eff5ff chore: update README_zh.md
- 19f6fe2 chore: update README.md
- 458f07a chore: update README_zh.md
- 7fe76f8 chore: update README.md
- cde84e5 chore: update README_zh.md
- 5c2b16c chore: update README.md
v1.3.0
更新日志
- 新增:UDP 会话管理,基于
sync.Map
实现 UDP 会话复用,支持转发 QUIC 流量,有效提升性能并减少资源开销,同时增加会话清理机制保障资源释放。因 QUIC over TCP 的性能瓶颈问题,决定只在 client 单端转发实现 QUIC 转发的支持,双端模式不支持。 - 新增:客户端与服务端握手协议支持握手时长统计,提升链路性能分析能力;日志系统增加
event
级别,更好反映运行事件和流量统计。 - 兼容:自1.3.0版本以后,每次中版本的升级都不向下兼容,为了保证体验,请同时更新 server 和 client 。
- 重构:日志调用方式统一,使用
logger.Event
广播流量统计和操作事件,提升日志可读性和系统观测性。 - 文档:中英文文档同步更新,补充日志和握手相关说明。
- 依赖:日志依赖库升级至 v1.0.1,保障新日志特性正常使用。
Changelog
- 61285e4 Merge pull request #31 from NodePassProject/main
- fa95d96 docs: replace 'fatal' log level with 'event' for improved logging clarity
- 9076531 feat: add UDP session management and logging in common.go
- be903fa feat: add duration logging for tunnel handshake in client and server
- 4a58e9d feat: enhance tunnel handshake logging with duration measurement
- 9f5a389 chore: update logs dependency version to v1.0.1
- dd1451f fix: replace fatal logs with error logs for better error handling in package main
v1.2.6
更新日志
- 新增:客户端单端转发模式,增加了无需服务器协同、支持 TCP/UDP 的本地端口监听与目标地址直连转发模式。该模式采用连接池优化 TCP 性能,实现低延迟高性能转发,适用于本地代理等场景。
- 修复:修复了上个版本 keepAlive 设置导致某些情况下的 panic 错误。
- 重构:重构 internal/common.go 的 Common 结构体,分离 TCP/UDP 隧道地址字段,并新增连接初始化和管理方法。优化 internal/client.go 的 Client 类,支持新模式的检测、初始化连接池及跳过服务器握手逻辑。
- 文档:更新了英文和中文文档,补充了新转发模式的用法说明、模式原理及协议优化细节。
- 依赖:将 github.com/NodePassProject/pool 依赖由 v1.0.4 升级到 v1.0.5,以支持连接池功能增强。
Changelog
- 26315a6 Merge pull request #30 from NodePassProject/main
- 565a4dc docs: enhance documentation for client single-end forwarding mode
- fc8e959 chore: update pool dependency version to v1.0.5 in go.mod and go.sum
- b067cb4 fix: rename tunnelAddr to tunnelTCPAddr for clarity in master.go
- 963e9a6 feat: add standalone single-end forwarding support for client with tcp and udp available
- 52e9263 fix: prevent deletion of API Key instance and update OpenAPI spec for forbidden response
- 36e934c Merge pull request #29 from yosebyte/docs
- e1b80a0 feat: enhance documentation for bidirectional data flow support
v1.2.5
更新日志
- 新增:在客户端和服务端通信中实现了信号通道的 XOR 处理,避免使用 tcp 连接进行明文传输,提高了安全性。
- 新增:添加了客户端和服务端的 keep-alive 设置,默认环境变量 NP_REPORT_INTERVAL 5s,提升连接稳定性。
- 重构:优化监听器初始化和地址检查逻辑,使代码结构更加清晰,可直接通过目标地址 s/c 位置更换,来实现正反向连接。
- 修复:API Key 实例操作权限调整,仅允许重启操作,增强安全,避免冲突。
- 修复:在错误处理时,仅在监听器已初始化的情况下才关闭监听器,避免异常。
- 文档:更新 Linux 管理脚本的安装说明。
- 其他:更新了 README.md 和 README_zh.md 文档,再次庆祝项目入选 awesome-go 列表。
Changelog
- ea9f49d Merge pull request #28 from NodePassProject/main
- 3de1b46 feat: implement XOR encryption for tunnel signals in client and server communication
- 2083301 fix: restrict API Key instance actions to only allow restart
- 07df893 Merge pull request #27 from NodePassProject/main
- 9ba3982 fix: update pool dependency to v1.0.4 and enhance keep-alive settings in client and server
- 039e6e5 Merge pull request #26 from NodePassProject/main
- e59834f fix: ensure listeners are closed only if initialized in error handling
- 86a6fc7 docs: update Linux management script installation instructions
- 8676f9b refactor: improve listener initialization and address checking logic
- 5f4c78c chore(awesome): update README_zh.md
- a749091 chore(awsome): update README.md
- 5c2b9c1 chore: update README_zh.md
- 04df45b chore: update README.md
v1.2.4
v1.2.3
Changelog
- 48cbcec Merge pull request #22 from NodePassProject/main
- 206f9e4 refactor: remove unused error handling from DataTransfer calls in UDP processing
- ef33725 Merge pull request #21 from NodePassProject/main
- e2a1a51 refactor: update timeout values for UDP and TCP operations and implement health check functionality
- a51f837 refactor: rename Stop method to stop and implement shared stop functionality
- d023c69 refactor: remove unused TCP/UDP statistics tracking from Common struct
v1.2.2
Changelog
- f26fc93 Merge pull request #20 from NodePassProject/main
- f8eca6f docs: update terminology in README_zh.md for consistency
- e8f64a3 chore: update pool dependency version to v1.0.2
- 5bce6c7 chore(master): update OpenAPI version to 3.1.1
- bec2f18 refactor: enhance server and client structure for improved data flow management
- c41082c refactor: improve function comments for clarity and consistency
- 1a09c0f chore: update deployment script info in README files
v1.2.1
Changelog
- 50a029f Merge pull request #19 from NodePassProject/main
- 4073102 docs: update API prefix documentation to default to '/api'
- bfc40f6 fix: update API prefix to '/api' in NewMaster function
- 8bea432 Merge pull request #18 from NodePassProject/main
- b3b3d7e refactor(master): reduce cyclomatic complexity in Master.handleInstanceDetail function