Releases: TeaOSLab/EdgeAdmin
Releases · TeaOSLab/EdgeAdmin
v1.2.7
GoEdge v1.2.7开源版本主要优化缓存、WAF设置。
EdgeAdmin - 管理系统
- 自定义页面
- 修复自定义页面可能无法保存的问题
- 临时关闭页面内容默认类型从url改为html
- 缓存
- 缓存条件增加是否允许异步读取源站选项
- 将“分片”改为“分段”,将“分区”和“区间”改为“分片”
- 缓存条件增加“强制Range回源选项”
- 缓存策略增加预热超时时间设置(默认20分钟)
- 缓存策略增加“缓存磁盘最小空余空间”选项
- 如果用户设置的可缓存最大尺寸超出缓存策略设置,则提示用户
- 缓存条件默认最大值设置从32MB改为128MB
- 可以在缓存设置中搜索缓存条件
- 集群设置 -- 缓存策略 可以直接点击修改,以往是调到策略详情页
- 优化缓存策略--“清理“功能,增加操作原因选项
- WAF
- WAF策略增加“最多检查内容尺寸“选项
- 将默认的最多检查内容尺寸从1MB改为512K
- WAF策略中的地区/省份封禁也支持自定义提示HTML
- WAF策略可以自定义整体默认的区域/省份封禁提示
- 优化WAF规则设置页面
- WAF增加通配符匹配/通配符不匹配操作符
- 静态分发
- 静态分发增加例外URL、限制URL、排除隐藏文件等选项
- 当网站所在集群没有指定根域名时,增加提示和设置链接
- 节点安装界面显示SSH地址,方便用户校对
- 修复系统服务相关代码可能不执行的问题
- 启动时自动创建相关软链接,启动后,可以使用在系统上的其他地方使用
edge-admin
命令 - 节点详情中显示磁盘预估写入速度
- 将
api.yaml
配置文件改为api_admin.yaml
EdgeAPI - API节点
- 修复默认WAF策略模板中分组不能默认关闭的问题
- 域名解析任务增加自动失败重试,在同步任务失败后,会连续重新尝试3次
- 启动时自动创建相关软链接,启动后,可以使用在系统上的其他地方使用
edge-api
命令 - 使用最新的
protoc-gen-go
和protoc-gen-go-grpc
插件,如果在你的环境下编译不通过,你需要更新这两个插件
EdgeNode - 边缘节点
- 缓存
- 使用新的方法控制缓存并发写入线程数,有效控制系统负载
- 优化高速硬盘下的缓存性能
- 在写入缓存数据时自动分多次写入“大”的文件内容,防止阻塞
- 优化数据统计,现在缓存流量统计更加精确
- 调整空闲时间清理缓存算法,批量清除缓存时间点分配更合理
- 修复缓存磁盘总体统计时同分区重复统计的问题
- 优化清理缓存策略所有缓存功能
- WAF
- 优化WAF文件上传处理
- 地区/省份封禁提示中支持变量
- 重新支持低版本HTTP(低于HTTP/1.0)读取分段内容
- 自定义页面消息默认
Content-Type
设置为text/html; charset=utf-8
- 修复HTTP协议下
PROXY Protocol
只能传递第一个IP的问题 - 修复每个小时都自动清除所有源站连接池的问题
- 增加节点卸载命令
edge-node uninstall
- 使用
edge-node start
启动时先检查API配置,如果检查不通过,直接提示错误,而无需再查看run.log
- 启动时自动创建相关软链接,启动后,可以使用在系统上的其他地方使用
edge-node
命令 - 将
api.yaml
配置文件改为api_node.yaml
- 将
cluster.yaml
配置文件改为api_cluster.yaml
EdgeCommon - 通用
- 将一些比较耗时的WAF规则分组设为默认不开启
v1.2.5
v1.2.4
v1.2.3
- 边缘节点:调整TCP连接的Linger设置,避免因客户端关闭连接而丢弃数据
- 边缘节点:缓存条件一些无法匹配的情况在X-Cache中也增加详情,方便用户调试
- 管理系统:自动安装的mysql版本从8.0改为8.1
- 管理系统:默认自动检查版本更新
- 管理系统:优化缓存策略相关界面:隐藏sendfile等高级功能,避免对用户使用造成困扰
- API节点:优化IP名单使用IP搜索查询速度
v1.2.2
v1.2.1
GoEdge v1.2.1开源版本主要支持通过HTTP/2访问源站、优化WAF区域和省份封禁。
EdgeAdmin - 管理系统
- 源站支持HTTP/2,如果源站地址是HTTPS协议,就可以在更多选项中选择“支持HTTP/2”
- 优化迁移后确认表单的文字提示,并在确认后,优化API地址的保存方式
- 增加部分数据清理周期设置,可以在“系统设置”菜单 -- “高级设置”菜单 -- “数据库” -- “自动清理设置” -- “更多设置”中设置一些数据统计的保存天数
- 优化WAF区域/省份封禁:增加仅允许、增加中国港澳台、内地等特殊区域,并可以设置提示内容
- 出站规则集中WAF跳转到下一个规则分组可以选择出站规则分组
- 增加清空节点同步任务功能
- 增加清空DNS同步任务功能
- “集群设置 -- 网站设置”增加“允许记录访问日志”选项,用来快捷设置整个集群下的网站是否记录访问日志
- 限制自定义页面最大长度不能超过32K
- 优化自定义页面设置,页面URL不再支持填写本地文件
- 优化硬盘空间不足的提示,增加清理访问日志链接和设置binlog文档链接
- 网站列表增加QPS和攻击QPS信息
- 缓存策略移除“容纳Key数量”选项
EdgeAPI - API节点
- 优化集群列表性能
- 创建Web配置时自动设置访客IP获取方式为“直接获取”
- 修复自动生成的用户没有绑定集群、用户名不规范的问题
- 初始化时修改默认生成的用户名,并将用户自动关联到默认集群
- 重写规则API支持用户操作
- 优化本地mysql服务自动启动逻辑,现在会自动从多处位置查找本地数据库
- 远程安装边缘节点时可以覆盖运行中的节点可执行文件
- 修复查询网站日流量统计时可能不兼容MySQL8的问题
EdgeNode - 边缘节点
- 尝试根据源站端口号自动纠正源站地址中的协议,避免小白用户无法区分HTTP和HTTPS
- 修复停止节点时无法正确保存带宽数据到本地文件的Bug
- 修复因外界PATH环境变量被破坏而无法找到可执行文件的问题
- 优化SSE处理,自动对推送流进行优化超时设置
- 缓存占用空间统计改成统计缓存目录所在文件系统的占用空间
- 减少缓存索引数据库查询次数,提升索引性能
-
- 修复清理内存缓存内容后无法写入新缓存的问题(一直提示the file is writing)
EdgeCommon - 通用
- 添加多语言最基础代码
- 初始化访客IP配置时去除首尾可能的空格
v1.2.0
GoEdge v1.2.0开源版本主要优化缓存条件设置、修复Bug。
EdgeAdmin - 管理系统
- 允许在集群设置 -- “网站设置” 中设置节点IP访问显示的内容
- 缓存条件类型支持“全站”,选中后自动缓存全站内容
- 缓存条件类型增加“URL通配符”,现在可以使用类似于
/html/*
、*.html
这样的规则来指定缓存URL - 缓存条件增加"强制返回区间内容"选项,默认不启用,以防止有些客户端不支持
206 Partial Content
- 修复IP列表无法点击单个IP后搜索图标进行搜索的问题
- 迁移后API地址确认页面提示更详细的API节点配置错误
- 增加显示版本升级详情,并可以自动下载升级版本,也可以忽略某个版本
EdgeAPI - API节点
- 修复节点IP为IPv6时无法健康检查的问题
- 修复调用API时因serverId传入0而可能删除WAF策略的问题
- 修复
/etc/resolv.conf
文件后不需要重启进程即可自动生效 - 已经停用的节点不再提示需要升级,也不计算在离线节点里
- 增加简化版的创建HTTP网站和TCP网站的API
EdgeNode - 边缘节点
- 缓存写入Header时忽略
Strict-Transport-Security
和Alt-Svc
- 修复User-Agent为空时,使用了默认的
Go-http-client/1.1
的问题 - WAF在输出内容时也加入自定义的响应报头
- 连接列表增加udp支持(
edge-node conns
) - 上传日志时检查节点ID是否为0
- 同时设置Websocket允许来源域和防盗链时,以Websocket设置为优先
- 尝试根据端口号自动纠正源站地址中的scheme
- 默认不启用网站全局设置中的性能优化设置
文档
- 官网API列表可以通过
/ServerService/createServer
这样的关键词进行搜索 - 创建网站等API补充大量注释
v1.1.0
GoEdge v1.1.0开源版本主要优化一些细节、修复Bug。
EdgeAdmin - 管理系统
- 防盗链增加”同时检查Origin选项“,并默认在检查Referer之外自动检查Origin Header
- HTTP Header - CORS跨域设置增加多个选项,包括请求方法列表、预检缓存时间等
- HTTP Header中支持设置非标Header,以便更好地支持非标准的Header,比如
hello_world
- WAF国家/地区封禁、省份封禁增加例外URL、限制URL,并在触发时增加更加精准的提示文字
- WAF正则表达式填写多行时提示用户需要转换成竖杠(|)符号
- WAF增加“跳转”动作
- 创建节点表单显示剩余节点数配额
- 集群列表页也增加“创建节点”链接,方便更快速地创建节点
- 手动执行健康检查时提示用户当前集群尚未部署网站
- 非超级用户不提示弱密码管理员
- 登录管理系统时,如果管理系统前端有反向代理,则不要自动从HTTP跳转到HTTPS
- 数据库手动清理页面增加按表名和按占用空间排序
EdgeAPI - API节点
- 提升集群健康检查执行性能
- 优化创建缓存任务时域名检查速度
ACMETaskService.FindEnabledACMETask()
返回信息中增加关联的证书信息- 限制免费版本支持的最大节点数为100个
EdgeNode - 边缘节点
- 内存缓存增加容量、提升GC速度,防止因为数据量问题无法实现CC统计
- CORS跨站默认允许的请求方法增加PATCH
${header.NAME}
变量中的NAME可以时非标准格式${response.header.NAME}
变量中的NAME可以是非标准格式- URL跳转跳转前URL支持查询参数
- 网站在开启HTTPS但未绑定证书时不再自动匹配证书
- 修复UserAgent分析可能产生的死锁,此问题导致商业版世界地图无法显示数据,或者其他相关使用UserAgent分析的地方产生阻塞
- 修复特定WAF正则表达式分析过慢的问题
v1.0.4
GoEdge v1.0.4开源版本主要优化一些细节。
EdgeAdmin - 管理系统
- “网站服务”改为“网站”、“网站列表”
- SSL证书:
- 选择证书时,如果证书列表为空,则提示可以搜索未指定用户证书
- 证书列表可以使用用户筛选
- 证书申请任务可以使用用户筛选
- 申请ACME证书时可以指定平台用户
- SESSION读取失败时不强制重新登录
- 节点列表页CPU、内存使用比例增加百分号
- 安全设置增加“检查客户端指纹"和"检查客户端区域"选项,取消默认的检查客户端指纹
- 登录状态下检查与上次登录区域是否一致,以提升安全性
- 节点列表负载数据如果是0,则显示0.00,以往版本是不显示
- 为集群选择DNS域名时自动排序并不显示已下线域名
- 优化滚动条在Firefox上的显示
- 远程升级API节点时自动上传边缘节点安装文件
EdgeAPI - API节点
- 初始化安装时创建默认用户
- 优化可用内存检查
- 修复一处访问日志可能无法正确获得对应日期的问题
- IP库查询IP时提供更多信息
- 修复只有一个泛域名时无法查询匹配证书的问题
- 修复在节点列表中不能同时使用关键词和排序的问题
- 优化edgeIPItems索引
- DNSPod支持自定义线路分组
EdgeNode - 边缘节点
- 优化IP名单同步速度,大幅缩短初次下载时的时间
- 环路(127.0.0.1)请求也统计带宽,避免有些使用了本地反向代理的网站无法看到统计
- 优化请求统计,增加数据上传的可能性
- 优化可用内存检查
v1.0.0
GoEdge v1.0.0开源版本主要大幅优化攻击拦截功能、更新免费版IP库、批量上传SSL证书。
EdgeAdmin - 管理系统
- 网站服务
- 优化创建网站服务界面:简化界面,减少必填项
- 当HTTP和HTTPS端口冲突时提示用户;避免用户同时在HTTP和HTTPS设置中使用同样的端口
- 集群服务设置增加“支持低版本HTTP”选项,可以选择不支持HTTP/1.0及以下版本的HTTP协议
- 缓存
- 修复在未初始化缓存设置时添加缓存条件产生的panic错误,但此错误不会影响系统正常运行
- 访问日志
- 访问日志数据库节点详情中密码使用星号(*)代替,以提升安全性
- SSL证书
- SSL证书内容输入框支持拖动文件上传
- SSL证书支持批量上传,此功能可以在”证书管理“中找到
- 在创建服务和修改服务设置时自动根据填写的域名匹配对应的证书
- 创建服务和修改服务时也可以批量上传证书
- 选择证书时可以通过用户筛选
- 上传证书时可以选择所属用户
- 边缘节点
- 优化节点列表显示,包括统计项宽度、连接数更加可读、带宽使用两位小数、隐藏和显示更多IP
- 创建节点时自动从节点名称中提取节点IP,比如节点名称可以为“CDN节点192.168.2.100”,则自动提取“192.168.2.100”作为节点默认IP
- 生成节点DNS解析时区分节点是否已安装;如果节点未完成安装,则不会解析,避免在安装过程中,用户通过域名解析访问到未安装的节点
- SSH认证
- 创建SSH认证私钥时校验私钥内容;避免填入错误的私钥
- SSH认证添加私钥时可以从私钥文件中直接拖入内容
- 管理员
- 管理员列表页增加关键词搜索支持
- 管理员列表在有弱密码的管理员下增加弱密码标识,只有超级管理员才能看到此标识
- 首页看板可以提示有需要修改的弱密码管理员
- 日志审计
- 日志审计增加日志级别筛选
- 管理系统
- 如果管理系统同时设置了HTTP和HTTPS端口,那么访问HTTP登录页时自动跳转到HTTPS地址
- 增强Cookie安全性,可以防止Cookie被截取后异地登录
- MySQL
- 自动安装MySQL时自动生成所需的动态库软链接,以适应一些比较新的系统
- 自动安装mysql时调整innodb_sort_buffer_size、innodb_buffer_pool_size参数值
EdgeAPI - API节点
- 数据库
- 使用sql.json取代以往的sql.go作为数据库结构存储文件
- 优化服务列表查询方法,避免因MySQL参数设置而导致查询失败
- 在API节点启动时,如果无法连接到本地MySQL数据库,则尝试启动固定位置上的MySQL,避免有些用户不知道如何启动MySQL
- 域名解析
- 修复无法同时对相同对象执行多次DNS解析任务的问题
- DNS解析发生变化时立即触发同步任务,即让域名解析生效更快
- 配置
- 优化节点配置生成,合并证书数据,减少配置文件尺寸
- 增加RPC消息最大尺寸到512MB,避免大的配置信息无法传输
- 增加
edge-api token --role=[admin|user|api]
命令用来快速查询节点Token,方便用户在忘记EdgeAdmin、EdgeUser、EdgeAPI令牌时令牌时快速查询
- 流量带宽
- 合并部分流量查询和带宽查询,提升查询速度
- 消息提醒
- 修复发送站内消息时将标题作为内容的Bug
- 优化证书到期提醒等相关消息,可以在提示信息中看到域名相关信息
- IP名单
- 修复删除IP名单中IP时状态设置错误的问题,此问题可能会导致节点在从IP名单中删除单个IP时消耗大量的CPU
EdgeNode - 边缘节点
- WAF
- 在GET302和CAPTCHA验证中不记录特殊URL的访问日志,避免生成大量无效的访问日志
- 优化IP名单上传程序,自动去重,并可以批量上传
- 优化WAF黑名单处理,即使WAF不开启也仍然有效,并自动结合本地防火墙进行拦截
- nftables规则使用REJECT代替DROP
- URL跳转没有选择状态码时,对搜索引擎访问默认值设置为301,以提升SEO效果
- 源站返回分片内容时提示访问用户内容不支持低版本HTTP协议
- 增加网站服务加载和删除调试日志,这些日志不会上传到API节点
- 限制单个服务每次上传的域名统计数不超过20个,避免大量的域名统计对API节点数据库造成很大的压力
- 修复在高并发下修改服务配置可能导致服务崩溃(panic)的问题
- 重启服务时自动保存未上传的带宽统计信息,以便在下次启动的时候恢复
- 增加RPC消息最大尺寸到512MB,避免大的配置信息无法传输
- 不提示单个端口Reload信息,防止不重要的日志过多
- 节点启动时自动调整相关内核参数,如net.core.somaxconn、net.ipv4.tcp_fin_timeout等
EdgeCommon - 通用库
- 修复IP查询结果显示时可能不显示县级单位的问题