IPTV Checker 是一款高性能的 IPTV 播放列表检测工具,支持 Docker 部署和命令行两种使用方式。它可以帮助你快速验证 M3U / M3U8 / TXT 格式的播放列表中的频道是否可用。
适用场景:
- 定期检测 IPTV 源的有效性,过滤失效链接
- 通过 Web 管理界面对检测任务进行可视化管理和配置
- 批量导出可用的 IPv4 / IPv6 频道列表
- 在 CI/CD 流程中自动化检测播放列表质量
- 🚀 多种部署方式:Docker、Docker Compose、CLI 二进制文件,灵活选择
- 🌐 Web 管理后台:直观的 Web 界面,支持任务管理、配置编辑、结果导出
- 🔍 多种检测方式:HTTP 检测 + FFmpeg 强制检测,结果更准确
- 📋 后台任务系统:支持并发检测、定时任务、任务导入导出
- 📊 灵活导出:支持 M3U / TXT 格式导出,可按 IPv4 / IPv6 分别输出
- 🎨 深色模式:内置深色主题,保护眼睛
- 🔄 EPG 支持:支持电子节目单(EPG)配置与管理
- 📡 多格式兼容:支持 M3U、M3U8、TXT 播放列表文件
- 🏷️ 频道名智能匹配:解析时自动通过 EPG 数据规范化 tvg-name/tvg-id,去除 4K 等质量后缀
- 📺 频道名显示模式:支持在频道名后追加分辨率标签(HD/FHD)或数值(720p/1080p),多分辨率标记 *
- 📁 频道分组映射:本地维护 tvg-name 与 group-title 的映射关系,支持 EPG 未映射频道快速匹配
- 🔧 高度可配置:超时时间、自定义排序、关键词匹配、网速最快筛选
# 拉取镜像
docker pull zmisgod/iptvchecker
# 启动容器
docker run -d \
-p 8081:8089 \
--name iptv-checker \
zmisgod/iptvchecker启动后访问 http://127.0.0.1:8081 即可进入管理界面。
镜像托管在 Docker Hub,可查看所有可用 tag。
创建 docker-compose.yaml:
version: "3"
services:
iptv-checker:
image: zmisgod/iptvchecker
ports:
- "8081:8089"
restart: alwaysdocker-compose up -d前往 GitHub Releases 下载对应平台的二进制文件,在命令行中直接运行。
GitHub API 对未认证请求有严格的频率限制(60 次/小时),配置 token 后可提升至 5000 次/小时。
申请步骤:
- 登录 GitHub,访问 github.com/settings/tokens
- 点击 Generate new token → 选择 Fine-grained token(推荐)
- 配置权限(最小化原则):
- Expiration:自定义过期时间
- Repository access:选择
Public repositories (read-only) - Permissions:
Contents→Read-only
- 生成后复制 token,打开 Web 管理后台 → 系统配置 → 基础配置,填入
github_token字段
保存时系统会自动调用 GitHub API 验证 token 有效性。
请求策略:
| 场景 | 行为 |
|---|---|
| 已配置有效 token | 使用认证 API(5000 次/时) |
| 未配置 token | 优先尝试 API,触发限流后自动降级为 HTML 解析 |
| token 无效 | 保存时拒绝并提示错误 |
详见 CHANGELOG.md。
- 4.7.0 — EPG 频道名自动匹配替换、频道名分辨率后缀显示模式、频道分组映射、全局 Host 统一管理、分组映射支持导入导出
- 4.6.0 — GitHub 抓取迁移至 REST API、安全加固(SSRF / 路径穿越修复)、性能优化(连接池复用、减少 clone)、代码质量提升、11 项 Bug 修复
- 4.5.1 — 修复不检查的问题、支持 CLI 触发检查
- 4.5.0 — 支持 EPG 配置
- 4.4.0 — 配置备份恢复、IPv4/IPv6 分别导出
本项目基于 MIT License 开源。
- 博客:知敏博客
- 问题反馈:GitHub Issues
- 讨论交流:Discord
