Skip to content

Releases: yosebyte/nodepass

v1.6.0

06 Sep 14:38
663d1b1
Compare
Choose a tag to compare

更新日志

  • 新增:

    • 新增运行模式控制功能(mode 参数),支持服务端、客户端内置模式的精确控制。
    • 新增数据读取超时控制(read 参数),提供更精细的连接超时管理策略。
    • 新增带宽速率限制功能(rate 参数),支持流量控制和带宽管理,防止网络拥塞。
    • 新增最大连接限制功能(slot 参数),防止资源过载,提升系统稳定性。
    • 新增 PROXY 协议支持(proxy 参数),增强与负载均衡器的兼容性。
    • 新增主控基础探针功能、更多监控字段、连接状态主动探测功能,提升系统可观测性。
  • 优化:

    • 大幅度优化配置系统架构,引入高级参数控制,提升系统灵活性。
    • 改进连接处理和资源管理机制,显著提升整体性能表现。
    • 优化环境变量文档说明,明确连接池和并发调优的适用范围。
    • 改进错误处理机制,增强系统可靠性和故障恢复能力。
    • 优化日志记录和监控功能,提升运维效率。
  • 重构:

    • 核心代码架构全面重构,现代化代码结构,提升可维护性。
    • 配置表和最佳实践文档重构,明确各参数在不同模式下的适用性。
    • 系统监控和实例生命周期管理流程优化,提升运行稳定性。
    • 重构连接池和并发处理逻辑,提升高并发场景下的性能表现。
  • 修复:

    • 修复配置参数默认值设置不当的问题,优化系统默认行为。
    • 修复连接管理中的资源泄漏问题,增强内存使用效率。
    • 修复文档中配置示例与实际参数不匹配的问题。
    • 修复部分边缘情况下的连接异常问题,提升系统稳定性。
  • 兼容:

    • 双端握手机制升级,不支持旧版本混用,确保连接安全性。
    • 更新 Go 版本和核心依赖至 1.25 版本,增强性能与兼容性。
    • 所有新增参数均向下兼容,现有配置无需强制修改。
    • 配置格式标准化,确保跨版本使用的一致性。
  • 文档:

    • 全面更新中英文档,详细说明新增功能特性。
    • 新增高级参数配置说明,包含超时控制、速率限制等详细使用指南。
    • 增强配置表格和最佳实践文档,提供更清晰的使用指导。
    • 同步更新所有语言版本的文档,确保信息一致性和准确性。

