Skip to content

SrcBox v1.1.15

Choose a tag to compare

@github-actions github-actions released this 11 Oct 14:55
· 71 commits to main since this release

v1.1.15 Release Notes

Release Date: 2026-10-11
Previous Version: v1.1.14


Highlights

本版是 v1.1.14 之后的全部更新汇总,主要有四块:

  1. 全屏重构:不再创建独立的全屏窗口,改为主窗口自身进入全屏,所有浮层(顶栏、底栏、EPG、频道列表)都归属主窗口,全屏下的几何、配色与退出恢复一并修正。
  2. 手机遥控免装 App:同一个端口同时提供 HTTP 与 HTTPS,内置自签证书可直接下载安装,遥控器可作为 PWA 安装到手机主屏幕,全屏打开与原生应用无异。
  3. 加载体验:EPG 改为渐进加载,节目单不再等全部源解析完才出现。
  4. 记忆能力:按 M3U 源记住最后播放的频道、按频道记住上次选择的源,并可在设置里关闭。

1. 全屏重构

变更 说明
主窗口自身全屏 去掉独立的 FullscreenWindow,全屏由主窗口进入;浮层窗口的 Owner 指向主窗口,层级与生命周期统一
退出恢复 退出全屏后恢复进入前的窗口几何(含"全屏中直接退出程序"),标题栏按钮保持隐藏,多屏窗口样式还原
静态标题栏 全屏下不再残留静态标题栏(此前靠主窗口 Hide() 掩盖,单窗口化后暴露成"全屏出现两个顶栏")
浮窗尺寸 全屏下的 EPG 与频道列表浮窗改为占可用高度 72% 并上下居中,左右各留 16px;面板内容宽度仍为 320 / 380
深浅色一致 浅色主题进入全屏后,顶栏、底栏、EPG 浮窗、频道列表浮窗统一改用深色配色,与深色全屏完全一致;退出全屏立即恢复浅色,窗口模式不受影响
音量 默认音量改为单位增益 1.0,最大音量设置可把输出提升到 1.0 以上

2. Web 远程控制(手机遥控)

界面与交互

  • 遥控器页面重新设计(拟物 Neumorphism 风格),新增标准遥控盘:方向键、数字键、音量键、换源/静音、全屏,并在页面右上角一键切换到完整界面,选择记录在浏览器本地
  • 快捷控制区恢复时移开关(对应 setTimeshift),按钮样式与文案跟随播放器回传的 status.timeshiftEnabled 同步
  • 节目单的回看按钮改为按频道能力显示:只有节目已播出、且该频道带 catchup-source 或时移 url 时才出现,不再依赖全局时移开关
  • 频道按播放列表的分组顺序连续编号(不随分组重置),标准遥控盘可直接输入频道编号换台
  • 从手机换台时,电视端会显示频道号角标,与遥控器输入的数字对应
  • 四种语言的页面文案全部补齐(中文 / English / 繁體中文 / Русский)

HTTPS 与证书

能力 说明
单端口双协议 同一个端口既接受 http:// 也接受 https://;服务端窥探首个字节(0x16 = TLS 握手)决定是否套用 TLS,无需再配置第二个端口
自动自签证书 首次启用时自动生成根证书与服务器证书,存放于 %LOCALAPPDATA%\SrcBox\webremote-certs;根证书有效期 10 年,服务器证书 397 天并在到期前 30 天自动续签
证书下载 /cert(DER,srcbox-ca.crt)、/cert.pem(srcbox-ca.pem,兼容拒绝 DER 的部分 Android)、/cert.mobileconfig(iOS 描述文件,一键安装)
设置页证书面板 新增证书安装地址、证书状态与到期日、重新生成证书按钮;二维码直接指向 HTTPS 地址(证书不可用时才回退 HTTP)

Android 安装路径:「设置 → 安全 → 加密与凭据 → 安装证书 → CA 证书」;iPhone 安装描述文件后还需在「设置 → 通用 → 关于本机 → 证书信任设置」开启完全信任。

