03-26 15人
平时喜欢看电视的朋友,是不是经常遇到这些情况?
- 网上找的直播链接,没过几天就打不开了
- 各种付费软件,收费越来越高,播放还总卡顿
- 用TVBox追剧,老是找不到好用的电子节目单(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 上创建应用
不懂英文的小伙伴,建议点击右上角头像 => Language => 简体中文
- 登录 Cloudflare,进入 Workers & Pages
- 点击
创建应用程序→ 底部想要部署 Pages?开始使用→导入现有 Git 存储库 - 授权 GitHub,选刚才
Fork过来的项目 - 构建设置这样填:
| 配置项 | 内容 |
|---|---|
| 生产分支 | main |
| 构建命令 | pnpm build:static |
| 输出目录 | m3u |
- 点
保存并部署,等一两分钟让它部署完成
第三步:设置自动更新(这一步比较关键)
要让源能自己更新,需要在 GitHub 里配几个 钥匙:
① 在 Cloudflare 创建 API 令牌
进 Cloudflare,点头像 →
配置文件→API 令牌
点
创建令牌,选编辑 Cloudflare Workers这个模板
在 权限 里,把 账户 →
Cloudflare Pages改成编辑账户资源 和 区域资源 选择所有
点
继续以显示摘要→ 创建令牌,复制生成的令牌(只显示一次,记得保存好)
② 获取你的 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
配好之后,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会自动把日期和频道名填进去,节目单就能自动匹配上了。
自定义域名
因为某些特殊原因,访问 xxx.pages.dev 可能不通,所以建议自己绑定域名
不用花钱,注册几个免费域名即可。具体注册教程和托管到 Cloudflare 可以查看 域名白嫖指南:https://www.iyouhun.com/post-304.html
进入你创建的 Pages 项目 点击
自定义域
因为你的域名托管在了
Cloudflare所以他会自动帮你添加解析 等待变为活动即可
绑定成功后用你的域名访问即可
Q&A
可能遇到的问题
Q:部署完打开链接显示404怎么办?
A:可能是 GitHub Actions 还没跑完,等两小时让它自动更新一次就好。或者手动去 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源。自己用方便,分享给家人朋友也省心。
以后再也不用到处找源、担心失效了。赶紧试试吧,看直播省心多了!
本文介绍的IPTV源仅供学习交流,请勿用于商业用途。直播内容版权归各电视台所有,使用前请留意当地相关规定。
如果觉得有用,欢迎分享给身边有需要的朋友。有什么不明白的地方,欢迎留言交流~
欢迎留言