Changelog

  • 663d1b1 Merge pull request #63 from NodePassProject/main
  • 803df9b chore: add nodepass-core description to README files for clarity on development branch
  • 17de070 fix: update log message for client and server restart to improve clarity
  • bcaf4b9 docs: update NP_SEMAPHORE_LIMIT default value to enhance signal handling capacity
  • 9990da9 fix: increase semaphore limit to enhance concurrency handling
  • 7eaeafc refactor: remove redundant context listeners to prevent resource leaks
  • d67d3f7 docs: update default data read timeout and clarify value format in documentation
  • bb13814 fix: adjust UDP buffer size and update read timeout for improved performance
  • 2115fc5 docs: add mode field to instance object in API documentation for clarity
  • 6c9f458 feat: add mode field to Instance struct and update log writer for mode tracking
  • c3786ac feat: include run mode in checkpoint event logging for better monitoring
  • a242ab3 feat: add run mode determination for client and server start functions
  • 380e4da docs: add automatic backup feature details and recovery instructions for master state file
  • fdc6a2d feat(master): implement periodic gob state backup functionality to enhance data persistence
  • b742fe8 docs: enhance system information output to include memory and swap metrics for improved monitoring
  • d3835c9 feat(master): update SystemInfo structure to include memory and swap metrics for improved system monitoring
  • bfb5fc0 fix(master): replace goroutine with direct call for instance auto-starting to ensure proper execution
  • eda364d fix(master): replace hardcoded sleep duration with baseDuration constant for consistency
  • c9222cb fix(master): improve CPU usage calculation by switching from /proc/loadavg to /proc/stat for more accurate readings
  • 9f414fe fix(master): improve instance monitoring logic by removing isInstanceAlive method and refining error detection
  • 825afab feat(master): enhance instance starting management with detailed monitoring methods including process and check point detections
  • f841e12 fix(common): set timeout to zero in TCP and UDP data exchange for improved performance
  • 40a6ade fix(server): simplify tunnel handshake error handling by removing select statement
  • 5e572a0 fix: streamline error handling in server Run method and remove redundant restart call
  • fb94f19 fix(common): set URL scheme to 'np' in commonTCPLoop and commonUDPLoop
  • 91ef157 docs: enhanced documentation to reflect the new proxy parameter in command syntax for server and client modes
  • 6253a19 fix(common): streamline logging in commonTCP methods by removing redundant error handling
  • 844edaa fix(common): handle errors from tunnelPool connection retrieval in commonLoop and commonOnce methods
  • 8b7e218 fix(deps): update conn and pool dependencies to v1.0.10 and v1.0.24 respectively
  • a96bb5a fix(common): simplify sendProxyV1Header implementation and update commonTCPOnce to use signalURL
  • 5204a53 fix(common): improve error messages for nil address checks and simplify header sending
  • c377b59 feat(common): implement proxy protocol handling in getProxyProtocol and sendProxyV1Header
  • 1bc4225 fix(common): move initTargetListener function to a new position for better organization
  • 27a4442 fix: update logging to use tunnelTCPAddr instead of tunnelAddr in Client , Server and Master
  • 8f2a2c1 fix(common): remove unused tunnelAddr field and improve address validation in initTargetListener and initTunnelListener
  • 07b717c fix(deps): update pool dependency to v1.0.23
  • a40256e fix(common): simplify error handling for closed network connections in TCP and UDP loops
  • 5ceda76 fix(common): improve error logging for address resolution and connection handling
  • 546af34 fix(common): simplify context check in commonUDPLoop to enhance readability
  • 8b6f217 refactor(common): rename slot and byte count variables for consistency, improve error handling, and optimize context checks
  • eab9c3c fix: implement graceful shutdown for client and server with context handling
  • 966a1c9 fix: change error logging to warning for connection timeout in TCP and UDP loops
  • ba57d11 fix: update timeout settings for tunnel connections in client and server handshake
  • a9f4b30 docs: add public endpoints section to usage documentation
  • a41de5b docs: update API documentation to include network and disk I/O metrics for Linux systems
  • c67f96b feat: enhance system info structure to include network and disk I/O metrics
  • 05274c7 fix: improve parsing of /proc/meminfo in getLinuxSysInfo for accurate RAM usage
  • 408cccf fix: update getLinuxSysInfo to return -1 for CPU and RAM when not applicable
  • 442f065 docs: add CPU and RAM usage metrics to system info response for Linux systems
  • 1f01a33 feat: add CPU and RAM usage metrics to system info endpoint and OpenAPI spec
  • 6cf5364 docs: add TCP connectivity test endpoint to API documentation
  • ecdfc1a feat: add TCPing endpoint for connectivity testing with concurrency control
  • 7467c69 docs: correct order of health check data fields in API documentation
  • 2c240c9 refactor: reorder fields in Instance struct and update regex for log parsing
  • 13c80ab fix: update logging format for checkpoint events to improve readability
  • 3223bde fix: handle EOF error in client and server start methods
  • 1eba4b9 refactor: remove semaphore initialization from client and server constructors
  • 1be7337 refactor: remove semaphore usage and implement connection slot management for TCP and UDP
  • 289abb3 docs: add TCP and UDP connection count fields to API documentation and examples for monitoring
  • e01c461 feat: add TCP and UDP connection counts to Instance struct and update log parsing
  • c877de6 fix: update semaphore initialization and logging to use slot limits in client and server
  • d384493 feat: implement connection slot management for TCP and UDP to limit concurrent connections
  • 0627ef4 docs: increase TCP dial timeout default value to improve connection reliability
  • 1e537fc fix: increase TCP dial timeout default value to improve connection reliability
  • cf2eb44 docs: remove redundant max parameters from client URL examples in configuration documentation
  • 7904c59 fix: replace time.Sleep with context-aware select for health check and event loop intervals
  • 48fd7e1 fix: enhance tunnel handshake to validate URL components and streamline data flow handling
  • fcfb0f0 fix: streamline logging information in client and server run methods and change tunnelURL format
  • 23db876 docs: update usage instructions to include advanced parameters for timeouts and rate limits
  • 4c4ea45 docs: clarify connection pool capacity parameters and the...