安装到手机主屏幕(PWA)

  • 页面提供 manifest.json、Service Worker(srcbox-remote-v6)、应用图标与 apple-touch-icon,支持 Chrome/Edge「安装应用」与 iOS Safari「添加到主屏幕」
  • 页面内新增安装按钮与全屏按钮(⛶):安全上下文下走浏览器原生安装流程,iOS 给出分享说明,纯 http 下提示先装证书并提供「用 HTTPS 打开」一键跳转
  • 不装证书也可用浏览器菜单「添加到主屏幕」,再点页面右上角全屏按钮,同样没有地址栏

3. 记忆能力与设置

能力 说明
每个 M3U 源记住最后频道 切换回某个已保存的源时,自动恢复到离开时播放的频道
每个频道记住上次的源 同一频道有多个源(多线路)时,下次播放沿用上次选中的线路
记忆开关 播放设置中新增开关,可关闭上述记忆行为
最大音量 最大音量设置可把输出提升到单位增益以上(此前被 1.0 封顶)
遥控器显示项 「显示频道列表 / 显示节目单」开关真正生效(此前保存了但远程页面从不读取);新增节目单条数上限(5–500,默认 50)设置项

4. EPG

  • 全屏打开 EPG 面板时正确加载节目单(此前需要先回窗口模式)
  • 渐进加载:节目单不再等全部源下载解析完毕才出现——加载期间显示本地化的「加载中」提示,每个源解析完成后立即合并发布,先到的源先显示,全部完成后替换为完整节目单;切换源时清理智能匹配缓存,避免旧数据串台

5. 其它改进与修复

  • 新增新版本角标(顶栏显示可更新提示),移除「关于」入口,更新入口统一到设置
  • 修复 Channel.HealthColorBrush(计算型 WPF 画刷属性)进入 JSON 序列化导致 M3UCacheService 缓存静默失败的问题(该属性标记为不序列化)
  • 文档站:新增极光(aurora)动效主题;新增 UI 改造提案文档
  • 文档:四份 web-remote 指南补齐 HTTPS / 证书 / PWA 安装章节,并更新遥控器截图
  • 四种语言的 FAQ、功能介绍、简介、指南索引与路线图页面同步补充 HTTPS 与 PWA 说明,并清理英文站 / 俄文站遗留的中文片段
  • 修正文档中与实现不符的多处描述(不存在的 WebSocket 动作 prevChannel/nextChannel、不存在的"倍速"按钮、Badge 颜色、源健康状态、以及"默认仅允许 localhost 访问"的错误说明——实际监听所有网卡),并把时移开关补回文档

界面截图

标准遥控 · 深色 标准遥控 · 浅色
标准遥控 · 深色 标准遥控 · 浅色
完整界面 · 深色 完整界面 · 浅色
完整界面 · 深色 完整界面 · 浅色

Localization

  • 四种语言各新增 7 个 key(EPG_Loading、5 个 WebRemote 证书相关文案、UI_WebRemote_MaxEpgItems)、修改 4 个 key(远程控制启用项、端口、访问提示、扫码提示),保持四语言 key 集合完全一致。
  • 遥控器页面自身的内嵌文案(含证书安装步骤、PWA 安装说明)亦为四语言。

Known Issues

  • 浅色主题下全屏 EPG 浮窗的最外圈存在 1 个设备像素的浅灰边(约 #AAAAAA),深色主题下为 #707070;面板内部配色已逐像素对齐,该差异仅出现在透明分层窗口边缘,本版未处理。
  • 远程页面不显示播放源健康状态(数据模型中没有该字段,早期更新日志中的相关条目与实现不符)。
  • 菜单构建仍会累积内部菜单项引用(长时间运行后菜单刷新略慢),沿用上一版的记录,本版未改动。
  • 仍有部分 catch { } 未记录上下文。

Download