IPTV 工具箱, Docker 部署,支持 EPG 管理、直播源管理、台标管理,兼容 DIYP/百川、 超级直播以及 xmltv 格式。
Tip
原贴:【IPTV工具箱】EPG节目单管理、直播源管理、台标管理
xmltv 用户使用方法:【一键生成】匹配 M3U 文件的 XML 节目单
直播源管理 使用方法:【IPTV工具箱】直播源管理使用说明
自定数据源 使用方法:【IPTV工具箱】自定义数据源(timetv、51livetv、diyp)
📡 多格式:支持返回 DIYP/百川、超级直播以及 xmltv 格式文件。
🐳 多架构:提供 amd64、arm64 和 armv7 架构的 Docker 镜像。
📦 小体积镜像:基于 Alpine 构建,压缩后仅 20 MB。
🗃️ 数据库管理:支持 SQLite 和 MySQL 数据库,内置 phpLiteAdmin 管理工具。
🖼️ 台标管理:支持台标模糊匹配,支持 tvbox 接口。
➰ 直播源管理:支持聚合 TXT/M3U 直播源、测速校验、直播源代理。
🔒 访问权限控制:支持设置 TOKEN 、User-Agent、IP 黑白名单。
⏱️ 缓存支持:集成 Memcached,支持 Redis。
🔄 频道匹配:支持繁体中文频道匹配、模糊匹配;支持频道别名、正则表达式。
⏳ 定时任务:支持定时更新数据。
📝 节目单生成:支持生成指定频道节目单并匹配 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欧洲)
bash <(curl -Ls https://raw.githubusercontent.com/taksssss/iptv-tool/master/install.sh)或者
bash <(curl -Ls https://gitee.com/taksssss/iptv-tool/raw/main/install.sh)或者
bash <(curl -Ls https://gcore.jsdelivr.net/gh/taksssss/iptv-tool@master/install.sh)docker run -d --name php-epg \
-p 5678:80 \
-v $HOME/epg:/htdocs/data \
-e PHP_MEMORY_LIMIT=512M \
-e ENABLE_FFMPEG=false \
--restart unless-stopped \
taksss/php-epg:latest
$HOME/epg:默认数据目录,根据需要自行修改
5678:默认端口,根据需要自行修改(注意端口占用)
-e PHP_MEMORY_LIMIT=512M:PHP 内存限制,默认512M
-e ENABLE_FFMPEG=true:启用 ffmpeg 组件
无法正常拉取镜像的,可将taksss/php-epg:latest替换为ccr.ccs.tencentyun.com/taksss/php-epg:latest
HTTPS 相关:
-p 5679:443:映射 HTTPS 端口
-e ENABLE_HTTPS=true:启用 HTTPS
-e FORCE_HTTPS=true:强制跳转到 HTTPS
-v /path/to/server.crt:/etc/ssl/certs/server.crt:挂载证书文件
-v /path/to/server.key:/etc/ssl/certs/server.key:挂载私钥文件
手动升级
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower php-epg --cleanup --run-once-
在浏览器中打开
http://{服务器IP地址}:5678/manage.php -
默认密码为空,根据需要自行设置
-
添加
EPG 地址, GitHub 源确保能够访问,点击保存配置保存 -
点击
更新数据拉取数据,点击更新日志查看日志,点击频道管理查看具体条目 -
设置
定时任务,点击保存配置保存,点击定时日志查看定时任务时间表建议从
凌晨1点左右开始抓,很多源00:00 ~ 00:30都是无数据。 隔6 ~ 12小时抓一次即可。 -
点击
更多设置,选择是否生成xml文件、xml内容,设置匹配频道列表 -
测试各个接口的返回结果是否正确:
xmltv接口:http://{服务器IP地址}:5678/index.phpDIYP/百川接口:http://{服务器IP地址}:5678/index.php?ch=CCTV1超级直播接口:http://{服务器IP地址}:5678/index.php?channel=CCTV1tvbox接口:"epg":"http://{服务器IP地址}:5678/index.php?ch={name}&date={date}""logo":"http://{服务器IP地址}:5678/index.php?ch={name}&type=icon"
- 将
http://{服务器IP地址}:5678/index.php填入DIYP、TiviMate等软件的EPG 地址栏
⚠️ 直接使用docker run运行的话,可以将:5678/index.php替换为:5678/。⚠️ 部分软件不支持跳转解析xmltv文件,可直接使用:5678/t.xml.gz或:5678/t.xml访问。
快捷键:
Ctrl + S:保存设置Ctrl + /:对选中 EPG 地址设置(取消)注释