Releases: yisier/nps
Releases · yisier/nps
v0.26.34
- 新增:
- 修复:
- Dashboard IO 速率采集阻塞请求 500ms,改为后台采集缓存,消除 Sleep 等待
- ServerStatus 切片并发读写不安全,添加 RWMutex 保护
- flowSession goroutine 泄漏,改为仅在 StartNewServer 启动一次
- GetTunnel 双重遍历 sync.Map 性能问题,合并为单次 Range
- Bridge Client 字段并发读写不安全,添加 Mutex 保护
- TLS ClientHello recordLen 无上限,添加 16KB 限制防止内存耗尽
- SOCKS5 地址解析未检查 Read 返回值,改用 io.ReadFull
- 文件存储 panic 改为错误日志,defer 清理临时文件防止泄漏
- GenerateServerPort 可能无限循环,限制 1000 次重试
- P2P UDP 无超时永久阻塞,添加 30s ReadDeadline
- P2P goroutine 退出控制改用 context,修复潜在泄漏
- 客户端 UDP ReadFrom 错误后未退出,修复无效数据继续处理
- #324 隧道/域名解析/UDP 流量始终为 0
- muxPackager buffer pool 泄漏:UnPack() 错误路径未归还 windowBuff 导致内存持续增长
- bridge 客户端重连时旧 WORK_CHAN/WORK_FILE mux 未关闭,底层连接和 goroutine 永不释放
- pmux 连接超时泄漏:process() channel 发送超时后连接未关闭,且 ACCEPT_TIME_OUT 单位错误(10ns 应为 10s)
- pmux 关闭流程 panic:加 done channel + WaitGroup 保证 Close() 等所有 process() 退出后再 close conn channel;process() 入口设 ReadDeadline 防止阻塞读导致 wg.Wait() 死锁;PortListener 加 done channel 唤醒 Accept()
- 优化:ioutil.WriteFile → os.WriteFile、rand.Seed → rand.New 本地随机源
v0.26.33
- 新增:
- 配置文件自动生成:启动时若 conf 目录或 nps.conf 不存在,自动创建并写入默认配置,方便 Docker 部署
- 首次启动默认 web_username/admin、web_password、auth_key、auth_crypt_key 均改为随机生成,并打印到终端,提升安全性
- Web 静态文件打包进可执行文件 + 静态文件 URL 加入版本号参数,升级后自动刷新缓存,部署无需单独拷贝 web 目录
- 精简发布包:去除打包时冗余的 conf/nps.conf、web 目录
- 清理失效配置项:移除 appname、runmode、https_default_cert_file、https_default_key_file、https_just_proxy
- 修复: