Repository navigation
Releases
edt-gateway Release v1.1.4
🚀 edt-gateway (高性能单文件独立网关) v1.1.4
纯 Go 单文件极速独立版,零外部依赖(无需 Node.js / Docker),内存占用仅 ~15MB,原生支持 OpenWrt 软路由与群晖 NAS。
📝 本次更新内容
⚡ 软路由高并发性能跃升、内存全链路复用与守护加固
- 端口冲突严格自检与 Procd 守护协同(根治双实例冲突):
- Web 控制台与 API 服务启动改为同步预检,三大核心服务任一端口(8787/8788/8789)绑定失败立即释放资源并强制退出,杜绝空壳残废进程常驻内存;
- 自动识别 OpenWrt Procd 托管环境,重启时原生由 Procd respawn 平滑接管拉起新进程,消除进程并发竞争导致的假死。
- Web 在线更新零闪存峰值置换:
- Linux/OpenWrt 下将在线更新下载包与备份文件重定向至基于 RAM 的
/tmp内存盘; - 实现跨分区(
/tmp->/overlay)安全置换机制,更新过程对 Flash 闪存实现 0 额外峰值空间占用,彻底解决受限空间下更新失败的问题。
- Linux/OpenWrt 下将在线更新下载包与备份文件重定向至基于 RAM 的
- 全链路 100% 内存池复用:
- 补齐 XHTTP 上行流 32KB 对象池缓冲复用(
io.CopyBuffer),彻底消除流式请求每次分配 32KB 堆内存的开销与 GC 压力。
- 补齐 XHTTP 上行流 32KB 对象池缓冲复用(
- DNS 解析 Singleflight 防并发击穿:
- 引入单飞并发合并机制(In-flight 合并),在缓存过期瞬间对相同域名的并发解析仅发起 1 次 UDP 查询,大幅降低并发查询抖动并消除重复日志刷屏。
- 热路径锁开销合并与延迟格式化:
- 合并后端健康状态更新的连续锁调用,并在锁外异步触发告警通知;
- 优选节点状态记录仅保留高效毫秒时间戳,将高频字符串格式化延迟至 Web UI 请求时按需计算,显著降低代理核心转发 CPU 占用。
- 配置持久化原子写入与备份精简:
config.json改为临时文件写入 + 同步刷盘 + 原子覆盖模式,防止意外断电导致配置损坏变空;- 备份快照精简为保留最新 5 份,进一步减轻 Flash 空间占用。
📦 发布文件
edt-gateway-linux-amd64:适用于 x86 软路由、群晖 NAS、常规 VPS/服务器edt-gateway-linux-arm64:适用于 ARM 架构软路由(NanoPi R4S/R5S、斐讯 N1、树莓派等)*.tar.gz:包含二进制与配置文件模板的压缩包sha256sums.txt:文件 SHA256 完整性校验值
快速运行说明
# 下载并赋权
chmod +x edt-gateway-linux-amd64
# 配合 config.json 后台运行
nohup ./edt-gateway-linux-amd64 -config config.json > app.log 2>&1 &Full Changelog: v1.1.3...v1.1.4
edt-gateway Release v1.1.3
🚀 edt-gateway (高性能单文件独立网关) v1.1.3
纯 Go 单文件极速独立版,零外部依赖(无需 Node.js / Docker),内存占用仅 ~15MB,原生支持 OpenWrt 软路由与群晖 NAS。
📝 本次更新内容
🧹 零磁盘日志占用与开机单实例防重入加固
- 彻底消除磁盘
app.log占用(0 磁盘消耗):- 将 Procd 服务与自重启脚本的输出重定向至
/dev/null,不再在闪存目录(/var/log/或/etc/)反复追加写入日志文件; - 彻底杜绝日志长期运行膨胀占满
/overlay根分区的问题,极大延长路由器 Flash 芯片寿命; - Web 控制台「📜 实时日志」继续基于内存环形缓冲区(固定最新 250 条,仅占 ~300KB RAM)实时呈现,前端体验不受任何影响。
- 将 Procd 服务与自重启脚本的输出重定向至
- 开机启动防多实例重入保护:
- 在服务脚本启动逻辑中加入
killall -q -9 edt-gateway前置安全清理,防止异常退役或孤儿进程占用端口; - 杜绝双进程并发导致的端口绑定冲突(
address already in use)与网关假死,确保每次开机有且仅有单个主进程稳定接管。
- 在服务脚本启动逻辑中加入
📦 发布文件
edt-gateway-linux-amd64:适用于 x86 软路由、群晖 NAS、常规 VPS/服务器edt-gateway-linux-arm64:适用于 ARM 架构软路由(NanoPi R4S/R5S、斐讯 N1、树莓派等)*.tar.gz:包含二进制与配置文件模板的压缩包sha256sums.txt:文件 SHA256 完整性校验值
快速运行说明
# 下载并赋权
chmod +x edt-gateway-linux-amd64
# 配合 config.json 后台运行
nohup ./edt-gateway-linux-amd64 -config config.json > app.log 2>&1 &Full Changelog: v1.1.2...v1.1.3
edt-gateway Release v1.1.2
🚀 edt-gateway (高性能单文件独立网关) v1.1.2
纯 Go 单文件极速独立版,零外部依赖(无需 Node.js / Docker),内存占用仅 ~15MB,原生支持 OpenWrt 软路由与群晖 NAS。
📝 本次更新内容
🚀 核心代理性能与并发连接深度优化
- XHTTP 流式故障转移重试断流彻底修复:
- 握手重试管道引入通道状态锁,在远端上游完成 HTTP 握手前拦截并缓存客户端请求体数据,握手通过后才放行后续流式 Body;
- 彻底修复上游节点不可达或发生故障转移重试时,客户端请求体被过早消费导致连接截断的隐蔽 Bug。
- Transport 资源泄露防范与闲置清理:
- 动态建立的 HTTP Transport 引入 LRU 缓存(上限 64)并显式关闭闲置连接,增加下行写入错误即时断开机制,消除文件描述符 (FD) 与 Goroutine 累积泄露。
- Happy Eyeballs 错峰并发拨号算法:
- 出站纯净拨号器升级为 RFC 6555 / 8305 风格的 Happy Eyeballs 竞速拨号算法(首选与备选 IP 错峰 300ms 试探),防止首个 CDN 优选 IP 丢包导致长超时停顿,首包连接速度大幅提升。
- CleanResolver 增加最大容量保护与过期键批量回收。
- 热点读写分离与高频零开销优化:
health后端健康检查模块改造为读写分离锁(sync.RWMutex),转发热点路径全量使用只读锁(RLock()),消除高 QPS 下的全局锁竞争;prefer优选解析增加快速直通逻辑,对常规未指定prefer=参数的请求直接绕过正则匹配,大幅降低请求链路 CPU 消耗。
- Web UI 与配置修复:
- 修复
/api/config无法将后端列表置空的 Bug,完整支持 MemoryGuard 内存保护配置热保存与重启自愈。
- 修复
- OpenWrt 系统级安装与升级体验升级:
install.sh升级流程改为/tmp内存级备份置换,彻底根治受限 Flash 闪存环境(/overlay空间紧张)下报No space left on device的问题;- 服务脚本内置固件升级(Sysupgrade)自愈逻辑,刷机后重置
/etc/passwd与/etc/group时自动补齐edtgw用户并启动,无需人工重新配置。
📦 发布文件
edt-gateway-linux-amd64:适用于 x86 软路由、群晖 NAS、常规 VPS/服务器edt-gateway-linux-arm64:适用于 ARM 架构软路由(NanoPi R4S/R5S、斐讯 N1、树莓派等)*.tar.gz:包含二进制与配置文件模板的压缩包sha256sums.txt:文件 SHA256 完整性校验值
快速运行说明
# 下载并赋权
chmod +x edt-gateway-linux-amd64
# 配合 config.json 后台运行
nohup ./edt-gateway-linux-amd64 -config config.json > app.log 2>&1 &Full Changelog: v1.1.1...v1.1.2
edt-gateway Release v1.1.1
🚀 edt-gateway (高性能单文件独立网关) v1.1.1
纯 Go 单文件极速独立版,零外部依赖(无需 Node.js / Docker),内存占用仅 ~15MB,原生支持 OpenWrt 软路由与群晖 NAS。
📝 本次更新内容
🛡️ 严格规范“优选物理链路不可达”与“后端业务阻断”的熔断与轮换铁律
- L4 物理建连失败快速短路(不轮换、不熔断):
- 当客户端指定的优选服务器(IP / 域名)发生网络超时、丢包或无法建连时,直接记录优选不可达并退出连接,绝不轮换后端;
- 彻底杜绝在同一个失效优选 IP 上无谓轮换 3 个后端导致客户端白白等待 21 秒的假死体验。
- 严格规范后端熔断触发条件:
- 严禁将优选 IP 丢包归咎于 Worker/Pages 后端;仅在成功建立优选连接且收到后端明确返回阻断状态码(Worker 的
1101/502/429/521/503,Pages 的非101 Switching Protocols)时,才触发后端熔断并由备用节点重放首包。
- 严禁将优选 IP 丢包归咎于 Worker/Pages 后端;仅在成功建立优选连接且收到后端明确返回阻断状态码(Worker 的
- Web UI 客户端优选节点数徽章计数修复:
- 修复前端
renderPreferNodes在存在活跃优选节点时未更新数量徽章的问题,现已实时准确展示节点总数。
- 修复前端
📦 发布文件
edt-gateway-linux-amd64:适用于 x86 软路由、群晖 NAS、常规 VPS/服务器edt-gateway-linux-arm64:适用于 ARM 架构软路由(NanoPi R4S/R5S、斐讯 N1、树莓派等)*.tar.gz:包含二进制与配置文件模板的压缩包sha256sums.txt:文件 SHA256 完整性校验值
快速运行说明
# 下载并赋权
chmod +x edt-gateway-linux-amd64
# 配合 config.json 后台运行
nohup ./edt-gateway-linux-amd64 -config config.json > app.log 2>&1 &Full Changelog: v1.1.0...v1.1.1
edt-gateway Release v1.1.0
🚀 edt-gateway Release v1.1.0
📝 本次更新内容
- 🌐 网关全局出站纯净 DNS 架构升级:
- 彻底废除旧的 Fake-IP 猜测与拦截逻辑,网关自身所有出站(优选直连、延迟探测、在线更新与镜像下载、Cloudflare 配额拉取)域名解析一律直连纯净公网 DNS(默认:
223.5.5.5与119.29.29.29); - 彻底免除同机运行 Mihomo / Clash 透明代理模式下的 Fake-IP 污染与出站丢包超时。
- 彻底废除旧的 Fake-IP 猜测与拦截逻辑,网关自身所有出站(优选直连、延迟探测、在线更新与镜像下载、Cloudflare 配额拉取)域名解析一律直连纯净公网 DNS(默认:
- ⚙️ Web 控制台 DNS 自定义与热生效:
- 在 Web UI「核心配置」中新增「出站纯净 DNS 服务器 (英文逗号分隔)」配置项,支持用户按需自定义多个公共或局域网 DNS;
- 配置保存后即时通过
dialer.SetDNS()热更新生效并刷新缓存,无需重启服务。
- ⚡ 高并发 2 分钟内存 TTL 缓存:
- 优选代理转发场景下同一优选域名 0ms 快速复用公网 IP,消除高频 UDP 解析延迟。
- 🏷️ 历史版本号规范归一:
- 修正历史笔误版本为
v1.0.10,本版本作为重大架构功能版v1.1.0发布。
- 修正历史笔误版本为
📦 发布文件
edt-gateway-linux-amd64:适用于 x86 软路由、群晖 NAS、常规 VPS/服务器edt-gateway-linux-arm64:适用于 ARM 架构软路由(NanoPi R4S/R5S、斐讯 N1、树莓派等)*.tar.gz:包含二进制与配置文件模板的压缩包sha256sums.txt:文件 SHA256 完整性校验值
edt-gateway Release v1.0.10
🚀 edt-gateway Release v1.0.10
📝 本次更新内容
- 🚀 内置三大国内加速镜像支持:
- 在更新面板中内置
ghfast.top、ghproxy.net与gh-proxy.com三大加速镜像通道,并支持用户自定义镜像前缀输入。
- 在更新面板中内置
- 🛡️ 非 root 用户运行与自更新权限治理:
- 实体安装目录规范调整为
/etc/edt-gateway/edt-gateway(属主edtgw:edtgw)并在/usr/bin/edt-gateway建立软链接,彻底杜绝在线自更新时的permission denied报错。
- 实体安装目录规范调整为
- 📦 重构一键安装脚本
install.sh:- 支持全新安装与平滑升级双模部署,自动备份旧配置并实现无感覆盖更新。
- ⚡ Anti-FakeIP 穿透 DNS 纯净拨号初版引入:
- 在更新模块中引入防 Fake-IP 穿透解析,支持国内纯净 DNS 穿透。
📦 发布文件
edt-gateway-linux-amd64:适用于 x86 软路由、群晖 NAS、常规 VPS/服务器edt-gateway-linux-arm64:适用于 ARM 架构软路由(NanoPi R4S/R5S、斐讯 N1、树莓派等)*.tar.gz:包含二进制与配置文件模板的压缩包sha256sums.txt:文件 SHA256 完整性校验值
edt-gateway Release v1.0.9
🚀 edt-gateway (高性能单文件独立网关) v1.0.9
纯 Go 单文件极速独立版,零外部依赖(无需 Node.js / Docker),内存占用仅 ~15MB,原生支持 OpenWrt 软路由与群晖 NAS。
📝 本次更新内容
🎯 活跃优选服务器 (Prefer Nodes) 实施规则 A 稳定排序
- 固定有序展示:
- 默认兜底节点置顶:全局默认兜底优选服务器始终稳坐第 1 位展示;
- 按业务请求量降序:客户端真实请求量(
requestCount)从大到小依次排序,最活跃的节点优先呈现在眼前; - 字典序保底:请求量相同时按目标节点名称字典序固定排列,彻底消除刷新时节点卡片随机跳动的现象。
- 前后端双重稳定排序机制:
- 后端
GetNodesList()采用 Go 原生sort.SliceStable排序; - 前端
renderPreferNodes增加容错排序保护,确保任何场景下视图一致稳定。
- 后端
📦 发布文件
edt-gateway-linux-amd64:适用于 x86 软路由、群晖 NAS、常规 VPS/服务器edt-gateway-linux-arm64:适用于 ARM 架构软路由(NanoPi R4S/R5S、斐讯 N1、树莓派等)*.tar.gz:包含二进制与配置文件模板的压缩包sha256sums.txt:文件 SHA256 完整性校验值
快速运行说明
# 下载并赋权
chmod +x edt-gateway-linux-amd64
# 配合 config.json 后台运行
nohup ./edt-gateway-linux-amd64 -config config.json > app.log 2>&1 &Full Changelog: v1.0.8...v1.0.9
edt-gateway Release v1.0.8
🚀 edt-gateway (高性能单文件独立网关) v1.0.8
纯 Go 单文件极速独立版,零外部依赖(无需 Node.js / Docker),内存占用仅 ~15MB,原生支持 OpenWrt 软路由与群晖 NAS。
📝 本次更新内容
🚀 新增实时下载/上传速率监控与累计数据传输总量看板
- 全链路字节级流量统计引擎 (
pkg/traffic):- 在 WebSocket(Pages / 8787 端口)双向管道与 HTTP/2+HTTP/3(Worker / 8788 端口)流式转发管道中挂载零损耗原子计数器(
sync/atomic),精准拦截每一个实际传输的数据字节。 - 内置 1 秒级滑动时间窗口平滑采样器,高精度计算当前瞬时下行带宽(Download Bps)与上行带宽(Upload Bps)。
- 在 WebSocket(Pages / 8787 端口)双向管道与 HTTP/2+HTTP/3(Worker / 8788 端口)流式转发管道中挂载零损耗原子计数器(
- Web UI 首页卡片扩充(方案 B 并排 6 列指标卡片):
- 新增 🔻 实时下载速率 卡片:展示当前下行网速(如
15.8 MB/s、860 KB/s)与本次启动以来的累计总下载量(如2.45 GB),并在有数据传输时点亮动态高亮微标。 - 新增 🔺 实时上传速率 卡片:展示当前上行网速(如
1.2 MB/s、45 KB/s)与本次启动以来的累计总上传量(如186.4 MB)。
- 新增 🔻 实时下载速率 卡片:展示当前下行网速(如
- 控制台灵敏度调优:
- 优化前端状态轮询时间间隔至 2 秒,带来顺滑敏捷的实时网速仪表盘刷新体验。
📦 发布文件
edt-gateway-linux-amd64:适用于 x86 软路由、群晖 NAS、常规 VPS/服务器edt-gateway-linux-arm64:适用于 ARM 架构软路由(NanoPi R4S/R5S、斐讯 N1、树莓派等)*.tar.gz:包含二进制与配置文件模板的压缩包sha256sums.txt:文件 SHA256 完整性校验值
快速运行说明
# 下载并赋权
chmod +x edt-gateway-linux-amd64
# 配合 config.json 后台运行
nohup ./edt-gateway-linux-amd64 -config config.json > app.log 2>&1 &Full Changelog: v1.0.7...v1.0.8
edt-gateway Release v1.0.7
🚀 edt-gateway (高性能单文件独立网关) v1.0.7
纯 Go 单文件极速独立版,零外部依赖(无需 Node.js / Docker),内存占用仅 ~15MB,原生支持 OpenWrt 软路由与群晖 NAS。
📝 本次更新内容
🐞 修复客户端活跃优选服务器 (Prefer Nodes) 请求量未计数与来源客户端统计缺失问题
- 修复请求计数与来源客户端统计:
PreferNode模型补充requestCount与clients字段,彻底解决前端控制台始终展示为 0 次的问题。- 在 WebSocket (
ws.go) 与 HTTP/2+HTTP/3 (xhttp.go) 转发管道中,精准拦截首个请求入站时刻,并提取真实客户端 IP(自动去除端口),自增请求计数并去重记录至最近活跃客户端列表。
- 解耦业务请求与节点健康测速:
- 测速探活 (
pingSinglePreferNode/pingAllPreferNodes) 改调专用RecordPing方法,仅刷新往返延迟与节点连通状态,杜绝测速行为虚增业务请求计数。 - 设为默认兜底 (
SetDefaultTarget) 独立维护默认状态,不触发业务请求累加。
- 测速探活 (
- 控制台体验优化:
- 前端控制台多重容错解析请求总数,微调空客户端时的显示文案,提升可观测性。
📦 发布文件
edt-gateway-linux-amd64:适用于 x86 软路由、群晖 NAS、常规 VPS/服务器edt-gateway-linux-arm64:适用于 ARM 架构软路由(NanoPi R4S/R5S、斐讯 N1、树莓派等)*.tar.gz:包含二进制与配置文件模板的压缩包sha256sums.txt:文件 SHA256 完整性校验值
快速运行说明
# 下载并赋权
chmod +x edt-gateway-linux-amd64
# 配合 config.json 后台运行
nohup ./edt-gateway-linux-amd64 -config config.json > app.log 2>&1 &Full Changelog: v1.0.6...v1.0.7
edt-gateway Release v1.0.6
🚀 edt-gateway (高性能单文件独立网关) v1.0.6
纯 Go 单文件极速独立版,零外部依赖(无需 Node.js / Docker),内存占用仅 ~15MB,原生支持 OpenWrt 软路由与群晖 NAS。
📝 本次更新内容
📦 编译与发布产物全面更名为 edt-gateway 并实现双向平滑兼容
- 产物命名规范化:
- Linux AMD64 二进制:
edt-gateway-linux-amd64 - Linux ARM64 二进制:
edt-gateway-linux-arm64 - 压缩归档包同步更名为
edt-gateway-linux-*.tar.gz
- Linux AMD64 二进制:
- 双向平滑自动更新兼容机制:
- 更新匹配引擎 (
matchAsset) 首选匹配新规范edt-gateway-{os}-{arch},同时无缝兼容历史版本edgetunnel-lb-{os}-{arch}。 - 老版本已运行网关的宽松匹配逻辑可直接识别并下载新版
edt-gateway产物,覆盖当前运行的可执行文件,实现零感知无损跨版本平滑升级。
- 更新匹配引擎 (
- 文档与自动化流水线同步:
- GitHub Actions 流水线、交叉编译脚本
build.ps1、快速运行指南及配置说明全部同步更新。
- GitHub Actions 流水线、交叉编译脚本
📦 发布文件
edt-gateway-linux-amd64:适用于 x86 软路由、群晖 NAS、常规 VPS/服务器edt-gateway-linux-arm64:适用于 ARM 架构软路由(NanoPi R4S/R5S、斐讯 N1、树莓派等)*.tar.gz:包含二进制与配置文件模板的压缩包sha256sums.txt:文件 SHA256 完整性校验值
快速运行说明
# 下载并赋权
chmod +x edt-gateway-linux-amd64
# 配合 config.json 后台运行
nohup ./edt-gateway-linux-amd64 -config config.json > app.log 2>&1 &Full Changelog: v1.0.5...v1.0.6