IPTV全频道自动更新接口 ClawCloud免费私化有部署
直播源自动获取与播放列表生成工具
阅读时长约 14 分钟(2702 字)
Guovin/iptv-api
Guovin/iptv-api 是一款高度可定制的应用,能够自动抓取直播源,进行测速验证,并自动生成 txt 和 m3u8 格式的播放列表文件。通过配置计划任务,您可以实现播放列表的免维护。其核心功能包括:
- 支持自定义模板,按需生成频道列表
- 支持 RTMP 推流(live/hls),优化播放体验
- 提供多种源获取方式:本地源、组播源、酒店源、订阅源、关键字搜索
- 支持回放类接口的获取与生成
- 集成 EPG 功能,显示频道预告信息
- 对接口进行测速验证,获取延迟、速率、分辨率等参数,过滤失效接口
- 偏好设置:支持 IPv4、IPv6,可配置接口来源排序优先级与数量,以及接口白名单
- 定时执行:每天北京时间 6:00 和 18:00 自动更新
- 多种运行方式:工作流、命令行、GUI 软件、Docker(支持 amd64/arm64/arm v7)
仓库地址:https://github.com/Guovin/iptv-api
受 ClawCloudRun 网络限制,无法检测 IPv6 源。
关于 ClawCloudRun
ClawCloudRun 为注册超过 180 天的 GitHub 老用户提供每月 5 美元的现金券。只需使用 GitHub 账号登录,系统每月会自动发放 5 美元现金券。这笔额度足以运行 Guovin/iptv-api 容器。
注册与登录
- 打开注册地址:https://console.run.claw.cloud/signin?link=F61285C7DK3X
- 点击 GitHub 图标登录

查看赠送金额
登录后,点击右上角头像 → plan,即可查看赠送金额。

私有化部署步骤
在了解 Guovin/iptv-api 并完成 ClawCloudRun 注册后,您可以通过 Docker 方式部署该应用。
创建容器
- 打开
App Launchpad - 点击右上角
Create App按钮

配置容器

