update 2026-09-10 09:14

This commit is contained in:
iptv-bot committed 2026-09-10 09:14:04 -04:00
1 parent 041df359e4
commit 1cf88c5d14
6 files changed
+50 -54

No files matched your search

+1 -1
View File
@@ -1 +1 @@
<!doctype html><meta charset=utf-8><meta name=viewport content='width=device-width,initial-scale=1'><title>IPTV 运行状态</title><style>body{max-width:920px;margin:32px auto;padding:0 16px;font:15px system-ui;color:#182230;background:#f5f7fb}h1{margin-bottom:4px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px}.card{padding:14px;border-radius:10px;background:#fff;box-shadow:0 1px 3px #0001}.n{font-size:26px;font-weight:700}table{width:100%;border-collapse:collapse;background:#fff;margin-top:16px}td,th{padding:9px;border-bottom:1px solid #eee;text-align:left}a{color:#1463cf}small{color:#667}</style><h1>IPTV 运行状态</h1><small id=time>加载中</small><h2>线路</h2><div class=grid id=cards></div><h2>分类</h2><table id=cats><tr><th>分类</th><th>频道</th><th>线路</th></tr></table><h2>国内探针</h2><div class=card id=probe></div><h2>最近阶段</h2><table id=runs><tr><th>运行</th><th>阶段</th><th>状态</th><th>完成时间</th></tr></table><p><a href='https://gitea.zzjp.help/zjp/ip/raw/branch/main/all.m3u'>通用 M3U</a> · <a href='https://gitea.zzjp.help/zjp/ip/raw/branch/main/tvbox.json'>TVBox</a> · <a href='https://gitea.zzjp.help/zjp/ip/raw/branch/main/epg.xml'>EPG XMLTV</a> · <a href='https://gitea.zzjp.help/zjp/ip/raw/branch/main/README.md'>使用说明</a></p><script>const labels={cctv:'央视',satellite:'卫视',hk_mo_tw:'港澳台',local:'江苏地方台',webcast:'网络直播'};fetch('status.json',{cache:'no-store'}).then(x=>x.json()).then(d=>{time.textContent='更新于 '+d.generated_at;cards.innerHTML=Object.entries(d.streams).map(([k,v])=>`<div class=card><small>${k}</small><div class=n>${v}</div></div>`).join('')+`<div class=card><small>严格稳定</small><div class=n>${d.strict_streams}</div></div>`;cats.innerHTML+=Object.entries(d.categories).map(([k,v])=>`<tr><td>${labels[k]||k}</td><td>${v.channels}</td><td>${v.streams}</td></tr>`).join('');probe.textContent=d.pending_probe?`等待批次 ${d.pending_probe.batch_id},截止 ${d.pending_probe.expires_at}`:'无等待中的国内测速批次';runs.innerHTML+=d.recent_runs.map(x=>`<tr><td>${x.run_id}</td><td>${x.stage}</td><td>${x.status}</td><td>${x.end_at||''}</td></tr>`).join('')}).catch(()=>time.textContent='状态数据读取失败')</script>
<!doctype html><meta charset=utf-8><meta name=viewport content='width=device-width,initial-scale=1'><title>IPTV 运行状态</title><style>body{max-width:920px;margin:32px auto;padding:0 16px;font:15px system-ui;color:#182230;background:#f5f7fb}h1{margin-bottom:4px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px}.card{padding:14px;border-radius:10px;background:#fff;box-shadow:0 1px 3px #0001}.n{font-size:26px;font-weight:700}table{width:100%;border-collapse:collapse;background:#fff;margin-top:16px}td,th{padding:9px;border-bottom:1px solid #eee;text-align:left}a{color:#1463cf}small{color:#667}</style><h1>IPTV 运行状态</h1><small id=time>加载中</small><h2>线路</h2><div class=grid id=cards></div><h2>分类</h2><table id=cats><tr><th>分类</th><th>频道</th><th>线路</th></tr></table><h2>质量闭环</h2><div class=card id=quality></div><h2>探针状态</h2><div class=card id=probe></div><h2>最近阶段</h2><table id=runs><tr><th>运行</th><th>阶段</th><th>状态</th><th>完成时间</th></tr></table><p><a href='https://gitea.zzjp.help/zjp/ip/raw/branch/main/all.m3u'>通用 M3U</a> · <a href='https://gitea.zzjp.help/zjp/ip/raw/branch/main/tvbox.json'>TVBox</a> · <a href='https://gitea.zzjp.help/zjp/ip/raw/branch/main/epg.xml'>EPG XMLTV</a> · <a href='https://gitea.zzjp.help/zjp/ip/raw/branch/main/README.md'>使用说明</a></p><script>const labels={cctv:'央视',satellite:'卫视',local:'地方台',hk_mo_tw:'港澳台',webcast:'网络直播'};fetch('status.json',{cache:'no-store'}).then(x=>x.json()).then(d=>{time.textContent='更新于 '+d.generated_at;cards.innerHTML=Object.entries(d.streams).map(([k,v])=>`<div class=card><small>${k}</small><div class=n>${v}</div></div>`).join('')+`<div class=card><small>严格稳定</small><div class=n>${d.strict_streams}</div></div>`;cats.innerHTML+=Object.entries(d.categories).map(([k,v])=>`<tr><td>${labels[k]||k}</td><td>${v.channels}</td><td>${v.streams}</td></tr>`).join('');quality.textContent=d.quality?`GitHub 已深检 ${d.quality.github_total} 条,可解码 ${d.quality.github_video_ok} 条,风险事件 ${d.quality.github_risk_events} 条;VPS 视频深检已关闭`:'暂无深检质量数据';probe.textContent=(d.pending_probe?`Gitee 等待 ${d.pending_probe.batch_id},截止 ${d.pending_probe.expires_at}`:'Gitee 无等待批次')+(d.pending_github?`;GitHub 等待 ${d.pending_github.batch_id},截止 ${d.pending_github.expires_at}`:';GitHub 无等待批次');runs.innerHTML+=d.recent_runs.map(x=>`<tr><td>${x.run_id}</td><td>${x.stage}</td><td>${x.status}</td><td>${x.end_at||''}</td></tr>`).join('')}).catch(()=>time.textContent='状态数据读取失败')</script>