阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

免费玩转Cloudflare-08:用Cloudflare搭建你的专属 EPG 节目单接口

2次阅读
没有评论

共计 3360 个字符,预计需要花费 9 分钟才能阅读完成。

 

免费玩转 Cloudflare-08:用 Cloudflare 搭建你的专属 EPG 节目单接口

哈喽大家好,我是 星哥。玩 IPTV 和直播源的朋友都知道,没有 EPG(Electronic Program Guide 电子节目单)的直播是没有灵魂的。

看着黑乎乎的播放界面,连当前在播什么、下一集是什么都不知道,体验直接大打折扣。

很多小伙伴想自己搭个 EPG 服务,但一听说要买 VPS、配环境、搞数据库,瞬间就劝退了。

今天星哥教大家一招 “白嫖”大法 无需服务器、无需买 VPS,只需一个 Cloudflare 账号,几分钟就能搭建一个属于你自己的 112114 镜像 EPG 接口!

免费玩转 Cloudflare-08:用 Cloudflare 搭建你的专属 EPG 节目单接口

课前科普:为什么选 Cloudflare Workers?

在开始动手前,星哥先简单给大家科普一下今天的主角。

Cloudflare 大家应该不陌生了,全球顶级的 CDN 和安全服务商。而我们要用的 Workers,是它提供的一种“无服务器(Serverless)”边缘计算服务。

通俗点说: 你只需要写几行 JavaScript 代码,Cloudflare 就会把它运行在全球各地的边缘节点上。

  • 不用管服务器:不用装系统、不用配环境。
  • 速度飞快:代码在全球节点运行,延迟极低。
  • 免费额度够用:免费版每天有 10 万次 请求额度,个人当 EPG 接口用,简直绰绰有余!

保姆级部署教程

准备工作

  1. 1. 注册一个 Cloudflare 账号免费。
  2. 2. 准备一个 自己的域名,并将其 DNS 托管到 Cloudflare(因为 CF 默认分配的 workers.dev 域名在国内访问不稳定,绑定自己的域名是必须的)。

步骤 1:进入 Workers 控制台

登录 Cloudflare 后台,在左侧菜单栏找到并点击 “计算和 AI”(Compute & AI) -> “Workers 和 Pages”(Workers & Pages)

免费玩转 Cloudflare-08:用 Cloudflare 搭建你的专属 EPG 节目单接口

步骤 2:创建 Worker 应用

  1. 1. 点击右上角的 “创建应用程序”(Create application)
  2. 2. 选择 “从 Hello World! 开始”(Create Worker)
  3. 3. 给你的 Worker 起个名字,比如 my-epgdiyp-epg,然后点击 “部署”(Deploy)(此时 CF 会帮你生成一个默认的示例项目)
免费玩转 Cloudflare-08:用 Cloudflare 搭建你的专属 EPG 节目单接口

点击部署

免费玩转 Cloudflare-08:用 Cloudflare 搭建你的专属 EPG 节目单接口

步骤 3:注入 EPG 核心代码

  1. 1. 部署完成后,点击右上角的 “编辑代码”(Edit code)
  2. 2. 将左侧编辑器里的默认代码 全部删除
  3. 3. 把下面这段星哥为大家准备好的 EPG 镜像核心代码 完整复制粘贴进去:
addEventListener('fetch', event => {event.respondWith(handleRequest(event.request));
});

async function handleRequest(request) {const url = new URL(request.url);
  // 目标镜像源:112114 EPG
  let originalUrl = 'http://epg.112114.xyz' + url.pathname + url.search;
  
  // 如果 URL 后参数为空,则设置默认参数为当前日期(上海时区)和默认频道 CCTV1
  if (url.search === '') {originalUrl += `?ch=CCTV1&date=${getCurrentDateInShanghaiTimezone()}`;
  }
  
  const response = await fetch(originalUrl);
  const {status, statusText, headers} = response;
  const body = await response.arrayBuffer();
  
  // 根据请求 URL 是否包含 ".xml" 自动设置响应的 Content-Type
  const contentType = url.pathname.includes('.xml') ? 'text/xml' : 'application/json';
  
  return new Response(body, {
    status,
    statusText,
    headers: {
      ...headers,
      'Content-Type': contentType,
      'Access-Control-Allow-Origin': '*', // 允许跨域,方便各类播放器调用
    },
  });
}

