Releases: syscc/EmbyPanel
Releases · syscc/EmbyPanel
Release list
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
v0.1.6
发布时间:2026-05-28
新增
- 客户端 UA 自动记录支持按客户端类型归并,自动忽略常见版本号后缀。
- UA 版本识别兼容
AndroidTv/2.0.95g、Emby for Apple TV/1.9.8 (2)等格式。
优化
- 自动记录的
Infuse-Direct、VidHub、Emby for Apple TV等客户端不再按版本号生成多条记录。 - 手动添加 UA 拦截保留原始输入,仍支持精确屏蔽指定版本,例如
VidHub/2.2.9。 - 客户端列表搜索仅匹配 UA 记录值,不再匹配设备名、用户名或备注。
- 客户端列表关键字列去除重复副标题,关键字和客户端名相同时只显示一行。
- 客户端列表描述列精简为单行展示,去除重复来源提示。
- IP 归属地显示优化,内网、回环和保留地址统一显示为“内网 IP”。
修复
- 修复自动记录中带版本号的客户端记录过多、同类客户端无法自动合并的问题。
- 修复客户端列表中设备名或用户名参与搜索导致误命中的问题。
- 修复播放频率限制通知中内网地址归属地显示为
IANA / Private-Use等原始字段的问题。
验证
cargo fmtcargo checkcargo test client_control::testscargo test ip_location::testscd frontend && npx vue-tsc -b --noEmit
v0.1.5
发布时间:2026-05-28
新增
- 播放频率限制 Webhook 通知新增 IP 归属地信息,命中封禁时会在 IP 下方显示归属地。
- 拦截日志新增“封禁变更”级别筛选,可同时查看封禁动作和解除封禁记录。
优化
- 日志页类型名称精简为“播放日志 / 拦截日志 / 反代请求 / 运行日志”。
- 播放日志隐藏无差异的级别筛选,避免“全部级别”和“成功”显示相同内容造成误解。
- 运行日志级别筛选仅保留实际会产生的
INFO / WARNING / ERROR。 - 拦截日志级别筛选将
BLOCKED - 已拦截调整为中文“已拦截”。 - 调整日志筛选栏宽度,缩窄日志类型和请求类型下拉框,提升一行展示稳定性。
修复
- 修复拦截日志中封禁动作和解除封禁无法通过级别筛选统一查看的问题。
- 修复拦截日志级别筛选只在前端过滤、后端接口不识别动作级别的问题。
验证
cargo fmtcargo checkcd frontend && npx vue-tsc -b --noEmit
v0.1.4
发布时间:2026-05-27
新增
- 新增本次发布版本记录,版本号从
v0.1.3升级到v0.1.4。
优化
- 优化移动端顶部导航布局,品牌区域、菜单和退出登录按钮在窄屏下分行排布,减少互相挤压。
- 移动端品牌版本文字改为省略显示,避免长版本状态撑开顶部栏。
修复
- 修复手机端前端 UI 中 logo 只显示蓝色
E图标、品牌名称和版本信息被隐藏的问题。 - 修复小屏宽度下退出登录按钮占满整行导致导航区域高度异常的问题。
验证
cargo fmtcargo checkcd frontend && npx vue-tsc -b --noEmit
v0.1.3
发布时间:2026-05-27
新增
- 日志页新增“拦截日志明细”视图,放在播放日志之后,用于查看历史被拦截请求。
- 拦截日志改为独立文件持久化到
data/logs/block.log,单文件最大10MB,最多保留5份轮转文件。 - 拦截日志会记录请求拦截、触发封禁、解除封禁三类事件,并保留服务器、用户、IP、请求、封禁方式、到期时间等信息。
- 拦截日志文件输出增加前端同款单行摘要,并在 IP 后附带 IP 归属信息。
优化
- 日志页“拦截日志明细”支持按封禁动作筛选,封禁和解除封禁不再显示成普通请求。
- 版本检查成功后改为在左侧版本号旁显示“最新 / 有更新”,不再弹出顶部提示条。
- 更新检查参数兼容
true/1/yes/on,避免点击版本号时因force参数解析失败显示“失败”。
验证
cargo fmtcargo checkcd frontend && npx vue-tsc -b --noEmit