Read more

v1.5.1

23 Jul 08:25
e2dd219
Compare
Choose a tag to compare

更新日志

  • 修复:

    • 紧急修复一处 v1.5.0 新增的潜在缺陷,避免 CPU 占用增长远超预期。
  • 优化:

    • 大幅压降 SSE 中 update 的推送频率,与健康检查结果合并推送。
    • 为各循环位置增设、调整 50ms 短延迟以增强并发稳定性能。
    • 在入口和出口处理 go 协程中增设主上下文检测,避免资源泄露。
    • 优化了一些日志的显示,统一日志风格,降低代码复杂度。

Changelog

  • e2dd219 Merge pull request #58 from NodePassProject/main
  • 586cc6b fix: simplify UDP error logging by removing redundant EOF checks
  • 8e00a19 fix: improve error logging messages and add sleep duration in UDP/TCP loops for stability
  • f085052 fix: remove unnecessary defer close for error channels in commonControl and singleLoop
  • dd095b7 fix: remove common error channel from client and server initialization
  • df3c378 refactor: add context monitoring to prevent resource leaks in connection management
  • 1f48c60 refactor: enhance context management by adding drain func and unified channel initialization
  • 8c93ce2 fix: increase sleep duration to 50ms in various loops for improved stability
  • 3d2f09f refactor: remove SSE event sending during instance stats update

v1.5.0

22 Jul 07:34
e780ec0
Compare
Choose a tag to compare

更新日志

  • 新增:

    • 重磅推出“池连接回收”功能,支持连接回收复用,提升池管理效率,大幅度提升双端模式性能。
    • 新增双端模式下 UDP 会话管理,已完全支持各类 UDP 传输,包括不限于 QUIC over TCP/TLS。
    • 新增日志等级 noneevent,支持更灵活的日志输出策略,适配高并发与无日志场景。
    • 新增“反触发”健康检查机制,带有端内延迟显示、池连接数显示等功能,与 API 同步推送。
    • 服务端现在可以通过设置自己侧的 max 参数来对最大连接数进行限制,客户端设置保持不变。
  • 优化:

    • 大幅度压降 Event 日志数量,目前通过 API 方式广播至前端的此类日志已被过滤。
    • TCP 单连接流程中资源释放逻辑优化,避免目标连接未关闭导致的资源泄漏。
    • 优化连接池错误状态在健康检查中的重置逻辑,防止误报。
    • TCP 与 UDP 数据传输日志输出增强,细化数据交换、连接关闭等阶段日志。
    • 健康检查日志输出结构重构,加入连接池状态信息,便于定位问题。
    • 日志等级初始化函数增强,支持更严谨的参数验证与默认值。
    • 精简 client/server 启动流程代码,提升可读性与可维护性。
    • 改进 UDP 会话关闭时的错误处理机制,降低极端场景下的崩溃风险。
    • 增强目标连接失败后的处理策略,引入延迟避免过快重试。
  • 重构:

    • 调整错误通道初始化逻辑,提升调度流程一致性。
    • 核心控制流与健康检查结构重构,引入互斥锁保护写操作,防止并发写入冲突。
    • 实例的结构体增强,加入健康检查统计字段,并改进日志解析逻辑。
    • UDP 会话管理流程优化,提升并发稳定性与错误可追踪性。
  • 修复:

    • 修复连接池容量默认值设置过高的问题,将默认最大容量为 1024,可按需调整。
    • 修复持久化文件保存调用过程中阻塞主流程的问题,现已异步执行。
    • 修复因连接池容量错误配置导致的资源泄漏与崩溃问题。
    • 修复 TCP/UDP 通道读取超时控制未生效的问题。
    • 增强读取失败时的错误日志输出,便于追踪。
  • 兼容:

    • 当前 v1.5.0v1.4.4 及以下版本的服务端/客户端不相互兼容,两侧需同时更新。
    • 同步更新 connpool 依赖版本至最新(如 v1.0.18、v1.0.3 等),增强性能与兼容性。
    • 所有连接池行为调整均已同步更新至文档,确保使用者行为一致。
  • 文档:

    • 更新 README.mdREADME_zh.md 文件,提升配置项、使用说明与功能描述的准确性。
    • 新增日志等级、连接池容量、URL 查询参数范围等说明文档,补充最佳实践内容。
    • 调整 NodePass 项目 Logo 与文档结构,提升整体可读性与视觉一致性。