- Application Name:填写应用名称(可自定义)
- Image:选择
public公共镜像 - Image Name:填写
guovern/iptv-api:latest - Usage:选择固定配置。推荐配置为 0.5 核 CPU、1G 内存,每天 0.14 美元,月费不到 5 美元,赠送金额正好足够。
- Network:开启网络权限,默认使用 80 端口。系统将生成一个域名,用于访问您的 IPTV 播放列表。
- Environment Variables:配置环境变量,示例如下:
APP_HOST:"http://localhost"
APP_PORT:8000
UPDATE_CRON:"0 22,10 * * *"
- Configmaps:映射配置文件。点击
Add按钮添加一组配置,其中File Name为配置文件路径/iptv-api/config/config.ini。配置内容如下:
# 开启浏览器运行,若更新无数据可开启此模式,较消耗性能; 可选值: True, False
open_driver = False
# 开启EPG功能,支持频道显示预告内容;可选值: True, False
open_epg = True
# 开启无结果频道分类,自动归类至底部; 可选值: True, False
open_empty_category = False
# 开启分辨率过滤,低于最小分辨率(min_resolution)的接口将会被过滤,GUI用户需要手动安装FFmpeg,程序会自动调用FFmpeg获取接口分辨率,推荐开启,虽然会增加测速阶段耗时,但能更有效地区分是否可播放的接口,可选值:True, False
open_filter_resolution = True
# 开启速率过滤,低于最小速率(min_speed)的接口将会被过滤; 可选值: True, False
open_filter_speed = True
# 开启酒店源功能,关闭后所有酒店源工作模式都将关闭; 可选值: True, False
open_hotel = False
# 开启 Foodie 酒店源工作模式; 可选值: True, False
open_hotel_foodie = True
# 开启 FOFA、ZoomEye 酒店源工作模式; 可选值: True, False
open_hotel_fofa = False
# 开启本地源功能,将使用模板文件与本地源文件(local.txt)中的数据;可选值: True, False
open_local = True
# 开启转换生成 m3u 文件类型结果链接,支持显示频道图标; 可选值: True, False
open_m3u_result = True
# 开启组播源功能,关闭后所有组播源工作模式都将关闭; 可选值: True, False
open_multicast = False
# 开启 Foodie 组播源工作模式; 可选值: True, False
open_multicast_foodie = True
# 开启 FOFA 组播源工作模式; 可选值: True, False
open_multicast_fofa = False
# 开启关键字搜索源功能; 可选值: True, False
open_online_search = False
# 开启查询请求,数据来源于网络(仅针对酒店源与组播源); 可选值: True, False
open_request = False
# 开启RTMP推流功能,需要安装FFmpeg,利用本地带宽提升接口播放体验; 可选值: True, False
open_rtmp = True
# 开启页面服务,用于控制是否启动结果页面服务;如果使用青龙等平台部署,有专门设定的定时任务,需要更新完成后停止运行,可以关闭该功能; 可选值: True, False
open_service = True
# 开启测速排序功能(响应速度、日期、分辨率); 可选值: True, False
open_speed_test = True
# 开启订阅源功能; 可选值: True, False
open_subscribe = True
# 开启补偿机制模式,用于控制当频道接口数量不足时,自动将不满足条件(例如低于最小速率)但可能可用的接口添加至结果中,从而避免结果为空的情况; 可选值: True, False
open_supply = True
# 开启更新,用于控制是否更新接口,若关闭则所有工作模式(获取接口和测速)均停止; 可选值: True, False
open_update = True
# 开启显示更新时间; 可选值: True, False
open_update_time = True
# 开启显示接口说明信息,用于控制是否显示接口来源、分辨率、协议类型等信息,为$符号后的内容,播放软件使用该信息对接口进行描述,若部分播放器(如PotPlayer)不支持解析导致无法播放可关闭; 可选值: True, False
open_url_info = False
# 开启使用本地缓存数据,适用于查询请求失败场景(仅针对酒店源与组播源); 可选值: True, False
open_use_cache = True
# 开启使用历史更新结果(包含模板与结果文件的接口),合并至本次更新中; 可选值: True, False
open_history = True
# 开启使用M3U内含的请求头验证信息,用于测速等操作,注意:只有个别播放器支持播放这类含验证信息的接口,默认为关闭;可选值: True, False
open_headers = False
# 页面服务Host地址,影响RTMP推流地址生成;默认值: localhost
app_host = http://localhost
# 页面服务端口,用于控制页面服务的端口号; 默认值: 8000
app_port = 8000
# CDN代理加速地址,用于订阅源、频道图标等资源的加速访问
cdn_url =
# 生成结果文件路径; 默认值: output/result.txt
final_file = output/result.txt
# 结果中偏好的酒店源接口数量
hotel_num = 10
# 酒店地区获取分页数量
hotel_page_num = 1
# 酒店源地区列表,"全部"表示所有地区
hotel_region_list = 全部
# 结果中偏好的 IPv4 接口数量
ipv4_num =
# 结果中偏好的 IPv6 接口数量
ipv6_num =
# 强制认为当前网络支持IPv6,跳过检测
ipv6_support = False
# 生成结果中接口的协议类型,可选值:ipv4、ipv6、全部、all
ipv_type = 全部
# 接口协议类型偏好,优先将该类型的接口排在结果前面,可选值:ipv4、ipv6、自动、auto
ipv_type_prefer = ipv6,ipv4
# 本地源文件路径,默认值: config/local.txt
local_file = config/local.txt
# 结果中偏好的本地源接口数量
local_num = 10
# 接口最小分辨率,需要开启 open_filter_resolution 才能生效
min_resolution = 1920x1080
# 接口最大分辨率,需要开启 open_filter_resolution 才能生效
max_resolution = 1920x1080
# 接口最小速率(单位M/s),需要开启 open_filter_speed 才能生效
min_speed = 0.5
# 结果中偏好的组播源接口数量
multicast_num = 10
# 组播地区获取分页数量
multicast_page_num = 1
# 组播源地区列表,"全部"表示所有地区
multicast_region_list = 全部
# 结果中偏好的关键字搜索接口数量
online_search_num = 0
# 关键字搜索频道获取分页数量
online_search_page_num = 1
# 结果偏好的接口来源,结果优先按该顺序进行排序,逗号分隔,例如:local,hotel,multicast,subscribe,online_search;local:本地源,hotel:酒店源,multicast:组播源,subscribe:订阅源,online_search:关键字搜索;不填写则表示不指定来源,按照接口速率排序
origin_type_prefer =
# 获取最近时间范围内更新的接口(单位天),适当减小可避免出现匹配问题
recent_days = 30
# 查询请求超时时长,单位秒(s),用于控制查询接口文本链接的超时时长以及重试时长,调整此值能优化更新时间
request_timeout = 10
# 同时执行测速的接口数量,用于控制测速阶段的并发数量,数值越大测速所需时间越短,负载较高,结果可能不准确;数值越小测速所需时间越长,低负载,结果较准确;调整此值能优化更新时间
speed_test_limit = 10
# 单个接口测速超时时长,单位秒(s);数值越大测速所需时间越长,能提高获取接口数量,但质量会有所下降;数值越小测速所需时间越短,能获取低延时的接口,质量较好;调整此值能优化更新时间
speed_test_timeout = 10
# 测速阶段使用Host地址进行过滤,相同Host地址的频道将共用测速数据,开启后可大幅减少测速所需时间,但可能会导致测速结果不准确;可选值: True, False
speed_test_filter_host = False
# 模板文件路径, 默认值: config/demo.txt
source_file = config/demo.txt
# 结果中偏好的订阅源接口数量
subscribe_num = 10
# 时区,可用于控制更新时间显示的时区,可选值:Asia/Shanghai 或其它时区编码
time_zone = Asia/Shanghai
# 单个频道接口数量
urls_limit = 10
# 更新时间显示位置,需要开启 open_update_time 才能生效,可选值:top、bottom,transform: translateY( 显示于结果顶部,bottom: 显示于结果底部
update_time_position = top
配置到此就全部完成了。如果需要设置黑白名单,可以参考上述方法,相关的配置文件模板及路径可在 github 找到。最后,点击右上角的 Deploy Application 按钮即可创建应用容器。
部署完成后,系统会自动获取直播源、完成测速并生成播放列表。你可以通过日志查看运行进度。