// 获取当前日期,格式为 yyyy-MM-dd,以上海时区(UTC+8:00)为准
function getCurrentDateInShanghaiTimezone() {const dateObj = new Date();
  dateObj.setHours(dateObj.getHours() + 8); 
  const year = dateObj.getFullYear();
  const month = ('0' + (dateObj.getMonth() + 1)).slice(-2);
  const day = ('0' + dateObj.getDate()).slice(-2);
  return `${year}-${month}-${day}`;
}

步骤 4:保存并部署

代码粘贴好后,点击右上角的 “部署”(Deploy) -> “保存并部署”(Save and Deploy)。看到下方出现绿色的成功提示,你的 EPG 核心逻辑就上线啦!🎉

步骤 5:绑定自定义域名(关键!)

前面说了,CF 默认域名国内不好访问,所以必须绑定自己的域名。

  1. 1. 在 Worker 设置页面,找到 “设置”(Settings) -> “域和路由”(Domains & Routes)
  2. 2. 点击 “添加”(Add) -> 选择 “自定义域”(Custom Domain)
  3. 3. 输入你的子域名,比如 epg. 你的域名.com,然后保存。
  4. 4. 等待 DNS 解析生效(通常几分钟)。
免费玩转 Cloudflare-08:用 Cloudflare 搭建你的专属 EPG 节目单接口

播放器接入指南

电视节目预告数据,本身不能直接播放视频;你需要直播源(m3u/m3u8)+ 支持 EPG 的播放器,把这个 xml 地址填进播放器的节目指南栏,才能显示节目时间表。

绑定好域名后,你的专属 EPG 接口就诞生了!假设你的域名是 epg. 你的域名.com,以下是不同播放器的接入地址:

免费玩转 Cloudflare-08:用 Cloudflare 搭建你的专属 EPG 节目单接口

1. XML 格式(适合 Kodi、OK 影视、酷 9、TiviMate 等)

https://epg. 你的域名.com/pp.xml

2. DIYP 类播放器 / 影视壳

http://epg. 你的域名.com

3. 测试单频道节目表(浏览器直接访问测试)

https://epg. 你的域名.com/?ch=CCTV14&date=2026-06-29

(把 CCTV14 换成你想查的频道拼音或名称,日期换成 yyyy-MM-dd 格式)

免费玩转 Cloudflare-08:用 Cloudflare 搭建你的专属 EPG 节目单接口

星哥温馨提示

虽然这个方案很香,但有几个注意事项大家一定要看:

  1. 1. 免费额度限制 :Cloudflare 免费版每天限制 10 万次请求。个人家庭使用绝对够,但 千万不要把接口公开分享到大群或论坛,否则一旦被刷爆,你的账号可能会被限制。
  2. 2. 默认参数:代码里设置了默认频道为 CCTV1,默认日期为当天(上海时区)。如果你不传参数,它就会返回 CCTV1 当天的节目单。
  3. 3. 格式自适应:代码做了智能判断,请求 .xml 后缀就返回 XML 格式,否则返回 JSON 格式,完美兼容各种播放器。
  4. 4. 扩容方案:如果以后你的 IPTV 圈子做大了,10 万次不够用,可以在 CF 后台开启 Worker 的付费计划(按量计费,非常便宜)。

总结

通过 Cloudflare Workers,我们完美实现了 “零服务器、零成本、高可用” 的 EPG 接口搭建。

无论你是 IPTV 直播源爱好者,想给自己的电视盒子做个漂亮的节目单;

还是单纯想学习一下 Serverless 边缘计算,这个项目都是绝佳的练手实践!

赶紧动手搭一个,让你的播放器告别“盲看”吧!

觉得文章有用的话,别忘了给星哥点个 “赞”“在看”,你的支持是我持续更新的最大动力!我们下期见!👋

(本文技术思路源自恩山无线论坛,星哥进行了重新梳理与代码优化,仅供技术交流与学习使用。)

 

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2026-07-10发表,共计3360字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中