手把手教你免费搭建属于自己的IPTV源,再也不怕卡顿!

平时喜欢看电视的朋友,是不是经常遇到这些情况?

  • 网上找的直播链接,没过几天就打不开了
  • 各种付费软件,收费越来越高,播放还总卡顿
  • 用TVBox追剧,老是找不到好用的电子节目单(EPG)

其实,要解决这些麻烦一点都不难。自己动手,就能搭一个永久免费、自动更新、还带节目指南的IPTV源。今天要说的这个开源项目——iptv-sources,就是专门帮你搞定这些问题的。

项目介绍

这个项目好在哪?

  • 自动更新:每隔2小时就会刷新一次源,基本不用担心失效问题
  • 完全免费:只用 GitHub Actions 和 Cloudflare Pages,不需要花钱
  • 多种格式:M3U、TXT、TVBox JSON都能用,大部分播放器都支持
  • 自带节目表:两种格式的 EPG,连预告都能帮你整理好
  • 速度快:走 Cloudflare 的 CDN,全球节点加速,看直播更流畅

准备工作

需要准备什么?

只要这三样:

  1. 一个 GitHub 账号(免费注册)
  2. 一个 Cloudflare 账号(也是免费注册)
  3. 一个域名(免费域名集合)随便选择一个免费注册即可

不需要租服务器,全程在浏览器里就能搞定。

部署教程

快速部署步骤

第一步:Fork 项目到自己的 GitHub

  1. 打开项目地址:https://github.com/yunnysunny/iptv-sources
  2. 点击右上角的 Fork,把项目复制到你自己的账号下

第二步:在 Cloudflare Pages 上创建应用

不懂英文的小伙伴,建议点击右上角头像 => Language => 简体中文

  1. 登录 Cloudflare,进入 Workers & Pages
  2. 点击 创建应用程序 → 底部 想要部署 Pages?开始使用导入现有 Git 存储库
  3. 授权 GitHub,选刚才 Fork 过来的项目
  4. 构建设置这样填:
配置项 内容
生产分支 main
构建命令 pnpm build:static
输出目录 m3u

构建设置

  1. 保存并部署,等一两分钟让它部署完成

第三步:设置自动更新(这一步比较关键)

要让源能自己更新,需要在 GitHub 里配几个 钥匙

① 在 Cloudflare 创建 API 令牌

  • Cloudflare,点头像 → 配置文件API 令牌

    进入创建令牌

  • 创建令牌,选 编辑 Cloudflare Workers 这个模板

    编辑 Cloudflare Workers

  • 权限 里,把 账户Cloudflare Pages 改成 编辑

  • 账户资源 和 区域资源 选择所有

  • 继续以显示摘要 → 创建令牌,复制生成的令牌(只显示一次,记得保存好)

    创建令牌

② 获取你的 Account ID

  • 在Cloudflare首页右侧就能看到 Account ID,复制下来

    获取Account ID

③ 在 GitHub 仓库添加 Secrets

  1. 回到你 Fork 的项目,点 Settings → Secrets and variables → Actions → New repository secret

    New repository secret

  2. 依次添加这三个:

Secret名称
CLOUDFLARE_API_TOKEN 刚创建的API令牌
CLOUDFLARE_ACCOUNT_ID 你的 Account ID
PROJECT_NAME 你的 Pages 项目名称(就是刚才建的那个)
  1. 开启 GitHub Actions

    GitHub Actions

配好之后,GitHub Actions 的定时任务就会每2小时自动抓取最新源,然后发布到 Cloudflare Pages上。

怎么用你的直播源?

部署成功后,直播源地址是这样的:

怎么用:

  • Perfect Player / Kodi:在设置里直接添加M3U地址
  • TVBox:把地址填到“直播源”那一栏
  • 手机或电视:用支持M3U的播放器打开就行

EPG节目单怎么配?

这个项目自带两种节目单格式:

  1. 标准XMLTV格式(适合Kodi、Perfect Player等)

https://你的项目名.pages.dev/epg/51zmt.xml

在播放器里填上这个地址,就能看到央视、卫视的节目预告了。

  1. TVBox专用JSON格式

在你的TVBox配置里,加上这段:

{
  "epg": "https://你的项目名.pages.dev/epg/51zmt/{date}/{name}.json"
}

TVBox会自动把日期和频道名填进去,节目单就能自动匹配上了。

自定义域名

因为某些特殊原因,访问 xxx.pages.dev 可能不通,所以建议自己绑定域名

不用花钱,注册几个免费域名即可。具体注册教程和托管到 Cloudflare 可以查看 域名白嫖指南:https://www.iyouhun.com/post-304.html

  1. 进入你创建的 Pages 项目 点击 自定义域

    自定义域名

  2. 因为你的域名托管在了 Cloudflare 所以他会自动帮你添加解析 等待变为活动即可

    域名解析成功

  3. 绑定成功后用你的域名访问即可

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源仅供学习交流,请勿用于商业用途。直播内容版权归各电视台所有,使用前请留意当地相关规定。

如果觉得有用,欢迎分享给身边有需要的朋友。有什么不明白的地方,欢迎留言交流~

欢迎留言