Sign in
Sign up
Explore
Enterprise
Education
Search
Help
Terms of use
About Us
Explore
Enterprise
Education
Gitee Premium
Gitee AI
I know
View Details
Sign in
Sign up
Fetch the repository succeeded.
Open Source
>
New Tech
>
Cloud Native
&&
Donate
Please sign in before you donate.
Cancel
Sign in
Scan WeChat QR to Pay
Cancel
Complete
Prompt
Switch to Alipay.
OK
Cancel
Watch
Unwatch
Watching
Releases Only
Ignoring
42
Star
621
Fork
48
GVP
OpenNJet
/
OpenNJet
Code
Issues
0
Pull Requests
0
Wiki
Insights
Pipelines
Service
Gitee Pages
Quality Analysis
Jenkins for Gitee
Tencent CloudBase
Tencent Cloud Serverless
悬镜安全
Aliyun SAE
Codeblitz
SBOM
Don’t show this again
Releases
Latest
v3.2.2
71ed768
2025-04-02 15:58
Compare
v3.2.2
chenluboTM
**新功能** --- - 指标展示新增worker进程 cpu以及内存使用情况 - 指标展示新增upstream server的健康状态 **功能优化** --- - range 模块支持集群,相关资源名称带有集群标识。 - 动态共享内存实现中,使用用lvlhsh保存动态zone的元数据。 - 动态域名解析,放到ctrl 模块。 - 编译脚本支持指定NJET_PREFIX - upstream app_sticky 支持动态化。 - Http Upstream 动态zone 优化 - rysnc在同步文件时,保留源文件的user和group属性。 **Bug fix** --- - 健康检查ssl 里protocols字段描述信息变更,同时删除了protocols_str这个字段 - token同步模块由于expired过期字段初始化未清零导致数据可能被过期误清理 - 修复访问上游解析失败,返回状态码9,会导致core的问题。 - 修复动态upstream中不能使用http块中配置的resolver指令的问题。 - 修复动态upstream查询时,如果配置了resolver指令,resolver_timeout字段显示数值为-1的问题。 - 修复了在一组upstream中配置多个域名时,reload后通过动态upstream查询时server id可能异常的问题。 - 修复了upstream配置app sticky时,如果upstream为空,访问会导致core的问题 - 修复了vts 模块response_second指标显示一直为0的问题 **遗留已知问题** --- - tcp流量劫持基于iptables nat表prerouting添加规则,只针对外部访问(非本机ip)的数据做流量劫持 - HA/MA 配置同步关于命令式api 动态删除location消息同步存在问题 - 应用加速功能,删除location后本地缓存文件没有立马同步清理 - 配置沙箱进程,在NJet 可执行文件热升级时,无法在旧的沙箱进程退出后,再启动新的配置沙箱 - 动态VS,只能在存在的listen 上添加VS ,该功能不能创建listen - 动态VS,不支持zone、 location、ssl_ocsp、ssl_stapling、quic 指令 - 动态VS,不支持动态创建 新的error_log、access_log 文件 - 动态location,不支持zone 指令 - 动态SSL证书添加时必须有初始证书,通过动态VS添加的ssl server,如果未配置初始证书,通过动态ssl接口添加证书会添加失败 - 在动态location上动态更新proxy_pass后,删除location,再次添加location,reload后,恢复为更新后的proxy_pass, 需要重新再次修改。 - 显示location的api,配置if和limit_except时,存在显示异常 **rpm包安装** --- 下面是centos系统使用步骤(其他系统需要从下载链接选择对应合适的安装包) 1. 下载 njet-3.2.2-1.el7.x86_64.rpm安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-3.2.2-1.el7.x86_64.rpm 4. systemctl start njet otel安装包为opentelemetry模块的安装包(如果需要该功能,从下载连接选择对应的安装包安装即可) captcha安装包是动态验证码模块的安装包(如果需要该功能,从下载连接选择对应的安装包安装即可) OpenNJet ubuntu deb安装包基于18.04版本编译,可在ubuntu20、ubuntu22上安装使用 已安装 njet 的 ubuntu , 升级njet 包: sudo systemctl stop njet sudo apt-get update sudo apt install --only-upgrade njet **docker方式运行** --- 可使用如下命令启动运行: docker run -d --rm --privileged tmlake/njet:3.2.2 详细运行方法参考: https://njet.org.cn/cases/njet-docker/ **下载列表安装包说明:** --- - njet: OpenNJet 安装包 - .deb 适用ubuntu系统 - el7.x86_64.rpm 适用centos系统 - .ky10.x86_64.rpm 适用kylin麒麟系统 - njet_python_wsgi: 支持python脚本及wsgi应用的模块 安装包 - .deb 适用ubuntu系统 - el7.x86_64.rpm 适用centos系统 - .ky10.x86_64.rpm 适用kylin麒麟系统 - njet_otel: telemetry 模块(链路追踪)安装包 - .deb 适用ubuntu系统 - el7.x86_64.rpm 适用centos系统 - .ky10.x86_64.rpm 适用kylin麒麟系统 - njet_captcha: 动态验证码认证模块 可以针对location 设定访问频率,当某个location 被恶意的频繁访问时,可以根据配置, 对访问频率超过一定次数的client_ip,动态的弹出认证页面,手动输入验证码,解除限制 - .deb 适用ubuntu系统 - el7.x86_64.rpm 适用centos系统 - .ky10.x86_64.rpm 适用kylin麒麟系统
Last committed message:
update njet.conf in t/dym_shm.t
v3.2.1
c2e179b
2025-01-17 14:55
Compare
v3.2.1
chenluboTM
**新功能** --- - 支持add_more_header 指令,一条指令可以设置多个header 值。 **功能优化** --- - 动态共享内存: 支持通过API设置zone的可扩展属性,批量更新使用统计。 - 动态 proxy_pass 域名解析,启用缓存,加速解析。 **Bug fix** --- - 修复了动态添加upstream时,zone空间大小不填写时会导致coredump的问题。 - 降低了部分日志在error.log中的级别。 - 修复了stream 正则导致core的问题。 **遗留已知问题** --- - tcp流量劫持基于iptables nat表prerouting添加规则,只针对外部访问(非本机ip)的数据做流量劫持 - HA/MA 配置同步关于命令式api 动态删除location消息同步存在问题 - 应用加速功能,删除location后本地缓存文件没有立马同步清理 - 配置沙箱进程,在NJet 可执行文件热升级时,无法在旧的沙箱进程退出后,再启动新的配置沙箱 - 动态VS,只能在存在的listen 上添加VS ,该功能不能创建listen - 动态VS,不支持zone、 location、ssl_ocsp、ssl_stapling、quic 指令 - 动态VS,不支持动态创建 新的error_log、access_log 文件 - 动态location,不支持zone 指令 - 动态SSL证书添加时必须有初始证书,通过动态VS添加的ssl server,如果未配置初始证书,通过动态ssl接口添加证书会添加失败 - 在动态location上动态更新proxy_pass后,删除location,再次添加location,reload后,恢复为更新后的proxy_pass, 需要重新再次修改。 - 显示location的api,配置if和limit_except时,存在显示异常 **rpm包安装** --- 下面是centos系统使用步骤(其他系统需要从下载链接选择对应合适的安装包) 1. 下载 njet-3.2.1-1.el7.x86_64.rpm安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-3.2.1-1.el7.x86_64.rpm 4. systemctl start njet otel安装包为opentelemetry模块的安装包(如果需要该功能,从下载连接选择对应的安装包安装即可) captcha安装包是动态验证码模块的安装包(如果需要该功能,从下载连接选择对应的安装包安装即可) OpenNJet ubuntu deb安装包基于18.04版本编译,可在ubuntu20、ubuntu22上安装使用 已安装 njet 的 ubuntu , 升级njet 包: sudo systemctl stop njet sudo apt-get update sudo apt install --only-upgrade njet **docker方式运行** --- 可使用如下命令启动运行: docker run -d --rm --privileged tmlake/njet:3.2.1 详细运行方法参考: https://njet.org.cn/cases/njet-docker/
Last committed message:
version 3.2.1
v3.2.0
cdc7d96
2024-12-31 14:05
Compare
v3.2.0
chenluboTM
**新功能** --- - 动态upstream 的添加,删除功能 - ftp 被动代理支持ipv6(epsv/pasv) - 动态共享内存支持申请、删除动态zone - rsync文件同步支持可配置多目录同步 - rsync文件同步支持配置文件排除(exclude) - broker bridge桥接支持动态端口 **功能优化** --- - cache 缓存加速支持servername配置 - cache node分配失败不直接返回500错误,修改为不缓存直接请求upstream - 健康检查模块适配动态upstream - ModSecurity 模块默认不编译 - MQTT框架支持will消息 - 支持共享内存使用统计 - proxy_pass 切换支持,ip,域名,socket,变量 - Goaccesslog 支持持久化 - sub_filter 上限修改支持512 - tcc 协议server 支持多woker 消息广播 - tcc 协议server 支持消息重入功能 - tcc 协议server 代理 支持ws 到 mqtt 转换 - upstream成员变化,通知接口 - lua 脚本兼容nginx/smart **Bug fix** --- - 修复了加载goaccess模块但是未配置zone指令时,启动会导致coredump的问题 - 修复了加载goaccess模块,指定了一个不存在的路径时会导致goaccess进程卡死的问题。 - 修复了添加动态vs时,同时在一个监听的端口上添加多个server后,重启会导致丢失server的问题。 - 修复了添加vs时,在”addr_port“字段填入无效字段时,会导致异常的问题。 - 修复了当upstream中的server配置最大失败数为0时,在VTS中显示的server状态不正确的问题。 - 修复了删除ssl健康检查时会偶现的coredump的问题。 - 修复了动态共享内存扩容使用过的空间不能重复使用的问题。 - 修复了vts/sts server_traffic_status_zone 重复配置导致coredump的问题 - 修复了cache 模块不支持server_name 的问题 **遗留已知问题** --- - tcp流量劫持基于iptables nat表prerouting添加规则,只针对外部访问(非本机ip)的数据做流量劫持 - HA/MA 配置同步关于命令式api 动态删除location消息同步存在问题 - 应用加速功能,删除location后本地缓存文件没有立马同步清理 - 配置沙箱进程,在NJet 可执行文件热升级时,无法在旧的沙箱进程退出后,再启动新的配置沙箱 - 动态VS,只能在存在的listen 上添加VS ,该功能不能创建listen - 动态VS,不支持zone、 location、ssl_ocsp、ssl_stapling、quic 指令 - 动态VS,不支持动态创建 新的error_log、access_log 文件 - 动态location,不支持zone 指令 - 动态SSL证书添加时必须有初始证书,通过动态VS添加的ssl server,如果未配置初始证书,通过动态ssl接口添加证书会添加失败 - 在动态location上动态更新proxy_pass后,删除location,再次添加location,reload后,恢复为更新后的proxy_pass, 需要重新再次修改。 - 显示location的api,配置if和limit_except时,存在显示异常 **rpm包安装** --- 下面是centos系统使用步骤(其他系统需要从下载链接选择对应合适的安装包) 1. 下载 njet-3.2.0-1.el7.x86_64.rpm安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-3.2.0-1.el7.x86_64.rpm 4. systemctl start njet otel安装包为opentelemetry模块的安装包(如果需要该功能,从下载连接选择对应的安装包安装即可) captcha安装包是动态验证码模块的安装包(如果需要该功能,从下载连接选择对应的安装包安装即可) OpenNJet ubuntu deb安装包基于18.04版本编译,可在ubuntu20、ubuntu22上安装使用 已安装 njet 的 ubuntu , 升级njet 包: sudo systemctl stop njet sudo apt-get update sudo apt install --only-upgrade njet **docker方式运行** --- 可使用如下命令启动运行: docker run -d --rm --privileged tmlake/njet:3.2.0 详细运行方法参考: https://njet.org.cn/cases/njet-docker/
Last committed message:
dyn slab: rename member to avoid keywords in c++
v3.1.0
663012b
2024-09-26 11:31
Compare
v3.1.0
chenluboTM
**新功能** --- - MQTT 代理功能(巨硬提供) - 集群token信息同步 - Privilege Agent 就绪检测接口 - 集群模式下Master IP和控制面端口的获取接口 - 通用的Go Copilot 模块及配置修改API - 从Etcd 注册中心同步服务列表并更新NJet Upsteam (外部模块) - HTTP3代理功能(京东提供) - HTTP2代理功能(京东提供) - HTTP3国密双证书支持(中金金融提供) - Python wsgi支持 - 动态协议功能及脚本支持(巨硬提供) **功能优化** --- - 集群gossip支持指定网卡发送组播数据 - 主动健康检查优化(server近期访问过可跳过当次健康检查) - 优化 swagger的目录位置(多njet版本共存) - 使用token同步模块保存API Gateway 的登录信息 - API Gateway配置集群同步 - API Gateway 提供接口进行基础参数的配置, user添加domain信息,oasp3.0 导入使用group名称及支持cookie auth认证方式 - tcc 支持selinux 以及 debug选项 - 编译默认铜锁版本调整为8.3 **Bug fix** --- - 集群连接数限制功能( cluster_limit_conn) 在长连接情况下出现无效的情况 - cache加速模块:添加cache配置,最后一个cache 当ctrl 重启时,下载状态错误 - 修复库njetmq编译警告 - Goaccsslog gcc version 9.4.0 debug编译错误。 - 故障注入模块不配置动态编译时,其他模块编译报错修复 - 修复gossip master节点不稳定bug - 修复铜锁不能生成动态库的问题 - 修复goaccess模块生成的临时文件在njet退出后不会清理的问题 - 修复goaccess模块手动配置端口后会导致数据不会及时同步的问题 - 解决openEuler 编译选项-m64, 引起的编译失败的问题。 - 修复当使用长链接访问后端时,删除后端被访问的server会导致死循环的问题。 - 解决配置协议分析时,依赖的头文件选择当前所在目录而非工作目录的问题。 **遗留已知问题** --- - tcp流量劫持基于iptables nat表prerouting添加规则,只针对外部访问(非本机ip)的数据做流量劫持 - HA/MA 配置同步关于命令式api 动态删除location消息同步存在问题 - 应用加速功能,删除location后本地缓存文件没有立马同步清理 - 配置沙箱进程,在NJet 可执行文件热升级时,无法在旧的沙箱进程退出后,再启动新的配置沙箱 - 动态VS,只能在存在的listen 上添加VS ,该功能不能创建listen - 动态VS,不支持zone、 location、ssl_ocsp、ssl_stapling、quic 指令 - 动态VS,不支持动态创建 新的error_log、access_log 文件 - 动态location,不支持zone 指令 - 动态SSL证书添加时必须有初始证书,通过动态VS添加的ssl server,如果未配置初始证书,通过动态ssl接口添加证书会添加失败 - 在动态location上动态更新proxy_pass后,删除location,再次添加location,reload后,恢复为更新后的proxy_pass, 需要重新再次修改。 - 显示location的api,配置if和limit_except时,存在显示异常 **rpm包安装** --- 下面是centos系统使用步骤(其他系统需要从下载链接选择对应合适的安装包) 1. 下载 njet-3.1.0-1.el7.x86_64.rpm安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-3.1.0-1.el7.x86_64.rpm 4. systemctl start njet otel安装包为opentelemetry模块的安装包(如果需要该功能,从下载连接选择对应的安装包安装即可) captcha安装包是动态验证码模块的安装包(如果需要该功能,从下载连接选择对应的安装包安装即可) OpenNJet ubuntu deb安装包基于18.04版本编译,可在ubuntu20、ubuntu22上安装使用 已安装 njet 的 ubuntu , 升级njet 包: sudo systemctl stop njet sudo apt-get update sudo apt install --only-upgrade njet **docker方式运行** --- 可使用如下命令启动运行: docker run -d --rm --privileged tmlake/njet:3.1.0 详细运行方法参考: https://njet.org.cn/cases/njet-docker/
Last committed message:
remove macro define in helper go copilot config file
v3.0.1
816ad22
2024-07-10 17:39
Compare
v3.0.1
chenluboTM
**新功能** --- - Goaccesslog 日志统计功能 **功能优化** --- - 支持Tencent OS Server 2, Tencent OS Server 3, Tencent OpenCloud9 操作系统 **Bug fix** --- - 动态VS,http1.1 和 http3 共用一个server 块时,同一个端口,会造成ssl coredump 的bug。 - Rsync Helper: 修复在退出时可能存在僵尸进程,及在特定情况下打开配置文件及生成日志文件错误问题,解决代码中的内存泄露问题。 - 解决了ubuntu系统ssl动态桥接失败的问题 **遗留已知问题** --- - tcp流量劫持基于iptables nat表prerouting添加规则,只针对外部访问(非本机ip)的数据做流量劫持 - HA/MA 配置同步关于命令式api 动态删除location消息同步存在问题 - 应用加速功能,删除location后本地缓存文件没有立马同步清理 - 配置沙箱进程,在NJet 可执行文件热升级时,无法在旧的沙箱进程退出后,再启动新的配置沙箱 - 动态VS,只能在存在的listen 上添加VS ,该功能不能创建listen - 动态VS,不支持zone、 location、ssl_ocsp、ssl_stapling、quic 指令 - 动态VS,不支持动态创建 新的error_log、access_log 文件 - 动态location,不支持zone 指令 - 动态SSL证书添加时必须有初始证书,通过动态VS添加的ssl server,如果未配置初始证书,通过动态ssl接口添加证书会添加失败 - 在动态location上动态更新proxy_pass后,删除location,再次添加location,reload后,恢复为更新后的proxy_pass, 需要重新再次修改。 - 显示location的api,配置if和limit_except时,存在显示异常 **rpm包安装** --- 下面是centos系统使用步骤(其他系统需要从下载链接选择对应合适的安装包) 1. 下载 njet-3.0.1-1.el7.x86_64.rpm安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-3.0.1-1.el7.x86_64.rpm 4. systemctl start njet otel安装包为opentelemetry模块的安装包(如果需要该功能,从下载连接选择对应的安装包安装即可) captcha安装包是动态验证码模块的安装包(如果需要该功能,从下载连接选择对应的安装包安装即可) OpenNJet ubuntu deb安装包基于18.04版本编译,可在ubuntu20、ubuntu22上安装使用 已安装 njet 的 ubuntu , 升级njet 包: sudo systemctl stop njet sudo apt-get update sudo apt install --only-upgrade njet **docker方式运行** --- 可使用如下命令启动运行: docker run -d --rm --privileged tmlake/njet:3.0.1 详细运行方法参考: https://njet.org.cn/cases/njet-docker/
Last committed message:
add 空文件夹
v3.0.0
7f4f731
2024-06-27 19:31
Compare
v3.0.0
chenluboTM
**新功能** --- - 动态证书吊销列表更新 - http2mqtt 消息代理 - http2kafka 消息代理 - 数据消隐(access日志隐藏敏感信息) - 集群动态桥接 - 集群间文件同步 - 大文件上传 - 集群配置跳转 - Ctrl Copilot 中,支持通过Lua 访问主进程定义的shared_dict - API 网关功能 - 支持用户角色维护,OpenAPI导入,授权关系维护,应用部署,后端服务注册,主动健康检查配置,登录及授权校验 - 动态共享内存支持 - 动态配置proxy_pass - 动态配置header - 协议识别 - captcha - SSL库更新到Tongsuo-8.4 **功能优化** --- - 全量配置api,put 方法逻辑优化。 **Bug fix** --- - 解决了动态配置limit后,返回值存在不可见字符的问题。 - 解决了动态新增VS时,添加未监听的端口会产生垃圾数据的问题。 - 解决了配置空的access_by_lua_block后,通过动态api查询时会导致卡死的问题。 - 解决了手动修改upstream 持久化文件可能会导致server数量异常的问题。 - 解决了upstream中,配置ip的server会被解析成域名和ip的问题。 - 解决了njet 向adc 注册模块reload 时报 open file error:/home/limin/conf/register.json 的问题 - 解决了Kv 固定字符串测试,执行put 操作时,get 查询到的auth_basic 值不正确的问题 - 解决了auth_basic:静态配置file 形式,启动njet 后,动态修改为autu use kv 变量前缀,访问server 时,输入正确用户名和密码后,访问失败的问题 - 动态VS,添加未listen的端口,返回添加失败,但是动态查询时,会在server中添加一个空的server - 手动修改upstream持久化配置文件中,添加域名后,未添加resolve字段,可以启动,启动后再POST新server,配置文件中server数量异常 **遗留已知问题** --- - tcp流量劫持基于iptables nat表prerouting添加规则,只针对外部访问(非本机ip)的数据做流量劫持 - HA/MA 配置同步关于命令式api 动态删除location消息同步存在问题 - 应用加速功能,删除location后本地缓存文件没有立马同步清理 - 配置沙箱进程,在NJet 可执行文件热升级时,无法在旧的沙箱进程退出后,再启动新的配置沙箱 - 动态VS,只能在存在的listen 上添加VS ,该功能不能创建listen - 动态VS,不支持zone、 location、ssl_ocsp、ssl_stapling、quic 指令 - 动态VS,不支持动态创建 新的error_log、access_log 文件 - 动态location,不支持zone 指令 - 动态SSL证书添加时必须有初始证书,通过动态VS添加的ssl server,如果未配置初始证书,通过动态ssl接口添加证书会添加失败 - 在动态location上动态更新proxy_pass后,删除location,再次添加location,reload后,恢复为更新后的proxy_pass, 需要重新再次修改。 - 显示location的api,配置if和limit_except时,存在显示异常 **rpm包安装** --- 下面是centos系统使用步骤(其他系统需要从下载链接选择对应合适的安装包) 1. 下载 njet-3.0.0-1.el7.x86_64.rpm安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-3.0.0-1.el7.x86_64.rpm 4. systemctl start njet otel安装包为opentelemetry模块的安装包(如果需要该功能,从下载连接选择对应的安装包安装即可) captcha安装包是动态验证码模块的安装包(如果需要该功能,从下载连接选择对应的安装包安装即可) OpenNJet ubuntu deb安装包基于18.04版本编译,可在ubuntu20、ubuntu22上安装使用 已安装 njet 的 ubuntu , 升级njet 包: sudo systemctl stop njet sudo apt-get update sudo apt install --only-upgrade njet **docker方式运行** --- 可使用如下命令启动运行: docker run -d --rm --privileged tmlake/njet:latest 详细运行方法参考: https://njet.org.cn/cases/njet-docker/
Last committed message:
Merge branch 'chenlubo/feature/dyn_broker_bridge' into dynconf
v2.1.1
ac344e3
2024-05-07 10:25
Compare
v2.1.1
chenluboTM
**Bug fix** --- - njet-helper-dynconf-update-module 默认不编译,该模块会导致privilege进程重启 - 静态文件中已配置access_by_lua_block, 加载动态Lua模块后,location 无法访问问题修复 - debug版本,加载Lua模块 reload 问题修复 **rpm包安装** --- 下面是centos系统使用步骤(其他系统需要从下载链接选择对应合适的安装包) 1. 下载 njet-2.1.1-1.el7.x86_64.rpm安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-2.1.1-1.el7.x86_64.rpm 4. systemctl start njet otel安装包为opentelemetry模块的安装包(如果需要该功能,从下载连接选择对应的安装包安装即可) OpenNJet ubuntu deb安装包基于18.04版本编译,可在ubuntu20、ubuntu22上安装使用 已安装 njet 的 ubuntu , 升级njet 包: sudo systemctl stop njet sudo apt-get update sudo apt install --only-upgrade njet **docker方式运行** --- 可使用如下命令启动运行: docker run -d --rm --privileged tmlake/njet:latest 详细运行方法参考: https://njet.org.cn/cases/njet-docker/
Last committed message:
fix: lua module reload core dump
v2.1.0
49bbb73
2024-03-28 14:38
Compare
v2.1.0
chenluboTM
**新功能** --- - 升级Nginx core到1.25.3,主要更新有:修复已知bug,支持http3功能,TLSv1.3默认支持,优化mp4与gzip功能等 - 升级Openresty core到Version 1.25.3.1 ,主要更新有 - 支持pcre2 - 支持lua_ssl_certificate和 lua_ssl_certificate_key(不支持国密证书) - lua_http模块升级到0.10.26,修复已知bug,增加TLSv1.3默认支持,性能优化 - lua_stream模块升级到0.0.14,修复已知bug,优化性能 - lua-core升级到 v0.1.28 - 控制面api统一入口: 所有控制面的配置接口都统一使用/api作为配置入口 - udp流量劫持(支持ipv4/ipv6) - auth_basic_kv功能:支持通过api接口操作kv 数据库动态设置auth 验证密码 - Stream 指标采集,支持HTML, JSON及Prometheus 格式输出 - Stream 指标采集动态配置, 支持开关及Filter key 设置 - 动态Lua 脚本配置, 支持content_by_lua 及 access_by_lua 脚本内容动态修改 - 动态location,支持使用if 、limit_except 指令 - 动态http map 功能,添加,删除,修改 动态map。 **Bug fix** --- - 解决了增加dyn_loc,返回json 数据不合法的问题 - 解决了vts 配置stream ,connect.active 指标不正确的问题 - 解决了kv store 的 get 多次调用时,返回的长度不对的问题 - 解决了删除嵌套location时,如果子location正在处理请求,删除该location会导致core的问题 - 解决了添加ssl的VS时会产生异常的问题 - 解决了正在处理请求时,添加删除VS会导致内存泄漏的问题 - 解决了API的回显会被截断的问题 - 解决了在VS中配置的ssl证书地址使用变量时,再进行查询修改时会导致异常的问题 - 解决了在location中添加\n会导致core的问题 **遗留已知问题** --- - tcp流量劫持基于iptables nat表prerouting添加规则,只针对外部访问(非本机ip)的数据做流量劫持 - HA/MA 配置同步关于命令式api 动态删除location消息同步存在问题 - 应用加速功能,删除location后本地缓存文件没有立马同步清理 - 配置沙箱进程,在NJet 可执行文件热升级时,无法在旧的沙箱进程退出后,再启动新的配置沙箱 - 动态VS,只能在存在的listen 上添加VS ,该功能不能创建listen - 动态VS,不支持zone、 location、ssl_ocsp、ssl_stapling、quic 指令 - 动态VS,不支持动态创建 新的error_log、access_log 文件 - 动态location,不支持zone 指令 - 动态SSL证书添加时必须有初始证书,通过动态VS添加的ssl server,如果未配置初始证书,通过动态ssl接口添加证书会添加失败 **rpm包安装** --- 下面是centos系统使用步骤(其他系统需要从下载链接选择对应合适的安装包) 1. 下载 njet-2.1.0-1.el7.x86_64.rpm安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-2.1.0-1.el7.x86_64.rpm 4. systemctl start njet otel安装包为opentelemetry模块的安装包(如果需要该功能,从下载连接选择对应的安装包安装即可) OpenNJet ubuntu deb安装包基于18.04版本编译,可在ubuntu20、ubuntu22上安装使用 已安装 njet 的 ubuntu , 升级njet 包: sudo systemctl stop njet sudo apt-get update sudo apt install --only-upgrade njet **docker方式运行** --- 可使用如下命令启动运行: docker run -d --rm --privileged tmlake/njet:latest 详细运行方法参考: https://njet.org.cn/cases/njet-docker/
Last committed message:
Merge branch 'zhaoyg/feature/dyn_http_map' into dynconf
v2.0.1
ca5eaf0
2024-01-15 14:56
Compare
v2.0.1
chenluboTM
**Bug fix** --- - 解决reuseport 引起的access log api 显示listen ip 端口重复的bug - 解决njet启动后,直接访问prometheus 格式的metrics 地址出错的问题 - 解决配置了stream map,多次reload 出现core 的问题 - 解决了vts 配置stream ,connect.active 指标不正确 - 解决了https_cache 模块put 接口add 一个cache 立马del ,产生core 的问题 - telemetry 模块配置 telemetry webserver ,njet -t 报段错误的问题 - telemetry 模块 查询和修改 telemetry 配置core 的问题 **遗留已知问题** --- - tcp流量劫持基于iptables nat表prerouting添加规则,只针对外部访问(非本机ip)的数据做流量劫持 - HA/MA 配置同步关于命令式api 动态删除location消息同步存在问题 - HA/MA 配置同步存在延迟,不能在对应节点启动后立即同步 - 应用加速功能,删除location后本地缓存文件没有立马同步清理 - 配置沙箱进程,在NJet 可执行文件热升级时,无法在旧的沙箱进程退出后,再启动新的配置沙箱 - 动态VS,只能在存在的listen 上添加VS ,该功能不能创建listen - 动态VS,不支持zone、 location、if、ssl_ocsp、ssl_stapling、quic 指令 - 动态VS,不支持动态创建 新的error_log、access_log 文件 - 动态location,不支持zone、if 、limit_except 指令 - 因为lua模块目前不支持pcre2,NJet目前不能用pcre2编译 - 动态SSL证书添加时必须有初始证书,通过动态VS添加的ssl server,如果未配置初始证书,通过动态ssl接口添加证书会添加失败 **rpm包安装** --- 下面是centos系统使用步骤(其他系统需要从下载链接选择对应合适的安装包) 1. 下载 njet-2.0.1-1.el7.x86_64.rpm安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-2.0.1-1.el7.x86_64.rpm 4. systemctl start njet otel安装包为opentelemetry模块的安装包(如果需要该功能,从下载连接选择对应的安装包安装即可) OpenNJet ubuntu deb安装包基于18.04版本编译,可在ubuntu20、ubuntu22上安装使用 已安装 njet 的 ubuntu , 升级njet 包: sudo systemctl stop njet sudo apt-get update sudo apt install --only-upgrade njet **docker方式运行** --- 可使用如下命令启动运行: docker run -d --rm --privileged tmlake/njet:latest 详细运行方法参考: https://njet.org.cn/cases/njet-docker/
Last committed message:
fix sonor
v2.0.0
01973e9
2023-12-29 10:15
Compare
v2.0.0
chenluboTM
**新功能:** --- - ftp 反向代理(被动模式)支持 - 通过SNMP接口输出指标 - tcp流量劫持 - 动态API配置流量劫持 - 应用加速 - ADC设备注册功能 - HA/MA集群配置同步功能 - Stream动态Map设置 - 实现配置沙箱功能 - 集成ModSecurityV3,支持location 动态开启及关闭modsecurity - 动态添加VS 功能 - proxy_ssl_alpn 设置alpn 值 - NJet KIC(详细参考KIC release 说明) **功能增强:** --- - KV模块实现删除接口 - 命令式API在应用变更后持久化全量配置 - proxy_pass 指令支持:域名,ip,unix socket - TCP劫持获取实际目标地址优化,支持通过set 赋值给其他变量。 - 动态location 删除时,有业务时延迟删除。 - 动态location 的变量优化。 - 声明式/命令式API先发给配置沙箱进行校验后再应用到worker中 - CoPilot中可以接收、处理消息 - 配置沙箱在reload时,先停止旧进程再启动新的沙箱 - http3/quic协议中支持RFC8998(TLS1_3_CK_SM4_GCM_SM3算法) - 支持CloudOS操作系统x86_64架构下的编译 **Bug fix** --- - CoPilot:ctrl实现的异步api重复处理请求 - sidecar:在一个后端服务失败后,无法选择后续的server - vts: 配置dump指令导致reload时core - 动态location:删除动态location时,子location中的变量删除不掉,会导致内存泄漏 - 配置慢启动后,上游服务器恢复重启,慢启动未生效 - 多次重复更新动态黑白名单出错 - 动态locaiton中,location body和proxy pass均为空,添加不成功 - ubuntu环境,添加动态location时json不正确后,进行reload,存在内存泄漏 - 在动态VS中,添加动态location时,如果servername需要转义,添加时不成功,提示no find server **遗留已知问题** --- - tcp流量劫持基于iptables nat表prerouting添加规则,只针对外部访问(非本机ip)的数据做流量劫持 - HA/MA 配置同步关于命令式api 动态删除location消息同步存在问题 - HA/MA 配置同步存在延迟,不能在对应节点启动后立即同步 - 应用加速功能,删除location后本地缓存文件没有立马同步清理 - 配置沙箱进程,在NJet 可执行文件热升级时,无法在旧的沙箱进程退出后,再启动新的配置沙箱 - 动态VS,只能在存在的listen 上添加VS ,该功能不能创建listen - 动态VS,不支持zone、 location、if、ssl_ocsp、ssl_stapling、quic 指令 - 动态VS,不支持动态创建 新的error_log、access_log 文件 - 动态location,不支持zone、if 、limit_except 指令 - 因为lua模块目前不支持pcre2,NJet目前不能用pcre2编译 - 动态SSL证书添加时必须有初始证书,通过动态VS添加的ssl server,如果未配置初始证书,通过动态ssl接口添加证书会添加失败 **rpm包安装** --- 下面是centos系统使用步骤(其他系统需要从下载链接选择对应合适的安装包) 1. 下载 njet-2.0.0-1.el7.x86_64.rpm安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-2.0.0-1.el7.x86_64.rpm 4. systemctl start njet otel安装包为opentelemetry模块的安装包(如果需要该功能,从下载连接选择对应的安装包安装即可) OpenNJet ubuntu deb安装包基于18.04版本编译,可在ubuntu20、ubuntu22上安装使用
Last committed message:
Merge branch 'dynconf' into main
v1.2.3
cb02bd9
2023-11-02 16:02
Compare
v1.2.3
chenluboTM
**Bug fix** --- - 修复stream流量劫持功能bug,关于配置njtmesh_dest指令,可能导致stream代理不能正常通信的问题 **rpm包安装** --- 1. 下载 njet-1.2.3-1.el7.x86_64.rpm, njet-otel-1.2.3-1.el7.x86_64.rpm 安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-1.2.3-1.el7.x86_64.rpm 4. sudo yum localinstall ./njet-otel-1.2.3-1.el7.x86_64.rpm 5. systemctl start njet **其他rpm包说明** --- opennjet-1.2.3-1.ocs9.0.x86_64.rpm 对应OpenCloud9 opennjet-1.2.3-1.tl2.x86_64.rpm 对应Tencent Linux Sever 2, opennjet-1.2.3-1.tl3.x86_64.rpm 对应Tencent Linux Server 3
Last committed message:
stream 流量劫持不支持udp,继续做协议识别。
v1.2.2
6e47f9c
2023-10-16 17:20
Compare
v1.2.2
chenluboTM
**新功能:** --- - 基于cpu使用率动态调整worker数量(sysguard_cpu) - Proxy protocol V2协议,支持设置TLV 字段值 **Bug fix** --- - 修复配置主动健康检查后,reload会导致进程core的问题 - 动态Map配置,在worker数大于1及重加载时导致进程core的问题 - Location 多表达式,等号后面无空格解析bug。例如:location ($uri =/reviews/0) - sticky_learn 超时删除,core 的bug - upstream 轮询算法bug修改 - debug日志级别下,app_sticky、cluster_limit_conn、cluster_limit_req三个模块存在core的bug - debug日志级别下,动态location 模块存在core的bug - vts 动态api接口关于动态修改vhost_traffic_status_filter_by_set_key指令不生效的问题 - 动态log模块get接口关于escape字段解析有误的问题 **rpm包安装** --- 1. 下载 njet-1.2.2-1.x86_64.rpm, njet-otel-1.2.2-1.x86_64.rpm 安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-1.2.2-1.x86_64.rpm 4. sudo yum localinstall ./njet-otel-1.2.2-1.x86_64.rpm 5. systemctl start njet
Last committed message:
update src/core/njet.h.
v1.2.1
cb0327c
2023-09-14 10:03
Compare
v1.2.1
chenluboTM
**新功能:** --- - 动态ssl证书支持rsa、ecc、ntls(国密)三种证书 - 动态http map 键值映射关系配置 **增强:** --- - 健康检查去重,对同一个upstream下重复的server只检查一次 - 动态ssl证书功能方案更新,先发送worker0验证,成功后再由其他worker进行更新 - Upstream api schema 改造。 - slow_start 慢启动功能改造。 **Bug fix** --- - 修复json schema分配未初始化问题 - Vts 权重显示bug - Sticky Learn 会话保持,超时删除bug **rpm包安装** --- 1. 下载 njet-1.2.1-1.x86_64.rpm, njet-otel-1.2.1-1.x86_64.rpm 安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-1.2.1-1.x86_64.rpm 4. sudo yum localinstall ./njet-otel-1.2.1-1.x86_64.rpm 5. systemctl start njet
Last committed message:
feat dynmap and dyn ecc cert, some bug hotfix
v1.2.0
614054d
2023-08-28 10:37
Compare
v1.2.0
chenluboTM
**新功能:** --- - 故障注入 支持延迟故障注入、状态码故障注入、延迟和状态码故障注入同时设置 - api动态故障注入 能够通过api接口动态的设置故障注入 - 支持http3/quic协议 - 提供http3测试工具,可在Gitee(https://gitee.com/njet-rd/http3-tools)下载 **增强:** --- - Json与结构体转换采用 Json schema,能够增强代码健壮性 - 动态ssl证书幂等性支持,多次动态添加相同的ssl证书,会提示证书重复错误 - 控制面API接口ACL控制 - 声明式API全量配置持久化 - 支持OpenEuler操作系统aarch64及x86_64架构下的编译 **Bug fix** --- - 解决upstream server 异常,选择下一个server时,转发消息丢失body 的bug。 - 解决了server中同时配置127.0.0.1和0.0.0.0时,不能对127.0.0.1和0.0.0.0中任意添加动态location的问题。 - 解决了动态模块部分添加成功时,打印多余日志的问题。 - copilot reload 造成的,channel 报recvmsg returned invalid ancillary 的问题。 - split_clients_2后端比例填写100和0时, sample 函数的处理逻辑问题。 **遗留已知问题:** --- - 动态ssl证书功能动态添加多个证书,reload后重新动态加载顺序不一致问题 - 动态ssl证书功能只支持配置文件中非变量证书(证书路径存在变量)的情况 - split clients 模块边界条件(后端server配置比例小于100%, 中间配置*,不配置后端server比例)时, 进行动态更新时,提示的错误信息有问题 **rpm包安装** --- 1. 下载 njet-1.2.0-1.x86_64.rpm, njet-otel-1.2.0-1.x86_64.rpm 安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-1.2.0-1.x86_64.rpm 4. sudo yum localinstall ./njet-otel-1.2.0-1.x86_64.rpm 5. systemctl start njet
Last committed message:
update README.md.
release_v1.1.2
55ffbb8
2023-07-24 15:11
Compare
v1.1.2
chenluboTM
**增强:** --- - 增加VTS新指标,包括1)上游服务器timeout次数统计;2)反向代理转发请求前延迟时间统计,按50%,99%,99.9%,99.99%,99.999%这5个百分位进行统计; - helper api 调用动态接口默认采用短连接。 **Bug fix** --- - 修复重启时持久化消息的接收顺序问题,动态location 将先于其它动态模块接收到消息。 - 修复sendmsg模块造成的内存泄漏问题。 - 修复通过动态location新增 limit_rate,再通过动态limit修改limit_rate。产生的core问题 - 修复location变量条件判断时多出一个右括号")",无法对多出的右括号进行处理的问题 - 修复doc模块swagger页面多次执行会导致卡死的问题。 - 使用相同的 prefix, 同时启 会出现 double free 问题 - 修复编译脚本丢失 -lpcre **rpm包安装** --- 1. 下载 njet-1.1.2-1.x86_64.rpm, njet-otel-1.1.2-1.x86_64.rpm 安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-1.1.2-1.x86_64.rpm 4. sudo yum localinstall ./njet-otel-1.1.2-1.x86_64.rpm 5. systemctl start njet
Last committed message:
update README.md.
release_v1.1.1
e02aa21
2023-07-10 17:27
Compare
v1.1.1
chenluboTM
**新功能** --- - 动态ssl证书功能由声明式api改为命令式api - 配额(limit conn、limit rps、limit rate)功能声明式api动态化配置 - 组播gossip构建集群功能; - 基于组播实现app_stickey 会话同步功能 - 基于组播实现limit connection集群连接数限制功能 - 基于组播实现limit rps集群请求数限制功能 - 动态调整worker进程数量 - 提供HA Copilot模块,Njet多个实例间支持VIP的配置 - copilot框架支持helper进程在reload时可以不重启,同时强制要求相关的helper指令在配置文件中要保留 - 国密支持stream **增强:** --- - 健康检查模块添加检查项时添加对proxy_pass直接路由的upstream过滤. - vts性能优化 **Bug fix** --- - 动态accesslog模块,解决了多次配置动态accesslog会导致内存溢出的问题。 - 动态accesslog模块,解决了修改accesslogOn开关导致的coredump问题。 - 修改了配置主动健康检查时,缺少stream模块会导致core的问题。 - 修改了使用错误的方法配置健康检查会导致core的问题。 - 修改了在配置文件中配置错误的健康检查参数后,日志无报错的问题。 - upstream_api模块,解决了state持久化功能stream模块njet重启前state持久化文件中有server,server无法修改的bug - upstream_api模块,解决了新增server时weight默认值为100的bug - dyn_location模块,解决了文件下载时删除对应的location会导致core的问题 - dyn_location模块,解决了表达式方式下location删除功能无法正常使用的问题 - dyn_location模块,解决了表达式方式下location_name完全一致时,启动会导致core的问题 - dyn_location模块,解决了表达式方式无法使用ssl相关功能的问题 - 修复集群模式下,在njet运行中,zone空间达到上限后,产生core问题 - 修复集群模式下,zone name相同的情况下,njet启动成功产生core问题 - 修复集群模式下,njet接收大批量请求,连接不释放,产生core问题 - 修复集群模式下,node 已配置gossip,更新一个节点配置,其他节点配置未全一致时,产生core问题 - 修复集群模式下,配置多zone,产生core问题 - 修复njet某些模块,proxy_pass 配置为ip,解析失败,产生core问题 - 修复动态ssl,入参为空数组时,产生core问题 - 修复动态ssl,错误的入参,每请求一次,crl进程重启一次 - 修复动态telemetry,入参为空数组时,产生core问题 - 修复动态lmit_conn、limit_req, 限制指令配置在http,location继承后,能通过动态API修改了http区域的限制指令 **rpm包安装** --- 1. 下载 njet-1.1.1-1.x86_64.rpm, njet-otel-1.1.1-1.x86_64.rpm 安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-1.1.1-1.x86_64.rpm 4. sudo yum localinstall ./njet-otel-1.1.1-1.x86_64.rpm 5. systemctl start njet
Last committed message:
update README.md.
release_v1.1
d3d0056
2023-05-24 11:16
Compare
v1.1
chenluboTM
**新功能** --- - 主动健康检查模块:支持健康检查状态持久化; - 主动健康检查模块:支持上线前的强制检查; - 轮询负载均衡算法优化:支持慢启动,把流量逐渐发送给新上线的server; - hash, random算法优化,支持成员的动态添加、删除、update; - 动态配置 web server模块的telemetry开关。 - location 多表达式支持,支持与,或,非,以及混合组合 **增强:** --- 定义新的V2 版本动态配置API ,动态配置在应用变更失败时有详细的错误返回,对不支持的动态配置项返回说明: - 动态日志配置应用config V2接口; - 动态ssl证书支持congfig V2接口; - telemetry proxy & webserver 支持config V2接口; - 按比例分流模块支持新的config V2接口; - 动态黑白名单支持新的config V2接口; - doc/swagger接口统一升级为V2; - swagger页面增加 telemetry webserver模块的api yaml; - 基础SSL向铜锁迁移,以满足国密认证需要及后续的HTTP3支持; - HTTP协议国密支持; - 动态ssl证书支持铜锁; - 主动健康检查支持铜锁; - 增强了RSA/EC双证书支持; - 动态日志模块: 动态配置最多可添加16种format; - 基础框架配置简化,无需复杂的broker/message配置文件; - 按比例分流模块(splitclient2)增加动态配置时的业务校验: upstream比例和必须为100%,比例不能为非数值; - 动态location优化:添加,删除location 时,返回成功,或失败以及错误原因; - 动态location优化:添加location 时,先由一个worker进行校验,成功后其它worker再执行; - 动态location接口优化:对接口json属性进行校验。 **Bug fix** --- - 动态日志解决了在设置format时导致worker coredump的问题 - 声明式api 解决了path超过四级导致coredump问题 - 动态accesslog 模块解决了因escape未初始化的导致内存分配失败的问题 - doc_api模块解决ctrl启动慢bug - 动态SSL模块解决输入空json导致的core dump - 动态telemetry proxy & webserver 模块 解决输入空json导致core问题 - 主动健康检查模块解决配置持久化的问题 - 动态location fix: reload 会导致动态添加的location内存泄漏 - vts数据面模块解决了不配置vhost_traffic_status_zone指令时发起API请求返回错误json数据的问题 - vts动态配置模块解决了时变量后紧跟等号(如:$request_uri=)报错的这一类相关问题。 **rpm包安装** --- 1. 下载 njet-1.0.0-1.x86_64.rpm, njet-otel-1.0.0-1.x86_64.rpm 安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-1.0.0-1.x86_64.rpm 4. sudo yum localinstall ./njet-otel-1.0.0-1.x86_64.rpm 5. systemctl start njet
Last committed message:
feat njet1.1 release
release_v1.0
9cff13f
2023-03-29 17:31
Compare
v1.0
chenluboTM
下载release包解压 启动命令: sh start.sh 停止命令: sh stop.sh
Last committed message:
update:remove memory check
Download
To prevent Robot download, Please enter the captcha to continue
Cancel
Download
C
1
https://gitee.com/njet-rd/njet.git
git@gitee.com:njet-rd/njet.git
njet-rd
njet
OpenNJet
Going to Help Center
Search
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
Comment
Repository Report
Back to the top
Login prompt
This operation requires login to the code cloud account. Please log in before operating.
Go to login
No account. Register