Changelog

  • e780ec0 Merge pull request #57 from NodePassProject/main
  • 622ef8f refactor: rename initContext to initBackground and adjust error channel initialization
  • 05f8aaf fix: add mutex for saveState to prevent concurrent write issues
  • b79729b fix: run saveState in a goroutine to prevent blocking during instance updates
  • 051c0e3 refactor: increase error channel buffer size for common control and initialization
  • 5f759a8 fix: reset tunnel pool errors during health check and common processing
  • 6356bfa chore: update pool dependency to v1.0.18 in go.mod and go.sum
  • d3b736f fix: improve health check locking mechanism to prevent deadlocks
  • 8d8b4c3 fix: update TLS configuration initialization to use version directly
  • b513248 chore: update pool dependency to v1.0.17 in go.mod and go.sum
  • 59c5da7 docs: update configuration table to reflect valid parameters for log levels and pool capacity
  • 7df05ce docs: update maximum connection pool capacity from 8192 to 1024 in documentation
  • e3333b9 fix: update default max pool capacity from 8192 to 1024
  • 0467df7 chore: update pool dependency to v1.0.16 in go.mod and go.sum
  • edf3fca feat: add support for 'none' and 'event' log levels in initLogLevel function
  • 9ce59a7 docs: add URL query parameter scope and best practices for configuration
  • f627dfb docs: update log levels in configuration and usage documentation to reflect the addition of 'none' level
  • 8494d47 chore: update logs dependency to v1.0.2 in go.mod and go.sum
  • 1cc671c refactor: replace bufio.Reader with conn.TimeoutReader in tunnelHandshake for improved timeout handling
  • 52569d7 chore: update pool dependency to v1.0.15 in go.mod and go.sum
  • e14003d refactor: improve resource management in singleTCPLoop by closing target connection
  • 398eff6 docs: update API documentation for clarity and consistency in Master Mode section
  • c4944cf refactor: enhance Instance struct with health check metrics and improve log parsing
  • 6dc1699 refactor: update health check logging format to include pool status
  • aa2aea5 refactor: enhance logging for data exchange and transfer completion in TCP and UDP loops
  • db80e8c refactor: streamline data flow handling in client and server start methods
  • 7ce1e85 refactor: remove unused strconv and strings imports in client and server handshake
  • 0a84568 fix: reset read deadline and clean up UDP sessions in commonUDPLoop and commonUDPOnce
  • e8ac420 chore: update pool dependency to v1.0.14 in go.mod and go.sum
  • fa3fdbb feat: add max pool capacity handling in tunnel handshake for client and server
  • 038488a fix: improve UDP error handling for session closure in commonUDPLoop and commonUDPOnce
  • 795e665 fix: replace manual read deadline setting with TimeoutReader for singleUDPLoop
  • bb2f57b chore: update conn dependency to v1.0.3 in go.mod and go.sum
  • c412936 refactor: enhance UDP session management and error handling in commonUDPLoop and commonUDPOnce
  • ecb27f8 Merge pull request #56 from NodePassProject/main
  • c97b55b fix: add delay before returning on target connection failure in singleTCPLoop
  • d5470af docs: update README and README_zh to enhance clarity and improve feature descriptions
  • 1098ac8 refactor: streamline UDP session management and enhance error handling in commonUDPLoop and commonUDPOnce
  • 8f01761 refactor: improve UDP session handling and error logging in commonUDPLoop and commonUDPOnce
  • 9b9f7f5 Merge branch 'yosebyte:main' into main
  • 67fb543 chore: update README_zh.md
  • c68f747 chore: update README.md
  • 532e683 fix: enhance error logging for read operations in UDP loops
  • d3bfb1b refactor: improve connection handling and error logging in TCP/UDP loops
  • 5f1bff3 chore: update pool dependency version to v1.0.9
  • 720172c feat: add conn put in singleTCPLoop and update debug logging
  • 105991e chore: update README_zh.md
  • b31619a chore: update README.md
  • b0794df Merge pull request #54 from NodePassProject/main
  • 3f76d60 chore: update nodepass logo in README files
  • 86d21df docs: update UDP and TCP read and dial timeouts to 20 seconds by default
  • 87d8ceb fix: increase UDP and TCP read and dial timeouts to 20 seconds
  • f680289 fix: update debug logging for tunnel connection pool activity
  • 91a609d fix: improve error logging for connection retrieval failures in TCP and UDP loops
  • 708311d chore: update conn dependency from v1.0.0 to v1.0.1 and pool dependency from v1.0.7 to v1.0.8
  • 1565d64 feat: replace remote connection closure with tunnel pool return in TCP and UDP loops

