Skip to content

Releases: yisier/nps

v0.26.34

06 Jun 20:23

Choose a tag to compare

  • 新增:
    • nps -server 管理脚本欢迎语显示当前版本号,更新版本时比对版本,已是最新则直接退出,避免无谓覆盖 #328
    • npc 管理脚本欢迎语显示当前版本号,新增 [5] 更新客户端 选项,更新并替换 npc 二进制
    • 客户端新增到期时间字段,创建/修改客户端时可选填写,到期后自动暂停客户端 #322
  • 修复:
    • 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

23 May 23:46

Choose a tag to compare

  • 新增:
    • 配置文件自动生成:启动时若 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
  • 修复:
    • #184 限速导致隧道中断:UpdateClient 在 RateLimit=0 时创建零速率令牌桶导致永久阻塞
    • #159 关闭隧道端口仍可用:StopServer 错误时提前返回未更新状态 + 重复 OpenTask case 导致隧道被自动重启
    • #170 TCP 负载均衡只有一个后端可达:GetRandomTarget 未处理 \r 换行符和尾部空行
    • #319 客户端列表不显示实时网速:NowRate 计算逻辑错误,改为统计每秒实际消耗字节数
    • #306 #316 TCP Basic 认证与域名解析冲突:移除 TCP 隧道 Basic 认证探测,域名解析继续使用客户端 Basic 认证

v0.26.32

27 Mar 22:06

Choose a tag to compare

修复:
- 客户端注册参数未正确处理[快捷启动命令]和[TLS快捷启动命令] #303
- 修复https反向代理bug,感谢okawao 的 PR

v0.26.31

23 Mar 09:09

Choose a tag to compare

  • 新增:
    • 域名解析记录开关功能 #314
    • TCP隧道增加Basic认证 306
  • 修复:
    • 新增隧道出现secret mode keys must be unique 301

v0.26.30

12 Mar 07:57

Choose a tag to compare

修复:

  • http 协议 websocket 错误,感谢xiaozonglong 提供的 home assistant 环境 ,#268,#296
  • 域名解析中,主机url点击无法跳转非80端口 311
  • 新增的主机配置页面,客户端ID异常 #310
  • 自动 HTTPS(301) 按照 https_proxy_port 配置的端口号跳转

v0.26.29

24 Jan 09:57

Choose a tag to compare

新增:
GUI 客户端,基于 Wails 开发,点击查看了解更多,需要 WebView2 运行时,可通过两种方式添加客户端。
方式1:直接输入快捷启动命令即可
方式2:手动添加客户端,输入-server -vkey等参数
img.png
修复:
Android 包未构建到 Release

v0.26.28

05 Dec 19:29

Choose a tag to compare

【全局参数】页面新增服务地址配置项,用于客户端命令地址显示、隧道访问地址显示 293
【IP授权功能优化】,通过穿透的端口去提交 IP 认证,感谢 Aqamoe 的建议 291
【重构限速器实现】提升性能和准确性

v0.26.27

31 Oct 22:24

Choose a tag to compare

  • 客户端新增【IP白名单】,可通过两种方式添加IP:
    • 方式1️⃣:在【客户端】新建/修改页面,配置IP授权密码,不在IP白名单的外网访问将被跳转到 IP 授权页面,输入正确的授权密码,即可完成添加 IP。
    • 方式2️⃣:在【客户端】新建/修改页面,直接添加IP到白名单中。
      img.png
  • 客户端配置移除【压缩】和【加密】功能,此功能会显著提高内存和CPU占用率,"利大于弊"。
  • 客户端默认不再提供配置文件,强烈推荐使用无配置文件模式启动客户端

v0.26.26

15 Aug 23:08

Choose a tag to compare

修复:

  • windows注册服务 使用tls无法连接 269
  • 域名解析自动HTTPS逻辑bug 273

v0.26.25

28 May 06:33

Choose a tag to compare

新增:

  • nps增加nps(.exe) -server 命令,用于管理NPS服务,安装和卸载服务在 Linux 下需要有 sudo 权限,Windows 下需要有管理员权限。
    img.png
  • 增加【TLS快捷启动命令】,可用于在tls模式下,快速启动客户端。 257