本帖最后由 TakSSS 于 2025-5-20 23:25 编辑
项目仅限个人使用,用于牟利的请出门左转。
开源地址:https://github.com/taksssss/EPG-Server、https://gitee.com/taksssss/EPG-Server
☕捐赠入口 🌹捐赠鸣谢列表
反馈交流群:712189556
PHP 实现的 EPG 服务端, Docker🐳 部署,带设置界面、台标管理,支持 DIYP & 百川 、 超级直播 以及 xmltv 格式。
⚠️ xmltv用户使用方法见:【一键生成】匹配 M3U 文件的 XML 节目表
⚠️ 直播源管理使用方法见:【EPG-Server】直播源管理使用说明
⚠️ 台标匹配 需搭配 酷9APP 使用:【台标大整合】酷9方案,2700+频道,带频道别名
⚠️ 推荐EPG源:【EPG节目单】国内镜像(含112114、51zmt、erw、epg.pw、livednow……)
⚠️ TVMAO 接口说明:【EPG-Server】 BDTVMAO 接口说明
⚠️ CNTV 接口说明:【EPG-Server】 CNTV 接口说明
💻 主要功能
📡 多直播格式:支持返回 DIYP & 百川、超级直播以及 xmltv 格式文件。 🐳 多架构支持:提供适用于 amd64、arm64 和 armv7 架构的 Docker 镜像,兼容电视盒子等设备使用。 📦 小体积镜像:基于 Alpine 构建,压缩后仅 20 MB。 🗃️ 数据库管理:采用先构建后存数据库的策略,减少冗余、提升读取速度。支持 SQLite 和 MySQL 数据库,内置 phpLiteAdmin 管理工具。 🖼️ 台标管理:支持台标模糊匹配,便于匹配台标资源。 ➰ 直播源管理:支持聚合 TXT/M3U 直播源,并定时更新。
🔒 访问权限控制:支持设置 TOKEN ,限制访问 EPG 服务及直播源。
⏱️ 缓存支持:集成 Memcached,可自定义缓存时间。 🔄 频道匹配:支持繁体中文频道匹配,可进行双向模糊匹配;支持频道别名(可使用正则表达式)和指定 EPG 源。 ⏳ 定时任务:支持定时更新数据。 📝 节目单生成:支持生成指定频道节目单并匹配 M3U 的 xmltv 格式文件。 🗂️ 兼容多种格式:支持不同标准格式的 XMLTV 文件。 🛠️ 文件管理:集成 tinyfilemanager 以便于文件管理。 🌐 界面设置:包含简单易用的网页设置页面,便于操作和管理。
内置正则表达式说明: 包含 regex: 示例:
- CCTV$1 => regex:/^CCTV[-\s]*(\d{1,2}(\s*P(LUS)?|[K\+])?)(?![\s-]*(美洲|欧洲)).*/i :将 CCTV 1综合、CCTV-4K频道、CCTV - 5+频道、CCTV - 5PLUS频道 等替换成 CCTV1、CCTV4K、CCTV5+、CCTV5PLUS(排除 CCTV4 美洲 和 CCTV4-欧洲)
📝 更新日志
## 2025-05-20更新:
1. ✨新增:直播源管理页面支持频道搜索
2. ✨新增:直播源管理页面单页显示条数
3. ✨新增:直播源管理页面高度调节
4. ✨新增:关闭频道名繁简转换(更多设置 - 繁體转简体)
5. ✨新增:清除、下载访问日志
6. ✨新增:更新数据时显示 .xml.gz 文件修改时间
7. ⚡优化:文件下载失败重试机制及提示
8. ⚡优化:DIYP、超级直播接口数据格式化
9. ⚡优化:移除 DIYP、超级直播接口的 `source` 字段
10. ⚡优化:部分页面样式、页面标题
11. ⚡优化:使用说明
12. ⚡优化:捐赠入口
13. ⚡优化:捐赠鸣谢列表
## 2025-05-13更新:
1. ✨新增:调试模式(更多设置 - 调试模式)
2. ✨新增:直播源黑白名单支持直播地址(URL #FT=频道名1, 直播地址2)
3. ✨新增:页面底部鸣谢列表
4. ⚡优化:更新日志节目数量从天数改为条数
5. ⚡优化:部分页面样式
6. ⚡优化:使用说明
7. ⚡优化:捐赠鸣谢列表
8. 🐛修复:开关同步测速校验后,需重启定时任务才生效
9. 🐛修复:设置多个 Token 时访问地址显示异常
## 2025-05-10更新:
1. ✨新增:测速校验间隔周期倍率
2. ✨新增:直播源新增频道黑白名单(URL #FT=白名单 / #FT=!黑名单 / #filter=)
3. ✨新增:直播源频道黑白名单支持模糊匹配、简繁匹配
4. ⚡优化:直播源选项设置方法(PF/prefix、UA/useragent、RP/replace、FT/filter)
5. ⚡优化:EPG 频道黑白名单设置方法(URL #FT=白名单 / #FT=!黑名单 / #filter=)
6. ⚡优化:EPG 频道黑白名单支持简繁匹配
7. ⚡优化:手动更新 EPG 数据时,不进行测速
8. ⚡优化:移除 xmltv 文件中的 icon 字段
9. ⚡优化:定时任务日志
10. ⚡优化:使用说明
11. ⚡优化:捐赠鸣谢列表
12. 🐛修复:生成 xmltv 文件时部分字段多次转义
## 2025-04-29更新:
1. ✨新增:输入框高度调节
2. ✨新增:直播源模板使用正则表达式时支持匹配繁体频道
3. ✨新增:EPG 支持 sub-title 字段
4. ⚡优化:直播源检测逻辑
5. ⚡优化:TXT 源解析逻辑,避免 URL 后的逗号被去掉
6. ⚡优化:直播源备注生成逻辑
7. ⚡优化:清除直播源修改记录逻辑
8. ⚡优化:EPG 编码兼容性
9. ⚡优化:使用说明
10.⚡优化:捐赠鸣谢列表
## 2025-04-14更新:
1. ✨新增:直播源内容替换(URL #RP=a1->b1,a2->b2)
2. ✨优化:直播源参数设置方法(URL #PF=前缀#UA=自定义UA#RP=a->b)
3. ✨优化:EPG 源自定义 UA 设置方法(URL #UA=自定义UA)
4. ✨优化:台标匹配逻辑,避免 4K 频道匹配到普通频道
5. ✨优化:模糊匹配时,中英文字符串长度比较逻辑
6. ✨优化:M3U 文件判断逻辑
7. 🐛修复:打开管理页面时,直播源更新时间误刷新
8. 🐛修复:线路备注选单个时,另一个也会带备注
## 2025-04-10更新:
1. ✨新增:直播源模板在模糊匹配时支持正则表达式(前缀regex:)
2. ✨新增:生成直播源更新时间
3. ✨新增:优先读取 M3U 台标
4. ⚡优化:部分界面
5. ⚡优化:使用说明
## 2025-03-31更新:
1. ✨新增:频道白名单、黑名单支持频道ID(频道名1, 频道ID1 => 源地址)
2. ✨新增:测速校验时跳过 IPv6 直播源
3. ✨新增:测速校验时设置最低分辨率
4. ✨新增:测速校验时设置单个频道接口数量
5. ✨新增:测速校验后按响应速度排序
6. ✨新增:捐赠入口
7. ✨新增:捐赠鸣谢列表
8. ⚡优化:安装、更新指令(建议都用新的指令,下次升级不需要导入数据。本次需要!)
9. ⚡优化:CCTV5+ 匹配逻辑,避免误伤其他频道
10. ⚡优化:保存台标时清理 Memcached ,避免缓存影响
11. ⚡优化:M3U 识别关键字
12. ⚡优化:部分界面
13. 🐛修复:清除测速校验结果时,最后一行数据异常
## 2025-03-20更新:
1. ⚡优化:频道黑名单设置字符兼容性
2. ⚡优化:更新数据时的统计逻辑
3. ⚡优化:Docker 镜像权限设置逻辑
4. 🐛修复:频道白名单设置后未生效
5. 🐛修复:无法获取 M3U 文件原台标
## 2025-03-17更新:
1. ✨新增:EPG 源不提取部分频道(!频道名1, 频道名2 => 源地址)
2. ✨新增:后台运行测速检验
3. ✨新增:更新 EPG 数据时,同步进行测速检验
4. ✨新增:台标地址自适应内外网(需重新转存)
5. ⚡优化:台标模糊匹配逻辑,避免产生连锁反应
6. ⚡优化:部分选项名称及使用说明文档
7. 🐛修复:转换直播源时生成 EPG 地址异常
## 2025-03-13更新:
1. ✨新增:支持设置多个 Token
2. ✨新增:直播列表另存为新文件
3. ✨新增:清除测速校验结果
4. ⚡优化:剥离 ffmpeg 组件,如需,使用以下指令部署
docker run -e ENABLE_FFMPEG=true -d --name php-epg -v /etc/epg:/htdocs/data -p 5678:80 --restart unless-stopped taksss/php-epg:latest
5. 🐛修复:连续弹窗后点击空白区域关闭窗口失效
6. 🐛修复:包含反斜杠的直播源地址解析异常
## 2025-03-10更新:
1. ✨新增:直播源测速校验(直播源管理 - 更多设置)
2. ⚡优化:部分直播源管理按钮移至「更多设置」菜单
3. ⚡优化:「更新数据」页面显示效果
4. ⚡优化:部分选项名称及使用说明文档
5. 🐛修复:无分组频道在直播源模板中的匹配异常
## 2025-03-06更新:
1. ✨新增:支持解析带 MPD、UA 等信息的 M3U 文件(如 #EXTVLCOPT、#KODIPROP)
2. ⚡优化:频道匹配时剔除预处理后的空频道名
## 2025-03-05更新:
1. ✨新增:EPG源、直播源支持自定义UA(格式:url #备注 #UA)
## 2025-03-03更新:
1. ✨新增:「线路备注」可选 TXT、M3U 文件
2. ⚡优化:台标图片启用懒加载(感谢[zytomorrow](https://github.com/zytomorrow))
3. ⚡优化:解析 M3U 文件兼容性
4. ⚡优化:直播源信息修改后的保存逻辑,避免生成重复条目
## 2025-03-01更新:
1. ✨新增:支持设置多个 User-Agent
2. 🐛修复:修改直播源信息后解析异常
历史更新日志:
CHANGELOG.md
安装指令:
- docker run -d --name php-epg -v /etc/epg:/htdocs/data -p 5678:80 --restart unless-stopped taksss/php-epg:latest
复制代码 ⚠️小雅Alist用户:自行将 5678 改成其他可用端口
⚠️如果网络异常,请使用腾讯云容器镜像地址:
升级指令:
- docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower php-epg --cleanup --run-once
复制代码
TODO:- [已完成] 支持返回超级直播格式
- [已完成] 整合更轻量的 alpine-apache-php 容器
- [已完成] 整合生成 xml 文件
- [已完成] 支持多对一频道映射
- [已完成] 支持繁体频道匹配
- [已完成] 仅保存指定频道列表节目单
- [已完成] 导入/导出配置
- [已完成] 频道指定EPG源
🚀 部署步骤
1. 配置 Docker 环境 2. 拉取镜像并运行: - docker run -d --name php-epg -v /etc/epg:/htdocs/data -p 5678:80 --restart unless-stopped taksss/php-epg:latest
复制代码默认数据目录为 /etc/epg ,根据需要自行修改 默认端口为 5678 ,根据需要自行修改 可选参数:-e PHP_MEMORY_LIMIT=512M ,设置 PHP 内存限制,默认 512M 可选参数:-e ENABLE_FFMPEG=true ,启用 ffmpeg 组件
(可选,不熟悉的直接忽略即可) 同时部署MySQL、phpMyAdmin及php-epg:https://gitee.com/taksssss/EPG-Server#-部署步骤
🆙 版本升级
一键升级:
- docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower php-epg --cleanup --run-once
复制代码 自动升级(每小时检测一次):
- docker run -d --name php-epg-update -v /var/run/docker.sock:/var/run/docker.sock --restart unless-stopped containrrr/watchtower php-epg --cleanup --interval 3600
复制代码
🛠️ 使用步骤
1. 在浏览器中打开 http://{服务器IP地址}:5678/manage.php
2. 默认密码为空,根据需要自行设置
3. 添加 `EPG 源地址`, GitHub 源确保能够访问,点击 `更新配置` 保存
4. 点击 `更新数据库` 拉取数据,点击 `数据库更新日志` 查看日志,点击 `查看数据库` 查看具体条目
5. 设置 `定时任务` ,点击 `更新配置` 保存,点击 `定时任务日志` 查看定时任务时间表
>
> 建议从 `凌晨1点` 左右开始抓,很多源 `00:00 ~ 00:30` 都是无数据。
> 隔 `6 ~ 12` 小时抓一次即可。
>
6. 用浏览器测试各个接口的返回结果是否正确:
- `xmltv` 接口: `http://{服务器IP地址}:5678/index.php`
- `DIYP&百川` 接口: `http://{服务器IP地址}:5678/index.php?ch=CCTV1`
- `超级直播` 接口: `http://{服务器IP地址}:5678/index.php?channel=CCTV1`
7. 将 http://{服务器IP地址}:5678 填入 DIYP、TiviMate 等软件的 EPG 地址栏
- ⚠️ 直接使用 `docker run` 拉取镜像的话,可以将 `:5678/index.php` 替换为 `:5678/`。
- ⚠️ 部分软件不支持跳转解析 `xmltv` 文件,可直接使用 `:5678/t.xml.gz` 或 `:5678/t.xml`访问。
快捷键:
- Ctrl + S:保存设置
- Ctrl + /:对选中 EPG 地址设置(取消)注释
隐藏内容包含源代码、推荐EPG源地址、推荐直播源,回复可见。
发帖注意事项
请勿胡乱发帖:https://www.right.com.cn/forum/thread-8307840-1-1.html
账户手机验证:https://www.right.com.cn/forum/home.php?mod=spacecp&ac=plugin&id=jzsjiale_sms:home
|