Releases: yosebyte/nodepass
Releases · yosebyte/nodepass
v1.6.0
更新日志
-
新增:
- 新增运行模式控制功能(
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...
v1.5.1
更新日志
-
修复:
- 紧急修复一处
v1.5.0
新增的潜在缺陷,避免 CPU 占用增长远超预期。
- 紧急修复一处
-
优化:
- 大幅压降 SSE 中
update
的推送频率,与健康检查结果合并推送。 - 为各循环位置增设、调整 50ms 短延迟以增强并发稳定性能。
- 在入口和出口处理 go 协程中增设主上下文检测,避免资源泄露。
- 优化了一些日志的显示,统一日志风格,降低代码复杂度。
- 大幅压降 SSE 中
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
更新日志
-
新增:
- 重磅推出“池连接回收”功能,支持连接回收复用,提升池管理效率,大幅度提升双端模式性能。
- 新增双端模式下 UDP 会话管理,已完全支持各类 UDP 传输,包括不限于 QUIC over TCP/TLS。
- 新增日志等级
none
与event
,支持更灵活的日志输出策略,适配高并发与无日志场景。 - 新增“反触发”健康检查机制,带有端内延迟显示、池连接数显示等功能,与 API 同步推送。
- 服务端现在可以通过设置自己侧的
max
参数来对最大连接数进行限制,客户端设置保持不变。
-
优化:
- 大幅度压降
Event
日志数量,目前通过 API 方式广播至前端的此类日志已被过滤。 - TCP 单连接流程中资源释放逻辑优化,避免目标连接未关闭导致的资源泄漏。
- 优化连接池错误状态在健康检查中的重置逻辑,防止误报。
- TCP 与 UDP 数据传输日志输出增强,细化数据交换、连接关闭等阶段日志。
- 健康检查日志输出结构重构,加入连接池状态信息,便于定位问题。
- 日志等级初始化函数增强,支持更严谨的参数验证与默认值。
- 精简 client/server 启动流程代码,提升可读性与可维护性。
- 改进 UDP 会话关闭时的错误处理机制,降低极端场景下的崩溃风险。
- 增强目标连接失败后的处理策略,引入延迟避免过快重试。
- 大幅度压降
-
重构:
- 调整错误通道初始化逻辑,提升调度流程一致性。
- 核心控制流与健康检查结构重构,引入互斥锁保护写操作,防止并发写入冲突。
- 实例的结构体增强,加入健康检查统计字段,并改进日志解析逻辑。
- UDP 会话管理流程优化,提升并发稳定性与错误可追踪性。
-
修复:
- 修复连接池容量默认值设置过高的问题,将默认最大容量为 1024,可按需调整。
- 修复持久化文件保存调用过程中阻塞主流程的问题,现已异步执行。
- 修复因连接池容量错误配置导致的资源泄漏与崩溃问题。
- 修复 TCP/UDP 通道读取超时控制未生效的问题。
- 增强读取失败时的错误日志输出,便于追踪。
-
兼容:
- 当前
v1.5.0
与v1.4.4
及以下版本的服务端/客户端不相互兼容,两侧需同时更新。 - 同步更新
conn
和pool
依赖版本至最新(如 v1.0.18、v1.0.3 等),增强性能与兼容性。 - 所有连接池行为调整均已同步更新至文档,确保使用者行为一致。
- 当前
-
文档:
- 更新
README.md
与README_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
更新日志
- 新增: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
更新日志
- 新增: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
更新日志
- 兼容: 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
更新日志
- 新增: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