https://github.com/super321/iptv-tool 一个轻量级IPTV管理和聚合分发平台。
6.9K
简体中文 | English
IPTV Tool 是一个基于 Go 和 Vue 3 开发的轻量级 IPTV 管理和聚合分发平台。该平台致力于为用户提供便捷的直播源(M3U / TXT 等)管理、EPG(电子节目单)抓取与同步、以及台标管理等功能。通过本地部署,您可以轻松地将多个网络直播源和 EPG 数据聚合,并一键发布聚合后的订阅链接供各端播放器使用。
后端基于 Go 1.25+ (Gin + GORM + SQLite) 纯本地存储结构,前端采用 Vue 3 (Element Plus + Vite) 并编译内嵌至 Go 的单文件二进制中,实现了一键下发,极简部署。
支持多种类型的直播源导入与管理:
支持创建可复用的聚合规则,在发布接口中灵活组合使用:
将整理好的直播源和 EPG 源进行聚合发布,生成最终的订阅链接:
管理您的所有直播频道来源,支持多种类型的直播源拉取与更新。

统一管理各个来源的电子节目单数据,支持定时抓取,直观展示当前频道数、节目数及最后更新时间。

为您的频道提供统一的台标文件托管与管理页面,可直观预览当前所有配置的台标。

可以将整理好的直播源和EPG源进行聚合发布在线接口,生成最终的订阅链接用于播放器。

IPTV Tool 支持通过命令行参数自定义运行配置。所有参数均为可选,有合理的默认值。
| 参数 | 默认值 | 说明 |
|---|---|---|
--addr | :8023 | HTTP 监听地址,如 :8023 或 0.0.0.0:9090 |
--data | data | 数据存储目录,包含数据库、台标、检测文件和 GeoIP 库 |
--log-dir | logs | 日志文件目录 |
--jwt-secret | (自动生成) | JWT 密钥,留空则每次启动自动生成 |
--reset-user | (无) | 重置管理员凭据,指定新用户名(生成随机密码后退出) |
路径规则:
--data和--log-dir如果传入相对路径,将自动解析为相对于可执行文件所在目录的路径;也可以传入绝对路径。
运行时,--data 指定的目录下会自动创建以下子目录和文件:
data/
├── db/
│ └── iptv.db # SQLite 数据库文件
├── logos/ # 上传的频道台标文件
├── detect/ # ffprobe 二进制及检测临时文件
└── geoip/ # GeoLite2-City.mmdb(自动下载)
本项目已将前端构建产物及静态文件打包进 Go 二进制文件,您只需下载对应平台的可执行文件即可免配置环境运行。
# 使用默认配置启动
./iptv-server
# Windows 环境下直接双击运行即可,或者运行 .\iptv-server.exe
http://127.0.0.1:8023(请留意终端启动日志中的实际地址)。更多启动示例:
# 自定义监听端口
./iptv-server --addr :9090
# 自定义数据目录和日志目录(相对路径,相对于可执行文件位置)
./iptv-server --data mydata --log-dir mylogs
# 自定义数据目录和日志目录(绝对路径)
./iptv-server --data /opt/iptv/data --log-dir /var/log/iptv
# 重置管理员账号(执行后会打印新密码,然后退出)
./iptv-server --reset-user admin
在 Docker 中,可执行文件位于 /app/iptv-server,默认数据目录为 /app/data。通过 -v 挂载数据卷即可持久化数据。
提示:Docker 镜像的运行时环境已预装
ffmpeg(包含 ffprobe),可直接用于频道检测功能,无需额外上传 ffprobe 文件。
# 基本运行(数据持久化到宿主机目录)
docker run -d \
--name iptv-tool \
-p 8023:8023 \
-v /你的路径/data:/app/data \
super321/iptv-tool:latest
# 自定义端口 + 持久化数据和日志
docker run -d \
--name iptv-tool \
-p 9090:9090 \
-v /你的路径/data:/app/data \
-v /你的路径/logs:/app/logs \
super321/iptv-tool:latest \
--addr :9090
# 同时启用 HTTPS(需要映射 HTTPS 端口)
docker run -d \
--name iptv-tool \
-p 8023:8023 \
-p 8024:8024 \
-v /你的路径/data:/app/data \
super321/iptv-tool:latest
拷贝 docker 目录下的 docker-compose.yml 文件,然后执行:
docker compose up -d
如需自定义配置,可参考以下示例:
services:
iptv-tool:
image: super321/iptv-tool:latest
container_name: iptv-tool
volumes:
- /你的路径/data:/app/data
- /你的路径/logs:/app/logs
ports:
- "8023:8023"
- "8024:8024" # HTTPS 端口(如需启用)
command: ["--addr", ":8023"]
restart: unless-stopped
地址路径,即可获取真实的 m3u 或 xmltv 链接到您的播放器(如 Tivimate, Kodi 等)中食用。详细的版本更新记录请查阅 CHANGELOG。
本项目的初衷是为研究、学习和相关技术交流提供帮助与可行性实践。本项目自身不包含、不托管也不提供任何直播源数据或电视节目内容版权。
⚠️ 注意: 任何人不得将本项目及其源代码用于任何违法或不正当的目的,包括但不限于商业用途、侵权行为或任何破坏性操作。使用者因过度抓取、私自滥用本项目功能或传播侵权内容而导致的任何法律纠纷及不良后果,均由使用者自行承担,与本项目及开发者无关。
Content type
Image
Digest
sha256:e065966eb…
Size
67 MB
Last updated
5 months ago
docker pull super321/iptv-tool