平时喜欢看电视的朋友,是不是经常遇到这些情况?
其实,要解决这些麻烦一点都不难。自己动手,就能搭一个永久免费、自动更新、还带节目指南的IPTV源。今天要说的这个开源项目——iptv-sources,就是专门帮你搞定这些问题的。
这个项目好在哪?
需要准备什么?
只要这三样:
不需要租服务器,全程在浏览器里就能搞定。
快速部署步骤
第一步:Fork 项目到自己的 GitHub
Fork,把项目复制到你自己的账号下第二步:在 Cloudflare Pages 上创建应用
不懂英文的小伙伴,建议点击右上角头像 => Language => 简体中文
创建应用程序 → 底部 想要部署 Pages?开始使用 → 导入现有 Git 存储库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上。
怎么用你的直播源?
部署成功后,直播源地址是这样的:
怎么用:
EPG节目单怎么配?
这个项目自带两种节目单格式:
https://你的项目名.pages.dev/epg/51zmt.xml
在播放器里填上这个地址,就能看到央视、卫视的节目预告了。
在你的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:部署完打开链接显示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源仅供学习交流,请勿用于商业用途。直播内容版权归各电视台所有,使用前请留意当地相关规定。
如果觉得有用,欢迎分享给身边有需要的朋友。有什么不明白的地方,欢迎留言交流~
!评论内容需包含中文