一个高性能 EPG (电子节目单) 代理与转换工具,支持 Cloudflare Workers 与 Docker 部署。 它可以将通用的 XMLTV 格式 EPG 转换为播放器(如 DIYP、超级直播、TiviMate)所需的 JSON 接口,同时提供 XML 和 GZ 格式的流式转换下载。
利用 Cloudflare 的全球边缘网络,实现毫秒级响应,无需购买服务器,零成本部署。也支持 Docker 本地/VPS 私有化部署(完美支持 x64 和 ARM64)。
核心功能
配置灵活:支持通过环境变量设置 EPG 源,无需修改代码。
全格式支持:支持输入 .xml 或 .xml.gz 格式的 EPG 源。
四合一输出:
DIYP 接口 (/epg/diyp):标准 JSON 格式。
超级直播接口 (/epg/epginfo):[新增] 完美适配超级直播、友窝,兼容 channel、id 等参数。
XML 直连 (/epg/epg.xml):将源自动转为 XML 格式(流式解压)。(仅主源)
GZ 压缩 (/epg/epg.xml.gz):将源自动转为 Gzip 格式(流式压缩),节省流量。(仅主源)
智能模糊匹配:
自动归一化频道名称(如 CCTV-1, CCTV 1 均可匹配 CCTV1)。
完美支持中文频道(如 湖南卫视)。
精准区分相似频道(如 CCTV5 与 CCTV5+)。
极致性能与安全 (v3.5 增强):
多架构支持:Docker 镜像原生支持 AMD64 和 ARM64 (Apple Silicon/树莓派),各种设备均可直接 pull 运行。
容灾兜底 (Stale-If-Error):当源站维护(如凌晨 0:00)或网络波动导致获取失败时,系统自动降级返回缓存中的过期数据,确保用户节目单不为空,服务不中断。
智能熔断 (Circuit Breaker):源站请求失败后自动进入 冷却期(默认 2 分钟),期间不再尝试重连,直接返回老数据。既保护源站不被高频重试打挂,又避免浪费本地资源。
并发请求合并:当多个用户同时请求数据时,系统自动合并请求,仅发起一次上游下载,实现真正的高并发秒开。
大内存缓存:针对 Docker 环境优化,支持大体积 EPG 文本(默认 80MB 内存占用)常驻内存,拒绝反复解压。
缓存一致性优化:自动剥离源站的 Vary 和 Cookie 头,确保不同浏览器、不同用户访问时能共享同一份边缘缓存,解决状态面板显示不一致问题。
安全防御:
网络熔断:请求上游源时强制超时(默认 20秒),防止 Worker 假死。
内存保护:自动预检 Content-Length,拒绝处理超大文件(默认 >150MB)以防止内存溢出。
非特权运行:Docker 镜像默认使用 node 用户运行,提升容器安全性。
全面可配置:几乎所有性能参数(超时、缓存大小、文件限制等)均支持通过环境变量自定义。
人性化交互 (v3.3 新增):
全平台状态看板:首页状态面板已升级,智能适配 Cloudflare(显示 Edge Cache 状态)和 Docker(显示 Memory 状态),实时监控主/备源健康度。
兼容 HTTP 复制:完美支持 Docker HTTP 环境下的一键复制(自动降级兼容),无需 HTTPS 也能使用。
点击即复制:首页接口地址点击即可自动复制到剪贴板,并提供直观的“已复制”反馈。
「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」
(๑>ڡ<)☆谢谢老板~
使用微信扫描二维码完成支付
暂时无法评论哦~
暂无评论