Repository navigation
Releases: wangshaojie/LibreTV-App
Release list
静观 TV Windows 免安装版 v2.19.2-desktop.8
静观 TV Windows 免安装版 v2.19.2-desktop.8
Windows 免安装版更名为 静观 TV,与 Android 手机 / TV 通用版同名。2026-10-25 更新下载包中的源配置:现含 9 个点播源、9 个直播源(新增「魔都动漫」「樱花资源」)。本版提供 7z 下载包,并优化了搜索与封面加载的等待体验。Android 手机 / TV 通用版当前为 2.0.14。
下载
| 文件 | 大小 | 说明 |
|---|---|---|
LibreTV-App-v2.19.2-desktop.8-Windows-x64.7z |
约 109 MB | 推荐。7-Zip / LZMA 压缩,体积最小;Windows 11 22H2 以后资源管理器可直接解压 |
LibreTV-App-v2.19.2-desktop.8-Windows-x64.zip |
约 158 MB | 通用格式,任何系统都能解压 |
LibreTV-App-v2.19.2-desktop.8-Source.zip |
约 7 MB | 本版本对应的完整应用源码与构建脚本 |
SHA256SUMS.txt |
— | 下载文件的 SHA-256 校验值 |
两个包内容完全相同(同一套程序文件、同一份随包源配置与数据快照),只是压缩方式不同。
Windows 包内包含完整的程序目录、静观TV.exe、发布者的 LibreTV-Data 数据快照、中文使用说明、更新日志和许可证。数据快照保留源配置、设置与观看记录;浏览器缓存、Cookies、运行日志和锁文件未包含。
使用
完整解压所选压缩包后,打开解压出来的 LibreTV-App 文件夹,双击 静观TV.exe。无需安装 Node.js、Docker 或其他运行环境。
升级用户请先关闭旧版,用新版文件夹里的程序文件覆盖旧文件夹中除 LibreTV-Data 以外的全部内容,保留自己的 LibreTV-Data,不要用随包数据覆盖已有记录。希望从空白配置开始的用户,可在首次运行前将随包数据目录移走备份。
已有 Windows 用户若只想补充最新源,请在源管理的订阅入口添加:
https://raw.githubusercontent.com/wangshaojie/LibreTV-App/main/sources/latest.json
包内另附 LibreTV-Sources.json,供迁移、托管订阅或导入 Android 使用。
本版本
- 搜索更利落:单个点播源的超时上限从 10 秒收紧到 6 秒——实测多数源站 0.6~1.5 秒就有响应,坏源不再拖住整轮搜索。结果区新增「重试 N 个失败源」按钮,只补跑失败的源,已经出来的结果不会消失重来。
- 图片代理加并发闸门与内存缓存:首页一次要拉几十张封面,此前无节制并发转发容易把连接池打满,表现为滚动时掉帧;现在同一时刻在途的图片请求有上限,同一张图也不再重复出网。
- 首页推荐区改为滚近视口才挂载:首屏先把搜索框交到手上,推荐网格的 DOM 与首屏请求都更轻。
- 新增 7z 格式下载包(约 109 MB),比 ZIP(约 158 MB)小约三分之一。Windows 11 22H2 及以后的文件资源管理器原生支持解压 7z;Windows 10 用户或习惯 ZIP 的用户仍可下载 ZIP 包,两者内容完全一致。
- 改为目录分发,启动从约 28 秒降到约 1 秒(2.19.2-desktop.6 起)。上一版是单个 EXE,每次启动都要把约 460 MB 的运行时重新解压到系统临时目录,并被杀毒软件逐个实时扫描,窗口要等近 30 秒才出现;现在解压后直接运行
静观TV.exe,不再重复解压,也不再每次产生一批新文件。功能完全一致,只是程序文件不再压缩进单个 EXE。 - 精简 Electron 的多语言界面包:只保留简体中文、繁体中文和英文,其余 52 个语言包不再随包分发,节省约 45 MB。
- 自动清理浏览器缓存:Chromium 的图片缓存一度把数据目录撑到 370 MB 以上,现在启动后会检查并清理超量的可再生缓存目录,不再无限膨胀;源配置、收藏和观看记录不受影响。
- 新增启动阶段打点日志:
LibreTV-Data/desktop.log中[boot]开头的行记录了各阶段耗时,便于定位启动问题。 - 随包源配置更新为 9 个点播源、9 个直播源(新增「魔都动漫」「樱花资源」两个动漫向点播源)。包内附官方清单副本
LibreTV-Sources.json,可在「设置 → 源管理 → 数据源订阅」手动导入;启动时也会自动合并官方清单。 - 新增:启动时自动获取项目维护的官方片源清单。清单地址由维护者控制,用户只能读取、无法改写。合并规则:新增的源自动补入并默认启用,你手动停用的源保持停用,你自己添加的源不受影响,你删除过的官方源不会被自动加回。清单拉取失败时静默降级,本地配置保持原样,不影响使用。
- 应用更名为 静观 TV:窗口标题、任务栏与开始菜单名称、程序菜单、网页界面和安装包内的 EXE 全部同步更新。
- 数据目录名保持
LibreTV-Data不变:覆盖升级后原有源配置、设置和观看记录继续可用,不需要迁移,也不会丢数据。 - 下载包文件名保持 ASCII,不引入中文 URL 编码问题;包内可直接双击的 EXE 为
静观TV.exe。 - 保留逐跳目标校验,兼容重定向、Range、流式传输和超时中断。
- 本地数据随 EXE 保存,便于备份和迁移。
- 上一版 2.19.2-desktop.2 修复了内置服务没有跟随 Windows 系统代理/PAC、导致部分 M3U 订阅下载失败的问题,本次改动不涉及该逻辑。
- Android 通用版当前为 2.0.14(静观 TV),兼容手机及 Android TV:https://github.com/wangshaojie/LibreTV-App/releases/tag/android-v2.0.14
在线内容需要联网,线路是否可播取决于网络、地区、源站和编码。本构建未做数字签名。
上游与许可
上游:LibreSpark/LibreTV。应用及桌面封装采用 AGPL-3.0-or-later,保留原作者署名,具体条款见源码和安装包中的 LICENSE。
静观 TV Windows 免安装版 v2.19.2-desktop.7
静观 TV Windows 免安装版 v2.19.2-desktop.7
Windows 免安装版更名为 静观 TV,与 Android 手机 / TV 通用版同名。2026-10-25 更新下载包中的源配置:现含 9 个点播源、9 个直播源(新增「魔都动漫」「樱花资源」)。本版新增 7z 下载包,启动从约 28 秒降到约 1 秒。Android 手机 / TV 通用版当前为 2.0.14。
下载
| 文件 | 大小 | 说明 |
|---|---|---|
LibreTV-App-v2.19.2-desktop.7-Windows-x64.7z |
约 109 MB | 推荐。7-Zip / LZMA 压缩,体积最小;Windows 11 22H2 以后资源管理器可直接解压 |
LibreTV-App-v2.19.2-desktop.7-Windows-x64.zip |
约 158 MB | 通用格式,任何系统都能解压 |
LibreTV-App-v2.19.2-desktop.7-Source.zip |
约 7 MB | 本版本对应的完整应用源码与构建脚本 |
SHA256SUMS.txt |
— | 下载文件的 SHA-256 校验值 |
两个包内容完全相同(同一套程序文件、同一份随包源配置与数据快照),只是压缩方式不同。
Windows 包内包含完整的程序目录、静观TV.exe、发布者的 LibreTV-Data 数据快照、中文使用说明、更新日志和许可证。数据快照保留源配置、设置与观看记录;浏览器缓存、Cookies、运行日志和锁文件未包含。
使用
完整解压所选压缩包后,打开解压出来的 LibreTV-App 文件夹,双击 静观TV.exe。无需安装 Node.js、Docker 或其他运行环境。
升级用户请先关闭旧版,用新版文件夹里的程序文件覆盖旧文件夹中除 LibreTV-Data 以外的全部内容,保留自己的 LibreTV-Data,不要用随包数据覆盖已有记录。希望从空白配置开始的用户,可在首次运行前将随包数据目录移走备份。
已有 Windows 用户若只想补充最新源,请在源管理的订阅入口添加:
https://raw.githubusercontent.com/wangshaojie/LibreTV-App/main/sources/latest.json
包内另附 LibreTV-Sources.json,供迁移、托管订阅或导入 Android 使用。
本版本
- 新增 7z 格式下载包(约 109 MB),比 ZIP(约 158 MB)小约三分之一。Windows 11 22H2 及以后的文件资源管理器原生支持解压 7z;Windows 10 用户或习惯 ZIP 的用户仍可下载 ZIP 包,两者内容完全一致。
- 改为目录分发,启动从约 28 秒降到约 1 秒(2.19.2-desktop.6 起)。上一版是单个 EXE,每次启动都要把约 460 MB 的运行时重新解压到系统临时目录,并被杀毒软件逐个实时扫描,窗口要等近 30 秒才出现;现在解压后直接运行
静观TV.exe,不再重复解压,也不再每次产生一批新文件。功能完全一致,只是程序文件不再压缩进单个 EXE。 - 精简 Electron 的多语言界面包:只保留简体中文、繁体中文和英文,其余 52 个语言包不再随包分发,节省约 45 MB。
- 自动清理浏览器缓存:Chromium 的图片缓存一度把数据目录撑到 370 MB 以上,现在启动后会检查并清理超量的可再生缓存目录,不再无限膨胀;源配置、收藏和观看记录不受影响。
- 新增启动阶段打点日志:
LibreTV-Data/desktop.log中[boot]开头的行记录了各阶段耗时,便于定位启动问题。 - 随包源配置更新为 9 个点播源、9 个直播源(新增「魔都动漫」「樱花资源」两个动漫向点播源)。包内附官方清单副本
LibreTV-Sources.json,可在「设置 → 源管理 → 数据源订阅」手动导入;启动时也会自动合并官方清单。 - 新增:启动时自动获取项目维护的官方片源清单。清单地址由维护者控制,用户只能读取、无法改写。合并规则:新增的源自动补入并默认启用,你手动停用的源保持停用,你自己添加的源不受影响,你删除过的官方源不会被自动加回。清单拉取失败时静默降级,本地配置保持原样,不影响使用。
- 应用更名为 静观 TV:窗口标题、任务栏与开始菜单名称、程序菜单、网页界面和安装包内的 EXE 全部同步更新。
- 数据目录名保持
LibreTV-Data不变:覆盖升级后原有源配置、设置和观看记录继续可用,不需要迁移,也不会丢数据。 - 下载包文件名保持 ASCII,不引入中文 URL 编码问题;包内可直接双击的 EXE 为
静观TV.exe。 - 保留逐跳目标校验,兼容重定向、Range、流式传输和超时中断。
- 本地数据随 EXE 保存,便于备份和迁移。
- 上一版 2.19.2-desktop.2 修复了内置服务没有跟随 Windows 系统代理/PAC、导致部分 M3U 订阅下载失败的问题,本次改动不涉及该逻辑。
- Android 通用版当前为 2.0.14(静观 TV),兼容手机及 Android TV:https://github.com/wangshaojie/LibreTV-App/releases/tag/android-v2.0.14
在线内容需要联网,线路是否可播取决于网络、地区、源站和编码。本构建未做数字签名。
上游与许可
上游:LibreSpark/LibreTV。应用及桌面封装采用 AGPL-3.0-or-later,保留原作者署名,具体条款见源码和安装包中的 LICENSE。
静观 TV Windows 免安装版 v2.19.2-desktop.6
静观 TV Windows 免安装版 v2.19.2-desktop.6
Windows 免安装版更名为 静观 TV,与 Android 手机 / TV 通用版同名。2026-10-25 更新下载包中的源配置:现含 9 个点播源、9 个直播源(新增「魔都动漫」「樱花资源」)。本版改为目录分发,启动从约 28 秒降到约 1 秒。Android 手机 / TV 通用版当前为 2.0.14。
下载
LibreTV-App-v2.19.2-desktop.6-Windows-x64.zip:Windows 10/11 x64 免安装包。LibreTV-App-v2.19.2-desktop.6-Source.zip:本版本对应的完整应用源码与构建脚本。SHA256SUMS.txt:下载文件的 SHA-256 校验值。
Windows ZIP 内包含完整的程序目录、静观TV.exe、发布者的 LibreTV-Data 数据快照、中文使用说明、更新日志和许可证。数据快照保留源配置、设置与观看记录;浏览器缓存、Cookies、运行日志和锁文件未包含。
使用
完整解压 ZIP 后,打开解压出来的 LibreTV-App 文件夹,双击 静观TV.exe。无需安装 Node.js、Docker 或其他运行环境。
升级用户请先关闭旧版,用新版文件夹里的程序文件覆盖旧文件夹中除 LibreTV-Data 以外的全部内容,保留自己的 LibreTV-Data,不要用随包数据覆盖已有记录。希望从空白配置开始的用户,可在首次运行前将随包数据目录移走备份。
已有 Windows 用户若只想补充最新源,请在源管理的订阅入口添加:
https://raw.githubusercontent.com/wangshaojie/LibreTV-App/main/sources/latest.json
ZIP 内另附 LibreTV-Sources.json,供迁移、托管订阅或导入 Android 使用。
本版本
- 改为目录分发,启动从约 28 秒降到约 1 秒。上一版是单个 EXE,每次启动都要把约 460 MB 的运行时重新解压到系统临时目录,并被杀毒软件逐个实时扫描,窗口要等近 30 秒才出现;本版解压后直接运行
静观TV.exe,不再重复解压,也不再每次产生一批新文件。功能完全一致,只是程序文件不再压缩进单个 EXE。 - 精简 Electron 的多语言界面包:只保留简体中文、繁体中文和英文,其余 52 个语言包不再随包分发,节省约 45 MB。
- 自动清理浏览器缓存:Chromium 的图片缓存一度把数据目录撑到 370 MB 以上,现在启动后会检查并清理超量的可再生缓存目录,不再无限膨胀;源配置、收藏和观看记录不受影响。
- 新增启动阶段打点日志:
LibreTV-Data/desktop.log中[boot]开头的行记录了各阶段耗时,便于定位启动问题。 - 随包源配置更新为 9 个点播源、9 个直播源(新增「魔都动漫」「樱花资源」两个动漫向点播源)。包内附官方清单副本
LibreTV-Sources.json,可在「设置 → 源管理 → 数据源订阅」手动导入;启动时也会自动合并官方清单。 - 新增:启动时自动获取项目维护的官方片源清单。清单地址由维护者控制,用户只能读取、无法改写。合并规则:新增的源自动补入并默认启用,你手动停用的源保持停用,你自己添加的源不受影响,你删除过的官方源不会被自动加回。清单拉取失败时静默降级,本地配置保持原样,不影响使用。
- 应用更名为 静观 TV:窗口标题、任务栏与开始菜单名称、程序菜单、网页界面和安装包内的 EXE 全部同步更新。
- 数据目录名保持
LibreTV-Data不变:覆盖升级后原有源配置、设置和观看记录继续可用,不需要迁移,也不会丢数据。 - 下载包文件名保持 ASCII(
LibreTV-App-v2.19.2-desktop.6-Windows-x64.zip),不引入中文 URL 编码问题;包内可直接双击的 EXE 为静观TV.exe。 - 保留逐跳目标校验,兼容重定向、Range、流式传输和超时中断。
- 本地数据随 EXE 保存,便于备份和迁移。
- 上一版 2.19.2-desktop.2 修复了内置服务没有跟随 Windows 系统代理/PAC、导致部分 M3U 订阅下载失败的问题,本次改动不涉及该逻辑。
- Android 通用版当前为 2.0.14(静观 TV),兼容手机及 Android TV:https://github.com/wangshaojie/LibreTV-App/releases/tag/android-v2.0.14
在线内容需要联网,线路是否可播取决于网络、地区、源站和编码。本构建未做数字签名。
上游与许可
上游:LibreSpark/LibreTV。应用及桌面封装采用 AGPL-3.0-or-later,保留原作者署名,具体条款见源码和安装包中的 LICENSE。
静观 TV Windows 免安装版 v2.19.2-desktop.5
静观 TV Windows 免安装版 v2.19.2-desktop.5
Windows 免安装版已发布。Android 手机 / TV 通用版当前为 2.0.14,可在仓库的 Android Release 获取 APK。
下载
LibreTV-App-v2.19.2-desktop.5-Windows-x64.zip:Windows 10/11 x64 免安装包。LibreTV-App-v2.19.2-desktop.5-Source.zip:本版本对应的完整应用源码与构建脚本。SHA256SUMS.txt:下载文件的 SHA-256 校验值。
Windows ZIP 内包含 静观TV.exe、发布者的 LibreTV-Data 数据快照、中文使用说明、更新日志和许可证。数据快照保留源配置、设置与观看记录;浏览器缓存、Cookies、运行日志和锁文件未包含。
使用
完整解压 ZIP 后双击 静观TV.exe。无需安装 Node.js、Docker 或其他运行环境。
升级用户请先关闭旧版,仅替换 EXE,保留自己的 LibreTV-Data,不要用随包数据覆盖已有记录。希望从空白配置开始的用户,可在首次运行前将随包数据目录移走备份。
本版本
- 随包源配置更新为 9 个点播源、9 个直播源(新增「魔都动漫」「樱花资源」两个动漫向点播源)。包内附官方清单副本
LibreTV-Sources.json,可在「设置 → 源管理 → 数据源订阅」手动导入;启动时也会自动合并官方清单。 - 新增:启动时自动获取项目维护的官方片源清单。清单地址由维护者控制,用户只能读取、无法改写。合并规则:新增的源自动补入并默认启用,你手动停用的源保持停用,你自己添加的源不受影响,你删除过的官方源不会被自动加回。清单拉取失败时静默降级,本地配置保持原样,不影响使用。
- 应用更名为 静观 TV:窗口标题、任务栏与开始菜单名称、程序菜单、网页界面和安装包内的 EXE 全部同步更新。
- 数据目录名保持
LibreTV-Data不变:覆盖升级后原有源配置、设置和观看记录继续可用,不需要迁移,也不会丢数据。 - 下载包文件名保持 ASCII(
LibreTV-App-v2.19.2-desktop.5-Windows-x64.zip),不引入中文 URL 编码问题;包内可直接双击的 EXE 为静观TV.exe。 - 保留逐跳目标校验,兼容重定向、Range、流式传输和超时中断。
- 本地数据随 EXE 保存,便于备份和迁移。
- 上一版 2.19.2-desktop.2 修复了内置服务没有跟随 Windows 系统代理/PAC、导致部分 M3U 订阅下载失败的问题,本次改动不涉及该逻辑。
在线内容需要联网,线路是否可播取决于网络、地区、源站和编码。本构建未做数字签名。
上游与许可
上游:LibreSpark/LibreTV。应用及桌面封装采用 AGPL-3.0-or-later,保留原作者署名,具体条款见源码和安装包中的 LICENSE。
静观 TV Windows 免安装版 v2.19.2-desktop.4
静观 TV Windows 免安装版 v2.19.2-desktop.4
Windows 免安装版已发布。Android 通用版已另行发布(2.0.9),可在仓库的 Android Release 获取 APK。
下载
LibreTV-App-v2.19.2-desktop.4-Windows-x64.zip:Windows 10/11 x64 免安装包。LibreTV-App-v2.19.2-desktop.4-Source.zip:本版本对应的完整应用源码与构建脚本。SHA256SUMS.txt:下载文件的 SHA-256 校验值。
Windows ZIP 内包含 静观TV.exe、发布者的 LibreTV-Data 数据快照、中文使用说明、更新日志和许可证。数据快照保留源配置、设置与观看记录;浏览器缓存、Cookies、运行日志和锁文件未包含。
使用
完整解压 ZIP 后双击 静观TV.exe。无需安装 Node.js、Docker 或其他运行环境。
升级用户请先关闭旧版,仅替换 EXE,保留自己的 LibreTV-Data,不要用随包数据覆盖已有记录。希望从空白配置开始的用户,可在首次运行前将随包数据目录移走备份。
本版本
- 新增:启动时自动获取项目维护的官方片源清单。清单地址由维护者控制,用户只能读取、无法改写。合并规则:新增的源自动补入并默认启用,你手动停用的源保持停用,你自己添加的源不受影响,你删除过的官方源不会被自动加回。清单拉取失败时静默降级,本地配置保持原样,不影响使用。
- 基于 LibreTV 2.19.2 的非官方 Windows 桌面封装。
- 应用更名为「静观 TV」,窗口标题、任务栏、菜单和网页界面同步更新,EXE 更名为
静观TV.exe。 - 数据目录名保持
LibreTV-Data不变,升级后原有源配置、设置和观看记录继续可用,无需迁移。 - 修复内置服务没有跟随 Windows 系统代理/PAC、导致部分 M3U 订阅下载失败的问题。
- 保留逐跳目标校验,兼容重定向、Range、流式传输和超时中断。
- 本地数据随 EXE 保存,便于备份和迁移。
在线内容需要联网,线路是否可播取决于网络、地区、源站和编码。本构建未做数字签名。
上游与许可
上游:LibreSpark/LibreTV。应用及桌面封装采用 AGPL-3.0-or-later,保留原作者署名,具体条款见源码和安装包中的 LICENSE。
静观 TV Android 2.0.9 · 官方片源清单
静观 TV Android 2.0.9 · 官方片源清单
片源会失效:某个采集站换了地址、某个直播源被关停,都意味着用户得自己一个个去改。片源不可用时,用户其实无从判断是源坏了还是应用坏了——
改动
- 启动时自动获取项目维护的官方片源清单,并与本地配置合并。清单地址由维护者控制,普通用户只能读取、无法改写。
- 合并以用户意图为准:
- 清单里新增的源自动补入并默认启用;
- 你手动停用的源保持停用,不会被重新勾上;
- 你自己添加的源完全不受影响,也不会被官方清单覆盖;
- 你删除过的官方源不会被自动加回。
- 「源管理 → 官方清单」可随时手动刷新,不必等下次启动。
- 拉取失败静默降级:网络不通时继续使用本地已有配置,不打扰用户,也不影响搜索和播放。
- 距上次成功获取超过 6 小时才会再次请求,不会每次启动都联网。
保持不变
- 包名
com.wangshaojie.libretv、签名和资产文件名规则不变,可直接覆盖升级,源配置、收藏和观看记录都保留。 - 2.0.8 的连接中控制面板、2.0.6 的直播自动重连、2.0.7 的全屏沉静式播放都保持原样。
- 应用不请求通讯录、定位、摄像头或全盘存储权限;启动时的清单请求只下载一份公开的源地址列表,不上传任何本地数据,也不上报使用统计。
验证
新增 14 项单元测试:清单解析(点播 / 直播分组、裸数组、非法条目跳过、组内去重、尾斜杠规则)、合并语义(新增、保留停用状态、保留用户自建源、不加回已删除源、同地址点播与直播分开)、同步间隔判断;其中一项直接用线上真实清单验证解析出 7 个点播源与 9 个直播源,并确认重复同步不会产生重复条目。
这些测试与既有的四组手机 / TV 设备测试一起在 CI 中运行。
已知限制
- 清单地址在 GitHub Raw 上。Windows 版由本地服务拉取、会跟随系统代理,受网络影响较小;Android 版是客户端直连,在部分网络环境下可能拉取不到——此时会静默使用本地已有配置,功能不受影响。
静观 TV Android 2.0.14 · 通用版
静观 TV Android 2.0.14 · 清单多镜像 + 代理一致性 + 状态说人话
上一版把网络层统一成一条通道,本版处理的是「不同设备、不同网络条件下怎么表现得一致」:没有代理的电视要能持续收到官方清单更新,配了代理的设备要真的吃到代理,源管理里的状态要让人一眼看懂是源的问题还是网络的问题。
改动
- 官方片源清单改为多地址:主地址仍是 GitHub Raw,另备 jsDelivr、ghproxy 等镜像。主地址拉不到就依次换镜像,任何一个能通就完成同步;全都拉不到才沿用本地已有配置(不会动用户已装的源)。此前只有电视这类直连受限的设备会「永远收不到后续的清单更新」,现在更新通道本身不再单点。
- 自建通道尊重系统代理:2.0.13 的 IPv4 回退是自建 socket,不经过系统代理;正常请求(HttpURLConnection)会走。于是同一台设备上可能出现「正常请求走代理、回退请求绕过代理」的分裂行为。本版让自建通道同样查询系统代理:HTTP 代理用 CONNECT 隧道打通后再做 TLS,SNI 仍按原主机名;SOCKS 在 Android 上没有可用的实现,直接忽略(用 SOCKS 的人一般开着 VPN,流量本来就整体走隧道)。
- 失败原因写全两段:此前 IPv4 回退失败时会保留最初的 IPv6 错误,用户只能看到
ENETUNREACH,看不到 IPv4 直连的真实结果(是连接被重置还是超时)。现在会写成「IPv6 不可达(…),IPv4 直连也失败:…」,分得清是源挂了还是网络不通。 - 服务端返回错误状态时也换地址族重试:延续 2.0.13 的做法,把「边缘线路回错页」这种情况也纳入重试。
不做治理,只做多路
本版不替换、不清理清单里的任何一个源。某个源在你的网络下测不通,就只是这个源不可用,不影响其他源;应用里任何一个源失败都不会中断整轮搜索,测活也是并发的。有代理的设备自然会多出一批可用源,这是用户自己的网络条件,不需要应用替用户判断哪些源「值得留」。
保持不变
- 包名
com.wangshaojie.libretv、签名和资产文件名规则不变,可直接覆盖升级,源配置、收藏和观看记录都保留。 - 2.0.13 的自建 IPv4 通道(正确的 SNI 与证书校验)与老系统 TLS 1.1/1.2 补齐、2.0.12 的单一通用安装包、2.0.11 的详情页直接换片源都保持原样。
- 应用不请求通讯录、定位、摄像头或全盘存储权限;启动时的清单请求只下载一份公开的源地址列表,不上传任何本地数据,也不上报使用统计。
验证
- 新增单元测试:清单地址必须是多个互不重复的 https 镜像且指向同一份文件;错误摘要会截断过长文本;代理查询不会抛异常。
- CI 设备测试仍分两组:Android 5.0 手机(API 21,覆盖证书补丁生效)与 Android TV(API 28,覆盖系统证书库路径),加上单元测试与 Lint 一并在 CI 中运行。
- 本版按约定跳过了真机回归,以上验证以单元测试、Lint 与 CI 设备测试为准。
已知限制
- 清单镜像依赖公共 CDN,可能出现个别节点临时不可用;此时会继续尝试下一个地址,最终以本地已有配置兜底。
- 个别站点所在域名在部分国内网络会被拦截或重置握手,这属于网络环境问题,与应用无关;这类源在「源管理」里会显示为连接异常。
- 极少数只提供 IPv6 的服务器仍无法直连,这类站点本来在老设备上也连不上。
静观 TV Android 2.0.13 · 通用版
静观 TV Android 2.0.13 · 网络层统一 + 官方清单新增两个动漫源
上一版把两个安装包合并成了一个,本版处理的是老电视上的网络细节:让「源管理」里看到的连接状态,和应用里实际能不能搜到片,真正对得上。
改动
- 官方片源清单新增两个点播源:「魔都动漫」(国产 / 日韩 / 欧美 / 港台动漫、动漫电影)与「樱花资源」(动漫、动画电影)。点播源共 9 个、直播源 9 个。新增源会在客户端自动补入并默认启用,手动停用过的源保持停用,自己添加的源不受影响。
- IPv4 回退改为自建连接:老电视所在路由器常返回 IPv6 地址,但电视没有 IPv6 路由,Android 5.0 底层又不会自动回退,第一个连接直接
ENETUNREACH。此前的做法是改成 IP 直连,虽然能连上,却丢掉了 SNI——Cloudflare 这类站点会拿默认证书回应,证书对不上域名。现在改为自建连接:直连该主机的 IPv4 地址,同时按原主机名发送 SNI、按原主机名校验证书,安全检查一步都不少。 - 老系统补上 TLS 1.1 / 1.2:部分 Android 5 的电视默认只协商 TLS 1.0,而大量现代站点已经关掉 TLS 1.0/1.1,握手会直接收到
unsupported protocol。本版在保留 TLS 1.0 的前提下把更高版本补进协商列表:服务器支持就用高版本,不支持仍旧回落 TLS 1.0,原先能连的站点不受影响。 - 测活与海报走同一条通道:「源管理 → 全部测活」和首页海报此前各自建连,没有继承上面两条改进,于是会出现「源显示连接异常、实际却能搜到」的情况。现在统一后,健康状态与应用内表现一致。
保持不变
- 包名
com.wangshaojie.libretv、签名和资产文件名规则不变,可直接覆盖升级,源配置、收藏和观看记录都保留。 - 2.0.12 的单一通用安装包、2.0.11 的详情页直接换片源与 IPv6 回退修正、2.0.9 的官方片源清单都保持原样。
- 应用不请求通讯录、定位、摄像头或全盘存储权限;启动时的清单请求只下载一份公开的源地址列表,不上传任何本地数据,也不上报使用统计。
验证
- 新增单元测试,覆盖自建连接对
Content-Length与 chunked 分块两种正文的解析,以及跳转、抽样读取和体积上限。 - CI 设备测试仍分两组:Android 5.0 手机(API 21,覆盖证书补丁生效)与 Android TV(API 28,覆盖系统证书库路径),加上单元测试与 Lint 一并在 CI 中运行。
- 已在真实电视(乐视 X3-43S,Android 5.0.1)上覆盖安装本版验证:18 个源全部保留,官方清单拉取后显示「新增 2 个」,测活结果与应用内搜索表现一致,片源搜索正常。
已知限制
- 证书地址在 GitHub Raw 上。Windows 版由本地服务拉取、会跟随系统代理,受网络影响较小;Android 版是客户端直连,在部分网络环境下可能拉取不到——此时会静默使用本地已有配置,功能不受影响。
- 个别站点所在域名在部分国内网络会被拦截或重置握手,这属于网络环境问题,与应用无关;这类源在「源管理」里会显示为连接异常。
- 极少数只提供 IPv6 的服务器仍无法直连,这类站点本来在老设备上也连不上。
静观 TV Android 2.0.12 · 通用版
静观 TV Android 2.0.12 · 合并为一个通用安装包
之前要分发两个安装包:「兼容版」最低 Android 5.0、「新版」最低 Android 8.0。两个包的功能完全一样,区别只在最低系统版本和一份证书补丁的取舍。用户挑版本这件事本身就是多余的负担,本版把它们合成一个包。
改动
- 只有一个安装包,最低 Android 5.0(API 21),在 Android 5.0 到最新系统的手机和电视上都能安装。
- 应用名统一为「静观 TV」,不再有「兼容版 / 新版」之分。已安装旧版的应用直接覆盖升级,桌面图标名称会变成「静观 TV」。
- 证书补丁按系统版本自动启用:
- Android 8.0 以下:加载内置的 Mozilla 根证书包,补齐旧系统缺失的现代 CA,保证片源站点的 HTTPS 能正常握手;
- Android 8.0 及以上:直接用系统证书库,不加载补丁。
- 两种情况下都照常验证证书链和主机名,不绕过任何安全检查。
- 下载页只保留一个 APK,不用再判断该下哪个。
为什么可以合并
两个旧版本共用同一份源代码,差异只有三处:最低系统版本、是否携带证书补丁、桌面图标名称。而证书补丁的加载本来就带系统版本判断——旧版的「兼容版」装在 Android 8.0 以上的机器上时,同样不会加载补丁。也就是说,旧版「兼容版」在 Android 8.0 以上的运行行为与「新版」完全一致,本来就没有必要分成两个包。
保持不变
- 包名
com.wangshaojie.libretv、签名和资产文件名规则不变,可直接覆盖升级,源配置、收藏和观看记录都保留。 - 2.0.11 的详情页直接换片源、2.0.10 的 IPv6 回退、2.0.9 的官方片源清单、2.0.8 的连接中控制面板、2.0.6 的直播自动重连、2.0.7 的全屏沉静式播放都保持原样。
- 应用不请求通讯录、定位、摄像头或全盘存储权限;启动时的清单请求只下载一份公开的源地址列表,不上传任何本地数据,也不上报使用统计。
体积
合并后的安装包比原「新版」大约 250 KB(多带一份证书补丁),换成一台设备都能装、且旧系统能正常连片源站点。相对原「兼容版」体积基本不变。
验证
- 设备测试改为两组:Android 5.0 手机(API 21,覆盖证书补丁生效)与 Android TV(API 28,覆盖系统证书库路径),加上单元测试与 Lint 一并在 CI 中运行。
- 设备测试新增断言:合并版必须携带证书包且拒绝不受信任的自签名证书;Android 8.0 及以上必须使用系统证书库而不被补丁顶替。
- 已在真实电视(乐视 X3-43S,Android 5.0.1)上覆盖安装本版验证:数据保留、源管理正常、片源搜索正常、官方清单正常拉取。
已知限制
- 证书地址在 GitHub Raw 上。Windows 版由本地服务拉取、会跟随系统代理,受网络影响较小;Android 版是客户端直连,在部分网络环境下可能拉取不到——此时会静默使用本地已有配置,功能不受影响。
- 极少数只提供 IPv6 的服务器仍无法直连,这类站点本来在老设备上也连不上。
静观 TV Android 2.0.11 · 详情页直接换片源
静观 TV Android 2.0.11 · 详情页直接换片源 · 修正 2.0.10 的连接问题
2.0.10 为修复部分老电视连不上网的问题改了连接方式。真机复测发现这个改法过头了,本版改正过来,并顺带把「选择片源」的弹窗换成详情页内直接切换。
详情页里直接换片源
搜到一部片子时,通常多个片源都有。现在不用再弹窗二次选择:点开影片详情,简介下方就是「片源 · N 个可用」的片源行,当前所在片源高亮显示。
- 点任意片源即切换,线路与剧集随即换成该片的,无需退回搜索结果重选。
- 标题行的片源名、收藏按钮状态都跟随当前片源。
- 只有一个片源时不显示这一行,界面保持干净。
- 剧集不会跨片源合并——每个片源各播各的,避免不同源的集数对不上。
修正 2.0.10 的连接方式
2.0.10 把所有请求都改成「先解析出 IPv4 地址、用 IP 直接建连」。这样确实让部分老电视能连上 GitHub 上的官方清单,但代价是所有片源的 HTTPS 握手全部失败——服务器看到的是 IP 而不是域名,SNI 与证书对不上,片源一个都搜不了。
2.0.11 改为:
- 默认完全走系统行为:域名解析、SNI、证书校验都不干预,片源搜索与播放和以前完全一样。
- 只有在失败原因确认为「IPv6 地址不可达」时,才改用该主机的 IPv4 地址重试一次:用 IP 建连的同时把原主机名放进
Host头,HTTPS 的证书仍按原主机名校验,没有降低 TLS 安全性。 - 确认需要走 IPv4 的主机会被记住,之后不再重复撞一次不可达的 IPv6。
真机验证
在真实电视(乐视 X3-43S,Android 5.0.1)上装本版验证:
- 全源搜索正常:搜索「hello」返回 46 部影片,与 2.0.9 一致;片源站点的 HTTPS 不再失败。
- 官方清单正常:启动时自动同步成功,源管理显示「我的片源 · 16」,手动刷新提示「16 个源可用」。
- 日志可见清单请求先因 IPv6 不可达失败,随后自动改用 IPv4 重试成功。
- 详情页片源行正常:一部有 4 个来源的影片显示「片源 · 4 个可用」,当前片源高亮;切到另一个片源后,标题行、线路、剧集都随之更新。
保持不变
- 包名
com.wangshaojie.libretv、签名和资产文件名规则不变,可直接覆盖升级,源配置、收藏和观看记录都保留。 - 2.0.10 的官方片源清单、2.0.9 的清单合并语义、2.0.8 的连接中控制面板、2.0.6 的直播自动重连、2.0.7 的全屏沉静式播放都保持原样。
- 应用不请求通讯录、定位、摄像头或全盘存储权限;启动时的清单请求只下载一份公开的源地址列表,不上传任何本地数据,也不上报使用统计。
已知限制
- 清单地址在 GitHub Raw 上。Windows 版由本地服务拉取、会跟随系统代理,受网络影响较小;Android 版是客户端直连,在部分网络环境下可能拉取不到——此时会静默使用本地已有配置,功能不受影响。
- 极少数只提供 IPv6 的服务器仍无法直连,这类站点本来在老设备上也连不上。