V1.5.4: 新增可用源 gz.ac16.vip;修复"点歌失败不入下载列表";下载列表删除按状态区分
一、新增歌曲源 gz.ac16.vip(置于源列表首位) 实测(DoH 取真实 IP 154.222.26.244,绕开本机网关 fake-IP 干扰): - i.php: HTTP 200,下发 token,end_date=2027-10-05(比现用镜像源的 2026-10-05 更晚); - music/do.php: 对 7303235/7200188/8614960 分别返回各自不同的真源地址 (http://txog.ktvsky.com/.../<编号>.ts?token=... / http://download.origjoy.com/.../<编号>.ts?sign=...), 文件名均等于点歌编号; - 这些地址能真实下载:HTTP 206 video/MP2T,逐曲内容各不相同, TS 流同步字节按 188 字节对齐(41/43 包同步); - 对照:其余 7 个入口对每首歌(含不存在的编号)统一返回同一段 https://wb66.cn/f/d/7b7c9/10188555.ts(广告/测试资源),主源 w.w345.my/i.php 直接 403。 因此把 gz.ac16.vip 加入源列表:ktv_api.js 的 CONFIG.HOSTS 与 SongUrlResolver.DEFAULT_HOSTS 各一处(均置于首位)。 ⚠️ 边界:该域名**自己**的 /<编号>.ts 永远是同一段广告,所以它继续留在 AdVideoFilter.AD_HOSTS(媒体层拦截);广告黑名单只作用于"返回地址的 host", 不作用于"取址入口的 host",两者不可混淆,否则会误杀唯一可用源。 KTV_BRIDGE_API 9 → 10(ktv_api.js 两处标记 + KtvJsBridge 两处校验),保证设备热更新到新脚本。 二、修复"点歌失败时歌曲不出现在下载列表" 根因:DownloadTask 只在 onDownloadStart 里创建,所以"取址失败(无法生成下载地址)"这类 还没真正开始下载的失败**不会留下任何记录**,下载列表里什么都没有。 修复:downloadSong() 在**发起下载之前**就登记任务(状态「排队中」), 失败时由既有回调就地改成「失败:原因」,条目保留在列表里,可看原因、可重试、可清理。 三、下载列表删除功能(按状态区分语义) - 有本地文件 → 「删除文件」(confirmDeleteLocalFile,同时清掉下载记录); - 失败/进行中(无文件)→ 「移出下载列表」(confirmRemoveDownloadEntry): 只删记录 + stateDatabase.removeDownload,**绝不动任何歌曲文件** (历史上"顺手清缓存"删光公放曲库的教训见 AGENTS); - 「更多」菜单在下载列表内额外提供「移出列表」; - SongListAdapter 的「更多」图标由装饰改为**可点/可聚焦**(遥控器可达,不再只能长按)。 版本 1.5.3(35) → 1.5.4(36);签名证书不变。测试 9 例全通过。
This commit is contained in:
@@ -47,6 +47,8 @@ object SongUrlResolver {
|
||||
private const val BLOCKED_COOLDOWN_MS = 3 * 60_000L
|
||||
|
||||
private val DEFAULT_HOSTS = listOf(
|
||||
// 与其他入口同一后台、同一协议;2026-10 实测唯一仍下发真源 CDN 地址的入口,放首位。
|
||||
"http://gz.ac16.vip",
|
||||
"http://w.w345.my",
|
||||
"http://desktok.top",
|
||||
"http://mm.kk456.top",
|
||||
|
||||
Reference in New Issue
Block a user