如何访问播放列表
在 ClawCloudRun 中点击你创建的应用,进入 Network 选项,Public Address 即为访问地址。在地址后添加以下 URL 路径即可访问对应的接口。
| 接口 | 描述 |
|---|---|
| / | 默认接口 |
| /m3u | m3u 格式接口 |
| /txt | txt 格式接口 |
| /ipv4 | ipv4 默认接口 |
| /ipv6 | ipv6 默认接口 |
| /ipv4/txt | ipv4 txt 接口 |
| /ipv6/txt | ipv6 txt 接口 |
| /ipv4/m3u | ipv4 m3u 接口 |
| /ipv6/m3u | ipv6 m3u 接口 |
| /content | 接口文本内容 |
| /log | 测速日志 |
如果以上步骤仍未掌握,也不必担心,这里还提供了几个现成的接口,每天更新两次,可直接使用:
0
0
IPTV全频道自动更新接口 ClawCloud免费私化有部署
风花雪夜 · 717058319@qq.com
本文为原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
评论区 (2)
发表评论
共有 2 条评论
文章说月费不到5美元,但0.5核1G内存每天0.14美元算下来一个月4.2左右,万一有隐藏收费或流量超了咋办?另外IPv6受限这个能不能自己在别处绕开?希望作者展开说说。
之前手动找直播源累得够呛,经常失效还得重新搜。看到这篇教程果断用ClawCloud部署了,每天自动更新两次,终于不用再折腾了。