v1.4.4

08 Jul 07:59
246c2f0
Compare
Choose a tag to compare

更新日志

  • 新增:Master API 模式新增了基于实例的 reset 动作,通过 PATCH 实现,用来清空 gob 持久化文件中流量统计累计值,同时 PUT 更改实例 URL 之后,不再将持久化流量累计值清空。
  • 优化:为 client 单端转发模式设置了更准确的直通方式,通过拼接 min=0 可完全禁用连接池。
  • 文档:以上更新内容均在文档中更新说明。

Changelog

  • 246c2f0 Merge pull request #51 from NodePassProject/main
  • a4738e1 chore: update pool dependency from v1.0.6 to v1.0.7
  • 7ddec99 docs(master): update PATCH and PUT instance endpoints to include traffic statistics reset functionality
  • 39c6e16 feat(master): remove traffic statistics reset from handlePutInstance
  • 11bc9ac feat(master): add traffic stats reset functionality in handlePatchInstance

v1.4.3

04 Jul 08:37
398913a
Compare
Choose a tag to compare

更新日志

  • 新增:Master API 模式新增 PUT 方法,用来配合前端进行实例 URL 命令的修改,这将清空 API 持久化文件中流量累计信息,其他持久化信息不变,默认修改完成后将直接启动实例。
  • 新增: Master API 模式实例新增在线时间(uptime)字段,记录 API 在线总时长,无需进行持久化处理。
  • 修复:偶发客户端实例频发 EOF 问题,暂时通过调整实例重启间隔至 100ms 规避,完全解决需下个中版本。
  • 优化:修改连接池库底层判断连接是否可用的逻辑由读取改为写入,增加超时至 20ms 以避免可能的误判导致的延迟。
  • 文档:以上更新内容均在文档中更新说明,同时为 NodePass 项目完善了社区标准文档。

Changelog

  • 398913a Merge pull request #45 from NodePassProject/main
  • 22951c4 chore: update README and README_zh for improved description of NodePass features
  • acd09f2 feat(master): enhance instance handling for PUT method by removing instance restart policy check
  • b32755d chore: update pool dependency to v1.0.6 in go.mod and go.sum
  • 52b5858 docs(master): update docs for new PUT method for updating instance URL configuration
  • bc14931 feat(master): add PUT method for updating instance URL with validation and state management
  • a758a44 feat(master): improve instance management by running stop and restart actions concurrently
  • cdbc8b2 docs(master): enhance system information endpoint document for monitoring and troubleshooting
  • 8fb040d feat(master): add uptime information to system info and OpenAPI spec
  • babe12a Merge pull request #43 from NodePassProject/main
  • 151876e chore: add comprehensive security policy document outlining best practices and reporting procedures
  • 07518e6 chore: add CONTRIBUTING.md to outline contribution guidelines and processes
  • 11949a7 chore: add Code of Conduct document to establish community guidelines
  • b6c64d4 chore: add disclaimer section to README files

