Files
ip/status.json
T
2026-09-11 00:26:05 -04:00

1 line
8.8 KiB
JSON

{"generated_at":"2026-09-11 00:26:04","categories":{"cctv":{"channels":20,"streams":48},"hk_mo_tw":{"channels":7,"streams":7},"local":{"channels":6,"streams":8},"satellite":{"channels":28,"streams":38},"webcast":{"channels":1,"streams":1}},"strict_streams":85,"intermittent_streams":3,"streams":{"published":102,"active":166,"new":1430,"unstable":508},"pending_probe":{"batch_id":"cn-cs-20260910T201736Z-347cdecc","expires_at":"2026-09-12T02:17:36Z"},"pending_github":{"batch_id":"gh-auth-20260910T184222Z-f8f4c92f","expires_at":"2026-09-11T18:42:22Z"},"probe_summary":{"gitee_total":29,"gitee_submitted":3,"gitee_consumed":19,"gitee_rejected":1,"gitee_expired":6,"github_total":9,"github_submitted":1,"github_consumed":7,"github_rejected":1,"github_expired":0},"probe_details":[{"name":"gitee-cs","label":"Gitee 主账号","candidate":{"batch_id":"cn-cs-20260910T201736Z-347cdecc","count":203,"status":"submitted","mtime":"2026-09-11 00:24:16"},"result":{"batch_id":"cn-cs-20260910T184231Z-afd695cd","count":57,"status":"complete","mtime":"2026-09-11 00:24:16"},"progress":null},{"name":"gitee-css","label":"Gitee 账号2","candidate":{"batch_id":"cn-css-20260910T201737Z-9246151f","count":203,"status":"submitted","mtime":"2026-09-11 00:24:20"},"result":{"batch_id":"cn-css-20260910T184232Z-e7ba5558","count":57,"status":"complete","mtime":"2026-09-11 00:24:20"},"progress":null},{"name":"gitee-csss","label":"Gitee 账号3","candidate":{"batch_id":"cn-csss-20260910T201739Z-c8ef3262","count":201,"status":"submitted","mtime":"2026-09-11 00:24:22"},"result":{"batch_id":"cn-csss-20260910T184233Z-13b718f8","count":56,"status":"complete","mtime":"2026-09-11 00:24:22"},"progress":null},{"name":"github-deep","label":"GitHub","candidate":{"batch_id":"gh-deep-20260911T042103Z-0a18a4d0","count":2,"status":"submitted","mtime":"2026-09-11 00:21:03"},"result":{"batch_id":"gh-deep-20260911T042103Z-0a18a4d0","count":2,"status":"complete","mtime":"2026-09-11 00:24:15"},"progress":{"batch_id":"gh-deep-20260911T042103Z-0a18a4d0","total":2,"processed":2,"remaining":0,"status":"complete","updated_at":"2026-09-11T04:21:42Z"}}],"quality":{"github_video_ok":113,"github_risk_events":49,"github_total":162,"top_sources":[{"source_id":13,"name":"kstore-aiwex","score":76.56,"source_count":61,"domestic_success_count":61},{"source_id":11,"name":"zhoujie IPv4","score":57.45,"source_count":104,"domestic_success_count":75},{"source_id":47,"name":"Collect-IPTV 精选排序","score":34.62,"source_count":212,"domestic_success_count":93},{"source_id":1,"name":"fanmingming IPv4","score":0.0,"source_count":0,"domestic_success_count":0},{"source_id":2,"name":"fanmingming IPv6","score":0.0,"source_count":0,"domestic_success_count":0},{"source_id":3,"name":"YanG-1989 Gather","score":0.0,"source_count":0,"domestic_success_count":0},{"source_id":4,"name":"Kimentanm iptv","score":0.0,"source_count":0,"domestic_success_count":0},{"source_id":5,"name":"BurningC4 V4","score":0.0,"source_count":0,"domestic_success_count":0},{"source_id":6,"name":"Tvlist CCTV","score":0.0,"source_count":0,"domestic_success_count":0},{"source_id":7,"name":"iptv-org CN","score":0.0,"source_count":0,"domestic_success_count":0}]},"job_summary":{"state":"running","current_stage":"generate","progress_pct":80.0,"last_error":"未发现异常","stage_health":{"ok":8,"running":0,"waiting":2,"err":0}},"runtime":{"state":"running","current_stage":"generate","progress_pct":80.0,"completed_stage_count":8,"total_stage_count":10,"elapsed_seconds":159.76,"started_at":"2026-09-11 00:23:25","finished_at":"","stages":{"init":{"state":"ok","label":"init","current":0,"total":0,"elapsed_seconds":0.99,"started_at":"2026-09-11 00:23:25","finished_at":"2026-09-11 00:23:25"},"keywords":{"state":"ok","label":"keywords","current":0,"total":0,"elapsed_seconds":1.01,"started_at":"2026-09-11 00:23:25","finished_at":"2026-09-11 00:23:26"},"collect":{"state":"ok","label":"collect","current":28,"total":28,"elapsed_seconds":49.3,"started_at":"2026-09-11 00:23:26","finished_at":"2026-09-11 00:24:15"},"github_auth":{"state":"ok","label":"github_auth","current":2,"total":2,"elapsed_seconds":0.92,"started_at":"2026-09-11 00:24:15","finished_at":"2026-09-11 00:24:15"},"speedtest":{"state":"ok","label":"speedtest","current":0,"total":0,"elapsed_seconds":8.68,"started_at":"2026-09-11 00:24:15","finished_at":"2026-09-11 00:24:23"},"github_deep":{"state":"ok","label":"github_deep","current":0,"total":0,"elapsed_seconds":1.21,"started_at":"2026-09-11 00:24:23","finished_at":"2026-09-11 00:24:24"},"epg":{"state":"ok","label":"epg","current":1859,"total":1859,"elapsed_seconds":9.03,"started_at":"2026-09-11 00:24:24","finished_at":"2026-09-11 00:24:33"},"generate":{"state":"ok","label":"generate","current":3,"total":3,"elapsed_seconds":91.76,"started_at":"2026-09-11 00:24:33","finished_at":"2026-09-11 00:26:04"}}},"recent_runs":[{"run_id":"20260911002325","stage":"epg","status":"ok","end_at":"2026-09-11 00:24:33","stats_json":"{\"detail\": \"{\\\"refreshed\\\": 402}\"}"},{"run_id":"20260911002325","stage":"github_deep","status":"ok","end_at":"2026-09-11 00:24:24","stats_json":"{\"detail\": \"{\\\"phase\\\": \\\"deep\\\", \\\"candidates\\\": 0, \\\"recovered\\\": {\\\"ok\\\": 0, \\\"total\\\": 0, \\\"error\\\": \\\"batch-already-consumed\\\"}, \\\"waiting\\\": \\\"upstream-not-ready\\\"}\"}"},{"run_id":"20260911002325","stage":"speedtest","status":"ok","end_at":"2026-09-11 00:24:23","stats_json":"{\"detail\": \"{\\\"waiting\\\": \\\"cn-cs-20260910T201736Z-347cdecc\\\", \\\"waiting_batches\\\": [{\\\"batch_id\\\": \\\"cn-cs-20260910T201736Z-347cdecc\\\", \\\"expires_at\\\": \\\"2026-09-12T02:17:36Z\\\"}, {\\\"batch_id\\\": \\\"cn-css-20260910T201737Z-9246151f\\\", \\\"expires_at\\\": \\\"2026-09-12T02:17:37Z\\\"}, {\\\"batch_id\\\": \\\"cn-csss-20260910T201739Z-c8ef3262\\\", \\\"expires_at\\\": \\\"2026-09-12T02:17:39Z\\\"}], \\\"expires_at\\\": \\\"2026-09-12T02:17:36Z\\\", \\\"cn_ok\\\": 0, \\\"cn_total\\\": 0}\"}"},{"run_id":"20260911002325","stage":"github_auth","status":"ok","end_at":"2026-09-11 00:24:15","stats_json":"{\"detail\": \"{\\\"waiting\\\": \\\"gh-auth-20260910T184222Z-f8f4c92f\\\", \\\"expires_at\\\": \\\"2026-09-11T18:42:22Z\\\", \\\"recovered\\\": {\\\"ok\\\": 0, \\\"total\\\": 2, \\\"batch_id\\\": \\\"gh-deep-20260911T042103Z-0a18a4d0\\\"}}\"}"},{"run_id":"20260911002325","stage":"collect","status":"ok","end_at":"2026-09-11 00:24:15","stats_json":"{\"detail\": \"\\\"['ok(+61)', 'unchanged', 'unchanged', 'unchanged', \\\\\\\"err:HTTPSConnectionPool(host='tv.iill.top', port=443): Max retri\\\\\\\", 'unchanged', 'unchanged', 'unchanged', 'unchanged', 'unchanged', 'unchanged', 'unchanged', 'ok(+0)', 'ok(+0)', 'unchanged', 'unchanged', 'unchanged', 'unchanged', 'unchanged', 'no-items', 'no-items', 'ok(+0)', 'no-items', 'no-items', 'no-items', 'no-items', 'no-items', 'no-item\"}"},{"run_id":"20260911002325","stage":"keywords","status":"ok","end_at":"2026-09-11 00:23:25","stats_json":"{\"detail\": \"\\\"0\\\"\"}"},{"run_id":"20260911002325","stage":"init","status":"ok","end_at":"2026-09-11 00:23:25","stats_json":"{\"detail\": \"\\\"None\\\"\"}"},{"run_id":"20260911001953","stage":"total","status":"err","end_at":"2026-09-11 00:22:57","stats_json":"{\"secs\": 180.2}"},{"run_id":"20260911001953","stage":"generate","status":"err","end_at":"2026-09-11 00:22:46","stats_json":"{\"detail\": \"Traceback (most recent call last):\\n File \\\"/opt/iptv-scraper/iptv_scraper/orchestrator.py\\\", line 354, in run_stage\\n res = fn(ctx)\\n ^^^^^^^\\n File \\\"/opt/iptv-scraper/iptv_scraper/orchestrator.py\\\", line 313, in stage_generate\\n generated, total_ch, lives = generator.build_all(c, staging)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \\\"/opt/iptv-scraper/iptv_scr\"}"},{"run_id":"20260911001953","stage":"epg","status":"ok","end_at":"2026-09-11 00:21:14","stats_json":"{\"detail\": \"{\\\"refreshed\\\": 402}\"}"},{"run_id":"20260911001953","stage":"github_deep","status":"ok","end_at":"2026-09-11 00:21:05","stats_json":"{\"detail\": \"{\\\"phase\\\": \\\"deep\\\", \\\"candidates\\\": 2, \\\"batch_id\\\": \\\"gh-deep-20260911T042103Z-0a18a4d0\\\", \\\"push\\\": \\\"pushed\\\", \\\"recovered\\\": {\\\"ok\\\": 0, \\\"total\\\": 0, \\\"error\\\": \\\"batch-already-consumed\\\"}}\"}"},{"run_id":"20260911001953","stage":"speedtest","status":"ok","end_at":"2026-09-11 00:21:03","stats_json":"{\"detail\": \"{\\\"waiting\\\": \\\"cn-cs-20260910T201736Z-347cdecc\\\", \\\"waiting_batches\\\": [{\\\"batch_id\\\": \\\"cn-cs-20260910T201736Z-347cdecc\\\", \\\"expires_at\\\": \\\"2026-09-12T02:17:36Z\\\"}, {\\\"batch_id\\\": \\\"cn-css-20260910T201737Z-9246151f\\\", \\\"expires_at\\\": \\\"2026-09-12T02:17:37Z\\\"}, {\\\"batch_id\\\": \\\"cn-csss-20260910T201739Z-c8ef3262\\\", \\\"expires_at\\\": \\\"2026-09-12T02:17:39Z\\\"}], \\\"expires_at\\\": \\\"2026-09-12T02:17:36Z\\\", \\\"cn_ok\\\": 0, \\\"cn_total\\\": 0}\"}"}]}