IPTV直播源测速工具IPTV-Speed-Tester
简介
什么是 IPTV-Speed-Tester ?
IPTV-Speed-Tester是一个开源的IPTV直播源自动聚合、测速、过滤工具。它可以帮助用户从API接口获取公共IPTV主机,并发测速后保留高质量源,输出可直接导入播放器的M3U8 / TXT播放列表。
主要特点
- 自动聚合测速:从
API接口获取公共IPTV主机,并发测速,保留高质量源 - 订阅源支持:支持导入自定义订阅(
M3U / TXT格式均可),最多支持20个订阅源 - 频道名清洗:自动清洗频道名(
CCTV别名统一、卫视排序等) - 速度分级输出:按速度分级(高速
≥5 MB/s/ 普通≥1 MB/s/ 低速)分组输出 - 定时自动更新:定时自动更新,
HTTP接口实时提供播放列表 - 高性能低内存:全程异步并发(
Tokio),比Go版内存占用更低
应用场景
- 家庭影院:自动筛选高质量
IPTV源,提升观看体验 - NAS 用户:部署在群晖等
NAS设备上,为家庭提供稳定的直播源服务 - 订阅源管理:整合多个订阅源,自动测速过滤,输出最优播放列表
IPTV-Speed-Tester 是一个能够显著提升 IPTV 观看体验的实用工具,特别适合需要管理多个订阅源的用户。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 evecus,下拉找到 evecus/iptv,版本选择 latest。
本文写作时,
latest版本对应为v1.0.4,但本文发布时已经是v1.0.5;

目前看 v1.0.5 还有问题,日志中显示有错误,镜像是 Github Action 自动构建的,等版本稳定发布吧
1 | error: unexpected argument '--interval' found |
卷
在 docker 文件夹中,创建一个新文件夹 iptv-speed-tester,并在其中建一个子文件夹 data
| 文件夹 | 装载路径 | 说明 |
|---|---|---|
docker/iptv-speed-tester/data |
/app/data |
存放数据、缓存和自定义频道列表 |

端口
本地端口不冲突就行,不确定的话可以用命令查一下
1 | # 查看端口占用 |
| 本地端口 | 容器端口 |
|---|---|
3230 |
3030 |

环境
| 可变 | 值 |
|---|---|
PORT |
3030 |
WORKERS |
20 |
TOP |
5 |
INTERVAL |
6h |
URL1 |
自定义订阅源地址(可选) |
如果没有自定义订阅源,保持默认即可

环境变量说明:
PORT:容器内 HTTP 监听端口,默认3030,一般无需修改WORKERS:并发测速数,默认20,可根据服务器性能调整TOP:每个频道类型保留的最优源数量,默认5INTERVAL:自动更新间隔,默认6h,支持格式如6h、30m、3600sURL1~`URL20:自定义订阅源地址,最多支持20` 个
命令行安装
docker cli 安装
如果你熟悉命令行,可能用 docker cli 更快捷
1 | # 新建文件夹 iptv-speed-tester 和 子目录 |
docker-compose 安装
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
1 | version: "3" |
然后通过 SSH 登录到您的群晖,执行下面的命令:
1 | # 新建文件夹 iptv-speed-tester 和 子目录 |

运行
在浏览器中访问 http://<群晖IP>:3230/iptv 即可获取 M3U8 播放列表。
第一次需要检测,在检测结束前访问会显示提示
1 | Not ready yet. Please wait for the first scan. |

把 http://<群晖IP>:3230/iptv 导入 Potplayer 可以直接播放

HTTP 接口说明
| 路径 | 说明 |
|---|---|
/ 或 /iptv |
M3U8 播放列表 |
/txt |
TXT 格式播放列表(逗号分隔) |
/status |
JSON 状态(运行状态 / 上次更新时间) |
/retest |
立即触发重新测速(异步,不阻塞) |
使用流程
- 访问
http://<群晖IP>:3230/status查看运行状态 - 访问
http://<群晖IP>:3230/iptv获取M3U8播放列表 - 将播放列表导入
IPTV播放器(如VLC、Potplayer等) - 如需立即更新,访问
http://<群晖IP>:3230/retest触发重新测速
自定义频道列表
以下两个文件是可选的高级配置,放在 data 目录中即可生效,文件不存在时程序会跳过,不影响其他功能。
| 文件 | 说明 |
|---|---|
channel_list.txt |
标准频道名列表,用于名称统一 |
hsmd_address_list.txt |
和事猫 TV 频道地址列表 |
文件格式由
AI根据代码推测
channel_list.txt(频道名统一映射)
用途:将不同来源的别名映射到标准名称,例如 “cctv 1”、”CCTV-1” 统一为 “CCTV1”。
格式:每行一个标准频道名即可。
1 | CCTV1 |
提示:如果列表中不包含某个频道名,程序会保持原始名称输出,不会报错。你只需列出关心的频道即可。
hsmd_address_list.txt(和事猫 TV 地址列表)
用途:配合和事猫 TV 的动态主机测速使用。文件中记录每个频道的播放路径模板,测速后自动替换为最优主机地址。
格式:每行包含一个 http:// 开头的完整 URL,URL 前的文本作为频道名。
支持的格式示例:
1 | CCTV1 http://192.168.1.1/newlive/live/hls/1/live.m3u8 |
核心机制:
- 提取行中的
http://...地址 URL前的文本作为频道名(自动去除行首数字编号和(默认频道)标记)- 测速后,只替换 URL 中的主机部分,保留路径不变
- 例如:
http://192.168.1.1/newlive/live/hls/1/live.m3u8→ 测速发现最优主机fast-host.com→ 最终生成http://fast-host.com/newlive/live/hls/1/live.m3u8
提示注意**:此文件是专为和事猫
TV等需要动态选主机的服务设计的。普通用户使用URL1~`URL20` 订阅源即可,无需准备此文件。
注意事项
- 端口映射:本文使用
3230端口,请确保与主机其他服务不冲突 - 订阅源格式:支持
M3U和TXT格式的订阅源,确保订阅地址可访问 - 测速频率:默认
6小时自动更新一次,可通过INTERVAL环境变量调整 - 数据持久化:建议将
/app/data目录挂载到主机,避免容器重启后数据丢失 - 性能建议:
WORKERS参数可根据服务器性能调整,过高可能导致测速不准确
参考文档
evecus/IPTV-Speed-Tester: IPTV Speed Tester(Rust 版)
地址:https://github.com/evecus/IPTV-Speed-Testerevecus/iptv - Docker Image | Docker Hub
地址:https://hub.docker.com/r/evecus/iptvsuxuang/myIPTV: 【典藏版】高清直播源涵盖几乎所有卫视节目,内置完美台标加节目预告
地址:https://github.com/suxuang/myIPTV/