nps

一款轻量级、高性能、功能强大的内网穿透代理服务器。支持tcp、udp、socks5、http等几乎所有流量转发,可用来访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析、内网socks5代理等等……,并带有功能强大的web管理端。a lightweight, high-performance, powerful intranet penetration proxy server, with a powerful web management terminal.

GPL-3.0 License

Stars
29.4K
Committers
36

Bot releases are visible (Hide)

nps - v0.26.10 Latest Release

Published by ffdfgdfg over 3 years ago

add:

fix:

  • 修复了NPC配置文件内标题注释后出错的问题,感谢@hellodword
  • 更新了Service库,完善FreeBSD支持,Windows,Linux Systemd; sysV支持有一定提升
  • 更新了KCP库,修复了其依赖cpuid所引起的ARM设备指令集问题

change:

  • Web面板如果未配置账号密码,会自动登录,感谢@caiych
  • Web面板样式美化,感谢@wuhanstudio
  • 文档的改进,感谢@clh021,@bigcoder84
  • Android客户端加入断线重连
  • SDK客户端修改为阻塞函数调用,当函数返回时意为客户端退出,将是否重连交由调用控制
  • Golang版本提升至1.15
  • 更新了一些其他库
nps - v0.26.9

Published by ffdfgdfg about 4 years ago

add:

  • 信号连接增加TCP Keepalive 参数,减少某些情况下掉线的可能性

fix:

  • 更新GUI库版本,修复Android客户端崩溃问题 #576 #572
  • 压缩功能存在的连接未正确关闭的问题,由此引发内存与CPU上升 #456 #584 #600
  • HTTP cache开启存在的空指针panic问题 #626 #509
  • 显示未翻译的原始信息解决Web提示undefined #524 #636

change:

  • GoLang版本提升至1.14
  • Windows服务运行npc时读取程序目录下的config文件,感谢@xiexiao
  • 更新一些库版本
  • Web在隧道编辑界面重新显示客户端ID
  • Docker镜像重新添加arm
nps - 修复了一些BUG

Published by ffdfgdfg over 4 years ago

安卓客户端如果有问题可以尝试android_client_fix.apk

add:

fix:

  • 自定义断开时间不生效的问题
  • 在TCP不能完成四次分手时候调用conn.Close卡住,长时间出于ClOSE WAIT或TIME WAIT,导致不能重连的问题 #569 #567 #542 #538

change:

nps - 添加了一些东西,修复了一些BUG

Published by ffdfgdfg over 4 years ago

add:

  • api /client/list 添加获取服务端连接host和连接类型 #483
  • 添加自定义客户端断开时间 #485

fix:

  • web手机浏览输入框或者按钮被遮挡问题,感谢 @kekxv
  • android客户端无法粘贴的问题 #479
  • p2p 由于上个版本的一些改动造成无法使用的问题 #515

change:

  • android客户端启动时成功读取配置自动连接 #476
  • nps加密功能默认采用启动时生成tls证书,不依赖外部证书,感谢 @snowie2000 #507
nps - 修复了一些BUG

Published by ffdfgdfg over 4 years ago

add:

fix:

  • web重新显示id #453 #461 #475
  • 客户端首次添加时限速问题
  • mux计算长度重复赋值
  • 服务端启动可能卡住的问题 #470
  • web中丢失的服务器ip项

change:

  • 解决npc同时支持客户端和私密代理访问端的问题 #472
nps - 修复了一些BUG,添加了一些东西

Published by ffdfgdfg over 4 years ago

add:

  • web 新增和编辑tunnel时增加使用场景提示实现 #410 提到的在hostlist 列表中点击在线状态可以直接访问这个穿透地址。感谢@hzgjq
  • 添加版本打印,现在客户端和服务端均可以用-version参数打印版本了
  • 添加客户端linux sdk文件打包

fix:

  • 客户端离线自定义配置失效的问题 #433
  • android客户端名称问题,以及旋转黑屏 #439

change:

  • mux设计修改,添加窗口延迟增益,窗口低填充增益,初始窗口扩张倍率,在有一定延迟以及丢包情况下速度问题得到明显改善 #390 ,感谢@狂奔的蜜蜂 提供完整测试;减少syscall调用次数,有效减少一半的cpu时间 #438
nps - 修复了一些BUG

Published by ffdfgdfg over 4 years ago

add:

fix:

  • busybox与sysV环境下(openwrt)service库失效问题 #419
  • 客户端使用http代理连接服务端问题

change:

  • 支持自定义stun服务器 #409
  • web页面优化 感谢@hzgjq
  • golang 版本暂时保持1.13
nps - 修复了一些BUG

Published by ffdfgdfg over 4 years ago

已经修复windows下服务端记录无法保存的情况

add:

