Baike.dev
All toolsTrendingOpen sourceNewsSubmit
Log in
< 返回工具列表
I

iptv-api

> 编程语言
开源

⚡️IPTV直播源自动更新工具:自动采集、校验、测速并生成可播放结果,支持 M3U/TXT/API 输出、自定义频道、IPv4/IPv6、Docker、GitHub Actions、CLI 与 GUI 多端部署

24.8K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

⚡️IPTV直播源自动更新工具:自动采集、校验、测速并生成可播放结果,支持 M3U/TXT/API 输出、自定义频道、IPv4/IPv6、Docker、GitHub Actions、CLI 与 GUI 多端部署

IPTV-API

⚡️IPTV直播源自动更新工具,支持自动采集、多源聚合、可用性校验、测速筛选与播放列表生成。可通过丰富配置自定义频道结果,并以 M3U、TXT 或 API 接口形式输出,导入播放器即可观看。

目录 - [✅ 核心特性](#核心特性) - [⚙️ 配置参数](#配置) - [🚀 快速上手](#快速上手) - [配置与结果目录](#配置与结果目录) - [工作流](#工作流) - [命令行](#命令行) - [GUI 软件](#gui-软件) - [Docker](#docker) - [📚 文档中心](./docs/README.md) - [📖 详细教程](./docs/tutorial.md) - [🗓️ 更新日志](./CHANGELOG.md) - [👀 关注](#关注) - [❤️ 捐赠](#捐赠) - [⚠️ 免责声明](#免责声明) - [⚖️ 许可证](#许可证) ## 赞助商

IPWO 提供稳定的住宅代理网络,适用于公开数据采集、接口调试、自动化测试与多地区访问验证等合规场景。 支持 HTTP / HTTPS / SOCKS5,优惠码:0105。 请在合法授权并遵守目标站点条款的前提下使用。

成为赞助商

## 核心特性 | 功能 | 支⁠持⁠状⁠态 | 说明 | |:----------|:----:|:-------------------------------------------| | **自⁠定⁠义⁠模⁠板** | ✅ | 生成自己想要的频道菜单 | | **频⁠道⁠别⁠名** | ✅ | 已收录 2,769 个频道、7,254 条别名(含 48 条正则);自动归一化并匹配名称差异 | | **多⁠源⁠聚⁠合** | ✅ | 本地源、订阅源(支持设置UA,识别无效地址并自动停用) | | **推⁠流** | ✅ | 改善弱网播放体验,支持浏览器直接播放,自动转码适配 | | **回⁠放⁠类⁠接⁠口** | ✅ | 回放类接口的获取与生成 | | **EPG** | ✅ | 获取并显示频道预告内容 | | **频⁠道⁠台⁠标** | ✅ | 自定义频道台标,支持本地添加或远程库 | | **测⁠速⁠验⁠效** | ✅ | 获取延迟、速率、分辨率、帧率,过滤无效接口,支持实时输出结果 | | **播⁠放⁠截⁠图** | ✅ | 可选自动截图,辅助验证频道内容,支持 GUI 预览与批量刷新 | | **广⁠告⁠过⁠滤** | ✅ | 自动识别并过滤无信号/广告等循环占位源 | | **高⁠级⁠偏⁠好** | ✅ | 速率、分辨率、黑/白名单、归属地与运营商自定义过滤 | | **结⁠果⁠管⁠理** | ✅ | 结果分类存储与访问、日志记录、未匹配频道记录、统计分析、冻结过滤/解冻回归、数据缓存 | | **定⁠时⁠任⁠务** | ✅ | GUI、命令行与 Docker 可定时或间隔执行,不作用于 GitHub Actions | | **暂⁠停⁠与⁠继⁠续** | ✅ | 桌面端更新过程中可暂停,并从当前进度继续 | | **多⁠平⁠台⁠部⁠署** | ✅ | 工作流、命令行、GUI 软件、Docker (amd64/arm64/arm v7) | | **更⁠多⁠功⁠能** | ✨ | 详见[配置参数](#配置)章节 | ## 配置 > [!NOTE]\ > 以下配置项位于 `config/config.ini` 文件中,支持通过配置文件或环境变量修改,保存后重启即可生效。也可查看独立的[配置参数文档](./docs/config.md)。 > [!TIP] > 生成结果质量取决于数据源与网络环境等因素,请合理调整配置参数以获取更符合需求的结果。 点击展开查看配置参数 | 配置项 | 描述 | 默认值 | |:-------------------------|:---------------------------------------------------------------------------------------------------------------------|:-----------------------------------------| | open_update | 开启更新,用于控制是否更新接口,若关闭则所有工作模式(获取接口和测速)均停止 | True | | open_unmatch_category | 开启未匹配频道分类,未匹配 source_file 的频道会进入该分类并直接写入结果,不参与测速 | False | | open_empty_category | 开启无结果频道分类,自动归类至底部 | False | | open_update_time | 开启显示更新时间 | True | | open_url_info | 开启显示接口说明信息,用于控制是否显示接口来源、分辨率、协议类型等信息,为 $ 符号后的内容,播放软件使用该信息对接口进行描述,若部分播放器(如 PotPlayer)不支持解析导致无法播放可关闭 | False | | open_epg | 开启 EPG 功能,支持频道显示预告内容 | True | | open_subscribe_epg | 开启从订阅源 m3u 头部 url-tvg/x-tvg-url 自动提取 EPG 地址,并入 EPG 源一起合并,无需手动维护 `config/epg.txt`;epg.txt 源优先,订阅源仅补充未覆盖频道;需 open_epg = True | True | | open_m3u_result | 开启转换生成 m3u 文件类型结果链接,支持显示频道图标 | True | | output_urls_limit | 每个频道最终导出的接口数量;旧版 `urls_limit` 仍兼容 | 5 | | update_time_position | 更新时间显示位置,需要开启 open_update_time 才能生效,可选值: top、bottom;top: 显示于结果顶部,bottom: 显示于结果底部 | top | | language | 系统语言设置;可选值: zh_CN、en | zh_CN | | update_mode | 定时执行更新时间模式,不作用于工作流;可选值: interval、time; interval: 按间隔时间执行,time: 按指定时间点执行 | interval | | update_interval | 定时执行更新时间间隔,仅在update_mode = interval时生效,单位小时,设置 0 或空则只运行一次 | 12 | | update_times | 定时执行更新时间点,仅在update_mode = time时生效,格式 HH:MM,支持多个时间点逗号分隔 | | | update_startup | 启动时执行更新,用于控制程序启动后是否立即执行一次更新 | True | | time_zone | 时区,可用于控制定时执行时区或显示更新时间的时区;可选值: Asia/Shanghai 或其它时区编码 | Asia/Shanghai | | source_file | 模板文件路径 | config/demo.txt | | final_file | 生成结果文件路径 | output/result.txt | | open_realtime_write | 开启实时写入结果文件,在测速过程中可以访问并使用更新结果 | True | | open_service | 开启页面服务,用于控制是否启动结果页面服务;如果使用青龙等平台部署,有专门设定的定时任务,需要更新完成后停止运行,可以关闭该功能 | True | | service_port | HTTP 服务访问端口;桌面版启用推流时由 Nginx 监听,新配置通常只需修改此端口 | 8080 | | public_url | 推荐的公网完整访问地址,例如 `https://iptv.example.com` 或 `http://host:8088`;用于统一生成播放列表、EPG、台标和服务链接 | | | app_port | 高级兼容设置:Flask 内部 API 端口,通常无需修改,也不应作为用户访问端口 | 5180 | | public_scheme | 高级兼容设置:旧版公网协议,仅在 `public_url` 留空时生效;可选值: http、https | http | | public_domain | 高级兼容设置:旧版公网 Host,仅在 `public_url` 留空时生效,默认使用本机 IP | 127.0.0.1 | | cdn_url | CDN 代理加速地址,用于订阅源、频道图标等资源的加速访问;支持配置多个(用英文逗号分隔),订阅源与 EPG 按顺序逐个回退拉取,任一镜像成功即停,频道图标使用第一个地址 | | | http_proxy | HTTP 代理地址,用于获取订阅源等网络请求 | | | open_local | 开启本地源功能,将使用模板文件与本地源文件(local.txt)中的数据 | True | | open_subscribe | 开启订阅源功能 | True | | open_auto_disable_source | 开启自动停用失效地址,失效项会在 `config/subscribe.txt` 和 `config/epg.txt` 中加 #;Actions 不会提交该变更 | False | | open_history | 开启使用历史更新结果(包含模板与结果文件的接口),合并至本次更新;Actions 仅尝试从短期缓存恢复历史 | True | | open_headers | 开启使用 M3U 内含的请求头验证信息,用于测速等操作,个别播放器可能不支持播放这类含验证信息的接口 | True | | user_agent | 全局请求 User-Agent,用于拉取订阅源、测速以及写入 m3u 结果(无需开启 open_headers),留空则使用内置默认 UA;优先级:接口自带 UA > 订阅地址 UA > 全局 UA > 内置默认 UA | | | open_speed_test | 开启测速功能,获取响应时间、速率、分辨率 | True | | speed_test_mode | 测速工作模式:`quick`、`full` 或 `manual`;`manual` 仅采集候选,测速由 GUI 操作触发 | quick | | speed_test_target | 快速测速每个频道的有效结果目标;设为 `0` 跟随 `output_urls_limit` | 0 | | quick_test_target | `speed_test_target` 的可读别名;非 0 时优先作为快速测速目标 | 0 | | open_stream_screenshot | 自动为可播放候选接口获取播放截图;会增加 FFmpeg 解码开销和更新时间,关闭时仍可在 GUI 手动获取 | False | | stream_screenshot_timeout | 单个接口截图超时时长,单位秒(s) | 5 | | stream_screenshot_width | 播放截图最大宽度,按原始宽高比缩放 | 640 | | open_filter_resolution | 开启分辨率过滤,低于最小分辨率(min_resolution)的接口将会被过滤,GUI 用户需要手动安装 FFmpeg,程序会自动调用 FFmpeg 获取接口分辨率,推荐开启,虽然会增加测速阶段耗时,但能更有效地区分是否可播放的接口 | True | | open_filte

核心特点

  • •Python
  • •auto-update
  • •awesome
  • •epg
  • •iptv

> 标签

Pythonauto-updateawesomeepgiptv

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月9日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言
Baike.dev

baike.dev helps you discover great languages, frameworks, databases, DevOps and cloud-native tools.

Quick links

  • Home
  • All tools
  • Trending
  • Open source

About

  • About us
  • Community
  • News

Contribute

Found a great developer tool? Share it with the community.

Submit a tool
© 2026 baike.dev Developer EncyclopediaUpdated daily · Discover great developer tools