[Bug]: 将订阅地址添加到whitelist.txt中,排序结果没有将订阅地址中的频道排到第一
Don't skip these steps | 不要跳过这些步骤
- [X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field | 我明白,如果我“故意”删除或跳过任何强制性的*字段,我将被封锁
- [X] I have checked through the search that there are no similar issues that already exist | 我已经通过搜索仔细检查过没有存在已经创建的相似问题
- [X] I will not submit any issues that are not related to this project | 我不会提交任何与本项目无关的问题
Occurrence environment | 触发环境
- [ ] Workflow | 工作流
- [ ] GUI | 软件
- [X] Docker
- [ ] Command line | 命令行
Bug description | 具体描述
环境:X86-64-deepin-1panel-docker,whitelist.txt如下图:
订阅地址打开如下:
输出结果如下:
输出结果的第一位不是订阅地址的CCTV-1对应的地址。请问whitelist.txt是这样用的吗?感谢大佬解惑。
白名单地址:https://m3u.ibert.me/txt/fmml_ipv6.txt
Error log | 报错日志
No response
你的操作没有问题,经排查,是因为多个订阅地址中同时都含有了相同的白名单接口,导致白名单接口被覆盖而失效,我已经修复该问题,等下一版本更新即可。
没想到这么快回复,感谢大佬,让父母能安稳看电视。我自己试着用linux脚本把fmml_ipv6.txt下载下来,然后插到最终结果之前有了暂时的解决方案。代码用豆包生成,有需要的也可以试试。 #!/bin/bash
定义目标网址
url="https://m3u.ibert.me/txt/fmml_ipv6.txt"
定义原始文件保存的本地目录及文件名
original_file_path="/home/Rayn/docker/iptv-api/output/fmml_ipv6.txt"
定义修改后文件保存的本地目录及新文件名
new_file_path="/home/Rayn/docker/iptv-api/output/zb-fmm.txt"
定义zb.txt文件路径
zb_file="/home/Rayn/docker/iptv-api/output/zb.txt"
定义合并后输出文件路径
output_file="/home/Rayn/docker/iptv-api/output/zb-cs.txt"
步骤1:使用wget命令并强制指定使用IPv4地址下载指定网址的txt文件到指定本地目录
wget --inet4-only -O $original_file_path $url
步骤2:使用sed命令进行文本修改操作,删除文件里面以"_"开头,到","之间的全部字符
sed -i 's/_[^,]*//g' $original_file_path
步骤3:使用sed命令删除以特定频道开头的整行字符,多个频道使用|进行分隔表示或的关系
sed -i '/^CGTN|^三沙卫视|^农林卫视|^延边卫视|^安多卫视|^康巴卫视|^大湾区卫视/d' $original_file_path
步骤4:使用sed命令删除包含"内蒙频道"所在行及后面所有行的内容
sed -i '/内蒙频道/,$d' $original_file_path
步骤5:使用sed命令,当一行数据中包含"http"字符时,在行末尾增加字符"$-fmm源"
sed -i '/http/s/$/$fmm源/' $original_file_path
步骤6:将修改后的文件另存为新文件名到指定目录
cp $original_file_path $new_file_path
步骤7:删除原始文件
rm $original_file_path
使用awk进行文件合并操作
awk -F ',' ' NR == FNR { # 处理zb-fmm.txt文件,将数据存储到数组中,以频道名为索引 channel_data[$1] = $0; next; } { # 处理zb.txt文件 if ($1 in channel_data) { print channel_data[$1]; } print $0; }' $new_file_path $zb_file > $output_file
使用awk删除zb-cs.txt中的重复行
awk '!seen[$0]++' $output_file > /home/Rayn/docker/iptv-api/output/temp_zb-cs.txt mv /home/Rayn/docker/iptv-api/output/temp_zb-cs.txt $output_file
更新镜像后就无需这样操作了
好的,坐等更新,大佬有计划什么时候更新吗?
好的,坐等更新,大佬有计划什么时候更新吗?
预计今晚到明天上午
好的,坐等更新,大佬有计划什么时候更新吗?
预计今晚到明天上午
CCTV1,http://[2409:8087:5e00:24::1e]:6060/000000001000/5000000010000030810/1.m3u8$LR•IPV6『线路1』 CCTV1,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010144/1.m3u8$LR•IPV6『线路2』 CCTV1,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010011/1.m3u8$LR•IPV6『线路3』 CCTV1,http://[2409:8087:5e00:24::1e]:6060/000000001000/1000000001000021973/1.m3u8$LR•IPV6『线路4』 CCTV1,http://[2409:8087:5e00:24::1e]:6060/000000001000/5000000004000002226/1.m3u8$LR•IPV6『线路5』 CCTV1,http://101.66.199.47:9901/tsfile/live/0001_1.m3u8$LR•IPV4『线路6』 CCTV1,http://221.213.69.82:9901/tsfile/live/0001_1.m3u8$LR•IPV4『线路7』 CCTV1,http://101.66.199.73:9901/tsfile/live/0001_1.m3u8$LR•IPV4『线路8』
可以增加变成 线路几 这样的 格式嘛。电视手动换线路的时候在右下角可以 清楚看见换到线路几了。目前电视右下角换线路全部都显示IPV6
你的操作没有问题,经排查,是因为多个订阅地址中同时都含有了相同的白名单接口,导致白名单接口被覆盖而失效,我已经修复该问题,等下一版本更新即可。
大佬,下一版本能增加重命令规则吗?单独出一个规则表进行自定义频道名称。很多订阅源频道频道名称多样化,导致无法获取。加载完接口数据添加重命令,逻辑格式这样:CCTV1(CCTV-1,CCTV1_电信,CCTV01),历遍后将()里所有频道名称重命令再测速,这样用户即可以定制频道名称,又不缺失频道接口
好的,坐等更新,大佬有计划什么时候更新吗?
预计今晚到明天上午
更新了docker,运行日志里有浙江地方频道数据,实际输出无浙江频道数据。然后我发现输出结果文件里,加入白名单的订阅地址在输出cctv1时是排在首位,输出cctv2等后面频道的时候就不是首位了。
IPTV-API-20241224083129.log
你的操作没有问题,经排查,是因为多个订阅地址中同时都含有了相同的白名单接口,导致白名单接口被覆盖而失效,我已经修复该问题,等下一版本更新即可。
大佬,下一版本能增加重命令规则吗?单独出一个规则表进行自定义频道名称。很多订阅源频道频道名称多样化,导致无法获取。加载完接口数据添加重命令,逻辑格式这样:CCTV1(CCTV-1,CCTV1_电信,CCTV01),历遍后将()里所有频道名称重命令再测速,这样用户即可以定制频道名称,又不缺失频道接口
请不要在非本问题下讨论其它内容,若有需求请新建讨论
好的,坐等更新,大佬有计划什么时候更新吗?
预计今晚到明天上午
CCTV1,http://[2409:8087:5e00:24::1e]:6060/000000001000/5000000010000030810/1.m3u8$LR•IPV6『线路1』 CCTV1,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010144/1.m3u8$LR•IPV6『线路2』 CCTV1,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010011/1.m3u8$LR•IPV6『线路3』 CCTV1,http://[2409:8087:5e00:24::1e]:6060/000000001000/1000000001000021973/1.m3u8$LR•IPV6『线路4』 CCTV1,http://[2409:8087:5e00:24::1e]:6060/000000001000/5000000004000002226/1.m3u8$LR•IPV6『线路5』 CCTV1,http://101.66.199.47:9901/tsfile/live/0001_1.m3u8$LR•IPV4『线路6』 CCTV1,http://221.213.69.82:9901/tsfile/live/0001_1.m3u8$LR•IPV4『线路7』 CCTV1,http://101.66.199.73:9901/tsfile/live/0001_1.m3u8$LR•IPV4『线路8』
可以增加变成 线路几 这样的 格式嘛。电视手动换线路的时候在右下角可以 清楚看见换到线路几了。目前电视右下角换线路全部都显示IPV6
请不要在非本问题下讨论其它内容,若有需求请新建讨论
好的,坐等更新,大佬有计划什么时候更新吗?
预计今晚到明天上午
更新了docker,运行日志里有浙江地方频道数据,实际输出无浙江频道数据。然后我发现输出结果文件里,加入白名单的订阅地址在输出cctv1时是排在首位,输出cctv2等后面频道的时候就不是首位了。 IPTV-API-20241224083129.log
![]()
![]()
![]()
docker完整版还没有上传更新,lite版本已经更新
最新镜像已经全部上传,可进行拉取了
最新镜像已经全部上传,可进行拉取了
最新1.6.1中,本地源和白名单中的CCTV直播源格式错误的话将不会被识别,比如这样的格式不会识别到最终结果内: CCTV1,http://[2409:8087:5e00:24::1e]:6060/000000001000/5000000010000030810/1.m3u8$LR•IPV6『线路1』 CCTV1,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010144/1.m3u8$LR•IPV6『线路2』 经过测试,必须这样才能识别到: CCTV-1,http://[2409:8087:5e00:24::1e]:6060/000000001000/5000000010000030810/1.m3u8$LR•IPV6『线路1』 CCTV-1,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010144/1.m3u8$LR•IPV6『线路2』
也就是必须填入CCTV-1而不是CCTV1,请问这是BUG吗?很多源都不会带上-,手动加上感觉比较麻烦,如果可以的话,希望优化,谢谢
最新镜像已经全部上传,可进行拉取了
最新1.6.1中,本地源和白名单中的CCTV直播源格式错误的话将不会被识别,比如这样的格式不会识别到最终结果内: CCTV1,http://[2409:8087:5e00:24::1e]:6060/000000001000/5000000010000030810/1.m3u8$LR•IPV6『线路1』 CCTV1,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010144/1.m3u8$LR•IPV6『线路2』 经过测试,必须这样才能识别到: CCTV-1,http://[2409:8087:5e00:24::1e]:6060/000000001000/5000000010000030810/1.m3u8$LR•IPV6『线路1』 CCTV-1,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010144/1.m3u8$LR•IPV6『线路2』
也就是必须填入CCTV-1而不是CCTV1,请问这是BUG吗?很多源都不会带上-,手动加上感觉比较麻烦,如果可以的话,希望优化,谢谢
这是因为你的模板文件demo填写的是CCTV-1,白名单执行的是精确匹配
最新镜像已经全部上传,可进行拉取了
最新1.6.1中,本地源和白名单中的CCTV直播源格式错误的话将不会被识别,比如这样的格式不会识别到最终结果内: CCTV1,http://[2409:8087:5e00:24::1e]:6060/000000001000/5000000010000030810/1.m3u8$LR•IPV6『线路1』 CCTV1,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010144/1.m3u8$LR•IPV6『线路2』 经过测试,必须这样才能识别到: CCTV-1,http://[2409:8087:5e00:24::1e]:6060/000000001000/5000000010000030810/1.m3u8$LR•IPV6『线路1』 CCTV-1,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010144/1.m3u8$LR•IPV6『线路2』 也就是必须填入CCTV-1而不是CCTV1,请问这是BUG吗?很多源都不会带上-,手动加上感觉比较麻烦,如果可以的话,希望优化,谢谢
这是因为你的模板文件demo填写的是CCTV-1,白名单执行的是精确匹配
好的,如果可以的话,可以优化一下,增加转换逻辑
最新镜像已经全部上传,可进行拉取了
最新1.6.1中,本地源和白名单中的CCTV直播源格式错误的话将不会被识别,比如这样的格式不会识别到最终结果内: CCTV1,http://[2409:8087:5e00:24::1e]:6060/000000001000/5000000010000030810/1.m3u8$LR•IPV6『线路1』 CCTV1,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010144/1.m3u8$LR•IPV6『线路2』 经过测试,必须这样才能识别到: CCTV-1,http://[2409:8087:5e00:24::1e]:6060/000000001000/5000000010000030810/1.m3u8$LR•IPV6『线路1』 CCTV-1,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010144/1.m3u8$LR•IPV6『线路2』 也就是必须填入CCTV-1而不是CCTV1,请问这是BUG吗?很多源都不会带上-,手动加上感觉比较麻烦,如果可以的话,希望优化,谢谢
这是因为你的模板文件demo填写的是CCTV-1,白名单执行的是精确匹配
好的,如果可以的话,可以优化一下,增加转换逻辑
因为白名单是一个高优先级的操作,影响较大,暂不考虑加入模糊匹配等处理。同时一般白名单中单个频道不会有太多接口,如果这些白名单频道你是从其它地方复制过来,手动批量重命名成模板中的频道名称即可。