fix:

  • mux 无锁队列同时进行pop可能导致死循环的问题
  • mux buffer pool 同一对象可能放入两次的问题
  • socks5 tcp连接未及时断开问题
  • udp 穿透逻辑不完善

change:

  • 文件记录改为临时文件写入完毕后替换,避免文件被截断照成数据丢失 #412
  • service初始化失败后继续运行,但无法提供相关功能 #407
nps - 修复了一些BUG

Published by ffdfgdfg over 4 years ago

add:

  • pprof 调试端口可在配置中设置 #382

fix:

  • goroutine 未等待导致连接计数出错的问题 #391
  • 本地udp端口错误导致崩溃问题
  • http正向代理请求读取不完整导致连接被拒绝的问题
  • UDP隧道并未及时关闭问题
  • 文件操作可能存在的未及时回写硬盘导致数据丢失问题

change:

  • goroutine pool 库版本更新,性能提升
  • android UI 库版本更新
nps - 修复了一些BUG

Published by ffdfgdfg over 4 years ago

add:

fix:

  • mux在某些情况下带宽计算偏高的问题,导致客户端内存占用偏高
  • nps全局任务竞争问题 #315
  • 某些情况下域名解析目标混乱问题 #367
  • UDP隧道并未及时关闭问题
  • 开启压缩加密后转发UDP乱序问题 #370 #368
  • 前置反代时nps ip限制功能获取ip错误问题 #353
  • API POST /client/edit 错误 #347

change:

  • API 默认情况不启用
  • mux独立为 nps-mux
  • systemd配置文件调大最大打开文件数量限制
nps - 完善多路复用设计

Published by ffdfgdfg almost 5 years ago

此版本需要服务端和客户端一同升级

add:

fix:

change:

  • mux滑动窗口设计变更 #330
nps - 修复了一些BUG

Published by ffdfgdfg almost 5 years ago

已修复此版本存在问题,请重新下载,版本号未变 #336

add:

  • docker latest tag

fix:

  • linux update文件未正确释放的问题 #320
  • mux接收窗口一直扩张 #330
  • mux发送窗口统计错误

change:

  • mux带宽计算方式
nps - 修复了一些BUG

Published by ffdfgdfg almost 5 years ago

add:

fix:

  • android客户端权限问题
  • firefox浏览器按钮失效 #323
  • mux可能存在的连接超时问题

change:

  • nps直接运行默认不输出到日志文件
nps - 修复了一些BUG,添加了一些东西

Published by ffdfgdfg almost 5 years ago

add:

  • android客户端
  • sdk等文档完善
  • 注册nps、npc为系统服务
  • nps、npc支持一键升级
  • web管理支持https配置

fix:

  • mux资源释放存在的竞争问题
  • mux.conn关闭后再次进行read未正确终止
  • http代理basic认证header不标准#156

change:

  • mux调整异常长度判断#250
  • 程序异常将自动捕获错误
  • 修改日志文件存储位置
nps - 修复了一些BUG

Published by ffdfgdfg almost 5 years ago

如果git下载慢可以从此处下载: https://nps.cmap.ml/

add:

  • 增加windows sdk可进行桌面GUI开发

  • 客户端打包增加multi_accout文件

fix:

  • 群晖开机不会自动启动bug

  • 语言文件丢失

  • npc使用http代理的时候的验证错误bug

  • 端口复用bug

  • web端普通用户和管理员交叉登陆导致的bug

  • 关闭公钥时客户端数量统计错误bug

  • systemd service配置文件路径错误

change:

  • vkey错误时将不会直接退出程序

  • 修改readme关于P2P的描述

nps - 稳定性增强

Published by ffdfgdfg almost 5 years ago

http压缩导致各种崩溃问题修复
socks5 udp优化
p2p客户端错误优化
新增客户端版本号显示
不与以前的版本兼容

nps - 完善多路复用设计

Published by ffdfgdfg almost 5 years ago

实现无锁队列增加性能,实现连接关闭状态,实现滑动窗口动态控制发包,加入goroutine池以节约内存占用,更加贴近实际情况的断线重连机制,更加完善的延迟计算,限制滑动窗口理论大小,调整编译参数禁用CGO,提供docker镜像

固定编译打包方式与镜像文件

尽量先将conf文件夹,npc.conf备份一下
下载文件解压,单独替换原nps,npc文件即可,注意不要覆盖conf文件夹以及npc.conf!!!

nps - 修复端口范围映射bug

Published by cnlh about 5 years ago

fix 端口范围映射bug

nps - http压缩加密bug修复

Published by cnlh over 5 years ago

  • http(s)压缩加密bug修复
  • p2p自动重连
nps - 功能增强

Published by cnlh over 5 years ago

  • 增大p2p穿透成功率
  • p2p支持socks5和透明代理
  • 日志分包
  • nps install检测是否已经安装,已安装将不能执行该命令

v0.22升级,覆盖web目录和nps二进制文件即可