【一键搭建 112114 镜像 EPG 服务】用 Cloudflare Workers 免费部署你的专属 EPG 接口!

📺前言
想拥有一个属于自己的 EPG 电子节目单接口,随时给播放器接入节目表? 不用服务器、不用买 VPS、不用折腾复杂环境,只需要 一个 Cloudflare 账号,几分钟就能搞定!
今天带你用 Cloudflare Workers 搭建一个镜像版的 112114 EPG 服务,
原文源自恩山
【一键搭建112114镜像EPG服务】利用Cloudflare的Workers搭建个人专属EPG接口 https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=8381870&fromuid=309178 (出处: 恩山无线论坛)
(但 Cloudflare 的界面已经更新,需要按现在的新流程来👇)。
🌥️ Cloudflare 是什么?
Cloudflare 是一家提供 CDN、DNS、防火墙、边缘计算等服务的云平台。简单来说:
-
它让你的网站 更快、更稳、更安全
-
提供各种“零成本”的云服务
-
免费套餐已经够个人使用
其中最重要的,就是今天要用到的—— Workers
⚡ Workers 是什么?
Cloudflare Workers = Cloudflare 提供的云端 JS 运行环境(无服务器)
不用服务器、不用部署后端。写几行 JS ↘
-
Cloudflare 会在全球边缘节点运行它
-
延迟低(国内需要优选ip)
-
免费套餐每天有 10 万次请求额度
非常适合:EPG 接口、代理接口、小 API 服务、规则重写、M3U8 处理等。
⚠ 注意:EPG 访问量不大,但若你公开共享给大量用户,可能会超出每日 10 万次免费额度。
🛠️ 一键部署你的 EPG 接口
步骤 1:登录 Cloudflare
访问:https://www.cloudflare.com 没有账号的话先注册一个(免费)。顺便需要添加一个你的域名
步骤 2:进入 Workers & Pages
左侧菜单找到:
计算和AI→Workers 和 Pages

步骤 3:创建一个新的 Worker
右上角点击:
创建应用程序 →从Hello World!开始
填写一个worker名字,例如epg、diyp等等,点一下 部署。
(Cloudflare 会自动生成一个示例 Worker)


步骤 4:编辑 Worker 代码
部署后会提示“已部署”,然后你继续点右上角的:
编辑代码

左侧全选并删除,再把下面这段完整代码粘贴进去 👇
📌 Worker 代码
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request));
});
async function handleRequest(request) {
const url = new URL(request.url);
let originalUrl = 'http://epg.112114.xyz' + url.pathname + url.search;
// 如果 URL 后参数为空,则设置默认参数为当前日期格式为 yyyy-MM-dd
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': '*', // 可选:设置 CORS 头以允许跨域请求
},
});
}
// 获取当前日期,格式为 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}`;
}步骤 5:保存并部署
右上角:
部署 → 保存并部署
下方绿色条提示保存成功!Worker 部署完成 🎉

步骤 6:绑定你的域名(可选但推荐)
cloudflare会分配一个子域名,但是需要科学上网才能访问。因此我们可以绑定一个自己的域名。
需要先把你的域名放到cloudflare上来解析,这里不赘述,请自行操作。
左上角返回 → 找到 设置
进入:
域和路由 → 添加 → 自定义域


例如你绑定:
epg.yourdomain.com这样访问更好看,也更方便接入播放器。
绑定完成之后,浏览器打开绑定的域名,就能看到epg节目单了

📡 EPG 接口使用方式
下面是你部署好的 EPG 服务可直接使用的接口👇 假设你的域名为:
epg.yourdomain.com① XML 格式(适合 Kodi、OK影视、酷9等)
http://epg.yourdomain.com/pp.xml② DIYP 类播放器
http://epg.yourdomain.com③ 测试单频道节目表
http://epg.yourdomain.com/?ch=CCTV14&date=2025-12-04
📌 使用说明 & 注意事项
✔ 支持所有 112114 的 EPG 数据 ✔ Worker 会自动取当天日期 ✔ 默认频道为:CCTV1 ✔ 支持 xml / json 自动识别 ✔ 支持跨域(可被各种播放器请求) ✔ 支持绑定个性化域名
⚠ 每日请求上限为 100,000 次(Cloudflare 免费套餐) ⚠ 不适合大规模公开分享,否则可能被刷爆额度 ⚠ 请求量大时可以付费扩容 Worker(按需付费)
📌 总结
通过 Cloudflare Workers,只需要几分钟,就能搭建一个属于你自己的 零服务器 EPG 接口:
-
免费
-
快速
-
稳定
-
支持自定义域名
-
完美适配各种直播播放器和 IPTV 软件
如果你是 IPTV 直播源爱好者、想给自己的播放器做节目单接口,或者只是想学习一下 Workers,这个项目绝对是你最好的入门实践!
END