Releases: syscc/EmbyPanel
Releases · syscc/EmbyPanel
Release list
v0.2.7
发布时间:2026-08-08
新增
- 新增跨服务器用户中心,支持用户列表、创建、删除、密码重置、启用/禁用和访问策略编辑。
- 新增用户策略模板,支持按服务器创建、编辑、应用和删除模板。
- 新增统一的策略字段表单,覆盖媒体权限、设备/目录访问、家长控制、同时播放和播放频率限制。
- 新增前端统一确认/密码输入弹窗、复杂设置弹窗、开关和复选框组件。
- 新增用户、模板和备份管理的领域 controller,以及统一 JSON API、敏感载荷加密和格式化模块。
- 新增后端用户与模板管理 API,并接入 Emby 用户策略、会话和媒体目录数据。
优化
- 将前端单体 controller 中的备份、用户、加密和格式化逻辑拆分为可复用领域模块。
- 统一中英文翻译契约,补充用户中心、策略模板和安全操作文案。
- 服务器标识收敛到
Config::server_label(),避免监控和用户 API 重复实现。 - 备份导入导出、危险操作确认和敏感请求统一复用现有认证、加密和弹窗边界。
修复
- 补齐发布提交中遗漏的前端组件、composable、类型和后端源码,修复 GitHub Actions 在干净 checkout 中无法构建的问题。
- 同步
Cargo.lock与Cargo.toml版本,修复 Docker 的cargo build --release --locked锁文件校验失败。 - 修复用户策略页面重复组装策略字段导致的字段遗漏风险。
验证
cargo checkcd frontend && npx vue-tsc -b --noEmit- GitHub Actions Docker 多架构构建与 GitHub Release 发布成功(run
31244430026)。
v0.2.5
发布时间:2026-08-05
新增
- 服务器配置改为卡片和弹窗编辑,支持添加服务器时直接打开配置窗口,桌面端多服务器双列展示。
- 缓存、STRM URL 映射、内部重定向和连通性巡检配置提供独立开关,开关点击后即时保存,其他配置通过弹窗编辑。
- 记录 302 直链、服务器代理和 Emby 播放路径状态,并改写 STRM 播放信息与播放上报,使 Emby 后台能够按直接播放展示。
- 增加播放会话封面、客户端管控、服务器健康信息和多服务器监控状态处理。
优化
- 反代监听器按配置差量同步,减少无关服务重启和播放中断。
- 代理 HTTP 客户端复用连接并限制空闲连接数;GET/HEAD 请求跳过无意义的请求体缓冲。
- 复用单次请求已经读取的服务器配置,减少锁获取和配置克隆。
- 客户端管控配置增加带版本号的进程内类型缓存,减少播放请求重复解析 JSON。
- 系统健康信息增加短时缓存,降低重复系统扫描和监控轮询开销。
- 限制认证、播放频率和并发播放状态的内存容量,清理过期状态并改进日志/遥测批量写入。
修复
- 修复 STRM 302 播放状态容易回退为 Emby 直接串流的问题。
- 修复多服务器播放状态、真实 IP、API Key、备份恢复和代理生命周期处理中的边界问题。
- 修复前端服务器配置卡片、弹窗、移动端布局和开关状态同步问题。
验证
cargo fmt -- --checkcargo check --testscd frontend && npx vue-tsc -b --noEmitgit diff --check- 源码模式启动后检查管理端、Vite 页面和反代端口健康状态。
v0.2.4
发布时间:2026-08-01
新增
- 无。
优化
- 统一 STRM URL 映射前端提示和后端测试中的示例地址,使用保留或特殊用途示例域名。
- 公网 IP 判定测试改用 RFC 5737 文档地址,避免依赖真实公网服务 IP。
修复
- 移除配置解析、域名过滤和系统信息改写测试中遗留的真实域名及非保留测试域名,避免项目示例与具体环境产生关联。
验证
cargo fmt --checkcargo checkcargo check --testscd frontend && npx vue-tsc -b --noEmitgit diff --check- 全仓扫描真实域名、公网 IP、机器绝对路径和常见凭据特征。
v0.2.3
发布时间:2026-08-01
新增
- 前端引入 Vue Router、Tailwind CSS 4、Reka UI、shadcn-vue 配置和 Lucide 图标体系,为后续组件化迭代提供统一基础。
- 登录页与登录后页面新增 Canvas 粒子交互背景,支持明暗主题、指针反馈、减少动态效果偏好和高分辨率像素预算。
- 新增中英文界面、日间/暗夜主题切换及偏好持久化,登录前后使用一致的顶部控制组件。
优化
- 将原有单体
App.vue拆分为控制器、路由、页面和通用组件,按页面延迟加载并加入加载失败重试门禁。 - 全面调整桌面、平板和手机端响应式布局,统一透明毛玻璃表面、导航、账户菜单和表单交互。
- 账户设置在宽屏单排、中屏两列、手机单列显示,用户名和密码均为按需修改;服务器总览单服务器自适应,多服务器最多显示两行并支持内部滚动。
- 按当前页面启动差异化轮询,页面隐藏或请求未完成时避免重复刷新,降低无效请求和 Canvas 渲染开销。
修复
- 修复当前密码错误被当作会话过期、旧请求延迟 401 清除新会话、账户保存中退出后仍回写状态,以及密码成功但用户名失败时缺少部分成功提示的问题。
- 修复修改用户名后登录表单仍保留旧用户名、审计请求失败伪装成空记录、页面初始数据失败时仍暴露可编辑默认值、备份恢复后旧请求覆盖新配置,以及日志并发请求乱序覆盖的问题。
- 修复多服务器媒体总览缺少稳定服务器标识、重复服务器 ID 未拒绝,以及旧版 WebView 缺少 Web Crypto、ResizeObserver 或媒体查询新 API 时的兼容问题。
- 修复窄屏按钮、登录卡片、横屏布局和长文本可能溢出或互相遮挡的问题。
验证
cargo fmt --checkcargo checkcd frontend && npx vue-tsc -b --noEmit- Vite 源码开发服务下完成 Playwright 回归:全部路由、明暗主题、中英文、桌面/平板/手机、账户安全、加载重试、备份竞态、服务器滚动、粒子动画与控制台检查。
v0.2.2
发布时间:2026-06-15
新增
- 无。
优化
- 客户端 UA 拦截列表只保留单个记录时间字段,减少创建时间和更新时间并列展示造成的理解成本。
- 客户端 UA 拦截列表改为单行展示关键词、描述、状态、记录时间和操作,长 UA 自动省略并可悬停查看完整内容。
- 客户端 UA 拦截列表新增日期说明,明确记录时间表示首次出现或手动添加时间,后台更新时间不会因同 UA 重复请求而每次刷新。
修复
- 修复移动端客户端 UA 拦截记录被拆成多行卡片后,同一 UA 记录占用过高、关键词下方显示“其它”等客户端分类信息的问题。
验证
cargo fmtcargo checkcd frontend && npx vue-tsc -b --noEmit
v0.2.1
发布时间:2026-06-11
新增
- 新增项目品牌 logo(蓝绿渐变圆角图标,含面板横条与播放三角元素),同时用于登录页、侧边栏和浏览器标签页图标。
优化
- 复制成功提示由文档流内的提示条改为顶部居中的悬浮 toast,带淡入淡出动画,不再撑开页面布局。
- 日志条目改为更紧凑的布局,直链 URL 最多显示 1 行并省略超出部分,单条日志高度下降。
修复
- 修复日志列表只有少量条目时,因 grid 容器拉伸最小高度导致日志框内出现大片空白的问题。
- 播放重定向日志记录完整重定向 URL,便于排查直链问题。
验证
cargo fmtcargo checkcd frontend && npx vue-tsc -b --noEmit
v0.2.0
发布时间:2026-06-09
新增
- 客户端控制新增同用户同时播放限制,默认关闭,可配置允许同时播放数量,超限后按临时屏蔽方式处理。
- 播放频率限制通知新增 IP 归属地信息,并优化内网、局域网 IP 的归属地展示。
- 备份导出改为加密备份,导出需输入至少 4 位备份密码;导入加密备份时需输入密码。
优化
- 服务器配置改为默认折叠展示,单个服务器配置内新增保存入口,支持删除全部服务器后保持空配置。
- 客户端 UA 自动记录统一按 UA 主名称归并显示,版本号和设备/用户名不参与自动匹配展示。
- 拦截日志、反代请求和播放日志筛选文案优化,新增“封禁动作/封禁变更”相关筛选展示。
- 服务器配置页缓存过滤、STRM URL 映射、巡检和超时输入区域改为更紧凑的响应式布局。
- 前端认证 token 改为会话级存储,并清理旧的本地持久化 token。
修复
- 修复删除最后一个服务器并保存后仍恢复旧服务器或触发
internal server error的问题。 - 修复客户端控制自动刷新覆盖未保存设置,导致屏蔽方式自动回到屏蔽 IP 的问题。
- 修复反代真实 IP 头解析对非法 header 值处理不严的问题。
- 修复播放日志直链、代理请求明细、拦截日志和运行日志可能记录带签名直链或 API Key 的问题。
- 修复加密备份导出流程仍返回明文配置的风险。
验证
cargo fmt --checkcargo checkcargo test -- --nocapturecd frontend && npx vue-tsc -b --noEmit
v0.1.9
发布时间:2026-06-06
新增
- 内部重定向解析新增客户端
User-Agent透传,确保 OpenList / 115 直链按真实播放客户端生成。
优化
- 内部重定向从
HEAD跟随改为GET探测第一跳Location,不跟随最终 CDN、不下载媒体内容。 HEAD /videos/.../stream请求也进入 STRM 解析流程,但不计入播放频率限制。
修复
- 修复 115 CDN 直链因生成链接时使用后端默认 UA、播放时使用客户端 UA 导致 403 无法播放的问题。
- 修复内部重定向提前触碰最终 CDN 链接后,客户端再次请求同一链接出现 403 的问题。
验证
cargo fmt --checkcargo checkcargo test internal_redirectcargo test head_video_stream_resolvescd frontend && npx vue-tsc -b --noEmit
v0.1.8
发布时间:2026-06-04
新增
- 将
AGENTS.md纳入版本库,记录源码开发模式、相对路径启动和版本发布提示词。
优化
- 取消
.gitignore对AGENTS.md的忽略,后续可随项目同步维护。
修复
- 修复拦截日志选择“封禁变更”后前端二次过滤导致封禁和解除封禁记录不显示的问题。
验证
cargo fmt --checkcargo checkcd frontend && npx vue-tsc -b --noEmit
v0.1.7
发布时间:2026-05-29
新增
- 客户端 UA 自动记录支持通用
xx/*归并规则。
优化
- 自动记录的
Filmly/2.5.13-340、Filmly/2.9.21-395等 UA 统一显示为Filmly。 - 自动记录中带斜杠后缀的客户端统一按斜杠前名称归并,减少同客户端多版本重复记录。
修复
- 修复
Filmly等带短横线版本后缀的 UA 未被合并、仍按版本单独显示的问题。
验证
cargo fmt --checkcargo checkcargo test client_control::testscd frontend && npx vue-tsc -b --noEmit