Skip to content

Releases: wangshaojie/LibreTV-App

静观 TV Windows 免安装版 v2.19.2-desktop.8

Choose a tag to compare

@wangshaojie wangshaojie released this 26 Oct 12:32

静观 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

Choose a tag to compare

@wangshaojie wangshaojie released this 25 Oct 13:07

静观 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

Choose a tag to compare

@wangshaojie wangshaojie released this 25 Oct 12:13

静观 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

Choose a tag to compare

@wangshaojie wangshaojie released this 25 Oct 11:07

静观 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

Choose a tag to compare

@wangshaojie wangshaojie released this 25 Oct 03:11

静观 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 · 官方片源清单

Choose a tag to compare

@wangshaojie wangshaojie released this 25 Oct 03:15

静观 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 · 通用版

Choose a tag to compare

@github-actions github-actions released this 25 Oct 10:38

静观 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 · 通用版

Choose a tag to compare

@github-actions github-actions released this 25 Oct 06:58

静观 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 · 通用版

Choose a tag to compare

@github-actions github-actions released this 25 Oct 05:30

静观 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 · 详情页直接换片源

Choose a tag to compare

@github-actions github-actions released this 25 Oct 04:58

静观 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 的服务器仍无法直连,这类站点本来在老设备上也连不上。