手把手教你零成本部署自己的IPTV直播源
还在为IPTV源失效而烦恼?借助这个开源项目,结合Cloudflare的免费服务,你能轻松搭建一个永不失效的直播源,还自带电子节目单!
📺 为什么需要自己部署IPTV源?
很多喜欢看电视的朋友都遇到过这些烦心事:
- 网上找的直播源,用不了几天就失效
- 各种付费软件价格高,还常卡顿
- 想用TVBox看节目,却找不到好用的EPG(电子节目单)
其实,自己动手搭建一个永久免费、自动更新、带EPG的IPTV源,完全可行。今天介绍的这款开源项目——iptv-sources,正是为了解决这些问题而生。
✨ 项目亮点
- ✅ 全自动更新:每2小时自动抓取最新源,永不过时
- ✅ 零成本运行:基于GitHub Actions和Cloudflare Pages,完全免费
- ✅ 多格式支持:M3U、TXT、TVBox JSON,兼容各种播放器
- ✅ 自带EPG:提供两种电子节目单格式,预告信息已备好
- ✅ 全球节点加速:借助Cloudflare CDN,速度快如闪电
🛠️ 准备工作
你只需要三样物品:
- 一个GitHub账号(免费注册)
- 一个Cloudflare账号(免费注册)
- 一个域名(免费注册)
无需服务器,无需域名(有域名的更好),所有操作都在浏览器中完成。
🚀 一键部署指南
第一步:Fork项目到你的GitHub
- 打开项目地址:https://github.com/yunnysunny/iptv-sources
- 点击右上角的 Fork 按钮,将项目复制到你的账户下

第二步:在Cloudflare Pages创建应用
- 登录Cloudflare控制台,进入 Workers & Pages
- 点击 Create application → Pages → Connect to Git
- 授权GitHub,选择你刚才Fork的项目
- 构建设置如下:
| 配置项 | 填写内容 |
|---|---|
| 生产分支 | main |
| 构建命令 | pnpm build:static |
| 输出目录 | m3u |
- 点击 Save and Deploy,等待第一次部署完成(约1-2分钟)
第三步:配置自动更新(关键步骤)
为了实现源的自动更新,需要给GitHub配置几个“钥匙”:
① 在Cloudflare创建API令牌
- 登录Cloudflare,点击右上角头像 → My Profile → API Tokens
- 点击 Create Token,选择 Edit Cloudflare Workers 模板
- 在 Permissions 中,将 Account → Cloudflare Pages 设为 Edit
- 点击 Continue to summary → Create Token,复制生成的令牌(只显示一次,务必保存好)
② 获取你的Account ID
- 在Cloudflare控制台首页,右侧就能看到 Account ID,复制下来
③ 在GitHub仓库添加Secrets
- 回到你Fork的项目,点击 Settings → Secrets and variables → Actions → New repository secret
- 依次添加以下三个:
| Secret名称 | 值 |
|---|---|
| CLOUDFLARE_API_TOKEN | 刚才创建的API令牌 |
| CLOUDFLARE_ACCOUNT_ID | 你的Account ID |
| PROJECT_NAME | 你的Pages项目名称(即刚才创建的) |
添加完成后,GitHub Actions的定时任务就会每2小时自动抓取最新源,并发布到你的Cloudflare Pages上。
📱 如何使用你的直播源
部署完成后,你的直播源地址为:
https://你的项目名.pages.dev/youhun.m3u# 国内源https://你的项目名.pages.dev/zbds.m3u# 备用源https://你的项目名.pages.dev/all.m3u# 汇总源
使用方法:
- Perfect Player / Kodi:在设置里直接添加M3U地址
- TVBox:将上述地址填入“直播源”一栏
- 手机/电视:用支持M3U的播放器打开即可
📺 EPG电子节目单配置
这个项目贴心地内置了两种节目单格式:
-
标准XMLTV格式(适合Kodi、Perfect Player等)
https://你的项目名.pages.dev/epg/51zmt.xml
在播放器里填入这个地址,就能看到央视、卫视的节目预告。 -
TVBox专用JSON格式(零成本方案)
在你的TVBox配置文件中,加入:{ "epg": "https://你的项目名.pages.dev/epg/51zmt/{date}/{name}.json" }TVBox会自动替换当天日期和频道名,实现自动匹配节目单。
❓ 常见问题
Q:部署后打开链接是404怎么办?
A:GitHub Actions还没跑完,等待2小时左右自动更新一次即可。或者手动去Actions页面触发工作流。
Q:我的免费额度够用吗?
A:完全够用!Cloudflare Pages免费版每月500次构建,GitHub Actions每月2000分钟免费时长,这个项目每月只占用不到10分钟。
Q:可以换成自己的域名吗?
A:当然可以。在Cloudflare Pages的 Custom domains 里添加你的域名,并解析CNAME到Pages域名即可。
Q:我不想用GitHub,能直接部署到服务器吗?
A:可以,项目还提供了Docker镜像,运行 docker pull yunnysunny/iptv-sources 即可一键部署到自己的服务器上。
🎉 总结
通过以上步骤,你已拥有一个永久免费、全自动更新的IPTV源。不仅自己能使用,还能分享给家人朋友。以后再也不用到处找源、担心失效了。
如果你觉得这篇文章有用,欢迎分享给更多需要的人。如果使用中遇到任何问题,可以在项目GitHub仓库提issue,作者非常热情。
快去试试吧,享受无忧看电视的快乐! 🎬
本文介绍的IPTV源仅用于学习交流,请勿用于商业用途。直播内容版权归各电视台所有,请遵守当地法律法规。
评论区 (2)
发表评论
共有 2 条评论
作为搞过类似自动化部署的,提一句:GitHub Actions有免费额度限制,公共仓库虽然不限时长但并发有限,频繁更新记得留意用量,建议把抓取间隔调成4小时更稳妥。
终于有人把这套流程讲清楚了!之前老担心源失效,跟着教程用GitHub Actions部署完,现在看电视再也不用到处翻新源了,省心不少。