Releases: Hydrooxzgen/EnderBridge
Release list
EnderBridge Beta0.4.2
EnderBridge b0.4.2
🚀 新增功能
- WebUI 控制台原生 WebSocket 实时推流:基于 RFC 6455 协议实现全双工长连接,首连自动下发历史日志,支持毫秒级推流、双向发送命令与接收回执;内置 15s 心跳保活与指数退避断线重连,并在不支持时自动降级为 SSE
- 高级配置 JSON 编辑视图与实时语法校验:配置页面新增「高级 JSON」代码级编辑视图,支持表单与原始 JSON 双向映射同步;内置实时防抖语法分析引擎,精确提取错误行号与列号,提供「一键定位跳转至错误行」;支持 Tab 智能缩进、美化格式化与光标行列状态指示
- 依赖安全态势检测与已知 CVE 漏洞告警:内置安全分析引擎(
lib/security_audit.py),实时分析依赖包安装版本并比对已知 CVE 漏洞库(如 Pillow、websockets 等),在「检查更新」界面直观呈现风险等级与升级建议 - Banlist 批量封禁与批量解封:支持多行输入、逗号分隔与 CIDR 子网格式一键批量导入封禁;封禁列表增加表格多选与全选/半选交互,提供底部浮动快捷工具栏实现一键批量解封
- 审计日志多格式导出:支持按当前筛选条件一键将审计日志导出为带有 UTF-8 BOM 的 CSV 格式(防止 Excel 乱码)或 JSON 结构化格式
- Mod 列表实时搜索过滤与分类 Tab:Mod 管理页面新增即时搜索框(匹配名称与文件路径),新增「全部 / 正常运行 / 加载失败」分类药丸 Tab 及动态计数徽章,支持客户端/服务端联动筛选及无匹配一键重置
- 更新安装与本地包上传全流程进度反馈:本地更新包上传接入实时进度条(百分比、传输大小与动态进度);在线更新及版本回滚提供 4 步骤可视化状态机(准备下载 -> 校验备份 -> 覆盖写入 -> 重启探活)
- WebUI 控制台历史命令导航:控制台支持键盘方向键(↑ / ↓)遍历最近 50 条输入历史命令,支持 Esc 键快捷还原未提交草稿
- WebUI 本地备份包回滚管理卡片:在更新页面集成回滚管理卡片与回滚确认 API,支持灾备快速还原
⚡ 体验优化&多语言
- 全量中英双语国际化 (i18n):所有新增功能(审计导出、批量封禁、Mod 过滤、高级 JSON 编辑与校验、WebSocket 状态指示、安全态势检测等)均实现全量双语无缝切换
- 后端配置保存强类型防御:
_api_save_config增加请求体与配置字典类型防御性校验,杜绝非法数据写入破坏配置文件
🐛 Bug 修复
- 更新探活轮询异常:修复更新探活轮询在特定网络异常场景下重试失效或挂起的问题
- 打包脚本鲁棒性:修复
package.py打包过程中的潜在路径检索与归档异常 - 配置文件损坏自愈:修复旧版
config.json格式异常时保存配置可能引发异常崩溃的问题
🧪 测试增强
- 全面扩充自动化回归测试套件(新增审计日志导出、批量封禁、WebSocket 全双工通信、依赖安全态势检测、配置校验等测试),测试用例扩充至 120 项,回归测试通过率保持 100%
EnderBridge Beta0.4.1
EnderBridge b0.4.1
🚀 新增功能
--goto-oobe参数:不清除当前数据,重新进入首次运行配置向导--description参数:查看版本更新说明- 一键添加防火墙排除项
- version_manager 自动迁移配置文件
- banlist 攻击防护:服务器正被攻击提示,并自动封禁(可选 toast 通知)
- banip 封禁时间:新增封禁时间,可自定义时间单位
- 可自定义自动封禁规则
- 降级限制:低于
MINIMIUM_ALLOWED_VERSION的版本不允许降级 - 审计日志完善
- 权限管理页面添加 ban 权限
- 被封禁页面显示解禁时间
- 封禁页面独立文件:从
webui/server.py内嵌 HTML 移出至webui/ban.html
🐛 Bug 修复
- 仅本机访问开关无法关闭
- 无法绑定 0.0.0.0
- Termux 中无法启动
- 无法取消系统保留用户属性
is_banned()方法死锁- banip 可封禁 127.0.0.1:现已禁止封禁本机回环地址
- 无法更改自己密码
- 重置配置后不启动 firstrun(
--reset-all后正常进入向导) - export / update 后模板文件丢失:
config.example.json/permission.example.json/users.example.json随导出包带出,命令行 update 与 WebUI 更新均加白名单放行 - 被封禁 IP 访问时崩溃(
KeyError: ' margin'):CSS 花括号与str.format冲突,改用string.Template
🔒 安全 / 行为变更
- 账户被禁用不再计入密码输入错误总数
🗑️ 移除
- OOBE 登录令牌输入框
- OOBE 高级设置 GitHub Token(管理令牌)输入框
EnderBridge Beta0.4.0
EnderBridge b0.4.0
🚀 新增功能
- WebUI 用户权限系统:基于用户名 + bcrypt 密码的全新鉴权体系,替代旧版令牌鉴权
- 内置 admin / guest 两个系统账户,首次启动终端显示 admin 随机密码
- 三级角色:admin(全权限)、operator(4 项权限)、viewer(2 项权限),支持创建自定义角色
- 8 项细粒度权限:dashboard / config / mods / console / permissions / audit / update / restart
- 每用户权限覆盖:继承角色 / 明确允许 / 明确拒绝,拒绝优先于允许
- 不继承角色模式:开启后完全自定义权限
- Admin 密码验证:非系统管理员编辑 / 删除 / 启用其他用户时需验证内置管理员密码
- 客户端权限自动路由:无权限页面自动跳转至首个可用页面
- 系统保留账户模式 (
--system):可标记用户为「系统保留」,仅内置系统管理员可编辑,内置 admin / guest 不可删除 - 在线玩家列表:WebUI 显示当前连接的客户端玩家列表
- WebUI 日志实时查看器:在 Web 管理界面实时查看服务器日志
- WebUI Mod 热重载按钮:在 Mod 管理页一键重载所有服务端 Mod
- 404 页面:新增 404 页面,风格与 EB 登录页一致
--help/-h帮助信息:显示完整命令行用法、选项和示例--version/-v版本号:快速查看当前版本- 权限批量操作:权限管理页支持一键全选 / 全部继承 / 全部清除
🔒 安全修复
- 权限提升漏洞:非管理员自我编辑时过滤
permissions和no_role_inherit字段,防止提权 - XSS 漏洞:
escapeHtml()完整转义&/</>/'/" - 登录重定向逻辑:修正为任意已登录用户均跳过登录页,防止未授权访问
- 创建用户鉴权:非系统管理员创建用户时强制要求 admin 密码验证
- 系统保留账户编辑按钮:非系统管理员不可编辑系统保留账户
- 会话字段传播:
system字段通过完整鉴权链传递至前端(session → API → sessionStorage)
🐛 Bug 修复
$message终端命令:修复客户端 Mod 无法从终端执行的 bug(缺少terminal_compatible = True)- 访客账户修复:修复访客启用 / 禁用切换异常、密码字段保护(后端阻止 + 前端禁用)
- 登录页重定向:已登录用户访问
/login自动跳转至仪表盘 - 404 路由:API 未知路径返回 JSON 404,页面路由返回 HTML 404 页面
🗑️ 移除
- "Also try ModLoader!" 品牌标识:已从仪表盘侧边栏和
index.html移除 config.example.py:旧版 Python 配置模板已完全移除,仅保留 JSON 格式
注意,升级至该版本后,你将无法降级到b0.3.6及以下版本
EnderBridge Beta0.3.6
EnderBridge b0.3.6
开始使用EBC0.3.6标准 JSON 配置文件
✨ 新增功能
- 命令别名:支持新建便捷的命令别名
- 配置自动迁移:启动时智能检测并迁移配置格式,清理旧文件
- 终端输出美化:自动去除 Minecraft 颜色/格式代码
🔧 代码重构
- 移除所有 Mod 中硬编码的
.add_alias(),统一使用apply_config_aliases()从配置读取 config_loader.py新增ConfigProxy._DEFAULTS兜底,防止配置缺失崩溃version_manager迁移器迁移成功后自动删除源配置文件
📝 变更文件
config.example.py/config.example.json:补全默认别名与配置键lib/config_loader.py:核心配置加载、迁移、兼容层lib/command.py:命令框架、别名注册表、热重载lib/mods.py:Mod 管理、终端执行过滤lib/setup.py:首次运行向导、配置生成补全mod/*.py(12个):移除硬编码别名,统一应用配置别名webui/server.py:API 保存触发热重载、配置读取兼容 JSONwebui/static/js/config.js:别名 UI 交互、默认值填充、Toast 提示main.py:启动流程、终端输出清洗、控制台帮助更新
EnderBridge Beta0.3.5
EnderBridge b0.3.5 Changelog
Added 新增
- 审计日志系统:
- 内存环形缓冲(最近 200 条),记录玩家聊天、命令执行(含成功/失败结果)、连接/断开、终端输入
- WebUI 新增「📋 审计日志」页面(
/audit),支持按类型/玩家名筛选、分页、3 秒自动刷新 - API:
GET /api/audit-logs?sender=&type=&limit=&offset= - 7 个页面侧边栏全部添加入口
Changed 变更
- 权限系统:
PermissionManager.query()改为大小写不敏感匹配(owner/op/user/blocker),Xbox gamertag 大小写不再影响权限判定 - 消息发送统一:
tell()统一使用/me广播,完全移除对游戏 OP 权限的依赖,EB owner/op 无需游戏 OP 即可收到私聊回复 - 审计日志分类:命令类仅记
command(执行后记录→ [OK/FAIL]),普通聊天记chat,不再重复分类 $message仅终端可用:游戏内发送完全静默忽略,终端$message <内容>向全体广播
Fixed 修复
- 双重消息根治:移除
tellraw失败降级say机制,_fire_send_command恢复纯 fire-and-forget - 连接通知去重:同 IP 连接通知去重(MCBE 握手重连),改用
/me发送 - 聊天死循环防护:过滤
say/me产生的系统消息(sender 为Server或*前缀) - 终端
$message无输出:回调改为同步,修复无事件循环下协程不执行问题
EnderBridge Beta0.3.4
EnderBridge v0.3.4
Changed 变更
- 新增$message指令:
- 游戏内发送
$message不再产生任何响应(完全静默),通知改为由服务器管理员在终端发布 - 终端新增
$message <内容>:通过主客户端向全体玩家广播📢 通知,无客户端连接时给出提示 - 终端
$help帮助中补充$message条目 - Message Mod 注册进安装向导与 WebUI Mod 目录(
lib/setup.py、lib/setup.html、webui/static/js/config.js)
- 游戏内发送
EnderBridge Beta0.3.3
EnderBridge Beta0.3.3
🐛 修复:
Xbox Live 登录秒登录 Bug(SHA256→SHA1 缓存键算法修复,设备码正确弹出)
登录新账号不生效(清理临时账号缓存 + 缓存文件重命名 + 自动设为 active)
ID 不一致(从 XSTS 响应提取真实 gamertag,与网页一致)
401 Unauthorized(无 MC 许可账号明确报错 + 支持离线绕过)
offline 开关打不开(移除三处强制 offline = False 覆盖)
前端开关反转为「正版模式 — 需要 Xbox Live」
补丁脚本转义错误导致 npm install 失败(400 根因)
✨ 新增:
Realm 连接模式(待完善)
两个补丁脚本自动化(postinstall 自动执行)
WebUI Xbox 账号管理(登录/移除/active 标识)
⚠️ 已知问题: Realm 未充分测试、无 MC 许可账号只能用离线模式
EnderBridge Beta0.3.2
EnderBridge v0.3.2
优化 / Improvements
修复 main.py 中的 Pylance 类型检查 warning:添加必要的类型守卫、assert 和 # type: ignore 注释,消除 60+ 个静态分析告警
添加 pyrightconfig.json:关闭 Pylance 对 Python 3.13 内建函数的误报诊断
安全 / Security
修复 axios SSRF 漏洞(CVE-2025-27152):通过 overrides 将 axios 从 0.21.4 升级到 1.20.0,消除 cmake-js 传递依赖中的 HIGH 级别 SSRF 风险
感谢 @begininvoke对本项目的安全性漏洞的反馈
Thanks to @begininvoke for reporting the security vulnerability in this project.
EnderBridge Beta0.3.1
EnderBridge v0.3.1
🚀 新功能
假人 Bot(服务器):新增假人 Bot 模组,假人以独立玩家身份连接 MCBE 服务器,出现在 Tab 列表和游戏世界中
Bot 管理界面:在首次运行向导和 WebUI 管理页面中支持启用/禁用 Bot 及配置服务器地址、端口、假人名称等
Bot Shell 命令执行:支持通过 $bot shell 在 MCBE 服务器上执行命令并返回结果
🧹 优化/重构
配置向导代码分离:将 setup.py 中的内联 HTML(~760 行)提取到独立的 setup.html 文件
导出体积优化:导出时排除 node_modules 目录(约 500MB),导出包从 ~520MB 降至几 MB
版本历史分页:版本历史界面现在每 3 个版本显示一页
EnderBridge Beta0.2.2
EnderBridge v0.2.2 — Release Notes
🚀 新功能
localOnly 选项
WebUI 新增 localOnly 配置项(config.webuiConfig.localOnly)
True(默认):仅绑定 127.0.0.1,仅本机可访问
False:绑定 0.0.0.0,局域网内其他设备也可访问 WebUI
非 OP 玩家可用内置命令
游戏内聊天框输入 $help、$status、$list 等内置命令,不再因权限不足而被拒绝
任何权限等级的玩家均可使用这些查询命令
🐛 Bug 修复
解决了 Windows 控制台下 py.exe/PowerShell 等待机制导致的"重启后无法输入、Ctrl+C 无效"问题
终端提示符不显示
📝 其他改进
DESCRIPTION 变量用于 WebUI Release Notes 展示,可直接覆盖 GitHub API 获取的 Release 数据
server.py 的 stop_webui() 现在会清空全局实例引用,支持热重启后重新启动
stdin_loop 异常处理增加 OSError 捕获,避免旧进程残留时打印 traceback
已知问题
热重启时 Mod 会在同一进程内重新加载,如果某个 Mod 的 onDestroy 清理不彻底(如注册了重复定时器),可能产生副作用
WebUI 的 $status 在终端显示 Web 管理端口 读取的是 wsConfig.web_port 而非实际 WebUI 端口,可能存在偏差