一个功能完整的IPTV直播源处理工具集,包含多种获取、测试、分组和优化IPTV频道源的专业工具。
项目主页: https://github.com/vitter/iptv-sources
问题反馈: https://github.com/vitter/iptv-sources/issues
iptv-sources/
├── Hotels/ # IPTV服务器批量探测工具
├── ISP/ # 按运营商分组工具
├── mobileunicast/ # 移动直播源处理工具
└── udpxy/ # udpxy代理搜索测速工具
- Hotels: 支持jsmpeg、txiptv、zhgxtv三种IPTV服务器类型的批量探测
- mobileunicast: 从37个优质移动网络源下载并合并频道
- udpxy: 通过FOFA、Quake360、ZoomEye和Hunter四大搜索引擎搜索udpxy代理服务器
- ISP: 从预定义源列表下载直播源文件
- 并发流媒体测速: 支持M3U8/HLS和直接流的速度测试
- 超时控制机制: 优化的超时设置避免长时间等待
- 智能筛选: 自动过滤无效源,保留高质量频道
- 速度排序: 按下载速度排序,优先保留最快源
- 运营商分组: 基于IP地址识别电信/联通/移动/铁通/教育网/广电网
- 频道类型分组: 央视/卫视/港澳台/省级/市级/其他六大类
- 双级分组: 支持运营商+频道类型的二级分组结构
- 频道名标准化: 自动规范化频道名称格式
- M3U格式: 标准播放列表,支持group-title分组
- TXT格式: 文本格式,支持#genre#分组标记
- 日志记录: 详细的下载、测速、查询日志
- 模板合并: 支持预定义模板的自动合并
适用场景: 已知IPTV服务器类型,需要批量扫描同网段服务器
主要特性:
- 四引擎搜索: 集成FOFA、360 Quake、ZoomEye、Hunter四大搜索引擎
- 支持三种主流IPTV服务器类型(jsmpeg、txiptv、zhgxtv)
- 智能翻页: 自动翻页获取全部搜索结果,支持自定义最大翻页数限制
- 时间过滤: 支持按时间范围搜索最新的IPTV源
- 地理位置过滤: 支持按省份和运营商精确筛选搜索结果
- 智能C段网络扫描(如192.168.1.1-254)
- 异步并发处理,最高500个并发会话
- 自动频道名称标准化(CCTV、卫视等)
使用方法:
# 单模式扫描(需要.env配置文件)
python all-z-j-new.py --jsmpeg jsmpeg_hosts.csv
# 多模式组合
python all-z-j-new.py --jsmpeg jsmpeg_hosts.csv --txiptv txiptv_hosts.csv
# 自定义输出和翻页数
python all-z-j-new.py --jsmpeg jsmpeg_hosts.csv --output my_channels --max-pages 5输出文件:
itvlist.txt/itvlist.m3u- 播放列表文件speed.txt- 详细测速结果
适用场景: 需要按运营商对IPTV源进行分类管理
主要特性:
- 多API支持: 使用多个IP查询API提高成功率(ip-api.com、ipapi.co、ipinfo.io)
- 通过API自动识别IP所属运营商(电信/联通/移动/铁通/教育网/广电网/其他/未知)
- 运营商+频道类型双级分组: 第一层按运营商分组,第二层按频道类型分组
- 支持--noisp参数跳过运营商查询(类似unicast.py)
- 智能去重查询: 相同IP只查询一次,避免重复请求
- 域名推测: 当API查询失败时,根据域名特征推测运营商
- 限流控制: 使用较低的并发数避免API限制
使用方法:
# 正常模式:按运营商和频道类型两级分组
python isp.py --top 20
# 仅按频道类型分组(功能与unicast.py相同)
python isp.py --top 20 --noisp分组格式:
- 正常模式:
电信/央视频道,#genre# - noisp模式:
央视频道,#genre#
输出文件:
- 正常模式:
output/isp_result.m3u/output/isp_result.txt - noisp模式:
output/unicast_result.m3u/output/unicast_result.txt isp_query.log- 运营商查询日志isp_speed.log- 测速日志
适用场景: 获取和优化移动网络的IPTV直播源
主要特性:
- 从37个优质移动网络源自动下载
- 代理支持: 支持通过HTTP/HTTPS代理下载URL列表(仅下载时使用)
- 涵盖全国各省移动网络
- 智能频道分类和去重
- 优化的测速算法,3线程并发避免网络拥堵
使用方法:
# 默认每个频道保留前20个最快源
python unicast.py
# 自定义保留源数量
python unicast.py --top 5
# 使用代理下载URL列表
python unicast.py --top 20 --proxy http://127.0.0.1:10808数据源覆盖:
- live.zbds.org (5个源)
- chinaiptv.pages.dev (12个省份源)
- 其他优质源 (20个源)
输出文件:
output/unicast_result.m3u/output/unicast_result.txtspeed.log- 测速日志txt.tmp- 汇总临时文件
适用场景: 搜索和测试特定地区运营商的udpxy代理服务器
主要特性:
- 四引擎集成: FOFA、Quake360、ZoomEye和Hunter四大搜索引擎
- Hunter引擎: 新增Hunter搜索引擎支持⭐
- 智能认证: API密钥优先,Cookie备用的双重认证机制
- 多页数据获取: 支持翻页获取大量数据(默认10页限制)
- 真实流媒体测速: 直接下载IPTV流媒体数据进行速度测试
- 两阶段优化测速: 默认配置快速筛选,失败IP再尝试其他配置
- 快速模式: 支持
--fast参数仅进行第一阶段测试,大幅缩短时间 - 可选测速: 支持
--notest参数跳过流媒体测试,仅进行IP搜索 - 实时保存: 测试成功一个IP立即保存结果,避免数据丢失
使用方法:
# 基础搜索(默认10页)
python speedtest_integrated_new.py Hebei Telecom
# 指定翻页数
python speedtest_integrated_new.py Shanghai Unicom --max-pages 5
# 快速模式(仅第一阶段测试)
python speedtest_integrated_new.py Beijing Mobile --fast
# 仅搜索不测速
python speedtest_integrated_new.py Guangdong Telecom --notest配置要求:
# .env文件配置
FOFA_COOKIE=your_cookie # 推荐,免费
FOFA_API_KEY=your_api_key # 可选,付费
QUAKE360_TOKEN=your_token # 可选,付费
ZOOMEYE_API_KEY=your_key # 可选,付费
ZOOMEYE_COOKIE=your_cookie # 可选,免费(需要配合cube-authorization)
cube-authorization=your_auth # 可选,免费(ZOOMEYE_COOKIE必需)
HUNTER_API_KEY=your_key # 可选,付费,⭐新增
FOFA_USER_AGENT=Mozilla/5.0... # 配合Cookie使用输出文件:
sum/运营商/*_uniq.ip- udpxy服务器列表sum/运营商/*.txt- 测速结果文件*_speedtest_*.log- 详细测速日志
| 工具 | 数据源 | 测速方式 | 分组方式 | 适用场景 |
|---|---|---|---|---|
| Hotels | IP段扫描 | 并发测速 | 频道类型 | 已知服务器批量扫描 |
| ISP | 预定义源 | 并发测速 | 运营商+频道类型 | 运营商分类管理 |
| mobileunicast | 37个移动源 | 优化测速 | 频道类型 | 移动网络源优化 |
| udpxy | 搜索引擎 | 真实流测速 | 速度排序 | udpxy代理发现 |
- Python: 3.6+ (推荐3.8+)
- 操作系统: Windows/Linux/macOS
- 网络: 稳定的互联网连接
# 基础依赖
pip install requests
# udpxy工具额外依赖
pip install urllib3 python-dotenv
# Hotels工具额外依赖
pip install aiohttp如遇依赖冲突或安装失败,请优先升级pip(python -m pip install --upgrade pip)或使用虚拟环境(推荐python -m venv venv)。
- 克隆项目
git clone https://github.com/vitter/iptv-sources.git
cd iptv-sources- 选择合适的工具
# 移动网络源处理(推荐新手)
cd mobileunicast
python unicast.py --top 10
# 运营商分组处理
cd ISP
python isp.py --top 15
# udpxy代理搜索(需要API配置)
cd udpxy
python speedtest_integrated_new.py Beijing Telecom- Hotels: jsmpeg/zhgxtv最大100线程,txiptv最大500并发
- ISP: 测速8线程,运营商查询2线程(避免API限制)
- mobileunicast: 测速3线程(避免网络拥堵)
- udpxy: 连通性测试30线程,流媒体测速3线程
- 连通性测试: 2-5秒
- 流媒体测速: 8-12秒
- API查询: 8-30秒
- 总任务超时: 120秒
- 测速数据限制: 2MB或10秒(先达到者为准)
- 保留源数量: 3-20个(推荐5-10个)
- 翻页限制: 1-20页(推荐3-10页)
推荐流程:
- 使用
mobileunicast获取基础移动源 - 使用
ISP工具对源进行运营商分类 - 使用
udpxy搜索特定地区的代理服务器
推荐工具: Hotels
- 准备CSV格式的服务器列表
- 选择对应的服务器类型(jsmpeg/txiptv/zhgxtv)
- 进行批量扫描和测速
- 结合makecsv.py使用可生成更新CSV列表文件,通过FOFA、Quake360、ZoomEye和Hunter搜索
推荐工具: ISP
- 定期运行更新源库
- 使用双级分组便于管理
- 通过日志监控源质量变化
推荐工具: udpxy
- 配置FOFA、Quake360、ZoomEye和Hunter认证
- 选择目标地区和运营商
- 获取可用的udpxy代理列表
# 检查网络连接
ping fofa.info
ping quake.360.cn
# 检查DNS解析
nslookup live.zbds.org# 检查环境变量
cat .env
# 验证FOFA Cookie
curl -H "Cookie: $FOFA_COOKIE" "https://fofa.info"
# 验证Quake360 Token
curl -H "X-QuakeToken: $QUAKE360_TOKEN" "https://quake.360.cn/api/v3/user/info"- 全部测速失败: 检查网络带宽和防火墙设置
- 速度过慢: 调整并发数或超时时间
- 内存不足: 减少保留源数量或分批处理
- 编码问题: 确保使用UTF-8编码
- 格式错误: 检查播放器兼容性
- 文件损坏: 清理临时文件重新运行
- 遵循PEP8代码风格
- 添加详细的注释和文档字符串
- 确保异常处理和日志记录完整
- 在不同网络环境下测试
- 验证各种边界情况处理
- 确保大数据量处理的稳定性
- Fork项目并创建特性分支
- 完成开发并添加必要测试,并在PR中附上相关测试用例或截图,便于review
- 提交Pull Request并描述修改内容
如需详细API或代码说明,请查阅各子目录的README.md。
本项目采用MIT开源许可证。详细信息请查看各子目录的LICENSE文件。
- 本工具集仅供学习和技术研究使用
- 请勿用于商业用途或非法用途
- 使用前请确保遵守相关网站的使用条款和法律法规
- 请合理使用API接口,避免对服务提供商造成负担
- 作者不对使用工具可能产生的任何问题承担责任
- 项目主页: https://github.com/vitter/iptv-sources
- 问题反馈: https://github.com/vitter/iptv-sources/issues
- 开发文档: 查看各子目录的README.md文件
最后更新: 2025年8月14日
当前版本: v2.3 - Hunter搜索引擎集成版本
维护状态: 积极维护中
⭐ 如果这个工具集对您有帮助,请给个Star支持一下!