IPTV 直播源探索与检测工具 — 自动搜索、智能过滤、批量检测、导出播放列表
IPTV Explorer 是一款基于 Electron 构建的桌面工具,专为 IPTV 直播源爱好者设计。它能够自动从多个在线来源搜索直播源,通过内置的频道白名单进行智能过滤,并使用 ffprobe 引擎进行批量连通性检测,最终生成高质量的播放列表。
自动从以下来源搜索 IPTV 直播源:
采用两阶段检测引擎确保源质量:
基于多项指标自动评分(满分 100):
| 指标 | 权重 | 说明 |
|---|---|---|
| 延迟 | 30分 | 连接速度越快分数越高 |
| 分辨率 | 30分 | 1080p 满分,720p 次之 |
| 编码格式 | 10分 | H.265 优于 H.264 |
| 码率 | 15分 | 码率越高画质越好 |
| 连通性 | 15分 | 源稳定可用性 |
内置 全国电视节目频道列表(1084 个频道),覆盖:
自动根据 URL 解析频道归属地:
cztv.com → 浙江)



简洁的四页导航布局:
| 页面 | 功能 |
|---|---|
| 直播源探索 | 在线搜索直播源、实时日志、结果导出 |
| 直播源检测 | 批量连通性检测、评分筛选、状态统计 |
| 源管理 | 统一管理所有频道、搜索/筛选/批量操作 |
| 设置 | 白名单管理、爬虫参数、检测参数配置 |
1️⃣ 探索 → 2️⃣ 检测 → 3️⃣ 导出
从附件中下载最新版本的安装包 IPTV_Explorer_Setup_1.0.0.exe,双击安装即可使用。
# 克隆仓库
git clone https://github.com/yourname/iptv-explorer.git
cd iptv-explorer
# 安装依赖
npm install
# 启动开发模式
npm start
# 构建安装包
npm run build
CCTV, 卫视, 湖南)支持两种导出格式:
频道名,URL(每行一个)在 源管理 页面可以:
| 配置 | 说明 |
|---|---|
| 白名单 | 只有名称包含白名单关键词的频道才会保留 |
| 黑名单 | 排除名称包含黑名单关键词的频道 |
| 内置白名单 | 随应用打包的 1084 个中文频道列表 |
| 配置 | 说明 |
|---|---|
| 恩山论坛最大页面数 | 搜索的论坛页数(默认 10) |
| GitHub 最低 Star 数 | 筛选 GitHub 项目的最低星数(默认 5) |
| 配置 | 说明 |
|---|---|
| 默认并发数 | 检测阶段的并发连接数(默认 10) |
| 默认超时时间 | 单次检测超时秒数(默认 10 秒) |
┌─────────────────────────────────────────────┐
│ Electron (主进程) │
│ ┌─────────┐ ┌──────────┐ ┌────────────┐ │
│ │ main.js │ │ probe.js │ │ validator │ │
│ │ (IPC) │ │ (ffprobe)│ │ .js (检测) │ │
│ └─────────┘ └──────────┘ └────────────┘ │
│ ┌──────────┐ ┌──────────┐ ┌────────────┐ │
│ │database │ │ http.js │ │geo-location│ │
│ │ .js(持久)│ │(网络请求) │ │ .js (归属) │ │
│ └──────────┘ └──────────┘ └────────────┘ │
├─────────────────────────────────────────────┤
│ Electron (渲染进程) │
│ ┌──────────┐ ┌──────────┐ ┌────────────┐ │
│ │app.js │ │index.html│ │ style.css │ │
│ │(UI逻辑) │ │(界面结构) │ │ (样式) │ │
│ └──────────┘ └──────────┘ └────────────┘ │
├─────────────────────────────────────────────┤
│ preload.js │
│ (contextBridge 安全桥接) │
└─────────────────────────────────────────────┘
| 组件 | 技术 |
|---|---|
| 桌面框架 | Electron 42 |
| 运行环境 | Node.js + Chromium |
| 流检测引擎 | ffprobe(FFmpeg 套件) |
| 网络请求 | axios + cheerio(HTML 解析) |
| 并发控制 | p-limit |
| 数据持久化 | JSON 文件存储 |
| 安装程序 | NSIS(Nullsoft Scriptable Install System) |
iptv-explorer/
├── main.js # 主进程入口
├── preload.js # 预加载脚本(contextBridge)
├── package.json # 项目配置
├── start.bat # 快捷启动脚本
├── sources.json # 在线来源配置
├── bin/ # ffprobe 引擎
│ ├── ffprobe.exe
│ ├── ffmpeg.exe
│ ├── avcodec-60.dll
│ ├── avformat-60.dll
│ └── ... (其他 DLL)
├── assets/
│ └── 全国电视节目频道列表.txt # 内置频道白名单
├── src/
│ ├── main/
│ │ ├── main.js # IPC 处理、窗口管理
│ │ ├── database.js # 数据持久化
│ │ ├── probe.js # ffprobe 探测
│ │ ├── validator.js # 检测引擎
│ │ └── discover.js # 搜索引擎
│ ├── renderer/
│ │ ├── app.js # 渲染进程 UI
│ │ ├── index.html # 界面结构
│ │ └── style.css # 暗色主题样式
│ └── utils/
│ ├── http.js # HTTP 工具
│ ├── geo-location.js # IP 归属地
│ ├── geo-location.json # 归属地映射数据
│ └── whitelist.js # 白名单过滤器
└── build/ # 构建输出
└── IPTV_Explorer_Setup_1.0.0.exe
iptv-data.json 和 iptv-config.json本项目仅供学习和研究使用。使用者应遵守当地法律法规,不得将本项目用于任何非法用途。
免责声明:本工具仅用于技术研究和学习目的。请勿将其用于侵犯他人权益或违反法律法规的活动。
本站内容均来自网络收集整理,仅供学习交流。如侵犯了您的合法权益,请发邮件至 717058319@qq.com,核实后尽快处理。