v1.4.2

29 Jun 13:05
3bb256c
Compare
Choose a tag to compare

更新日志

  • 兼容: Master API 模式的持久化文件路径变更,nodepass.gob从二进制主程序同目录,改为 gob/nodepass.gob 以避免容器环境下无法挂载根目录传递备份的 gob 文件问题。这意味着,如果更新到此版本,旧版本的 gob 文件将不可用,但会在新的目录下新建 gob 文件,之前的实例信息暂时清空,请务必更新前保存好 gob 文件,容器挂载新目录(/gob)、或手动将文件移至 gob 目录下覆盖新生成的持久化文件。
  • 新增:Master API 模式支持为实例设置自启动策略(restart policy),该选项控制实例是否跟随 API 的启动而启动,默认为否,可在前端设置。
  • 新增: Master API 模式实例新增别名(alias)字段,并完善相关 Patch 请求的处理逻辑,确保别名的持久化在 API 这里,避免预期的不同前端别名显示不一致等情况。
  • 优化:调整客户端与服务端的冷却时间逻辑,改为延迟启动的方式,降低潜在的端口占用风险。并增加服务的冷却时间默认值至 3 秒,以提升稳定性。
  • 重构:重构 Master API 模式中 SSE 推送相关代码结构,事件推送机制由 notifyChannel 替换为 sendSSEEvent,提升事件处理效。
  • 文档:以上更新内容均在文档中更新说明,同时为 OpenAPI 文档新增响应状态码说明,增强错误处理指引。

Changelog

  • 3bb256c Merge pull request #42 from NodePassProject/main
  • 6d5cf4e docs(master): add alias field documentation to API reference
  • 9b1a77b feat(master): add alias field to Instance and update handling in instance patch requests
  • 348eb00 refactor(master): replace notifyChannel usage with sendSSEEvent for event handling
  • ee091c2 docs(master): add restart policy feature documentation with updated API references
  • 7c54202 feat(master): add restart policy to instances and update handling in state management
  • 329225f fix(master): update state file path handling and ensure directory creation
  • 2d8dcf1 Revert "fix(docker): update nodepass binary path in Dockerfile for correct execution"
  • 1888d33 Merge pull request #41 from NodePassProject/main
  • c3155ec chore: update README files
  • 363a532 fix(docker): update nodepass binary path in Dockerfile for correct execution
  • a8b6ce1 docs(api): enhance OpenAPI spec with additional response codes for better error handling
  • 220f9e0 Revert "refactor(master): switch state persistence from gob to json for improved readability and compatibility"
  • 58708a9 Revert "docs(api): update persistence format from gob to json and add configuration file editing guidelines"
  • 0b0289d docs(api): update persistence format from gob to json and add configuration file editing guidelines
  • 365b9bb docs: update section title for clarity
  • 6018fb9 docs: update service cooldown period to 3 seconds for improved stability
  • f37bda5 fix: increase service cooldown duration to 3 seconds for improved stability
  • bbb8ab8 fix: adjust cooldown period logic of client and server to prevent potential port seizure risks
  • 5db497b refactor(master): switch state persistence from gob to json for improved readability and compatibility
  • 736ee45 Merge pull request #39 from NodePassProject/main
  • 1154ad8 docs: add quotes around nodepass command syntax for clarity in configuration and usage documentation

v1.4.1

23 Jun 02:54
2e16766
Compare
Choose a tag to compare

更新日志

  • 新增: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

19 Jun 16:03
5368a0f
Compare
Choose a tag to compare

更新日志

  • 新增:隧道连接增加密钥认证机制,支持两种密钥获取方式:显式密钥(通过 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

16 Jun 10:31
d1b1a5e
Compare
Choose a tag to compare

更新日志

  • 新增: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

06 Jun 09:23
61285e4
Compare
Choose a tag to compare

更新日志

  • 新增: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