打开播放列表一堆频道加载失败iptv-checker帮你快速筛出所有失效源【免费下载链接】iptv-checkerIPTV checker tool for Docker CMD, check your playlist is available项目地址: https://gitcode.com/GitHub_Trending/ip/iptv-checker当你打开保存在电视盒子上的 M3U 播放列表发现一半频道转圈没画面、另一半直接提示“源不可用”时只剩换源这一条路。iptv-checker 是一款免费的 IPTV 播放列表检测工具支持 Docker 和命令行两种部署方式能自动验证列表里每个频道是否可用。读完这篇你会知道如何用 Docker 在几分钟内部署它以及如何从创建检测任务一路走到导出一份干净的播放列表。5 分钟用 Docker 跑起 iptv-checker 的 Web 界面最省事的方式是用官方镜像直接启动。在装有 Docker 的机器上执行两条命令docker pull zmisgod/iptvchecker # 拉取官方镜像 docker run -d -p 8081:8089 --name iptv-checker zmisgod/iptvchecker # 启动容器宿主机 8081 端口映射到服务部署是否成功有一个明确的检查点用浏览器访问http://127.0.0.1:8081看到任务管理页面正常加载就说明服务已经在跑了。如果你更习惯用 Compose仓库里自带了 docker-compose.yaml端口和开机自启策略都已配好在文件所在目录执行docker-compose up -d # 一键启动宿主机重启后容器自动拉起完全不想常驻容器的话也可以从项目发布页下载对应平台的二进制文件在命令行里做一次性的检测任务。从创建检测任务到导出有效播放列表的完整路径界面里的使用路径非常线性建任务、等结果、导出。建任务把 M3U / M3U8 / TXT 格式的播放列表链接贴进任务表单直链或 GitHub 仓库中的文件都可以等检测任务在后台并发执行检测期间可以实时查看每个频道的状态拿结果检测完成后以 M3U 或 TXT 格式导出干净列表IPv4 和 IPv6 源还能分开输出英文界面功能与中文完全一致习惯英文操作或需要对接英文生态的用户可以直接切换界面里还有在线播放入口点开某个频道就能直接试播它的流确认画面声音正常而不只是“能连通”。EPG 配置、频道名称解析等细项也都开放了设置可以按自己的习惯调。它凭什么判断源可用三个值得了解的设计决策HTTP 探测加 FFmpeg 强制检测双保险结论每个频道都有“快筛”和“实测”两次机会。纯 HTTP 探测速度快但有些源站对任何请求都返回 200必须拉流解码才知道真假iptv-checker 因此用 FFmpeg 做强制检测兜底慢一点但导出的列表塞进播放器时不会翻车。定时任务与超时自动复位结论检测可以按周期跑卡住的任务会被自动救回来。源的可用性是动态变化的一次检测管不了太久所以支持定时任务定期复检同时给单源检测设了强制超时运行超 2 小时会自动复位不会拖死整条队列。SSRF 防护与 URL 校验结论它只检查你给的地址不碰内网。检测对象是用户粘贴的 URL系统会做合法性校验并拦截内网地址和危险协议把容器端口映射到公网使用也不至于变成攻击跳板。四个真实场景从个人折腾到团队自动化个人用户周末前跑一次检测导出仍然可用的频道重新导入盒子播放器观影时不再卡黑屏多源玩家按 IPv4 / IPv6 分开导出结果家庭网络没有 IPv6 就直接用 IPv4 那份列表自托管用户容器常驻在家庭服务器开启定时任务每周自动复检源的健康状况不用人工盯着团队用户把检测接进 CI 流程播放列表质量不达标直接卡住发布环节问题挡在源头常见卡点与排查方法部署后 8081 打不开先确认容器在运行再检查 8081 端口是否被其他服务占用占用时改一下-p的宿主机端口即可。检测速度偏慢FFmpeg 强制检测比纯 HTTP 探测耗时源越多越明显网络条件差时可以调大超时参数或先关掉强制检测快速筛一轮。需要配置 GitHub token 吗只有从 GitHub 仓库抓取播放列表时才涉及未配置时限流为每小时 60 次请求配置后提升到 5000 次在 Web 后台的系统配置里填入即可。完整版本记录见 CHANGELOG.md构建与端口配置见 dockerfile英文文档见 README_EN.md。只要你的播放列表挂在网络上跑一轮检测哪些源还活着就一目了然。【免费下载链接】iptv-checkerIPTV checker tool for Docker CMD, check your playlist is available项目地址: https://gitcode.com/GitHub_Trending/ip/iptv-checker创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?