Up
This commit is contained in:
Liu committed 2025-04-15 01:35:43 +08:00
1 parent 6feb690e1f
commit 29b45a8f67
81 files changed
+52754 -22398

No files matched your search

+72 -46
View File
@@ -337,15 +337,6 @@
"quickSearch": 1,
"filterable": 1
},
{
"key": "游戏直播",
"name": "🙀游戏直播",
"type": 3,
"api": "csp_Living",
"searchable": 1,
"changeable": 0,
"ext": "http://127.0.0.1:9966/api/proxy/https://lemonlive25.pages.dev"
},
{
"key": "csp_AppXY",
"name": "🎀️星牙短剧",
@@ -486,6 +477,32 @@
"filter": "./json/wogg.json"
}
},
{
"key": "清影",
"name": "🥛清影",
"type": 3,
"api": "csp_kongbai",
"searchable": 1,
"changeable": 0,
"ext": {
"commonConfig": "./json/peizhi.json",
"siteUrl": "https://revohd.com/",
"filter": "./json/wogg.json"
}
},
{
"key": "大玩偶",
"name": "🐼大玩偶",
"type": 3,
"api": "csp_kongbai",
"searchable": 1,
"changeable": 0,
"ext": {
"commonConfig": "./json/peizhi.json",
"siteUrl": "http://149.88.87.18:6688/",
"filter": "./json/wogg.json"
}
},
{
"key": "多多",
"name": "🌟多多",
@@ -499,6 +516,30 @@
"filter": "./json/wogg.json"
}
},
{
"key": "星剧社",
"name": "⭐️星剧社",
"type": 3,
"api": "csp_Star2",
"searchable": 1,
"filterable": 0,
"switchable": 0,
"ext": {
"siteUrl": "https://star.banye.tech:7086/",
"commonConfig": "./json/peizhi.json"
}
},
{
"key": "csp_PanSearch",
"name": "📀盘搜索",
"type": 3,
"api": "csp_PanSearch",
"searchable": 1,
"changeable": 0,
"ext": {
"commonConfig": "./json/peizhi.json"
}
},
{
"key": "木偶",
"name": "🧸木偶",
@@ -508,7 +549,7 @@
"changeable": 0,
"ext": {
"commonConfig": "./json/peizhi.json",
"siteUrl": "https://mo.666291.xyz/",
"siteUrl": "http://123.666291.xyz//",
"filter": "./json/wogg.json"
}
},
@@ -551,30 +592,6 @@
"commonConfig": "./json/peizhi.json"
}
},
{
"key": "星剧社",
"name": "⭐️星剧社",
"type": 3,
"api": "csp_Star",
"searchable": 1,
"filterable": 0,
"switchable": 0,
"ext": {
"siteUrl": "https://star.banye.tech:7086/",
"commonConfig": "./json/peizhi.json"
}
},
{
"key": "csp_PanSearch",
"name": "📀盘搜索",
"type": 3,
"api": "csp_PanSearch",
"searchable": 1,
"changeable": 0,
"ext": {
"commonConfig": "./json/peizhi.json"
}
},
{
"key": "易搜",
"name": "🆎易搜",
@@ -648,7 +665,7 @@
"ext": {
"siteUrl": "http://127.0.0.1:9999",
"count": 4,
"channelUsername": "xx123pan,Q66Share,alyp_TV,ucpanpan,ucquark,tianyirigeng,shares_115,oneonefivewpfx,cloud189_group,tianyi_pd2,hao115,guaguale115,yunpanchat,ydypzyfx,tgsearchers,zaihuayun,PanjClub,NewQuark,Mbox115,yunpanpan,kuakeyun,Quark_Movies,qixingzhenren,alyp_4K_Movies,yunpanshare,shareAliyun,alyp_1",
"channelUsername": "xx123pan,Q66Share,bdwpzhpd,alyp_TV,ucpanpan,ucquark,tianyirigeng,shares_115,oneonefivewpfx,cloud189_group,tianyi_pd2,hao115,guaguale115,yunpanchat,ydypzyfx,tgsearchers,zaihuayun,PanjClub,NewQuark,Mbox115,yunpanpan,kuakeyun,Quark_Movies,qixingzhenren,alyp_4K_Movies,yunpanshare,shareAliyun,alyp_1",
"commonConfig": "./json/peizhi.json",
"filter": "./json/douban.json"
}
@@ -663,7 +680,7 @@
"switchable": 0,
"ext": {
"count": 4,
"channelUsername": "xx123pan,Q66Share,alyp_TV,ucpanpan,ucquark,tianyirigeng,shares_115,oneonefivewpfx,cloud189_group,tianyi_pd2,hao115,guaguale115,yunpanchat,ydypzyfx,tgsearchers,zaihuayun,PanjClub,NewQuark,Mbox115,yunpanpan,kuakeyun,Quark_Movies,qixingzhenren,alyp_4K_Movies,yunpanshare,shareAliyun,alyp_1",
"channelUsername": "xx123pan,Q66Share,bdwpzhpd,alyp_TV,ucpanpan,ucquark,tianyirigeng,shares_115,oneonefivewpfx,cloud189_group,tianyi_pd2,hao115,guaguale115,yunpanchat,ydypzyfx,tgsearchers,zaihuayun,PanjClub,NewQuark,Mbox115,yunpanpan,kuakeyun,Quark_Movies,qixingzhenren,alyp_4K_Movies,yunpanshare,shareAliyun,alyp_1",
"commonConfig": "./json/peizhi.json"
}
},
@@ -678,6 +695,15 @@
"commonConfig": "./json/peizhi.json"
}
},
{
"key": "游戏直播",
"name": "🙀游戏直播",
"type": 3,
"api": "csp_Living",
"searchable": 1,
"changeable": 0,
"ext": "https://lemonlive25.pages.dev"
},
{
"key": "虎牙",
"name": "🐯虎牙直播",
@@ -708,6 +734,16 @@
"quickSearch": 0,
"changeable": 0
},
{
"key": "JRKAN直播",
"name": "🏀JRKAN直播",
"type": 3,
"api": "./api/drpy2.min.js",
"searchable": 0,
"quickSearch": 0,
"filterable": 0,
"ext": "./js/JRKAN直播.js"
},
{
"key": "有声小说吧",
"name": "📚有声小说吧",
@@ -719,16 +755,6 @@
"filterable": 0,
"ext": "./js/有声小说吧.js"
},
{
"key": "JRKAN直播",
"name": "🏀JRKAN直播",
"type": 3,
"api": "./api/drpy2.min.js",
"searchable": 0,
"quickSearch": 0,
"filterable": 0,
"ext": "./js/JRKAN直播.js"
},
{
"key": "酷奇MV",
"name": "🎸酷奇MV",
+2 -2
View File
@@ -1,5 +1,5 @@
{
"panOrder": "quark|uc|ali|p123|ty|yd|115###原畫|普畫",
"panOrder": "quark|p123|uc|ali|ty|yd|115###原畫|普畫",
"aliToken": "",
"quarkCookie": "",
"ucCookie": "",
@@ -14,5 +14,5 @@
"proxy": "http://127.0.0.1:1072",//默认代理端口 留空则使用外置代理
"tgPic": "false",//tgsou 图片显示与否
//每次更新jar 该值都必须更新
"exeMd5": "WgbbCqn+5zYnwVVUG5Ld1VuJ8rDHvrI3j7SZvOGB1CyFQ69hzNBfDnGlkYy7i94AR302MH81Z5j7dJkzac9pYuVOI0T+bBtNCM5eMxHxylI+zB8ABUOdfmSMMNhXBrnXEGc8Orj998w3yMmznr4PDxCcE+DL4wzzPI7kaYrmVe6BkgCCiALrZ5LtgY/Q2bBFdZXPLENBlZ1Qp1Yi+ksWmCs13TZ4+aaULDPACDtqFMw41rSJHHFqn59DjtCBjQgipcMMp0a0l3I2V6n2YJN0AtPnKhmeLkfDamwKyoUAAoA6uEKrWJS0xPqNzHOUKQs6VzIxyEXbaOplQk4BDNnaTqEhNh1TLUMMAbec6ThHh96BPqBdnSBKDWNixeTusgD8BVJsKubEizDnH0fbQCDXheYJHLpoRyGe9M2B01XIDKSInmzMNfhQjdIHXWttYey9ojw2BXrT/HI3fTX1mk/o"
"exeMd5": "ZV8cPxJnih1ftmg8S1TXgK33/5PFr+KPmK+eUDFnuk6KvhzrIMcuO4TcGY46yURcX9iT/hsaZHxx5YMOR/R5GgD3FmHxJVeJxY/L94wh15BIuCX+Y5D8tZW9GVZxkeTJdODXLlK6j8RhEvUzzt7oOZQpSqPaEUQnx921K+Z43NAuEXq2c5ii2Z7Tit8yUXYAaJajDptGCyTDMChfkcM8ZOTaqjcllrhcuFf+cndZBa2aVZNNBbw2octfxtBKvue1sq1vrVo5aAvHWbLUoS4OSQQeu/IgezJa/h+ObqTE08Xkh20zaTtG91j9r9JTeYV+sLogm8LcyzPViMtVm9eefFI76i1w+FdI6rACVtgq3VHQAN99kxv/mp4y7ImLZDyXAu0G+7iofsEPXRNy5vtfE7EvDLIdkbwSinufUC0Ar1bdsboBzaQflZqkKDomVzQeLOC3GAec1pCbso/RS4cAMQ=="
}
+40 -125
View File
@@ -6,8 +6,6 @@ CCTV1,http://175.31.21.146:4480/hls/1/index.m3u8
CCTV1,http://58.220.211.90:352/tsfile/live/0001_1.m3u8?key=txiptv&playlive=1&authid$LR•IPV4『线路274』
CCTV1,http://58.220.211.90:352/tsfile/live/0001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路275』
CCTV1,http://3501776.xyz:35455/gaoma/cctv1.m3u8
CCTV1,http://112.81.218.254:35455/gaoma/cctv1.m3u8
CCTV1,http://183.184.228.183:9003//hls/1/index.m3u8
CCTV1,http://113.140.12.230:8888/newlive/live/hls/2/live.m3u8
CCTV1,http://222.219.183.103:8089/hls/1/index.m3u8
CCTV1,http://58.210.168.86:10800/newlive/live/hls/1/live.m3u8
@@ -16,45 +14,33 @@ CCTV2,http://39.164.160.249:9901/tsfile/live/0002_1.m3u8
CCTV2,http://175.31.21.146:4480/hls/2/index.m3u8
CCTV2,http://116.128.243.121:85/tsfile/live/0002_1.m3u8?key=txiptv&playlive=0&authid=0
CCTV2,http://3501776.xyz:35455/gaoma/cctv2.m3u8
CCTV2,http://222.134.245.16:9901/tsfile/live/0002_1.m3u8
CCTV2,http://183.184.228.183:9003//hls/2/index.m3u8
CCTV2,http://113.140.12.230:8888/newlive/live/hls/3/live.m3u8
CCTV2,http://60.223.224.176:8888/newlive/live/hls/3/live.m3u8
CCTV3,http://222.134.19.31:352/tsfile/live/0003_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路247』
CCTV3,http://222.134.19.31:352/tsfile/live/0003_1.m3u8?key=txiptv&playlive=1&authid=0
CCTV3,http://60.223.224.176:8888/newlive/live/hls/4/live.m3u8
CCTV3,http://113.140.12.230:8888/newlive/live/hls/4/live.m3u8
CCTV3,http://222.134.245.16:9901/tsfile/live/0003_1.m3u8
CCTV3,http://222.169.85.8:9901/tsfile/live/0003_1.m3u8?key=txiptv&playlive=1&authid=0
CCTV3,http://222.169.85.8:9901/tsfile/live/0003_1.m3u8
CCTV3,http://112.46.85.60:8009/hls/3/index.m3u8
CCTV3,http://3501776.xyz:35455/gaoma/cctv3.m3u8
CCTV3,http://183.184.228.183:9003//hls/3/index.m3u8
CCTV3,http://218.29.168.146:352/tsfile/live/0003_1.m3u8?key=txiptv&playlive=1&authid=0
CCTV3,http://58.220.219.14:9901/tsfile/live/0003_1.m3u8?key=txiptv&playlive=1&authid=0
CCTV4,http://183.66.15.146:60901/tsfile/live/0004_1.m3u8?key=txiptv$LR•IPV4『线路190』
CCTV4,http://183.184.228.183:9003//hls/4/index.m3u8
CCTV4,http://113.140.12.230:8888/newlive/live/hls/5/live.m3u8
CCTV4,http://60.223.224.176:8888/newlive/live/hls/5/live.m3u8?
CCTV4,http://222.219.183.103:8089/hls/4/index.m3u8
CCTV5,http://42.225.117.174:11199/tsfile/live/0005_1.m3u8?key=txiptv&playlive=1&authid=0
CCTV5,http://112.81.218.254:35455/gaoma/cctv5.m3u8
CCTV5,http://222.134.19.31:352/tsfile/live/0005_1.m3u8?key=txiptv&playlive=1&authid=0
CCTV5,http://60.223.224.176:8888/newlive/live/hls/6/live.m3u8
CCTV5,http://113.140.12.230:8888/newlive/live/hls/6/live.m3u8
CCTV5,http://116.9.204.242:9901/tsfile/live/0005_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路177』
CCTV5,http://61.133.10.250:352/tsfile/live/0005_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路269』
CCTV5,http://home.kuaidi521.com:35455/gaoma/cctv5.m3u8
CCTV5,http://222.134.245.16:9901/tsfile/live/0005_1.m3u8
CCTV5,http://116.9.204.242:9901/tsfile/live/0005_1.m3u8?key=txiptv&playlive=1&authid=0
CCTV5,http://116.9.204.242:9901/tsfile/live/0005_1.m3u8
CCTV5,http://183.184.228.183:9003//hls/5/index.m3u8
CCTV5,http://xiaoya.crccxw.top:35455/gaoma/cctv5.m3u8
CCTV5+,http://home.kuaidi521.com:35455/gaoma/cctv5p.m3u8
CCTV5+,http://xiaoya.crccxw.top:35455/gaoma/cctv5p.m3u8
CCTV5+,http://112.81.218.254:35455/gaoma/cctv5p.m3u8
CCTV5+,http://222.219.183.103:8089/hls/19/index.m3u8
CCTV5+,http://183.184.228.183:9003//hls/6/index.m3u8
CCTV5+,http://182.37.169.94:352/tsfile/live/0016_1.m3u8
CCTV6,http://222.134.19.31:352/tsfile/live/0006_1.m3u8?key=txiptv&playlive=1&authid=0
CCTV6,http://39.170.52.236:808/hls/6/index.m3u8
@@ -62,7 +48,6 @@ CCTV6,http://113.140.12.230:8888/newlive/live/hls/7/live.m3u8
CCTV6,http://222.169.85.8:9901/tsfile/live/0006_1.m3u8?key=txiptv
CCTV6,http://zzssw01.55555.io:9901/tsfile/live/0006_1.m3u8
CCTV6,http://101.19.84.8:9901/tsfile/live/0006_1.m3u8
CCTV6,http://183.184.228.183:9003//hls/7/index.m3u8
CCTV7,http://8.138.7.223/tv/cctv7.m3u8
CCTV7,http://60.223.224.176:8888/newlive/live/hls/9/live.m3u8
CCTV7,https://live.junhao.mil.cn/rmt9502/3e6e7c5477314ec38f5e58e2a5c70024.m3u8?txSecret=57978fafb9c19880afa5c8687e8241d8&txTime=7A42BAFF
@@ -70,69 +55,48 @@ CCTV7,http://live.junhao.mil.cn/rmt9502/3e6e7c5477314ec38f5e58e2a5c70024.m3u8?tx
CCTV7,http://xiaoya.crccxw.top:35455/gaoma/cctv7.m3u8
CCTV7,http://home.kuaidi521.com:35455/gaoma/cctv7.m3u8
CCTV7,http://101.19.84.8:9901/tsfile/live/0007_1.m3u8
CCTV7,http://183.184.228.183:9003//hls/8/index.m3u8
CCTV7,http://112.81.218.254:35455/gaoma/cctv7.m3u8
CCTV7,http://222.219.183.103:8089/hls/7/index.m3u8
CCTV8,http://112.81.218.254:35455/gaoma/cctv8.m3u8
CCTV8,http://222.134.19.31:352/tsfile/live/0008_1.m3u8?key=txiptv&playlive=1&authid=0
CCTV8,http://3501776.xyz:35455/gaoma/cctv8.m3u8
CCTV8,http://home.kuaidi521.com:35455/gaoma/cctv8.m3u8
CCTV8,http://112.46.85.60:8009/hls/8/index.m3u8
CCTV8,http://101.19.84.8:9901/tsfile/live/0008_1.m3u8
CCTV8,http://183.184.228.183:9003//hls/9/index.m3u8
CCTV8,http://113.140.12.230:8888/newlive/live/hls/9/live.m3u8
CCTV8,http://xiaoya.crccxw.top:35455/gaoma/cctv8.m3u8
CCTV8,http://60.223.224.176:8888/newlive/live/hls/10/live.m3u8?
CCTV8,http://61.133.10.250:352/tsfile/live/0008_1.m3u8?key=txiptv&playlive=1&authid=0
CCTV9,http://112.81.218.254:35455/gaoma/cctv9.m3u8
CCTV9,http://42.225.117.174:11199/tsfile/live/0009_1.m3u8?key=txiptv&playlive=1&authid=0
CCTV9,http://180.213.174.225:9901/tsfile/live/0009_1.m3u8?key=txiptv&playlive=1&authid=0
CCTV9,http://3501776.xyz:35455/gaoma/cctv9.m3u8
CCTV9,http://xiaoya.crccxw.top:35455/gaoma/cctv9.m3u8
CCTV9,http://home.kuaidi521.com:35455/gaoma/cctv9.m3u8
CCTV9,http://183.184.228.183:9003//hls/10/index.m3u8
CCTV9,http://60.223.224.176:8888/newlive/live/hls/11/live.m3u8?
CCTV9,http://222.219.183.103:8089/hls/9/index.m3u8
CCTV10,http://42.225.117.174:11199/tsfile/live/0010_1.m3u8?key=txiptv&playlive=1&authid=0
CCTV10,http://112.81.218.254:35455/gaoma/cctv10.m3u8
CCTV10,http://39.164.160.249:9901/tsfile/live/0010_1.m3u8
CCTV10,http://3501776.xyz:35455/gaoma/cctv10.m3u8
CCTV10,http://xiaoya.crccxw.top:35455/gaoma/cctv10.m3u8
CCTV10,http://113.140.12.230:8888/newlive/live/hls/11/live.m3u8
CCTV10,http://222.169.85.8:9901/tsfile/live/0010_1.m3u8
CCTV10,http://222.219.183.103:8089/hls/10/index.m3u8
CCTV10,http://183.184.228.183:9003//hls/11/index.m3u8
CCTV10,http://60.223.224.176:8888/newlive/live/hls/12/live.m3u8
CCTV10,http://182.37.169.94:352/tsfile/live/0010_1.m3u8?key=txiptv&playlive=1&authid=0
CCTV11,http://112.81.218.254:35455/gaoma/cctv11.m3u8
CCTV11,http://39.164.160.249:9901/tsfile/live/0011_1.m3u8
CCTV11,http://home.kuaidi521.com:35455/gaoma/cctv11.m3u8
CCTV12,http://112.81.218.254:35455/gaoma/cctv12.m3u8
CCTV12,http://home.kuaidi521.com:35455/gaoma/cctv12.m3u8
CCTV12,http://39.164.160.249:9901/tsfile/live/0012_1.m3u8
CCTV12,http://xiaoya.crccxw.top:35455/gaoma/cctv12.m3u8
CCTV12,http://183.184.228.183:9003//hls/13/index.m3u8
CCTV13,http://61.163.181.78:9901/tsfile/live/0013_1.m3u8
CCTV13,https://event.pull.hebtv.com/jishi/cp1.m3u8
CCTV13,http://ali-m-l.cztv.com/channels/lantian/channel21/1080p.m3u8
CCTV13,http://183.215.134.239:19901/tsfile/live/0013_1.m3u8?key=txiptv&playlive=1&authid=0
CCTV13,http://39.164.160.249:9901/tsfile/live/0013_1.m3u8
CCTV13,http://112.81.218.254:35455/gaoma/cctv13.m3u8
CCTV13,http://183.184.228.183:9003//hls/14/index.m3u8
CCTV14,http://112.81.218.254:35455/gaoma/cctv14.m3u8
CCTV14,https://event.pull.hebtv.com/jishi/cp2.m3u8
CCTV14,http://42.225.117.174:11199/tsfile/live/0014_1.m3u8?key=txiptv&playlive=1&authid=0
CCTV14,http://3501776.xyz:35455/gaoma/cctv14.m3u8
CCTV14,http://39.164.160.249:9901/tsfile/live/0014_1.m3u8
CCTV14,http://58.17.48.228:808/hls/14/index.m3u8
CCTV14,http://222.173.108.238:352/tsfile/live/0014_1.m3u8?key=txiptv&playlive=1&authid=0
CCTV14,http://183.184.228.183:9003//hls/15/index.m3u8
CCTV15,http://39.164.160.249:9901/tsfile/live/0015_1.m3u8
CCTV15,http://home.kuaidi521.com:35455/gaoma/cctv15.m3u8
CCTV16,http://xiaoya.crccxw.top:35455/gaoma/cctv16.m3u8
CCTV16,http://112.81.218.254:35455/gaoma/cctv16.m3u8
CCTV16,http://183.184.228.183:9003//hls/17/index.m3u8
CCTV17,http://112.81.218.254:35455/gaoma/cctv17.m3u8
CCTV17,http://xiaoya.crccxw.top:35455/gaoma/cctv17.m3u8
CCTV风云剧场,http://dassby.qqff.top:99/live/风云剧场/index.m3u8
CCTV20241,https://p2.bdstatic.com/rtmp.liveshow.lss-user.baidubce.com/live/stream_bduid_6488563992_8982723413/merged_1707497046297_88536_25144_41936.m3u8
@@ -142,15 +106,8 @@ CCTV15,http://113.57.20.158:9901/tsfile/live/1034_1.m3u8?key=txiptv&playlive=1&a
CCTV16,http://58.221.214.82:9901/tsfile/live/0002_2.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路88』
CCTV17,http://58.221.214.82:9901/tsfile/live/0003_2.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路130』
CCTV17,http://183.223.157.33:9901/tsfile/live/0016_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路132』
CCTV1,http://60.7.56.33:4000/rtp/239.253.92.83:8012$1920x1080
CCTV2,http://60.7.56.33:4000/rtp/239.253.92.190:6065$1920x1080
CCTV4,http://60.7.56.33:4000/rtp/239.253.93.192:6370$1920x1080
CCTV5,http://60.7.56.33:4000/rtp/239.253.92.181:6046$1920x1080
CCTV5+,http://60.7.56.33:4000/rtp/239.253.92.82:8013$1920x1080
CCTV6,http://60.7.56.33:4000/rtp/239.253.92.193:6058$1920x1080
CCTV7,http://111.160.17.2:59901/tsfile/live/0001_8.m3u8
CCTV11,http://61.136.172.236:9901/tsfile/live/0011_1.m3u8
CCTV12,http://60.7.56.33:4000/rtp/239.253.92.197:6062$1920x1080
CCTV13,http://61.136.172.236:9901/tsfile/live/0013_1.m3u8
CCTV13,http://123.129.70.178:9901/tsfile/live/0013_1.m3u8
CCTV15,http://61.136.172.236:9901/tsfile/live/0015_1.m3u8
@@ -164,7 +121,6 @@ CCTV15,http://61.156.228.12:8154/tsfile/live/0015_1.m3u8
安徽卫视,http://39.164.160.249:9901/tsfile/live/0130_1.m3u8
北京卫视,http://183.215.134.239:19901/tsfile/live/0122_1.m3u8?key=txiptv&playlive=1&authid=0
北京卫视,http://115.149.139.141:10000/tsfile/live/1022_1.m3u8?key=txiptv&playlive=0&authid=0
北京卫视,http://42.225.117.174:11199/tsfile/live/0122_1.m3u8?key=txiptv&playlive=1&authid=0
北京卫视,http://58.220.219.14:9901/tsfile/live/0122_1.m3u8?key=txiptv&playlive=1&authid=0
兵团卫视,http://liveout.btzx.com.cn/62ds9e/yil08g.m3u8
兵团卫视,https://liveout.btzx.com.cn/62ds9e/yil08g.m3u8
@@ -185,7 +141,6 @@ CCTV15,http://61.156.228.12:8154/tsfile/live/0015_1.m3u8
广东卫视,http://222.173.108.238:352/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0
广东卫视,http://39.164.160.249:9901/tsfile/live/0125_1.m3u8
广西卫视,http://live.cztv.cc:85/live/ggpd.m3u8
广西卫视,http://42.225.117.174:11199/tsfile/live/0113_1.m3u8?key=txiptv&playlive=1&authid=0
广西卫视,http://115.149.139.141:10000/tsfile/live/1037_1.m3u8?key=txiptv&playlive=0&authid=0
广西卫视,http://220.164.192.48:50085/tsfile/live/0112_1.m3u8
广西卫视,http://115.149.139.141:10001/tsfile/live/1037_1.m3u8?blog.ntnas.top
@@ -194,7 +149,6 @@ CCTV15,http://61.156.228.12:8154/tsfile/live/0015_1.m3u8
贵州卫视,http://39.164.160.249:9901/tsfile/live/0120_1.m3u8
河北卫视,http://116.131.190.210:352/tsfile/live/0117_1.m3u8?key=txiptv&playlive=1&authid=0
河北卫视,http://60.8.49.38:352/tsfile/live/0117_1.m3u8?key=txiptv&playlive=1&authid=0
河南卫视,http://42.225.117.174:11199/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0
河南卫视,http://39.164.160.249:9901/tsfile/live/0139_1.m3u8
黑龙江卫视,http://115.149.139.141:10000/tsfile/live/1030_1.m3u8?key=txiptv&playlive=0&authid=0
黑龙江卫视,http://39.164.160.249:9901/tsfile/live/0143_1.m3u8
@@ -203,7 +157,6 @@ CCTV15,http://61.156.228.12:8154/tsfile/live/0015_1.m3u8
湖南卫视,http://39.164.160.249:9901/tsfile/live/0128_1.m3u8
湖南卫视,http://60.223.224.176:8888/newlive/live/hls/22/live.m3u8
吉林卫视,http://220.164.192.48:50085/tsfile/live/0118_1.m3u8
江苏卫视,http://42.225.117.174:11199/tsfile/live/0127_1.m3u8?key=txiptv&playlive=1&authid=0
江西卫视,http://120.76.248.139/live/bfgd/4200000098.m3u8
江西卫视,http://183.215.134.239:19901/tsfile/live/0138_1.m3u8?key=txiptv&playlive=1&authid=0
江西卫视,http://222.173.108.238:352/tsfile/live/1010_1.m3u8?key=txiptv&playlive=1&authid=0
@@ -218,9 +171,7 @@ CCTV15,http://61.156.228.12:8154/tsfile/live/0015_1.m3u8
厦门卫视,http://220.161.87.62:8090/hls/0/index.m3u8?zfud
山东卫视,http://120.76.248.139/live/bfgd/4200000099.m3u8
山西卫视,http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel7/playlist.m3u8
山西卫视,http://42.225.117.174:11199/tsfile/live/0118_1.m3u8?key=txiptv&playlive=1&authid=0
山西卫视,http://60.223.224.176:8888/newlive/live/hls/43/live.m3u8?
陕西卫视,http://42.225.117.174:11199/tsfile/live/0136_1.m3u8?key=txiptv&playlive=1&authid=0
深圳卫视,http://120.76.248.139/live/bfgd/4200000100.m3u8
深圳卫视,http://115.149.139.141:10000/tsfile/live/1032_1.m3u8?key=txiptv&playlive=0&authid=0
深圳卫视,http://183.215.134.239:19901/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=0
@@ -252,7 +203,6 @@ CCTV15,http://61.156.228.12:8154/tsfile/live/0015_1.m3u8
深圳卫视,http://123.129.70.178:9901/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路68』
广东卫视,http://123.129.70.178:9901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路88』
广西卫视,http://61.136.172.236:9901/tsfile/live/0113_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路54』
天津卫视,http://60.7.56.33:4000/rtp/239.253.92.91:8021$1920x1080
青海卫视,http://stream.qhbtv.com/qhws/sd/live.m3u8
三沙卫视,https://pullsstv90080111.ssws.tv/live/SSTV20220729.m3u8
安多卫视,http://stream.qhbtv.com/adws/sd/live.m3u8
@@ -270,87 +220,52 @@ CCTV15,http://61.156.228.12:8154/tsfile/live/0015_1.m3u8
IPV6,#genre#
CCTV-1,http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226895/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EI0Rkc6neBYgfpoJ1yud8Fw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPpqgHe3PQ5GNQoO-yUgA8C%2CEND
CCTV-3,http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226456/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E_6GNVcVOz9Xub8CclyMRUg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOIR_8g_qYRqpV5wTQqRILi%2CEND
CCTV-4,http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226470/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0wP1dRMt9qCzHdvA65wh1w%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMcuN2HH7RLPyPHWOUWhSMk%2CEND
CCTV5,http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226454/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ErKwB8Qqtvssoy-K7GEgesQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOIR_8g_qYRqpV5wTQqRILi%2CEND
CCTV5+,http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226458/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Em70vyfVI_MkrcLYjHWnqOA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNlS0O1LA8iGydXPYujpRue%2CEND
CCTV6,http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226453/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ex56LEwufYqPdJkUNYhbNCw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOH2PzEhAK60LI_FWtVxfVS%2CEND
CCTV7,http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226234/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EutDC7HLJc_gC0YdIDr7oig%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPOHuulzlCcw92vP3vgYa4n%2CEND
CCTV8,http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226451/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EO_1NY-UghfdG_S28Bf_FPw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNO1anuaDcpMt0_BMig72trX%2CEND
CCTV10,http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226449/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EzhRgoBfyoaW0eC2lnTJYAQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOxqyo6ss4VuHKCaIhF4e3B%2CEND
CCTV11,http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226334/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0RcQQbNseiHvFO8XWf466A%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
CCTV11,http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226448/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eqfhzy1ZrFZrYrATDOB991A%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOu522yjh6D1Z_dApuOt9eE%2CEND
CCTV12,http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226228/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E2knJCFLHz_HqfBZXNGeA1A%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMIlZ5z7o_ym15iMooogSvj%2CEND
CCTV13,http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226316/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EqHPe9pEEWJ00hz1ArnRZVA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
CCTV13,http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226446/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EU-IJJyzlYeEElWsacI4JKw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMT7DWkynQtRPzNDJCOY_C_%2CEND
CCTV14,http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226229/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ey_UgKg-_uoDiTW1MNHptPg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNLabf3bHEXv4444iiOs_Px%2CEND
CCTV15,http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226444/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EFQ8BWVFffGkwLTLNv7CwFQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNM7I2coCeiP5K0pSIMZqcUB%2CEND
CCTV16,http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227002/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EX9goLRw26BM_r54des2PAw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPt5W7-RovMDpE-7B-0PhHw%2CEND
CCTV17,http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226442/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EtihRNVe_x2y1Lgi_XWYeNw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOl8OnsD1vPD0mhNmo98J3J%2CEND
CGTN,http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226443/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ebu8iDniP_aAtg-APxKXKAA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOeLGc8fhipDF_paLm6VUd-%2CEND
CCTV1,http://iptv.huuc.edu.cn/hls/cctv1hd.m3u8
CCTV2,http://iptv.huuc.edu.cn/hls/cctv2hd.m3u8
CCTV3,http://iptv.huuc.edu.cn/hls/cctv3hd.m3u8
CCTV4,http://iptv.huuc.edu.cn/hls/cctv4hd.m3u8
CCTV5,http://iptv.huuc.edu.cn/hls/cctv5hd.m3u8
CCTV6,http://iptv.huuc.edu.cn/hls/cctv6hd.m3u8
CCTV7,http://iptv.huuc.edu.cn/hls/cctv7hd.m3u8
CCTV8,http://iptv.huuc.edu.cn/hls/cctv8hd.m3u8
CCTV9,http://iptv.huuc.edu.cn/hls/cctv9hd.m3u8
CCTV10,http://iptv.huuc.edu.cn/hls/cctv10hd.m3u8
CCTV11,http://iptv.huuc.edu.cn/hls/cctv11hd.m3u8
CCTV12,http://iptv.huuc.edu.cn/hls/cctv12hd.m3u8
CCTV13,http://iptv.huuc.edu.cn/hls/cctv13hd.m3u8
CCTV14,http://iptv.huuc.edu.cn/hls/cctv14hd.m3u8
CGTN,http://iptv.huuc.edu.cn/hls/cgtnhd.m3u8
CGTN英语,https://0472.org/hls/cgtn.m3u8
CGTN记录,https://0472.org/hls/cgtnd.m3u8
CGTN俄语,https://0472.org/hls/cgtne.m3u8
CGTN法语,https://0472.org/hls/cgtnf.m3u8
CGTN西语,https://0472.org/hls/cgtnx.m3u8
CGTN阿语,https://0472.org/hls/cgtna.m3u8
北京卫视,http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226900/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EcYPi33WFyhvd6SjmqUKhJg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
北京卫视,http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226436/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ElMQ3ov45VmhzipweN5VstQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPg_yZ8DZHTaSU92MIl_o3b%2CEND
深圳卫视,http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226245/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EFvxuZ6Kfg6J67sArVd0LuA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNO9YxM-C8gPFvQRk47-h2ok%2CEND
湖北卫视,http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226240/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ExfU_RR0RQok0w_xd7h22CQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPVnDV2fEBphgm3TP7hAHBx%2CEND
东方卫视,http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226237/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EuOKqNaOUqqiJjXIfPoRPMQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNeqgYr1eA9ESriCOsl_DTz%2CEND
浙江卫视,http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226247/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eo6BokfP3WkB3SIXSrgvRBA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNP3w4GkbU9L7iRQ8H2vgzhF%2CEND
吉林卫视,http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226533/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EicY_6znuOTlmMeE15TFEig%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNNUZpDp9cPVsM_M_ftJRVM%2CEND
江苏卫视,http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226242/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EJT6eqtJpcKnNhyUS90EOgw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNN1SxXwCt0S69Lq27ZMJpfR%2CEND
山东卫视,http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226244/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EycMz-PML_dQW8iLcNBkw7g%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMYCYLC04QAM6EBli1wTuET%2CEND
黑龙江卫视,http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226239/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EEHwpSHKc5p-bHJfhpIWFig%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNM5Y8rTELLykZJHp-bmY2YW%2CEND
东南卫视,http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226496/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EkZUfG47p98m2PZiCsgkhyQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNM5EcQIH6BiwZavlhPLb4oJ%2CEND
江西卫视,http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226243/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EfPpe3gkzCutYMoqOQQZNzA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMVuW7agCgULnvgy9rhLyCH%2CEND
云南卫视,http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226543/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EzQy9f4DIExLCs810r0Q6Kw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNO_hnHaWpTsMQwR98VJGduo%2CEND
辽宁卫视,http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226488/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0dsu8dOBmGQQO7fSrvySew%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNN4l9PIxeExdzsncIMJiPZb%2CEND
重庆卫视,http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226518/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ey-ITbF7am-eD_R60rK2QcQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMWkDi37K3eowQvLymiiLyV%2CEND
山西卫视,http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226531/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EokFa56wMKUpB1vaIjEe92A%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPoj5DNJHruOghC7vAQxinJ%2CEND
海南卫视,http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226574/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EZOP0PLu1-XG8_Ae0lTe9HQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNODcjESMU4f6yMuMuOuQbie%2CEND
安徽卫视,http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226490/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EcN5s_AlHugvAv9Pda6f9fA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOtRTFrO5eKiKNV40gMGHaS%2CEND
甘肃卫视,http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226545/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EPxObabIs3mLyPmSf2HHtqQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNBE3K16ZfzYGIqbP6z6cGJ%2CEND
青海卫视,http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226529/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ege4qzvU2ax15UdL3NFQ7AQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNdiWnhjH1amCOGECUhABr9%2CEND
山东教育卫视,http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226526/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EEtk94qghXphElKOQlUC-Yw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOpyxkKQ6N6FjQz-LrJwo0o%2CEND
宁夏卫视,http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226528/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E9-jWxE6tfiz7aO7MvbCY7Q%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMi3qn27U9rBeXpVrJ8eLy7%2CEND
内蒙古卫视,http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226530/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EHHMwHAFmEx4xxtZRlWhCrg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMZe-zTYLW-Yz0RcFLVr37n%2CEND
陕西卫视,http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226532/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E6sNSqmLCqLFl_AJPBXp1qA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNO6b4uKEI14SNy0LDiw52LH%2CEND
广西卫视,http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226534/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EpjsBggKPaCw3f-xlBWZWaQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMJYhPE64lykNkIsypBRZqO%2CEND
厦门卫视,http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226542/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0HuqirkTe1cAUljwazjNGw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMvSOYesmmWPPy5i3xS4Rsb%2CEND
三沙卫视,http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226544/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eb2dn60YQRxhB5rAyOnrv0g%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNO_hnHaWpTsMQwR98VJGduo%2CEND
新疆卫视,http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226546/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ETtoZKRqwsL9SQjr1A0iH5g%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMREPnBLSH3b8pR7cnmo9am%2CEND
西藏卫视,http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226527/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EmHuqUIe0F51C4h6xZanhig%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMi3qn27U9rBeXpVrJ8eLy7%2CEND
兵团卫视,http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226541/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ESv-rH0nF41q6pxKZKeRnNA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNN-56c_rnHTXQA4R-D0Dlau%2CEND
延边卫视,http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227045/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eq0D3NdTUN7FuRzr8eJsbQA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNONS2RAhxb5u6NYaMGGM23S%2CEND
康巴卫视,http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227027/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EkHMvBpWz4rccMxNvSRekpQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPtFfVFX0AVycM8b4Xmbcl4%2CEND
嘉佳卡通,http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226539/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EQDRyt1jaDU7f52NwPN526A%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOLcRNi6C1PMX5tGrYl_SiR%2CEND
茶频道,http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226548/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ec1XXmbKOEhI6pFYCxtVG9A%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOD3hCDGl7mDB_HDsnRfhB2%2CEND
快乐垂钓,http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226549/1.m3u8?GuardEncType=2&accountinfo=~~V2.0~RHz0NOpqUZZN1Iz6lVLkkg~_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNSiF8rKF1Pn2LepKMJ2cEG%2CEND
超级电影,http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226233/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EfPRR4mbRWhkCFuUCVm9THg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNM4kysjLk_woYMRnu35KtBV%2CEND
超级综艺,http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226231/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ejm-KqHfTZezbm9C-325YiA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNnfpAUC20DSCXUyGpDggnK%2CEND
超级体育,http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226232/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eg-EQHTrpbCOxNSgnFRbr4w%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMNhcQPODGVtsSVKlB7CbAh%2CEND
金牌综艺,http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227004/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EkcfszuSJNo6WZ8h7xrIswA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMWi_zfgUXV5YnB6haFF-C2%2CEND
北京IPTV 4K超清,http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226550/1.m3u8?GuardEncType=2&accountinfo=~~V2.0~e2qS8h6u-xp3gd50vNr1sw~_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPPFD3HVWEytEVyliOxehfe%2CEND
北京国际,http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226510/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EIfgL7tTUNqHAIdgvKuwj8A%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPr9j5nfyiWS_jEXD6m401A%2CEND
北京新闻,http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226437/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EncK5uEAdYwWMsf8WJWI1mQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNO_LSIQh_h2P54Cz-MqgJqC%2CEND
北京文艺,http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226440/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EWrJcgMpdGPvZavpf4dmmrQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNhmwDsUZnvQgU5E5wiGA2g%2CEND
北京体育休闲,http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226438/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EeVAybrHg955d_IRT9e_uHQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMLCKqkSfuGOusJwBMwlCbz%2CEND
北京影视,http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226433/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EygquRbh9L0wUPRY53fsZWw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNO62IynDcU1yYDL1b4Xte8T%2CEND
北京生活,http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226514/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Es-PVNcPJsjr_oBdcXGT40g%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMWvZ0r6eMXcXJOGrCpJiq1%2CEND
北京财经,http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226516/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eh9_SEkmWeMdS1TMnIILZgg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPIiicEW7OIvk1s-X-PXHqO%2CEND
北京纪实科教,http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226434/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ejj3PtVjzl6ZzFdM-Vi1dmQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPJa61jREJv4ZfZigyrxX0U%2CEND
北京IPTV 淘电影,http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226552/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EXOsrWMA-UCdUl1hQSR9EKw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNg3bzRax0E9tLmO9xgXVx8%2CEND
北京IPTV 淘剧场,http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226553/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EQaJ92NID2SpQlY6_VJVogg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOuQYJeiYEeFWTkFfE86Vq-%2CEND
北京IPTV 淘娱乐,http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226551/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ex0efg9fpenP8E8lWJUb5Lg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNg3bzRax0E9tLmO9xgXVx8%2CEND
北京IPTV 淘BABY,http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226554/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EN0sbBMpQv4sLsW5foy3YfA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNg3bzRax0E9tLmO9xgXVx8%2CEND
北京IPTV 萌宠TV,http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226555/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E_PpxWPtvSZRFtu_Ged_-vQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNO0istnBuoA2R9ODSCqyIyS%2CEND
中国教育1台,http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226494/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EB8MrpAzJ_Bw12HHVBcZO6g%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNONWWecbSKZXNjh_5hExtTC%2CEND
中国教育2台,http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226537/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E7AxXs4eTU2oiWrhopr9sHw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNxsM0Bor098BJglrhfEQTl%2CEND
中国教育4台,http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226557/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EBzZToIaOOoaa_jAUfhUQHQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOD9BEmVSNbqSQpqXZxnxbk%2CEND
北京卫视,http://iptv.huuc.edu.cn/hls/btv1hd.m3u8
北京文艺,http://iptv.huuc.edu.cn/hls/btv2hd.m3u8
北京体育,http://iptv.huuc.edu.cn/hls/btv6hd.m3u8
北京影视,http://iptv.huuc.edu.cn/hls/btv4hd.m3u8
北京新闻,http://iptv.huuc.edu.cn/hls/btv9hd.m3u8
北京纪实,http://iptv.huuc.edu.cn/hls/btv11hd.m3u8
湖南卫视,http://iptv.huuc.edu.cn/hls/hunanhd.m3u8
浙江卫视,http://iptv.huuc.edu.cn/hls/zjhd.m3u8
江苏卫视,http://iptv.huuc.edu.cn/hls/jshd.m3u8
东方卫视,http://iptv.huuc.edu.cn/hls/dfhd.m3u8
安徽卫视,http://iptv.huuc.edu.cn/hls/ahhd.m3u8
黑龙江卫视,http://iptv.huuc.edu.cn/hls/hljhd.m3u8
辽宁卫视,http://iptv.huuc.edu.cn/hls/lnhd.m3u8
深圳卫视,http://iptv.huuc.edu.cn/hls/szhd.m3u8
广东卫视,http://iptv.huuc.edu.cn/hls/gdhd.m3u8
天津卫视,http://iptv.huuc.edu.cn/hls/tjhd.m3u8
湖北卫视,http://iptv.huuc.edu.cn/hls/hbhd.m3u8
山东卫视,http://iptv.huuc.edu.cn/hls/sdhd.m3u8
重庆卫视,http://iptv.huuc.edu.cn/hls/cqhd.m3u8
上海纪实,http://iptv.huuc.edu.cn/hls/docuchina.m3u8
四川卫视,http://iptv.huuc.edu.cn/hls/schd.m3u8
金鹰纪实,http://iptv.huuc.edu.cn/hls/gedocu.m3u8
东南卫视,http://iptv.huuc.edu.cn/hls/dnhd.m3u8
河北卫视,http://iptv.huuc.edu.cn/hls/hebhd.m3u8
江西卫视,http://iptv.huuc.edu.cn/hls/jxhd.m3u8
浙江新闻,https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8
浙江国际,https://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8
浙江少儿,https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
BIN
View File
Binary file not shown.
+376 -375
View File
File diff suppressed because it is too large. Load diff
+40
View File
@@ -0,0 +1,40 @@
var rule = {
title: '56动漫',
host: 'https://www.56dm.cc/',
url: 'https://www.56dm.cc/type/fyclass-fypage.html',
searchUrl: 'https://www.56dm.cc/search/**----------fypage---.html',
searchable: 2, //是否启用全局搜索,
quickSearch: 0, //是否启用快速搜索,
filterable: 0, //是否启用分类筛选,
headers: {
'User-Agent': 'UC_UA', // "Cookie": ""
}, // class_parse:'.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html',
class_parse: '.snui-header-menu-nav li:gt(0):lt(6);a&&Text;a&&href;.*/(.*?).html',
play_parse: true,
lazy: `js:
if(/\\.(m3u8|mp4)/.test(input)){
input = {parse:0,url:input}
}else{
if(rule.parse_url.startsWith('json:')){
let purl = rule.parse_url.replace('json:','')+input;
let html = request(purl);
input = {parse:0,url:JSON.parse(html).url}
}else{
input= rule.parse_url+input;
}
}
`,
limit: 6,
推荐: '.cCBf_FAAEfbc;li;a&&title;.lazyload&&data-original;.dAD_BBCI&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.cCBf_FAAEfbc li;a&&title;a&&data-original;.dAD_BBCI&&Text;a&&href',
二级: {
"title": "h1&&Text",
"img": ".stui-content__thumb .lazyload&&data-original",
"desc": ".cCBf_DABCcac__hcIdeE p:eq(0)&&Text;.cCBf_DABCcac__hcIdeE p:eq(1)&&Text;.cCBf_DABCcac__hcIdeE p:eq(2)&&Text;.cCBf_DABCcac__hcIdeE p:eq(3)&&Text;.cCBf_DABCcac__hcIdeE p:eq(4)&&Text",
"content": ".detail&&Text",
"tabs": ".channel-tab li",
"lists": ".play-list-content:eq(#id) li"
},
搜索: '.cCBf_FAAEfbc__dbD;a&&title;.lazyload&&data-original;.dAD_BBCI&&Text;a&&href;.cCBf_FAAEfbc__hcIdeE&&p:eq(0) p&&Text',
}
File diff suppressed because it is too large. Load diff
+26
View File
@@ -0,0 +1,26 @@
var rule = {
title: '兔小贝',
host: 'https://www.tuxiaobei.com',
homeUrl: '',
url: '/list/mip-data?typeId=fyclass&page=fypage&callback=',
detailUrl: '/play/fyid',
searchUrl: '/search/index?key=**',
searchable: 2,
headers: {
'User-Agent': 'MOBILE_UA'
},
timeout: 5000,
class_url: '2&3&4&25',
class_name: '儿歌&故事&国学&启蒙',
//class_name:'#page-viewport&&ul&&li;.text&&Text;a&&href;/(.*)',
cate_exclude: '应用',
推荐: '.pic-list.list-box;.items;.text&&Text;mip-img&&src;.all&&Text;a&&href',
double: true,
limit: 5,
play_parse: true,
lazy: 'js:fetch_params.headers["user-agent"] = IOS_UA;let html=fetch(input,fetch_params);let src = jsp.pdfh(html,"body&&#videoWrap&&video-src");input=src;',
// 一级:'json:data.items;name;image;collect_num;category_id+video_id',
一级: 'json:data.items;name;image;duration_string;video_id',
二级: '*',
搜索: '.list-con&&.items;.text&&Text;mip-img&&src;.time&&Text;a&&href',
}
File diff suppressed because it is too large. Load diff
+36
View File
@@ -0,0 +1,36 @@
var rule = {
title:'武享吧',
host:'https://www.hula8.net',
url: '/fyclass/page/fypage',
searchUrl: '/page/fypage/?s=**',
searchable:2,
quickSearch:0,
headers:{
'User-Agent': 'PC_UA',
'Referer': 'https://www.hula8.net/',
'Cookie':'esc_search_captcha=1;result=12'
},
timeout:5000,//网站的全局请求超时,默认是3000毫秒
class_parse: '#menu-xinjian&&li;a&&Text;a&&href;net/(.*)',
play_parse:true,
cate_exclude:'首 页|赛事预告|美国格斗赛|亚洲格斗赛|其他格斗赛|日本搏击赛|裸拳赛',
limit:6,
推荐: 'div.apc-grid-item;*;*;.views&&Text;a&&href',
一级: '.site-main&&article;img&&alt;img&&data-original;.grid-inf-l&&Text;a&&href',
二级: {
"title": "h1&&Text;.module-info-tag&&Text",
"img": ".aligncenter&&data-original",
"desc": ";;;.views:eq(0)&&Text;",
"content": "h1&&Text",
"tabs": "js:TABS=['道长在线']",
"lists": `js:
var html = JSON.parse(request(input).match(/var bevideo_vids_.*?=({[\\s\\S]*?});/)[1]);
let list = [];
list = html.m3u8dplayer.map(function(item) {
return item.pre + "$" + item.video
});
LISTS = [list];
`
},
搜索: '*;*;*;.entry-meta&&Text;*',
}
+27
View File
@@ -0,0 +1,27 @@
var rule = {
title: '爱上你听书网',
host: 'https://www.230ts.net',
url: '/sort/fyclass/fypage.html',
searchUrl: '/search.html?searchtype=name&searchword=**&page=fypage',
searchable: 2,
quickSearch: 0,
headers: {
'User-Agent': 'PC_UA'
},
timeout: 5000,
class_parse: '.nav-ol&&li:gt(0):lt(6);a&&Text;a&&href;.*/(\\w+).html',
play_parse: true,
lazy: 'js:input=input.replace("www","wap")',
limit: 6,
推荐: '#myTab_Content1&&li;.tab-book-title&&Text;*;.tab-book-author&&Text;*',
一级: 'ul.list-works&&li;.list-book-dt--span&&Text;.lazy&&data-original;.book-author:eq(2)&&a&&Text;a&&href',
二级: {
title: '.book-cover&&alt;.book-info&&dd--span:eq(1)&&Text',
img: '.book-cover&&src',
desc: '.book-info&&dd:eq(4)&&Text;;;.book-info&&dd--span:eq(3)&&Text;.book-info&&dd--span:eq(2)&&Text',
content: '.book-des&&Text',
tabs: '.playlist-top&&h2',
lists: '#playlist:eq(#id)&&li',
},
搜索: '*',
}
-210
View File
@@ -1,210 +0,0 @@
{
"作者":"荷城茶秀",
"站名":"HD魔力",
"主页url":"https://www.hdmoli.pro/",
"简介":"简介:&&</p>",
"导演":"导演:&&</p>",
"主演":"演员:&&</p>",
"影片类型":"分类:&&<span class=\"split-line\">",
"影片地区":"地区:&&<span class=\"split-line\">",
"影片年代":"年份:&&<span class=\"split-line\">",
"影片状态":"15px;\">&&</h1>",
"数组":"myui-vodlist__thumb&&</a>",
"图片":"data-original=\"&&\"",
"标题":"title=\"&&\"",
"副标题":"pic-text text-right\">&&</span>",
"链接":"href=\"&&\"",
"搜索url":"/search.php?searchword={wd}",
"搜索数组":"vodlist__thumb&&</a>",
"搜索标题":"title=\"&&\"",
"搜索副标题":"pic-text text-right\">&&</span>",
"搜索图片":"data-original=\"&&\"",
"搜索链接":"href=\"&&\"",
"线路数组":"data-toggle=&&</li>[替换:线路1>>在线播放①#线路2>>在线播放②#线路3>>在线播放③]",
"线路标题":">&&</a>",
"播放数组":"-content__list sort-list&&</ul>",
"播放标题":">&&<",
"播放列表":"<a&&/a>",
"分类url":"https://www.hdmoli.pro/search.php?page={catePg}&searchtype=5&order={by}&tid={cateId}&area={area}&year={year}&letter=&yuyan=&state=&money=&ver=&jq={class};;ak",
"分类":"电影$1#电视剧$2#动漫$41",
"筛选":{
"1":[
{"key":"cateId","name":"类型","value":[
{"n":"全部类型","v":""},
{"n":"动作","v":"5"},
{"n":"爱情","v":"6"},
{"n":"科幻","v":"7"},
{"n":"恐怖","v":"8"},
{"n":"战争","v":"9"},
{"n":"喜剧","v":"10"},
{"n":"纪录片","v":"11"},
{"n":"剧情","v":"12"},
{"n":"犯罪","v":"30"},
{"n":"动画","v":"32"}
]
},
{"key":"class","name":"剧情","value":[
{"n":"全部剧情","v":""},
{"n":"战争","v":"战争"},
{"n":"恐怖","v":"恐怖"},
{"n":"剧情","v":"剧情"},
{"n":"爱情","v":"爱情"},
{"n":"家庭","v":"家庭"},
{"n":"励志","v":"励志"},
{"n":"悬疑","v":"悬疑"},
{"n":"动作","v":"动作"},
{"n":"奇幻","v":"奇幻"},
{"n":"冒险","v":"冒险"},
{"n":"历史","v":"历史"},
{"n":"惊悚","v":"惊悚"},
{"n":"音乐","v":"音乐"},
{"n":"科幻","v":"科幻"},
{"n":"犯罪","v":"犯罪"},
{"n":"运动","v":"运动"},
{"n":"喜剧","v":"喜剧"}
]
},
{"key":"area","name":"地区","value":[
{"n":"全部地区","v":""},
{"n":"中国","v":"中国"},
{"n":"美国","v":"美国"},
{"n":"韩国","v":"韩国"},
{"n":"英国","v":"英国"},
{"n":"日本","v":"日本"},
{"n":"泰国","v":"泰国"},
{"n":"其他","v":"其他"}
]
},
{"key":"year","name":"时间","value":[
{"n":"全部时间","v":""},
{"n":"2023","v":"2023"},
{"n":"2022","v":"2022"},
{"n":"2021","v":"2021"},
{"n":"2020","v":"2020"},
{"n":"2019","v":"2019"},
{"n":"2018","v":"2018"},
{"n":"2017","v":"2017"},
{"n":"2016","v":"2016"},
{"n":"2015","v":"2015"},
{"n":"2014","v":"2014"},
{"n":"2013","v":"2013"},
{"n":"2012","v":"2012"},
{"n":"more","v":"more"}
]
},
{"key":"by","name":"排序","value":[
{"n":"全部排序","v":""},
{"n":"时间排序","v":"time"},
{"n":"评分排序","v":"douban"}
]
}
],
"2":[
{"key":"cateId","name":"类型","value":[
{"n":"全部类型","v":""},
{"n":"中国","v":"14"},
{"n":"美剧","v":"15"},
{"n":"韩剧","v":"16"},
{"n":"日剧","v":"13"},
{"n":"英剧","v":"34"},
{"n":"泰剧","v":"29"},
{"n":"综艺","v":"39"},
{"n":"其他","v":"38"}
]
},
{"key":"class","name":"剧情","value":[
{"n":"全部剧情","v":""},
{"n":"战争","v":"战争"},
{"n":"恐怖","v":"恐怖"},
{"n":"剧情","v":"剧情"},
{"n":"爱情","v":"爱情"},
{"n":"家庭","v":"家庭"},
{"n":"励志","v":"励志"},
{"n":"悬疑","v":"悬疑"},
{"n":"动作","v":"动作"},
{"n":"奇幻","v":"奇幻"},
{"n":"冒险","v":"冒险"},
{"n":"历史","v":"历史"},
{"n":"惊悚","v":"惊悚"},
{"n":"音乐","v":"音乐"},
{"n":"科幻","v":"科幻"},
{"n":"犯罪","v":"犯罪"},
{"n":"运动","v":"运动"},
{"n":"喜剧","v":"喜剧"}
]
},
{"key":"area","name":"地区","value":[
{"n":"全部地区","v":""},
{"n":"中国","v":"中国"},
{"n":"美国","v":"美国"},
{"n":"韩国","v":"韩国"},
{"n":"英国","v":"英国"},
{"n":"日本","v":"日本"},
{"n":"泰国","v":"泰国"},
{"n":"其他","v":"其他"}
]
},
{"key":"year","name":"时间","value":[
{"n":"全部时间","v":""},
{"n":"2023","v":"2023"},
{"n":"2022","v":"2022"},
{"n":"2021","v":"2021"},
{"n":"2020","v":"2020"},
{"n":"2019","v":"2019"},
{"n":"2018","v":"2018"},
{"n":"2017","v":"2017"},
{"n":"2016","v":"2016"},
{"n":"2015","v":"2015"},
{"n":"2014","v":"2014"},
{"n":"2013","v":"2013"},
{"n":"2012","v":"2012"},
{"n":"more","v":"more"}
]
},
{"key":"by","name":"排序","value":[
{"n":"全部排序","v":""},
{"n":"时间排序","v":"time"},
{"n":"评分排序","v":"douban"}
]
}
],
"41":[
{"key":"cateId","name":"地区","value":[
{"n":"全部地区","v":""},
{"n":"日本","v":"42"},
{"n":"其他","v":"43"}
]
}
]
}
}
+1 -1
View File
@@ -1,5 +1,5 @@
{
"SiteUrl": "https://liuqu.banye.tech:7086",
"SiteUrl": "https://mogg.banye.tech:7086",
"Domains": [
"http://123.666291.xyz",
"https://mogg.5568.eu.org",
+1 -3
View File
@@ -1,5 +1,4 @@
{
"SiteUrl": "https://pan1.me",
"Classes": [
{
"type_name": "电影",
@@ -21,6 +20,5 @@
"type_name": "动漫",
"type_id": "37"
}
],
"Cookie": "bbs_sid=rrru52bda4v655kl9u1c87f00m; bbs_token=dZRAvHbHcUZkuJ7oHALqWoUs00C1fGqqXDXH7I8LH6hMddXP"
]
}
-81
View File
@@ -1,81 +0,0 @@
{
"规则名": "热播之家",
"规则作者": "天天开心",
"请求头参数": "手机",
"网页编码格式": "UTF-8",
"图片是否需要代理": "0",
"是否开启获取首页数据": "1",
"首页推荐链接": "https://rebozj.pro/",
"首页列表数组规则": "body&&.stui-vodlist",
"首页片单列表数组规则": "li",
"首页片单是否Jsoup写法": "1",
"分类起始页码": "1",
"分类链接": "https://rebozj.pro/show/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html",
"分类名称": "电视剧&电影&动漫&纪录&综艺",
"分类名称替换词": "2&1&4&3&5",
//"筛选数据": {},
"筛选数据": "ext",
//{cateId}
"筛选子分类名称": "国产&港台&日韩&海外||动作&喜剧&爱情&科幻&恐怖&剧情&战争||空||空||大陆&港台",
"筛选子分类替换词": "13&14&15&16||6&7&8&9&10&11&12||空||空||17&18",
//{class}
"筛选类型名称": "古装&战争&青春偶像&喜剧&家庭&犯罪&动作&奇幻&剧情&历史&经典&乡村&情景&商战&网剧&其他||喜剧&爱情&恐怖&动作&科幻&剧情&战争&警匪&犯罪&动画&奇幻&武侠&冒险&枪战&恐怖&悬疑&惊悚&经典&青春&文艺&微电影&古装&历史&运动&农村&儿童&网络电影||情感&科幻&热血&推理&搞笑&冒险&萝莉&校园&动作&机战&运动&战争&少年&少女&社会&原创&亲子&益智&励志&其他||选秀&情感&访谈&播报&旅游&音乐&美食&纪实&曲艺&生活&游戏互动&财经&求职||空",
"筛选类型替换词": "*",
//{area}
"筛选地区名称": "大陆&韩国&香港&台湾&日本&美国&泰国&英国&新加坡&其他||大陆&香港&台湾&美国&法国&英国&日本&韩国&德国&泰国&印度&意大利&西班牙&加拿大&其他||大陆&日本&欧美&其他||内地&港台&日韩&欧美||空",
"筛选地区替换词": "*",
//{year}
"筛选年份名称": "",
"筛选年份替换词": "*",
//{lang}
"筛选语言名称": "国语&英语&粤语&闽南语&韩语&日语&其它||国语&英语&粤语&闽南语&韩语&日语&法语&德语&其它||国语&英语&粤语&闽南语&韩语&日语&其它||国语&英语&粤语&闽南语&韩语&日语&其它||空",
"筛选语言替换词": "*",
//{by}
"筛选排序名称": "时间&人气&评分",
"筛选排序替换词": "time&hits&score",
"分类截取模式": "1",
"分类列表数组规则": ".stui-vodlist&&li",
"分类片单是否Jsoup写法": "1",
"分类片单标题": "a&&title",
"分类片单链接": "a&&href",
"分类片单图片": ".lazyload&&data-original",
"分类片单副标题": ".pic-text&&Text",
"分类片单链接加前缀": "https://rebozj.pro",
"分类片单链接加后缀": "",
"搜索请求头参数": "User-Agent$手机",
"搜索链接": "https://rebozj.pro/search/-------------.html?wd={wd}&submit=",
"POST请求数据": "",
"搜索截取模式": "1",
"搜索列表数组规则": ".stui-vodlist&&li",
"搜索片单是否Jsoup写法": "1",
"搜索片单图片": ".lazyload&&data-original",
"搜索片单标题": "a&&title",
"搜索片单链接": "a&&href",
"搜索片单副标题": ".pic-text&&Text",
"搜索片单链接加前缀": "https://rebozj.pro",
"搜索片单链接加后缀": "",
"链接是否直接播放": "0",
"直接播放链接加前缀": "",
"直接播放链接加后缀": "",
"直接播放直链视频请求头": "",
"详情是否Jsoup写法": "1",
"类型详情": "",
"年代详情": ".data,4&&Text!年份:",
"地区详情": ".data,2&&Text!地区:",
"演员详情": ".data,6&&Text!主演:",
"简介详情": ".detail-content&&Text",
"线路列表数组规则": "body&&h4:not(:matches(猜你喜欢))",
"线路标题": "Text",
"播放列表数组规则": "body&&.stui-content__playlist",
"选集列表数组规则": "a",
"选集标题链接是否Jsoup写法": "1",
"选集标题": "a&&Text",
"选集链接": "a&&href",
"是否反转选集序列": "0",
"选集链接加前缀": "https://rebozj.pro",
"选集链接加后缀": "",
"分析MacPlayer": "0",
"是否开启手动嗅探": "1",
"手动嗅探视频链接关键词": "tos-#.mp4#cdn.123pan.cn#huoshanvod.com#.m3u8#video_mp4",
"手动嗅探视频链接过滤词": ".html#=http"
}
-23
View File
@@ -1,23 +0,0 @@
{
"作者":"荷城茶秀",
"站名":"vs影视",
"主页url":"https://m.ytshengde.com/",
"简介":"+onclick=\"MyTheme.Layer.Text('剧情简介','&&','500','350')",
"导演":"导演:&&</p>",
"影片状态":"更新:&&</p>",
"影片类型":"分类:&&</a>",
"线路数组":"#playlist&&</li>[不包含:无尽#八戒][排序:秒播>爱坤>优质>量子]",
"线路标题":">&&</a>+线路",
"分类url":"https://m.ytshengde.com/sanyisw/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html;;akx",
"分类":"电影$1#电视剧$2#综艺$3#动漫$4#短剧$5"}
-126
View File
@@ -202,48 +202,6 @@
],
"key": "area"
},
{
"name": "语言",
"value": [
{
"v": "国语",
"n": "国语"
},
{
"v": "英语",
"n": "英语"
},
{
"v": "粤语",
"n": "粤语"
},
{
"v": "闽南语",
"n": "闽南语"
},
{
"v": "韩语",
"n": "韩语"
},
{
"v": "日语",
"n": "日语"
},
{
"v": "法语",
"n": "法语"
},
{
"v": "德语",
"n": "德语"
},
{
"v": "其它",
"n": "其它"
}
],
"key": "lang"
},
{
"name": "时间",
"value": [
@@ -604,48 +562,6 @@
],
"key": "area"
},
{
"name": "语言",
"value": [
{
"v": "国语",
"n": "国语"
},
{
"v": "英语",
"n": "英语"
},
{
"v": "粤语",
"n": "粤语"
},
{
"v": "闽南语",
"n": "闽南语"
},
{
"v": "韩语",
"n": "韩语"
},
{
"v": "日语",
"n": "日语"
},
{
"v": "法语",
"n": "法语"
},
{
"v": "德语",
"n": "德语"
},
{
"v": "其它",
"n": "其它"
}
],
"key": "lang"
},
{
"name": "时间",
"value": [
@@ -998,48 +914,6 @@
],
"key": "area"
},
{
"name": "语言",
"value": [
{
"v": "国语",
"n": "国语"
},
{
"v": "英语",
"n": "英语"
},
{
"v": "粤语",
"n": "粤语"
},
{
"v": "闽南语",
"n": "闽南语"
},
{
"v": "韩语",
"n": "韩语"
},
{
"v": "日语",
"n": "日语"
},
{
"v": "法语",
"n": "法语"
},
{
"v": "德语",
"n": "德语"
},
{
"v": "其它",
"n": "其它"
}
],
"key": "lang"
},
{
"name": "时间",
"value": [
-49
View File
@@ -1,49 +0,0 @@
{
"作者":"荷城茶秀",
"站名":"星辰影视",
"主页url":"http://www.xingchenwu.com/",
"简介":"【荷城茶秀】提醒您请勿相信影片中的广告,以免上当受骗!欢迎加入公众号:天天开心2024,获取更多影视资源。+<span class=\"detail-sketch\">&&</span>",
"导演":"导演:&&</p>",
"主演":"主演:&&</p>",
"影片状态":"状态:&&</p>",
"影片类型":"类型:&&</p>",
"数组":"stui-vodlist__thumb lazyload\"&&</a>",
"标题":"title=\"&&\"",
"副标题":"text-right\">&&</span>",
"图片":"data-original=\"&&\"",
"链接":"href=\"&&\"",
"搜索url":"http://www.xingchenwu.com/search.php;post;searchword={wd}",
"搜索数组":"stui-vodlist__thumb lazyload\"&&</a>",
"搜索标题":"title=\"&&\"",
"搜索副标题":"text-right\">&&</span>",
"搜索图片":"data-original=\"&&\"",
"搜索链接":"href=\"&&\"",
"线路数组":"<h3&&/h3>",
"线路标题":"天天开心接口+>&&<",
"播放链接":"href='&&'",
"分类url":"http://www.xingchenwu.com/{cateId}/index{catePg}.html[http://www.xingchenwu.com/{cateId}/index.html];;ak",
"分类":"电影$dianying#电视剧$dianshiju#综艺$zongyi#动漫$dongman"}
File diff suppressed because it is too large. Load diff
-8
View File
@@ -1,8 +0,0 @@
{
"简介": "detail-content\" style=*>&&</span>",
"数组": "stui-vodlist__box\">&&</div></div>",
"副标题": "pic-text text-right\">&&</span>",
"播放列表": "<a&&</a>",
"分类url": "https://www.kmxibanyayu.com/vs/{cateId}-{area}--{class}-----{catePg}---{year}.html",
"分类": "短剧$duanju#电视剧$dianshiju#电影$dianying#动漫$dongman#综艺$zongyi"
}
-69
View File
@@ -1,69 +0,0 @@
{
"作者":"荷城茶秀",
"站名":"子子影视",
"主页url":"https://www.ziziys.com",
"简介":"video-info-item video-info-content vod_content\"&&</div>",
"导演":"导演:&&</div>",
"主演":"主演:&&</div>",
"影片类型":"video-info-aux scroll-content\">&&立即播放",
"影片状态":"集数:&&</div>",
"数组":"module-item-cover\">&&module-item\">",
"副标题":"module-item-text\">&&</div>",
"链接":"href=\"&&\"",
"标题":"title=\"&&\"",
"图片":"data-src=\"&&\"",
"搜索url":"/vsearch/{wd}--{pg}.html",
"搜索模式":"1",
"搜索数组":"<img class=\"lazy lazyload&&</h3>",
"搜索图片":"data-src=\"&&\"",
"搜索标题":"alt=\"&&\"",
"搜索链接":"href=\"&&\"",
"搜索副标题":"title=*>&&</a>",
"搜索后缀":"/video/",
"线路数组":"data-dropdown-value=&&</div>",
"线路标题":"<span>&&</small>[替换:</span><small>>>>🌸共]+集🌸",
"播放数组":"<div class=\"sort-item\"&&</div>",
"导演":"导演:&&</div>",
"主演":"主演:&&</div>",
"简介":"<div class=\"video-info-item video-info-content vod_content\">&&</div>",
"影片类型":"icon-cate-ds\"&&立即播放",
"影片状态":"集数:&&</div>",
"播放列表":"<a&&</a>",
"播放标题":"<span>&&</span>",
"播放链接":"href=\"&&\"",
"分类url":"https://www.ziziys.com/list/{cateId}-{catePg}.html;;ak",
"分类":"电影$1#国产剧$13#动漫$3#美剧$14#日韩剧$15"}
File diff suppressed because it is too large. Load diff
+454
View File
@@ -0,0 +1,454 @@
{
"class": [
{
"type_name": "儿童早教",
"type_id": "儿童早教"
},
{
"type_name": "儿童启蒙故事",
"type_id": "儿童启蒙故事"
},
{
"type_name": "儿童英语启蒙",
"type_id": "儿童英语启蒙"
},
{
"type_name": "儿童歌曲",
"type_id": "儿童歌曲"
},
{
"type_name": "儿童绘画",
"type_id": "儿童绘画"
},
{
"type_name": "睡前故事",
"type_id": "睡前故事"
},
{
"type_name": "儿童动画",
"type_id": "儿童动画"
},
{
"type_name": "儿童音乐",
"type_id": "儿童音乐"
},
{
"type_name": "儿童安全教育",
"type_id": "儿童安全教育"
},
{
"type_name": "贝瓦儿歌",
"type_id": "贝瓦儿歌"
},
{
"type_name": "悟空识字",
"type_id": "悟空识字"
},
{
"type_name": "宝宝巴士",
"type_id": "宝宝巴士"
},
{
"type_name": "儿歌多多",
"type_id": "儿歌多多"
},
{
"type_name": "学而思",
"type_id": "学而思"
}
],
"filters": {
"儿童早教": [
{
"key": "duration",
"name": "时长",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "60分钟以上",
"v": "4"
},
{
"n": "30~60分钟",
"v": "3"
},
{
"n": "10~30分钟",
"v": "2"
},
{
"n": "10分钟以下",
"v": "1"
}
]
}
],
"儿童启蒙故事": [
{
"key": "duration",
"name": "时长",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "60分钟以上",
"v": "4"
},
{
"n": "30~60分钟",
"v": "3"
},
{
"n": "10~30分钟",
"v": "2"
},
{
"n": "10分钟以下",
"v": "1"
}
]
}
],
"儿童英语启蒙": [
{
"key": "duration",
"name": "时长",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "60分钟以上",
"v": "4"
},
{
"n": "30~60分钟",
"v": "3"
},
{
"n": "10~30分钟",
"v": "2"
},
{
"n": "10分钟以下",
"v": "1"
}
]
}
],
"儿童歌曲": [
{
"key": "duration",
"name": "时长",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "60分钟以上",
"v": "4"
},
{
"n": "30~60分钟",
"v": "3"
},
{
"n": "10~30分钟",
"v": "2"
},
{
"n": "10分钟以下",
"v": "1"
}
]
}
],
"儿童绘画": [
{
"key": "duration",
"name": "时长",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "60分钟以上",
"v": "4"
},
{
"n": "30~60分钟",
"v": "3"
},
{
"n": "10~30分钟",
"v": "2"
},
{
"n": "10分钟以下",
"v": "1"
}
]
}
],
"睡前故事": [
{
"key": "duration",
"name": "时长",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "60分钟以上",
"v": "4"
},
{
"n": "30~60分钟",
"v": "3"
},
{
"n": "10~30分钟",
"v": "2"
},
{
"n": "10分钟以下",
"v": "1"
}
]
}
],
"儿童动画": [
{
"key": "duration",
"name": "时长",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "60分钟以上",
"v": "4"
},
{
"n": "30~60分钟",
"v": "3"
},
{
"n": "10~30分钟",
"v": "2"
},
{
"n": "10分钟以下",
"v": "1"
}
]
}
],
"儿童音乐": [
{
"key": "duration",
"name": "时长",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "60分钟以上",
"v": "4"
},
{
"n": "30~60分钟",
"v": "3"
},
{
"n": "10~30分钟",
"v": "2"
},
{
"n": "10分钟以下",
"v": "1"
}
]
}
],
"儿童安全教育": [
{
"key": "duration",
"name": "时长",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "60分钟以上",
"v": "4"
},
{
"n": "30~60分钟",
"v": "3"
},
{
"n": "10~30分钟",
"v": "2"
},
{
"n": "10分钟以下",
"v": "1"
}
]
}
],
"贝瓦儿歌": [
{
"key": "duration",
"name": "时长",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "60分钟以上",
"v": "4"
},
{
"n": "30~60分钟",
"v": "3"
},
{
"n": "10~30分钟",
"v": "2"
},
{
"n": "10分钟以下",
"v": "1"
}
]
}
],
"悟空识字": [
{
"key": "duration",
"name": "时长",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "60分钟以上",
"v": "4"
},
{
"n": "30~60分钟",
"v": "3"
},
{
"n": "10~30分钟",
"v": "2"
},
{
"n": "10分钟以下",
"v": "1"
}
]
}
],
"宝宝巴士": [
{
"key": "duration",
"name": "时长",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "60分钟以上",
"v": "4"
},
{
"n": "30~60分钟",
"v": "3"
},
{
"n": "10~30分钟",
"v": "2"
},
{
"n": "10分钟以下",
"v": "1"
}
]
}
],
"儿歌多多": [
{
"key": "duration",
"name": "时长",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "60分钟以上",
"v": "4"
},
{
"n": "30~60分钟",
"v": "3"
},
{
"n": "10~30分钟",
"v": "2"
},
{
"n": "10分钟以下",
"v": "1"
}
]
}
],
"学而思": [
{
"key": "duration",
"name": "时长",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "60分钟以上",
"v": "4"
},
{
"n": "30~60分钟",
"v": "3"
},
{
"n": "10~30分钟",
"v": "2"
},
{
"n": "10分钟以下",
"v": "1"
}
]
}
]
}
}
File diff suppressed because it is too large. Load diff
+66 -136
View File
@@ -1,154 +1,84 @@
#EXTM3U x-tvg-url="https://live.fanmingming.cn/e.xml" catchup="append" catchup-source="?playseek=${(b)yyyyMMddHHmmss}-${(e)yyyyMMddHHmmss}"
#EXTINF:-1 tvg-name="CCTV1" tvg-logo="https://live.fanmingming.cn/tv/CCTV1.png" group-title="央视频道",CCTV-1
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226895/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EI0Rkc6neBYgfpoJ1yud8Fw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPpqgHe3PQ5GNQoO-yUgA8C%2CEND
#EXTINF:-1 tvg-name="CCTV3" tvg-logo="https://live.fanmingming.cn/tv/CCTV3.png" group-title="央视频道",CCTV-3
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226456/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E_6GNVcVOz9Xub8CclyMRUg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOIR_8g_qYRqpV5wTQqRILi%2CEND
#EXTINF:-1 tvg-name="CCTV4" tvg-logo="https://live.fanmingming.cn/tv/CCTV4.png" group-title="央视频道",CCTV-4
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226470/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0wP1dRMt9qCzHdvA65wh1w%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMcuN2HH7RLPyPHWOUWhSMk%2CEND
#EXTINF:-1 tvg-name="CCTV1" tvg-logo="https://live.fanmingming.cn/tv/CCTV1.png" group-title="央视频道",CCTV1
http://iptv.huuc.edu.cn/hls/cctv1hd.m3u8
#EXTINF:-1 tvg-name="CCTV2" tvg-logo="https://live.fanmingming.cn/tv/CCTV2.png" group-title="央视频道",CCTV2
http://iptv.huuc.edu.cn/hls/cctv2hd.m3u8
#EXTINF:-1 tvg-name="CCTV3" tvg-logo="https://live.fanmingming.cn/tv/CCTV3.png" group-title="央视频道",CCTV3
http://iptv.huuc.edu.cn/hls/cctv3hd.m3u8
#EXTINF:-1 tvg-name="CCTV4" tvg-logo="https://live.fanmingming.cn/tv/CCTV4.png" group-title="央视频道",CCTV4
http://iptv.huuc.edu.cn/hls/cctv4hd.m3u8
#EXTINF:-1 tvg-name="CCTV5" tvg-logo="https://live.fanmingming.cn/tv/CCTV5.png" group-title="央视频道",CCTV5
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226454/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ErKwB8Qqtvssoy-K7GEgesQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOIR_8g_qYRqpV5wTQqRILi%2CEND
#EXTINF:-1 tvg-name="CCTV5+" tvg-logo="https://live.fanmingming.cn/tv/CCTV5+.png" group-title="央视频道",CCTV5+
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226458/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Em70vyfVI_MkrcLYjHWnqOA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNlS0O1LA8iGydXPYujpRue%2CEND
http://iptv.huuc.edu.cn/hls/cctv5hd.m3u8
#EXTINF:-1 tvg-name="CCTV6" tvg-logo="https://live.fanmingming.cn/tv/CCTV6.png" group-title="央视频道",CCTV6
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226453/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ex56LEwufYqPdJkUNYhbNCw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOH2PzEhAK60LI_FWtVxfVS%2CEND
http://iptv.huuc.edu.cn/hls/cctv6hd.m3u8
#EXTINF:-1 tvg-name="CCTV7" tvg-logo="https://live.fanmingming.cn/tv/CCTV7.png" group-title="央视频道",CCTV7
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226234/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EutDC7HLJc_gC0YdIDr7oig%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPOHuulzlCcw92vP3vgYa4n%2CEND
http://iptv.huuc.edu.cn/hls/cctv7hd.m3u8
#EXTINF:-1 tvg-name="CCTV8" tvg-logo="https://live.fanmingming.cn/tv/CCTV8.png" group-title="央视频道",CCTV8
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226451/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EO_1NY-UghfdG_S28Bf_FPw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNO1anuaDcpMt0_BMig72trX%2CEND
http://iptv.huuc.edu.cn/hls/cctv8hd.m3u8
#EXTINF:-1 tvg-name="CCTV9" tvg-logo="https://live.fanmingming.cn/tv/CCTV9.png" group-title="央视频道",CCTV9
http://iptv.huuc.edu.cn/hls/cctv9hd.m3u8
#EXTINF:-1 tvg-name="CCTV10" tvg-logo="https://live.fanmingming.cn/tv/CCTV10.png" group-title="央视频道",CCTV10
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226449/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EzhRgoBfyoaW0eC2lnTJYAQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOxqyo6ss4VuHKCaIhF4e3B%2CEND
http://iptv.huuc.edu.cn/hls/cctv10hd.m3u8
#EXTINF:-1 tvg-name="CCTV11" tvg-logo="https://live.fanmingming.cn/tv/CCTV11.png" group-title="央视频道",CCTV11
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226334/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0RcQQbNseiHvFO8XWf466A%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
#EXTINF:-1 tvg-name="CCTV11" tvg-logo="https://live.fanmingming.cn/tv/CCTV11.png" group-title="央视频道",CCTV11
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226448/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eqfhzy1ZrFZrYrATDOB991A%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOu522yjh6D1Z_dApuOt9eE%2CEND
http://iptv.huuc.edu.cn/hls/cctv11hd.m3u8
#EXTINF:-1 tvg-name="CCTV12" tvg-logo="https://live.fanmingming.cn/tv/CCTV12.png" group-title="央视频道",CCTV12
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226228/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E2knJCFLHz_HqfBZXNGeA1A%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMIlZ5z7o_ym15iMooogSvj%2CEND
http://iptv.huuc.edu.cn/hls/cctv12hd.m3u8
#EXTINF:-1 tvg-name="CCTV13" tvg-logo="https://live.fanmingming.cn/tv/CCTV13.png" group-title="央视频道",CCTV13
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226316/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EqHPe9pEEWJ00hz1ArnRZVA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
#EXTINF:-1 tvg-name="CCTV13" tvg-logo="https://live.fanmingming.cn/tv/CCTV13.png" group-title="央视频道",CCTV13
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226446/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EU-IJJyzlYeEElWsacI4JKw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMT7DWkynQtRPzNDJCOY_C_%2CEND
http://iptv.huuc.edu.cn/hls/cctv13hd.m3u8
#EXTINF:-1 tvg-name="CCTV14" tvg-logo="https://live.fanmingming.cn/tv/CCTV14.png" group-title="央视频道",CCTV14
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226229/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ey_UgKg-_uoDiTW1MNHptPg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNLabf3bHEXv4444iiOs_Px%2CEND
#EXTINF:-1 tvg-name="CCTV15" tvg-logo="https://live.fanmingming.cn/tv/CCTV15.png" group-title="央视频道",CCTV15
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226444/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EFQ8BWVFffGkwLTLNv7CwFQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNM7I2coCeiP5K0pSIMZqcUB%2CEND
#EXTINF:-1 tvg-name="CCTV16" tvg-logo="https://live.fanmingming.cn/tv/CCTV16.png" group-title="央视频道",CCTV16
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227002/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EX9goLRw26BM_r54des2PAw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPt5W7-RovMDpE-7B-0PhHw%2CEND
#EXTINF:-1 tvg-name="CCTV17" tvg-logo="https://live.fanmingming.cn/tv/CCTV17.png" group-title="央视频道",CCTV17
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226442/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EtihRNVe_x2y1Lgi_XWYeNw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOl8OnsD1vPD0mhNmo98J3J%2CEND
http://iptv.huuc.edu.cn/hls/cctv14hd.m3u8
#EXTINF:-1 tvg-name="CGTN" tvg-logo="https://live.fanmingming.cn/tv/CGTN.png" group-title="央视频道",CGTN
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226443/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ebu8iDniP_aAtg-APxKXKAA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOeLGc8fhipDF_paLm6VUd-%2CEND
http://iptv.huuc.edu.cn/hls/cgtnhd.m3u8
#EXTINF:-1 tvg-name="北京卫视" tvg-logo="https://live.fanmingming.cn/tv/北京卫视.png" group-title="卫视频道",北京卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226900/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EcYPi33WFyhvd6SjmqUKhJg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
#EXTINF:-1 tvg-name="北京卫视" tvg-logo="https://live.fanmingming.cn/tv/北京卫视.png" group-title="卫视频道",北京卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226436/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ElMQ3ov45VmhzipweN5VstQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPg_yZ8DZHTaSU92MIl_o3b%2CEND
#EXTINF:-1 tvg-name="深圳卫视" tvg-logo="https://live.fanmingming.cn/tv/深圳卫视.png" group-title="卫视频道",深圳卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226245/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EFvxuZ6Kfg6J67sArVd0LuA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNO9YxM-C8gPFvQRk47-h2ok%2CEND
#EXTINF:-1 tvg-name="湖北卫视" tvg-logo="https://live.fanmingming.cn/tv/湖北卫视.png" group-title="卫视频道",湖北卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226240/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ExfU_RR0RQok0w_xd7h22CQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPVnDV2fEBphgm3TP7hAHBx%2CEND
#EXTINF:-1 tvg-name="东方卫视" tvg-logo="https://live.fanmingming.cn/tv/东方卫视.png" group-title="卫视频道",东方卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226237/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EuOKqNaOUqqiJjXIfPoRPMQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNeqgYr1eA9ESriCOsl_DTz%2CEND
http://iptv.huuc.edu.cn/hls/btv1hd.m3u8
#EXTINF:-1 tvg-name="北京文艺" tvg-logo="https://live.fanmingming.cn/tv/北京文艺.png" group-title="卫视频道",北京文艺
http://iptv.huuc.edu.cn/hls/btv2hd.m3u8
#EXTINF:-1 tvg-name="北京体育" tvg-logo="https://live.fanmingming.cn/tv/北京体育.png" group-title="卫视频道",北京体育
http://iptv.huuc.edu.cn/hls/btv6hd.m3u8
#EXTINF:-1 tvg-name="北京影视" tvg-logo="https://live.fanmingming.cn/tv/北京影视.png" group-title="卫视频道",北京影视
http://iptv.huuc.edu.cn/hls/btv4hd.m3u8
#EXTINF:-1 tvg-name="北京新闻" tvg-logo="https://live.fanmingming.cn/tv/北京新闻.png" group-title="卫视频道",北京新闻
http://iptv.huuc.edu.cn/hls/btv9hd.m3u8
#EXTINF:-1 tvg-name="北京纪实" tvg-logo="https://live.fanmingming.cn/tv/北京纪实.png" group-title="卫视频道",北京纪实
http://iptv.huuc.edu.cn/hls/btv11hd.m3u8
#EXTINF:-1 tvg-name="湖南卫视" tvg-logo="https://live.fanmingming.cn/tv/湖南卫视.png" group-title="卫视频道",湖南卫视
http://iptv.huuc.edu.cn/hls/hunanhd.m3u8
#EXTINF:-1 tvg-name="浙江卫视" tvg-logo="https://live.fanmingming.cn/tv/浙江卫视.png" group-title="卫视频道",浙江卫视
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226247/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eo6BokfP3WkB3SIXSrgvRBA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNP3w4GkbU9L7iRQ8H2vgzhF%2CEND
#EXTINF:-1 tvg-name="吉林卫视" tvg-logo="https://live.fanmingming.cn/tv/吉林卫视.png" group-title="卫视频道",吉林卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226533/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EicY_6znuOTlmMeE15TFEig%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNNUZpDp9cPVsM_M_ftJRVM%2CEND
http://iptv.huuc.edu.cn/hls/zjhd.m3u8
#EXTINF:-1 tvg-name="江苏卫视" tvg-logo="https://live.fanmingming.cn/tv/江苏卫视.png" group-title="卫视频道",江苏卫视
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226242/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EJT6eqtJpcKnNhyUS90EOgw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNN1SxXwCt0S69Lq27ZMJpfR%2CEND
#EXTINF:-1 tvg-name="山东卫视" tvg-logo="https://live.fanmingming.cn/tv/山东卫视.png" group-title="卫视频道",山东卫视
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226244/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EycMz-PML_dQW8iLcNBkw7g%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMYCYLC04QAM6EBli1wTuET%2CEND
#EXTINF:-1 tvg-name="黑龙江卫视" tvg-logo="https://live.fanmingming.cn/tv/黑龙江卫视.png" group-title="卫视频道",黑龙江卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226239/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EEHwpSHKc5p-bHJfhpIWFig%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNM5Y8rTELLykZJHp-bmY2YW%2CEND
#EXTINF:-1 tvg-name="东南卫视" tvg-logo="https://live.fanmingming.cn/tv/东南卫视.png" group-title="卫视频道",东南卫视
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226496/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EkZUfG47p98m2PZiCsgkhyQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNM5EcQIH6BiwZavlhPLb4oJ%2CEND
#EXTINF:-1 tvg-name="江西卫视" tvg-logo="https://live.fanmingming.cn/tv/江西卫视.png" group-title="卫视频道",江西卫视
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226243/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EfPpe3gkzCutYMoqOQQZNzA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMVuW7agCgULnvgy9rhLyCH%2CEND
#EXTINF:-1 tvg-name="云南卫视" tvg-logo="https://live.fanmingming.cn/tv/云南卫视.png" group-title="卫视频道",云南卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226543/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EzQy9f4DIExLCs810r0Q6Kw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNO_hnHaWpTsMQwR98VJGduo%2CEND
#EXTINF:-1 tvg-name="辽宁卫视" tvg-logo="https://live.fanmingming.cn/tv/辽宁卫视.png" group-title="卫视频道",辽宁卫视
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226488/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0dsu8dOBmGQQO7fSrvySew%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNN4l9PIxeExdzsncIMJiPZb%2CEND
#EXTINF:-1 tvg-name="重庆卫视" tvg-logo="https://live.fanmingming.cn/tv/重庆卫视.png" group-title="卫视频道",重庆卫视
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226518/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ey-ITbF7am-eD_R60rK2QcQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMWkDi37K3eowQvLymiiLyV%2CEND
#EXTINF:-1 tvg-name="山西卫视" tvg-logo="https://live.fanmingming.cn/tv/山西卫视.png" group-title="卫视频道",山西卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226531/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EokFa56wMKUpB1vaIjEe92A%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPoj5DNJHruOghC7vAQxinJ%2CEND
#EXTINF:-1 tvg-name="海南卫视" tvg-logo="https://live.fanmingming.cn/tv/海南卫视.png" group-title="卫视频道",海南卫视
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226574/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EZOP0PLu1-XG8_Ae0lTe9HQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNODcjESMU4f6yMuMuOuQbie%2CEND
http://iptv.huuc.edu.cn/hls/jshd.m3u8
#EXTINF:-1 tvg-name="东方卫视" tvg-logo="https://live.fanmingming.cn/tv/东方卫视.png" group-title="卫视频道",东方卫视
http://iptv.huuc.edu.cn/hls/dfhd.m3u8
#EXTINF:-1 tvg-name="安徽卫视" tvg-logo="https://live.fanmingming.cn/tv/安徽卫视.png" group-title="卫视频道",安徽卫视
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226490/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EcN5s_AlHugvAv9Pda6f9fA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOtRTFrO5eKiKNV40gMGHaS%2CEND
#EXTINF:-1 tvg-name="甘肃卫视" tvg-logo="https://live.fanmingming.cn/tv/甘肃卫视.png" group-title="卫视频道",甘肃卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226545/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EPxObabIs3mLyPmSf2HHtqQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNBE3K16ZfzYGIqbP6z6cGJ%2CEND
#EXTINF:-1 tvg-name="青海卫视" tvg-logo="https://live.fanmingming.cn/tv/青海卫视.png" group-title="卫视频道",青海卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226529/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ege4qzvU2ax15UdL3NFQ7AQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNdiWnhjH1amCOGECUhABr9%2CEND
#EXTINF:-1 tvg-name="山东教育卫视" tvg-logo="https://live.fanmingming.cn/tv/山东教育卫视.png" group-title="卫视频道",山东教育卫视
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226526/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EEtk94qghXphElKOQlUC-Yw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOpyxkKQ6N6FjQz-LrJwo0o%2CEND
#EXTINF:-1 tvg-name="宁夏卫视" tvg-logo="https://live.fanmingming.cn/tv/宁夏卫视.png" group-title="卫视频道",宁夏卫视
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226528/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E9-jWxE6tfiz7aO7MvbCY7Q%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMi3qn27U9rBeXpVrJ8eLy7%2CEND
#EXTINF:-1 tvg-name="内蒙古卫视" tvg-logo="https://live.fanmingming.cn/tv/内蒙古卫视.png" group-title="卫视频道",内蒙古卫视
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226530/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EHHMwHAFmEx4xxtZRlWhCrg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMZe-zTYLW-Yz0RcFLVr37n%2CEND
#EXTINF:-1 tvg-name="陕西卫视" tvg-logo="https://live.fanmingming.cn/tv/陕西卫视.png" group-title="卫视频道",陕西卫视
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226532/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E6sNSqmLCqLFl_AJPBXp1qA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNO6b4uKEI14SNy0LDiw52LH%2CEND
#EXTINF:-1 tvg-name="广西卫视" tvg-logo="https://live.fanmingming.cn/tv/广西卫视.png" group-title="卫视频道",广西卫视
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226534/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EpjsBggKPaCw3f-xlBWZWaQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMJYhPE64lykNkIsypBRZqO%2CEND
#EXTINF:-1 tvg-name="厦门卫视" tvg-logo="https://live.fanmingming.cn/tv/厦门卫视.png" group-title="卫视频道",厦门卫视
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226542/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0HuqirkTe1cAUljwazjNGw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMvSOYesmmWPPy5i3xS4Rsb%2CEND
#EXTINF:-1 tvg-name="三沙卫视" tvg-logo="https://live.fanmingming.cn/tv/三沙卫视.png" group-title="卫视频道",三沙卫视
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226544/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eb2dn60YQRxhB5rAyOnrv0g%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNO_hnHaWpTsMQwR98VJGduo%2CEND
#EXTINF:-1 tvg-name="新疆卫视" tvg-logo="https://live.fanmingming.cn/tv/新疆卫视.png" group-title="卫视频道",新疆卫视
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226546/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ETtoZKRqwsL9SQjr1A0iH5g%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMREPnBLSH3b8pR7cnmo9am%2CEND
#EXTINF:-1 tvg-name="西藏卫视" tvg-logo="https://live.fanmingming.cn/tv/西藏卫视.png" group-title="卫视频道",西藏卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226527/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EmHuqUIe0F51C4h6xZanhig%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMi3qn27U9rBeXpVrJ8eLy7%2CEND
#EXTINF:-1 tvg-name="兵团卫视" tvg-logo="https://live.fanmingming.cn/tv/兵团卫视.png" group-title="卫视频道",兵团卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226541/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ESv-rH0nF41q6pxKZKeRnNA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNN-56c_rnHTXQA4R-D0Dlau%2CEND
#EXTINF:-1 tvg-name="延边卫视" tvg-logo="https://live.fanmingming.cn/tv/延边卫视.png" group-title="卫视频道",延边卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227045/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eq0D3NdTUN7FuRzr8eJsbQA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNONS2RAhxb5u6NYaMGGM23S%2CEND
#EXTINF:-1 tvg-name="康巴卫视" tvg-logo="https://live.fanmingming.cn/tv/康巴卫视.png" group-title="卫视频道",康巴卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227027/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EkHMvBpWz4rccMxNvSRekpQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPtFfVFX0AVycM8b4Xmbcl4%2CEND
#EXTINF:-1 tvg-name="嘉佳卡通" tvg-logo="https://live.fanmingming.cn/tv/嘉佳卡通.png" group-title="数字频道",嘉佳卡通
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226539/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EQDRyt1jaDU7f52NwPN526A%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOLcRNi6C1PMX5tGrYl_SiR%2CEND
#EXTINF:-1 tvg-name="茶频道" tvg-logo="https://live.fanmingming.cn/tv/茶频道.png" group-title="数字频道",茶频道
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226548/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ec1XXmbKOEhI6pFYCxtVG9A%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOD3hCDGl7mDB_HDsnRfhB2%2CEND
#EXTINF:-1 tvg-name="快乐垂钓" tvg-logo="https://live.fanmingming.cn/tv/快乐垂钓.png" group-title="数字频道",快乐垂钓
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226549/1.m3u8?GuardEncType=2&accountinfo=~~V2.0~RHz0NOpqUZZN1Iz6lVLkkg~_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNSiF8rKF1Pn2LepKMJ2cEG%2CEND
#EXTINF:-1 tvg-name="超级电影" tvg-logo="https://live.fanmingming.cn/tv/超级电影.png" group-title="数字频道",超级电影
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226233/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EfPRR4mbRWhkCFuUCVm9THg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNM4kysjLk_woYMRnu35KtBV%2CEND
#EXTINF:-1 tvg-name="超级综艺" tvg-logo="https://live.fanmingming.cn/tv/超级综艺.png" group-title="数字频道",超级综艺
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226231/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ejm-KqHfTZezbm9C-325YiA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNnfpAUC20DSCXUyGpDggnK%2CEND
#EXTINF:-1 tvg-name="超级体育" tvg-logo="https://live.fanmingming.cn/tv/超级体育.png" group-title="数字频道",超级体育
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226232/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eg-EQHTrpbCOxNSgnFRbr4w%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMNhcQPODGVtsSVKlB7CbAh%2CEND
#EXTINF:-1 tvg-name="金牌综艺" tvg-logo="https://live.fanmingming.cn/tv/金牌综艺.png" group-title="数字频道",金牌综艺
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227004/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EkcfszuSJNo6WZ8h7xrIswA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMWi_zfgUXV5YnB6haFF-C2%2CEND
#EXTINF:-1 tvg-name="北京IPTV 4K超清" tvg-logo="https://live.fanmingming.cn/tv/北京IPTV 4K超清.png" group-title="数字频道",北京IPTV 4K超清
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226550/1.m3u8?GuardEncType=2&accountinfo=~~V2.0~e2qS8h6u-xp3gd50vNr1sw~_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPPFD3HVWEytEVyliOxehfe%2CEND
#EXTINF:-1 tvg-name="北京国际" tvg-logo="https://live.fanmingming.cn/tv/北京国际.png" group-title="数字频道",北京国际
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226510/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EIfgL7tTUNqHAIdgvKuwj8A%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPr9j5nfyiWS_jEXD6m401A%2CEND
#EXTINF:-1 tvg-name="北京新闻" tvg-logo="https://live.fanmingming.cn/tv/北京新闻.png" group-title="数字频道",北京新闻
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226437/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EncK5uEAdYwWMsf8WJWI1mQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNO_LSIQh_h2P54Cz-MqgJqC%2CEND
#EXTINF:-1 tvg-name="北京文艺" tvg-logo="https://live.fanmingming.cn/tv/北京文艺.png" group-title="数字频道",北京文艺
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226440/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EWrJcgMpdGPvZavpf4dmmrQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNhmwDsUZnvQgU5E5wiGA2g%2CEND
#EXTINF:-1 tvg-name="北京体育休闲" tvg-logo="https://live.fanmingming.cn/tv/北京体育休闲.png" group-title="数字频道",北京体育休闲
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226438/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EeVAybrHg955d_IRT9e_uHQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMLCKqkSfuGOusJwBMwlCbz%2CEND
#EXTINF:-1 tvg-name="北京影视" tvg-logo="https://live.fanmingming.cn/tv/北京影视.png" group-title="数字频道",北京影视
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226433/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EygquRbh9L0wUPRY53fsZWw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNO62IynDcU1yYDL1b4Xte8T%2CEND
#EXTINF:-1 tvg-name="北京生活" tvg-logo="https://live.fanmingming.cn/tv/北京生活.png" group-title="数字频道",北京生活
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226514/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Es-PVNcPJsjr_oBdcXGT40g%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMWvZ0r6eMXcXJOGrCpJiq1%2CEND
#EXTINF:-1 tvg-name="北京财经" tvg-logo="https://live.fanmingming.cn/tv/北京财经.png" group-title="数字频道",北京财经
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226516/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eh9_SEkmWeMdS1TMnIILZgg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPIiicEW7OIvk1s-X-PXHqO%2CEND
#EXTINF:-1 tvg-name="北京纪实科教" tvg-logo="https://live.fanmingming.cn/tv/北京纪实科教.png" group-title="数字频道",北京纪实科教
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226434/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ejj3PtVjzl6ZzFdM-Vi1dmQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPJa61jREJv4ZfZigyrxX0U%2CEND
#EXTINF:-1 tvg-name="北京IPTV 淘电影" tvg-logo="https://live.fanmingming.cn/tv/北京IPTV 淘电影.png" group-title="数字频道",北京IPTV 淘电影
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226552/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EXOsrWMA-UCdUl1hQSR9EKw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNg3bzRax0E9tLmO9xgXVx8%2CEND
#EXTINF:-1 tvg-name="北京IPTV 淘剧场" tvg-logo="https://live.fanmingming.cn/tv/北京IPTV 淘剧场.png" group-title="数字频道",北京IPTV 淘剧场
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226553/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EQaJ92NID2SpQlY6_VJVogg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOuQYJeiYEeFWTkFfE86Vq-%2CEND
#EXTINF:-1 tvg-name="北京IPTV 淘娱乐" tvg-logo="https://live.fanmingming.cn/tv/北京IPTV 淘娱乐.png" group-title="数字频道",北京IPTV 淘娱乐
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226551/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ex0efg9fpenP8E8lWJUb5Lg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNg3bzRax0E9tLmO9xgXVx8%2CEND
#EXTINF:-1 tvg-name="北京IPTV 淘BABY" tvg-logo="https://live.fanmingming.cn/tv/北京IPTV 淘BABY.png" group-title="数字频道",北京IPTV 淘BABY
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226554/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EN0sbBMpQv4sLsW5foy3YfA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNg3bzRax0E9tLmO9xgXVx8%2CEND
#EXTINF:-1 tvg-name="北京IPTV 萌宠TV" tvg-logo="https://live.fanmingming.cn/tv/北京IPTV 萌宠TV.png" group-title="数字频道",北京IPTV 萌宠TV
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226555/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E_PpxWPtvSZRFtu_Ged_-vQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNO0istnBuoA2R9ODSCqyIyS%2CEND
#EXTINF:-1 tvg-name="中国教育1台" tvg-logo="https://live.fanmingming.cn/tv/中国教育1台.png" group-title="数字频道",中国教育1台
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226494/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EB8MrpAzJ_Bw12HHVBcZO6g%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNONWWecbSKZXNjh_5hExtTC%2CEND
#EXTINF:-1 tvg-name="中国教育2台" tvg-logo="https://live.fanmingming.cn/tv/中国教育2台.png" group-title="数字频道",中国教育2台
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226537/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E7AxXs4eTU2oiWrhopr9sHw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNxsM0Bor098BJglrhfEQTl%2CEND
#EXTINF:-1 tvg-name="中国教育4台" tvg-logo="https://live.fanmingming.cn/tv/中国教育4台.png" group-title="数字频道",中国教育4台
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226557/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EBzZToIaOOoaa_jAUfhUQHQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOD9BEmVSNbqSQpqXZxnxbk%2CEND
http://iptv.huuc.edu.cn/hls/ahhd.m3u8
#EXTINF:-1 tvg-name="黑龙江卫视" tvg-logo="https://live.fanmingming.cn/tv/黑龙江卫视.png" group-title="卫视频道",黑龙江卫视
http://iptv.huuc.edu.cn/hls/hljhd.m3u8
#EXTINF:-1 tvg-name="辽宁卫视" tvg-logo="https://live.fanmingming.cn/tv/辽宁卫视.png" group-title="卫视频道",辽宁卫视
http://iptv.huuc.edu.cn/hls/lnhd.m3u8
#EXTINF:-1 tvg-name="深圳卫视" tvg-logo="https://live.fanmingming.cn/tv/深圳卫视.png" group-title="卫视频道",深圳卫视
http://iptv.huuc.edu.cn/hls/szhd.m3u8
#EXTINF:-1 tvg-name="广东卫视" tvg-logo="https://live.fanmingming.cn/tv/广东卫视.png" group-title="卫视频道",广东卫视
http://iptv.huuc.edu.cn/hls/gdhd.m3u8
#EXTINF:-1 tvg-name="天津卫视" tvg-logo="https://live.fanmingming.cn/tv/天津卫视.png" group-title="卫视频道",天津卫视
http://iptv.huuc.edu.cn/hls/tjhd.m3u8
#EXTINF:-1 tvg-name="湖北卫视" tvg-logo="https://live.fanmingming.cn/tv/湖北卫视.png" group-title="卫视频道",湖北卫视
http://iptv.huuc.edu.cn/hls/hbhd.m3u8
#EXTINF:-1 tvg-name="山东卫视" tvg-logo="https://live.fanmingming.cn/tv/山东卫视.png" group-title="卫视频道",山东卫视
http://iptv.huuc.edu.cn/hls/sdhd.m3u8
#EXTINF:-1 tvg-name="重庆卫视" tvg-logo="https://live.fanmingming.cn/tv/重庆卫视.png" group-title="卫视频道",重庆卫视
http://iptv.huuc.edu.cn/hls/cqhd.m3u8
#EXTINF:-1 tvg-name="上海纪实" tvg-logo="https://live.fanmingming.cn/tv/上海纪实.png" group-title="卫视频道",上海纪实
http://iptv.huuc.edu.cn/hls/docuchina.m3u8
#EXTINF:-1 tvg-name="四川卫视" tvg-logo="https://live.fanmingming.cn/tv/四川卫视.png" group-title="卫视频道",四川卫视
http://iptv.huuc.edu.cn/hls/schd.m3u8
#EXTINF:-1 tvg-name="金鹰纪实" tvg-logo="https://live.fanmingming.cn/tv/金鹰纪实.png" group-title="卫视频道",金鹰纪实
http://iptv.huuc.edu.cn/hls/gedocu.m3u8
#EXTINF:-1 tvg-name="东南卫视" tvg-logo="https://live.fanmingming.cn/tv/东南卫视.png" group-title="卫视频道",东南卫视
http://iptv.huuc.edu.cn/hls/dnhd.m3u8
#EXTINF:-1 tvg-name="河北卫视" tvg-logo="https://live.fanmingming.cn/tv/河北卫视.png" group-title="卫视频道",河北卫视
http://iptv.huuc.edu.cn/hls/hebhd.m3u8
#EXTINF:-1 tvg-name="江西卫视" tvg-logo="https://live.fanmingming.cn/tv/江西卫视.png" group-title="卫视频道",江西卫视
http://iptv.huuc.edu.cn/hls/jxhd.m3u8
#EXTINF:-1 tvg-name="浙江公共新闻" tvg-logo="https://live.fanmingming.cn/tv/浙江新闻.png" group-title="浙江频道",浙江新闻
https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8
+95 -33
View File
@@ -1,11 +1,13 @@
█████████████████████████████████████████████
动作片0410,#genre#
动作片0414,#genre#
█████████████████████████████████████████████
**********************************************************************************************
血洗鳄鱼仇1988(印度动作片),https://v.lzcdn25.com/20250413/327_799acdf7/index.m3u8
射雕英雄传:侠之大者2025(大陆动作片),https://v.lzcdn25.com/20250411/316_13484dd9/index.m3u8
G20峰会2025(美国动作片),https://v.lzcdn25.com/20250411/311_1ee5283f/index.m3u8
绣衣使·西汉迷案2025(大陆动作片)https://vip.ffzy-video.com/20250410/15739_7061e21a/index.m3u8
在失落之地2025(德国/加拿大/美国动作片),https://v.lzcdn25.com/20250408/290_6bd4116b/index.m3u8
尖峰对决2025(大陆动作片),https://v.lzcdn25.com/20250406/278_aa1b3e80/index.m3u8
@@ -4724,7 +4726,7 @@ X战警:黑凤凰(美国动作片),
这个杀手不太冷(法国动作片),
【结束】
█████████████████████████████████████████████
科幻片0329,#genre#
科幻片0414,#genre#
█████████████████████████████████████████████
@@ -6082,10 +6084,15 @@ SPEC:天(日本科幻片),
三大怪兽美食家(日本科幻片),
星际穿越(美国科幻片),
█████████████████████████████████████████████
恐怖片0410,#genre#
恐怖片0414,#genre#
█████████████████████████████████████████████
************************************************************************************
怪物大乱捣2024(美国恐怖片),https://v.lzcdn25.com/20250414/333_3b56785c/index.m3u8
丧尸集中营2024(蒙古恐怖片),https://v.lzcdn25.com/20250411/309_ee94686b/index.m3u8
马路对面的房子2023(美国恐怖片),https://v.lzcdn25.com/20250410/300_cba6e205/index.m3u8
血色附身2022(西班牙恐怖片),https://v.lzcdn25.com/20250410/304_bfafc9e3/index.m3u8
致命著作2025(美国恐怖片),https://v.lzcdn25.com/20250408/282_1849c208/index.m3u8
@@ -9475,8 +9482,8 @@ ICQ幽灵【国语】(香港恐怖片),https://vip.lzcdn2.com/20220412/3163_cae2
战火中的小狐狸2022(战争片),https://v.lzcdn25.com/20250414/330_6a1725be/index.m3u8
****************************************************************************************************
失控2023(英国战争片),https://v.lzcdn25.com/20250321/151_0e115e70/index.m3u8
深山狙击2025(大陆战争片),https://v.lzcdn25.com/20250309/79_7d56fdec/index.m3u8
普京2024(马耳他/波兰/美国/叙利亚/约旦/俄罗斯/乌克兰/以色列战争片),https://v.lzcdn25.com/20250307/57_d1af3f02/index.m3u8
@@ -11600,33 +11607,88 @@ WQXR-FM紐約愛樂電台,https://stream.wqxr.org/wqxr
█████████████████████████████████████████████
中央电视台,#genre#
█████████████████████████████████████████████
cctv-1,http://117.43.170.175:54321/gaoma/cctv1.m3u8
cctv-2,http://117.43.170.175:54321/gaoma/cctv2.m3u8
cctv-3,http://117.43.170.175:54321/gaoma/cctv3.m3u8
cctv-4,http://117.43.170.175:54321/gaoma/cctv4.m3u8
cctv-5,http://117.43.170.175:54321/gaoma/cctv5.m3u8
cctv-5+,http://117.43.170.175:54321/gaoma/cctv5p.m3u8
cctv-6,http://117.43.170.175:54321/gaoma/cctv6.m3u8
cctv-7,http://117.43.170.175:54321/gaoma/cctv7.m3u8
cctv-8,http://117.43.170.175:54321/gaoma/cctv8.m3u8
cctv-9,http://117.43.170.175:54321/gaoma/cctv9.m3u8
cctv-10,http://117.43.170.175:54321/gaoma/cctv10.m3u8
cctv-11,http://117.43.170.175:54321/gaoma/cctv11.m3u8
cctv-12,http://117.43.170.175:54321/gaoma/cctv12.m3u8
cctv-13,http://117.43.170.175:54321/gaoma/cctv13.m3u8
cctv-14,http://117.43.170.175:54321/gaoma/cctv14.m3u8
cctv-15,http://117.43.170.175:54321/gaoma/cctv15.m3u8
cctv-16,http://117.43.170.175:54321/gaoma/cctv16.m3u8
cctv-17,http://117.43.170.175:54321/gaoma/cctv17.m3u8
cctv4K,http://117.43.170.175:54321/gaoma/cctv4k.m3u8
cctv8K,http://117.43.170.175:54321/gaoma/cctv8k_36m.m3u8
cgtnar,http://117.43.170.175:54321/gaoma/cgtnar.m3u8
cgtndoc,http://117.43.170.175:54321/gaoma/cgtndoc.m3u8
cgtnen,http://117.43.170.175:54321/gaoma/cgtnen.m3u8
cgtnfr,http://117.43.170.175:54321/gaoma/cgtnfr.m3u8
cgtnru,http://117.43.170.175:54321/gaoma/cgtnru.m3u8
cgtnsp,http://117.43.170.175:54321/gaoma/cgtnsp.m3u8
cctv-1,http://123.4.74.215:3000/gaoma/cctv1.m3u8
cctv-2,http://123.4.74.215:3000/gaoma/cctv2.m3u8
cctv-3,http://123.4.74.215:3000/gaoma/cctv3.m3u8
cctv-4,http://123.4.74.215:3000/gaoma/cctv4.m3u8
cctv-5,http://123.4.74.215:3000/gaoma/cctv5.m3u8
cctv-5+,http://123.4.74.215:3000/gaoma/cctv5p.m3u8
cctv-6,http://123.4.74.215:3000/gaoma/cctv6.m3u8
cctv-7,http://123.4.74.215:3000/gaoma/cctv7.m3u8
cctv-8,http://123.4.74.215:3000/gaoma/cctv8.m3u8
cctv-9,http://123.4.74.215:3000/gaoma/cctv9.m3u8
cctv-10,http://123.4.74.215:3000/gaoma/cctv10.m3u8
cctv-11,http://123.4.74.215:3000/gaoma/cctv11.m3u8
cctv-12,http://123.4.74.215:3000/gaoma/cctv12.m3u8
cctv-13,http://123.4.74.215:3000/gaoma/cctv13.m3u8
cctv-14,http://123.4.74.215:3000/gaoma/cctv14.m3u8
cctv-15,http://123.4.74.215:3000/gaoma/cctv15.m3u8
cctv-16,http://123.4.74.215:3000/gaoma/cctv16.m3u8
cctv-17,http://123.4.74.215:3000/gaoma/cctv17.m3u8
cctv4K,http://123.4.74.215:3000/gaoma/cctv4k.m3u8
cctv8K,http://123.4.74.215:3000/gaoma/cctv8k_36m.m3u8
cgtnar,http://123.4.74.215:3000/gaoma/cgtnar.m3u8
cgtndoc,http://123.4.74.215:3000/gaoma/cgtndoc.m3u8
cgtnen,http://123.4.74.215:3000/gaoma/cgtnen.m3u8
cgtnfr,http://123.4.74.215:3000/gaoma/cgtnfr.m3u8
cgtnru,http://123.4.74.215:3000/gaoma/cgtnru.m3u8
cgtnsp,http://123.4.74.215:3000/gaoma/cgtnsp.m3u8
CCTV-1,http://106.46.113.234:8888/hls/1/index.m3u8
CCTV-2,http://106.46.113.234:8888/hls/2/index.m3u8
CCTV-3,http://106.46.113.234:8888/hls/3/index.m3u8
CCTV-4,http://106.46.113.234:8888/hls/4/index.m3u8
CCTV-5,http://106.46.113.234:8888/hls/5/index.m3u8
CCTV-6,http://106.46.113.234:8888/hls/6/index.m3u8
CCTV-7,http://106.46.113.234:8888/hls/7/index.m3u8
CCTV-8,http://106.46.113.234:8888/hls/8/index.m3u8
CCTV-9,http://106.46.113.234:8888/hls/9/index.m3u8
CCTV-10,http://106.46.113.234:8888/hls/10/index.m3u8
CCTV-11,http://106.46.113.234:8888/hls/11/index.m3u8
CCTV-12,http://106.46.113.234:8888/hls/12/index.m3u8
CCTV-13,http://106.46.113.234:8888/hls/13/index.m3u8
CCTV-14,http://106.46.113.234:8888/hls/14/index.m3u8
CCTV-15,http://106.46.113.234:8888/hls/15/index.m3u8
河南卫视,http://106.46.113.234:8888/hls/16/index.m3u8
湖南卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.82:1111
江苏卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.83:1112
浙江卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.84:1113
来自河南电信的酒店源(106.46.113.234:8888)共有53个频道:
北京卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.81:1110
东方卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.85:1114
天津卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.86:1115
山东卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.88:1117
安徽卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.87:1116
深圳卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.90:1119
江西卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.37:1066
湖北卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.89:1118
四川卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.40:1069
黑龙江卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.91:1120
云南卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.33:1062
贵州卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.41:1070
辽宁卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.167:1208
东南卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.32:1061
重庆卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.29:1058
广东卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.166:1207
广西卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.31:1060
河北卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.34:1063
海南卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.25:1054
来自河南电信的酒店源(106.46.113.234:8888)共有53个频道:
吉林卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.36:1065
山西卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.38:1067
陕西卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.39:1068
甘肃卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.42:1071
宁夏卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.43:1072
青海卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.44:1073
内蒙古卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.45:1074
西藏卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.46:1075
新疆卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.47:1076
厦门卫视,http://106.46.113.234:8888:4021/rtp/225.1.4.95:1124
河南都市频道,http://106.46.113.234:8888:4021/rtp/225.1.4.52:1081
河南民生频道,http://106.46.113.234:8888:4021/rtp/225.1.4.53:1082
河南法治频道,http://106.46.113.234:8888:4021/rtp/225.1.4.54:1083
河南公共频道,http://106.46.113.234:8888:4021/rtp/225.1.4.58:1087
河南梨园频道,http://106.46.113.234:8888:4021/rtp/225.1.4.99:1128
+4 -29
View File
@@ -4,14 +4,14 @@
"sites": [
{
"key": "豆豆",
"name": "🌈豆瓣┃请测试完删除处理 夸克app打开加入夸克资源群ID:594986235",
"name": "🌈豆瓣┃请测试完删除处理 由于公益资金压力米UC已经合并至至臻",
"type": 3,
"api": "csp_DoubanGuard",
"searchable": 0
},
{
"key": "config",
"name": "⚙云盘┃配置中心 0326 修复U C无需要配置UT 直接上车",
"name": "⚙云盘┃配置中心 0414修复UC 存在起播慢的问题 ",
"type": 3,
"api": "csp_ConfigGuard",
"searchable": 0
@@ -51,31 +51,6 @@
"filterable": 1,
"ext": "Yu2Y3Q8tqDTqZ+GCqfQZz8i/vsP/tl9O+/0ZjpgnBg9L+drzR5a6bo7DML9hTEHvIuMN0JxvcbUflFgvOz4etZ9cUsZ0b7NskUhkBZr0Id8jSF6uh2VLWSCg2CtmH5o1TtTNh7M3/ltwQq//Spr2kX7vyJVyHNYbVu/LbyQCphXA69Yz8WjqVrK0GsjL+Ik3h6CQSeUSxVsmsygbTWfjFq5Wq6CYigSEVi1MJIiKNCS5cp8Ghq15UINDOnFKRERcz89eu5dSsR9aQX6BVNMdZLwSzxdX+4hT32MaBORYsrm3FFWArSTQdgO0XpnwCxoXyrlOZZA6ewEqkwuIgoDjFOeQEB0B1XkA9COGXhBBN/U253mGVMtzwHTCzpHTSk5MFVpkfjoyaDWZG1SEKMnp7afikfGkM3rn+Vw7Rp3VaPow/4r9kBYdtOiANxRr3/xPWxJdwx8M3BYw8xIlENODkJxzIlYel5FzLMKsR7ZrsZA="
},
{
"key": "csp_UC",
"name": "🍚小米┃UC123",
"type": 3,
"changeable": "0",
"quickSearch": 1,
"api": "csp_DuopanGuard",
"filterable": 1,
"ext": {
"site_urls": [
"https://www.54271.fun/",
"https://54271.fun/",
"https://www.mucpan.cc/",
"https://mucpan.cc/"
],
"url_key": "UC",
"token": "",
"ucCookie": "",
"quarkCookie": "",
"threadinfo": {
"chunksize": 400,
"threads": 12
}
}
},
{
"key": "csp_Bili",
"name": "💯哔哩┃哔哩",
@@ -83,7 +58,7 @@
"api": "csp_BiliGuard",
"searchable": 1,
"ext": {
"json": "./json/bili.json",
"json": "./json/1744612665263_bili.json",
"cookie": ""
},
"style": {
@@ -268,7 +243,7 @@
},
{
"key": "csp_MiSou",
"name": "🔍米搜┃夸克",
"name": "🔍米搜┃盘聚",
"type": 3,
"quickSearch": 1,
"changeable": "0",
-577
View File
@@ -1,577 +0,0 @@
/*!
* Jinja Templating for JavaScript v0.1.8
* https://github.com/sstur/jinja-js
*
* This is a slimmed-down Jinja2 implementation [http://jinja.pocoo.org/]
*
* In the interest of simplicity, it deviates from Jinja2 as follows:
* - Line statements, cycle, super, macro tags and block nesting are not implemented
* - auto escapes html by default (the filter is "html" not "e")
* - Only "html" and "safe" filters are built in
* - Filters are not valid in expressions; `foo|length > 1` is not valid
* - Expression Tests (`if num is odd`) not implemented (`is` translates to `==` and `isnot` to `!=`)
*
* Notes:
* - if property is not found, but method '_get' exists, it will be called with the property name (and cached)
* - `{% for n in obj %}` iterates the object's keys; get the value with `{% for n in obj %}{{ obj[n] }}{% endfor %}`
* - subscript notation `a[0]` takes literals or simple variables but not `a[item.key]`
* - `.2` is not a valid number literal; use `0.2`
*
*/
/*global require, exports, module, define */
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.jinja = {}));
})(this, (function (jinja) {
"use strict";
var STRINGS = /'(\\.|[^'])*'|"(\\.|[^"'"])*"/g;
var IDENTS_AND_NUMS = /([$_a-z][$\w]*)|([+-]?\d+(\.\d+)?)/g;
var NUMBER = /^[+-]?\d+(\.\d+)?$/;
//non-primitive literals (array and object literals)
var NON_PRIMITIVES = /\[[@#~](,[@#~])*\]|\[\]|\{([@i]:[@#~])(,[@i]:[@#~])*\}|\{\}/g;
//bare identifiers such as variables and in object literals: {foo: 'value'}
var IDENTIFIERS = /[$_a-z][$\w]*/ig;
var VARIABLES = /i(\.i|\[[@#i]\])*/g;
var ACCESSOR = /(\.i|\[[@#i]\])/g;
var OPERATORS = /(===?|!==?|>=?|<=?|&&|\|\||[+\-\*\/%])/g;
//extended (english) operators
var EOPS = /(^|[^$\w])(and|or|not|is|isnot)([^$\w]|$)/g;
var LEADING_SPACE = /^\s+/;
var TRAILING_SPACE = /\s+$/;
var START_TOKEN = /\{\{\{|\{\{|\{%|\{#/;
var TAGS = {
'{{{': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?\}\}\}/,
'{{': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?\}\}/,
'{%': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?%\}/,
'{#': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?#\}/
};
var delimeters = {
'{%': 'directive',
'{{': 'output',
'{#': 'comment'
};
var operators = {
and: '&&',
or: '||',
not: '!',
is: '==',
isnot: '!='
};
var constants = {
'true': true,
'false': false,
'null': null
};
function Parser() {
this.nest = [];
this.compiled = [];
this.childBlocks = 0;
this.parentBlocks = 0;
this.isSilent = false;
}
Parser.prototype.push = function (line) {
if (!this.isSilent) {
this.compiled.push(line);
}
};
Parser.prototype.parse = function (src) {
this.tokenize(src);
return this.compiled;
};
Parser.prototype.tokenize = function (src) {
var lastEnd = 0, parser = this, trimLeading = false;
matchAll(src, START_TOKEN, function (open, index, src) {
//here we match the rest of the src against a regex for this tag
var match = src.slice(index + open.length).match(TAGS[open]);
match = (match ? match[0] : '');
//here we sub out strings so we don't get false matches
var simplified = match.replace(STRINGS, '@');
//if we don't have a close tag or there is a nested open tag
if (!match || ~simplified.indexOf(open)) {
return index + 1;
}
var inner = match.slice(0, 0 - open.length);
//check for white-space collapse syntax
if (inner.charAt(0) === '-') var wsCollapseLeft = true;
if (inner.slice(-1) === '-') var wsCollapseRight = true;
inner = inner.replace(/^-|-$/g, '').trim();
//if we're in raw mode and we are not looking at an "endraw" tag, move along
if (parser.rawMode && (open + inner) !== '{%endraw') {
return index + 1;
}
var text = src.slice(lastEnd, index);
lastEnd = index + open.length + match.length;
if (trimLeading) text = trimLeft(text);
if (wsCollapseLeft) text = trimRight(text);
if (wsCollapseRight) trimLeading = true;
if (open === '{{{') {
//liquid-style: make {{{x}}} => {{x|safe}}
open = '{{';
inner += '|safe';
}
parser.textHandler(text);
parser.tokenHandler(open, inner);
});
var text = src.slice(lastEnd);
if (trimLeading) text = trimLeft(text);
this.textHandler(text);
};
Parser.prototype.textHandler = function (text) {
this.push('write(' + JSON.stringify(text) + ');');
};
Parser.prototype.tokenHandler = function (open, inner) {
var type = delimeters[open];
if (type === 'directive') {
this.compileTag(inner);
} else if (type === 'output') {
var extracted = this.extractEnt(inner, STRINGS, '@');
//replace || operators with ~
extracted.src = extracted.src.replace(/\|\|/g, '~').split('|');
//put back || operators
extracted.src = extracted.src.map(function (part) {
return part.split('~').join('||');
});
var parts = this.injectEnt(extracted, '@');
if (parts.length > 1) {
var filters = parts.slice(1).map(this.parseFilter.bind(this));
this.push('filter(' + this.parseExpr(parts[0]) + ',' + filters.join(',') + ');');
} else {
this.push('filter(' + this.parseExpr(parts[0]) + ');');
}
}
};
Parser.prototype.compileTag = function (str) {
var directive = str.split(' ')[0];
var handler = tagHandlers[directive];
if (!handler) {
throw new Error('Invalid tag: ' + str);
}
handler.call(this, str.slice(directive.length).trim());
};
Parser.prototype.parseFilter = function (src) {
src = src.trim();
var match = src.match(/[:(]/);
var i = match ? match.index : -1;
if (i < 0) return JSON.stringify([src]);
var name = src.slice(0, i);
var args = src.charAt(i) === ':' ? src.slice(i + 1) : src.slice(i + 1, -1);
args = this.parseExpr(args, {terms: true});
return '[' + JSON.stringify(name) + ',' + args + ']';
};
Parser.prototype.extractEnt = function (src, regex, placeholder) {
var subs = [], isFunc = typeof placeholder == 'function';
src = src.replace(regex, function (str) {
var replacement = isFunc ? placeholder(str) : placeholder;
if (replacement) {
subs.push(str);
return replacement;
}
return str;
});
return {src: src, subs: subs};
};
Parser.prototype.injectEnt = function (extracted, placeholder) {
var src = extracted.src, subs = extracted.subs, isArr = Array.isArray(src);
var arr = (isArr) ? src : [src];
var re = new RegExp('[' + placeholder + ']', 'g'), i = 0;
arr.forEach(function (src, index) {
arr[index] = src.replace(re, function () {
return subs[i++];
});
});
return isArr ? arr : arr[0];
};
//replace complex literals without mistaking subscript notation with array literals
Parser.prototype.replaceComplex = function (s) {
var parsed = this.extractEnt(s, /i(\.i|\[[@#i]\])+/g, 'v');
parsed.src = parsed.src.replace(NON_PRIMITIVES, '~');
return this.injectEnt(parsed, 'v');
};
//parse expression containing literals (including objects/arrays) and variables (including dot and subscript notation)
//valid expressions: `a + 1 > b.c or c == null`, `a and b[1] != c`, `(a < b) or (c < d and e)`, 'a || [1]`
Parser.prototype.parseExpr = function (src, opts) {
opts = opts || {};
//extract string literals -> @
var parsed1 = this.extractEnt(src, STRINGS, '@');
//note: this will catch {not: 1} and a.is; could we replace temporarily and then check adjacent chars?
parsed1.src = parsed1.src.replace(EOPS, function (s, before, op, after) {
return (op in operators) ? before + operators[op] + after : s;
});
//sub out non-string literals (numbers/true/false/null) -> #
// the distinction is necessary because @ can be object identifiers, # cannot
var parsed2 = this.extractEnt(parsed1.src, IDENTS_AND_NUMS, function (s) {
return (s in constants || NUMBER.test(s)) ? '#' : null;
});
//sub out object/variable identifiers -> i
var parsed3 = this.extractEnt(parsed2.src, IDENTIFIERS, 'i');
//remove white-space
parsed3.src = parsed3.src.replace(/\s+/g, '');
//the rest of this is simply to boil the expression down and check validity
var simplified = parsed3.src;
//sub out complex literals (objects/arrays) -> ~
// the distinction is necessary because @ and # can be subscripts but ~ cannot
while (simplified !== (simplified = this.replaceComplex(simplified))) ;
//now @ represents strings, # represents other primitives and ~ represents non-primitives
//replace complex variables (those with dot/subscript accessors) -> v
while (simplified !== (simplified = simplified.replace(/i(\.i|\[[@#i]\])+/, 'v'))) ;
//empty subscript or complex variables in subscript, are not permitted
simplified = simplified.replace(/[iv]\[v?\]/g, 'x');
//sub in "i" for @ and # and ~ and v (now "i" represents all literals, variables and identifiers)
simplified = simplified.replace(/[@#~v]/g, 'i');
//sub out operators
simplified = simplified.replace(OPERATORS, '%');
//allow 'not' unary operator
simplified = simplified.replace(/!+[i]/g, 'i');
var terms = opts.terms ? simplified.split(',') : [simplified];
terms.forEach(function (term) {
//simplify logical grouping
while (term !== (term = term.replace(/\(i(%i)*\)/g, 'i'))) ;
if (!term.match(/^i(%i)*/)) {
throw new Error('Invalid expression: ' + src + " " + term);
}
});
parsed3.src = parsed3.src.replace(VARIABLES, this.parseVar.bind(this));
parsed2.src = this.injectEnt(parsed3, 'i');
parsed1.src = this.injectEnt(parsed2, '#');
return this.injectEnt(parsed1, '@');
};
Parser.prototype.parseVar = function (src) {
var args = Array.prototype.slice.call(arguments);
var str = args.pop(), index = args.pop();
//quote bare object identifiers (might be a reserved word like {while: 1})
if (src === 'i' && str.charAt(index + 1) === ':') {
return '"i"';
}
var parts = ['"i"'];
src.replace(ACCESSOR, function (part) {
if (part === '.i') {
parts.push('"i"');
} else if (part === '[i]') {
parts.push('get("i")');
} else {
parts.push(part.slice(1, -1));
}
});
return 'get(' + parts.join(',') + ')';
};
//escapes a name to be used as a javascript identifier
Parser.prototype.escName = function (str) {
return str.replace(/\W/g, function (s) {
return '$' + s.charCodeAt(0).toString(16);
});
};
Parser.prototype.parseQuoted = function (str) {
if (str.charAt(0) === "'") {
str = str.slice(1, -1).replace(/\\.|"/, function (s) {
if (s === "\\'") return "'";
return s.charAt(0) === '\\' ? s : ('\\' + s);
});
str = '"' + str + '"';
}
//todo: try/catch or deal with invalid characters (linebreaks, control characters)
return JSON.parse(str);
};
//the context 'this' inside tagHandlers is the parser instance
var tagHandlers = {
'if': function (expr) {
this.push('if (' + this.parseExpr(expr) + ') {');
this.nest.unshift('if');
},
'else': function () {
if (this.nest[0] === 'for') {
this.push('}, function() {');
} else {
this.push('} else {');
}
},
'elseif': function (expr) {
this.push('} else if (' + this.parseExpr(expr) + ') {');
},
'endif': function () {
this.nest.shift();
this.push('}');
},
'for': function (str) {
var i = str.indexOf(' in ');
var name = str.slice(0, i).trim();
var expr = str.slice(i + 4).trim();
this.push('each(' + this.parseExpr(expr) + ',' + JSON.stringify(name) + ',function() {');
this.nest.unshift('for');
},
'endfor': function () {
this.nest.shift();
this.push('});');
},
'raw': function () {
this.rawMode = true;
},
'endraw': function () {
this.rawMode = false;
},
'set': function (stmt) {
var i = stmt.indexOf('=');
var name = stmt.slice(0, i).trim();
var expr = stmt.slice(i + 1).trim();
this.push('set(' + JSON.stringify(name) + ',' + this.parseExpr(expr) + ');');
},
'block': function (name) {
if (this.isParent) {
++this.parentBlocks;
var blockName = 'block_' + (this.escName(name) || this.parentBlocks);
this.push('block(typeof ' + blockName + ' == "function" ? ' + blockName + ' : function() {');
} else if (this.hasParent) {
this.isSilent = false;
++this.childBlocks;
blockName = 'block_' + (this.escName(name) || this.childBlocks);
this.push('function ' + blockName + '() {');
}
this.nest.unshift('block');
},
'endblock': function () {
this.nest.shift();
if (this.isParent) {
this.push('});');
} else if (this.hasParent) {
this.push('}');
this.isSilent = true;
}
},
'extends': function (name) {
name = this.parseQuoted(name);
var parentSrc = this.readTemplateFile(name);
this.isParent = true;
this.tokenize(parentSrc);
this.isParent = false;
this.hasParent = true;
//silence output until we enter a child block
this.isSilent = true;
},
'include': function (name) {
name = this.parseQuoted(name);
var incSrc = this.readTemplateFile(name);
this.isInclude = true;
this.tokenize(incSrc);
this.isInclude = false;
}
};
//liquid style
tagHandlers.assign = tagHandlers.set;
//python/django style
tagHandlers.elif = tagHandlers.elseif;
var getRuntime = function runtime(data, opts) {
var defaults = {autoEscape: 'toJson'};
var _toString = Object.prototype.toString;
var _hasOwnProperty = Object.prototype.hasOwnProperty;
var getKeys = Object.keys || function (obj) {
var keys = [];
for (var n in obj) if (_hasOwnProperty.call(obj, n)) keys.push(n);
return keys;
};
var isArray = Array.isArray || function (obj) {
return _toString.call(obj) === '[object Array]';
};
var create = Object.create || function (obj) {
function F() {
}
F.prototype = obj;
return new F();
};
var toString = function (val) {
if (val == null) return '';
return (typeof val.toString == 'function') ? val.toString() : _toString.call(val);
};
var extend = function (dest, src) {
var keys = getKeys(src);
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i];
dest[key] = src[key];
}
return dest;
};
//get a value, lexically, starting in current context; a.b -> get("a","b")
var get = function () {
var val, n = arguments[0], c = stack.length;
while (c--) {
val = stack[c][n];
if (typeof val != 'undefined') break;
}
for (var i = 1, len = arguments.length; i < len; i++) {
if (val == null) continue;
n = arguments[i];
val = (_hasOwnProperty.call(val, n)) ? val[n] : (typeof val._get == 'function' ? (val[n] = val._get(n)) : null);
}
return (val == null) ? '' : val;
};
var set = function (n, val) {
stack[stack.length - 1][n] = val;
};
var push = function (ctx) {
stack.push(ctx || {});
};
var pop = function () {
stack.pop();
};
var write = function (str) {
output.push(str);
};
var filter = function (val) {
for (var i = 1, len = arguments.length; i < len; i++) {
var arr = arguments[i], name = arr[0], filter = filters[name];
if (filter) {
arr[0] = val;
//now arr looks like [val, arg1, arg2]
val = filter.apply(data, arr);
} else {
throw new Error('Invalid filter: ' + name);
}
}
if (opts.autoEscape && name !== opts.autoEscape && name !== 'safe') {
//auto escape if not explicitly safe or already escaped
val = filters[opts.autoEscape].call(data, val);
}
output.push(val);
};
var each = function (obj, loopvar, fn1, fn2) {
if (obj == null) return;
var arr = isArray(obj) ? obj : getKeys(obj), len = arr.length;
var ctx = {loop: {length: len, first: arr[0], last: arr[len - 1]}};
push(ctx);
for (var i = 0; i < len; i++) {
extend(ctx.loop, {index: i + 1, index0: i});
fn1(ctx[loopvar] = arr[i]);
}
if (len === 0 && fn2) fn2();
pop();
};
var block = function (fn) {
push();
fn();
pop();
};
var render = function () {
return output.join('');
};
data = data || {};
opts = extend(defaults, opts || {});
var filters = extend({
html: function (val) {
return toString(val)
.split('&').join('&amp;')
.split('<').join('&lt;')
.split('>').join('&gt;')
.split('"').join('&quot;');
},
safe: function (val) {
return val;
},
toJson: function (val) {
if (typeof val === 'object') {
return JSON.stringify(val);
}
return toString(val);
}
}, opts.filters || {});
var stack = [create(data || {})], output = [];
return {
get: get,
set: set,
push: push,
pop: pop,
write: write,
filter: filter,
each: each,
block: block,
render: render
};
};
var runtime;
jinja.compile = function (markup, opts) {
opts = opts || {};
var parser = new Parser();
parser.readTemplateFile = this.readTemplateFile;
var code = [];
code.push('function render($) {');
code.push('var get = $.get, set = $.set, push = $.push, pop = $.pop, write = $.write, filter = $.filter, each = $.each, block = $.block;');
code.push.apply(code, parser.parse(markup));
code.push('return $.render();');
code.push('}');
code = code.join('\n');
if (opts.runtime === false) {
var fn = new Function('data', 'options', 'return (' + code + ')(runtime(data, options))');
} else {
runtime = runtime || (runtime = getRuntime.toString());
fn = new Function('data', 'options', 'return (' + code + ')((' + runtime + ')(data, options))');
}
return {render: fn};
};
jinja.render = function (markup, data, opts) {
var tmpl = jinja.compile(markup);
return tmpl.render(data, opts);
};
jinja.templateFiles = [];
jinja.readTemplateFile = function (name) {
var templateFiles = this.templateFiles || [];
var templateFile = templateFiles[name];
if (templateFile == null) {
throw new Error('Template file not found: ' + name);
}
return templateFile;
};
/*!
* Helpers
*/
function trimLeft(str) {
return str.replace(LEADING_SPACE, '');
}
function trimRight(str) {
return str.replace(TRAILING_SPACE, '');
}
function matchAll(str, reg, fn) {
//copy as global
reg = new RegExp(reg.source, 'g' + (reg.ignoreCase ? 'i' : '') + (reg.multiline ? 'm' : ''));
var match;
while ((match = reg.exec(str))) {
var result = fn(match[0], match.index, str);
if (typeof result == 'number') {
reg.lastIndex = result;
}
}
}
}));
+46
View File
@@ -0,0 +1,46 @@
{
"class": [
{"type_name": "演唱会","type_id": "演唱会4K"},
{"type_name": "歌曲","type_id": "热歌"},
{"type_name": "音乐","type_id": "纯音乐"},
{"type_name": "舞蹈","type_id": "舞蹈"},
{"type_name": "体育","type_id": "体育"},
{"type_name": "戏曲","type_id": "戏曲"},
{"type_name": "旅游","type_id": "旅游"},
{"type_name": "风景","type_id": "风景4K"},
{"type_name": "美食","type_id": "美食超清"},
{"type_name": "搞笑","type_id": "搞笑"},
{"type_name": "儿童","type_id": "儿童"},
{"type_name": "纪录","type_id": "纪录片超清"},
{"type_name": "综艺","type_id": "综艺大全"},
{"type_name": "广场舞","type_id": "广场舞"},
{"type_name": "太极拳","type_id": "太极拳"},
{"type_name": "白噪音","type_id": "白噪音超清"},
{"type_name": "软件教程","type_id": "软件教程"},
{"type_name": "动物自然","type_id": "动物世界超清"},
{"type_name": "相声小品","type_id": "相声小品"},
{"type_name": "旅行探险","type_id": "旅行探险"}
],
"filters": {
"演唱会4K":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"tid","name":"分类","value":[{"n":"全部","v":"演唱会4K"},{"n":"演唱会合集","v":"演唱会合集"},{"n":"红馆演唱会","v":"红馆演唱会"},{"n":"Beyond","v":"Beyond演唱会"},{"n":"张学友","v":"张学友演唱会"},{"n":"刘德华","v":"刘德华演唱会"},{"n":"谭咏麟","v":"谭咏麟演唱会"},{"n":"李克勤","v":"李克勤演唱会"},{"n":"陈百强","v":"陈百强演唱会"},{"n":"陈奕迅","v":"陈奕迅演唱会"},{"n":"伍佰","v":"伍佰演唱会"},{"n":"SHE","v":"SHE演唱会"},{"n":"陈小春","v":"陈小春演唱会"},{"n":"草蜢","v":"草蜢演唱会"},{"n":"陈慧娴","v":"陈慧娴演唱会"},{"n":"刀郎","v":"刀郎演唱会"},{"n":"邓紫棋","v":"邓紫棋演唱会"},{"n":"凤凰传奇","v":"凤凰传奇演唱会"},{"n":"林子祥","v":"林子祥演唱会"},{"n":"李宗盛","v":"李宗盛演唱会"},{"n":"罗大佑","v":"罗大佑演唱会"},{"n":"梅艳芳","v":"梅艳芳演唱会"},{"n":"迈克尔杰克逊","v":"迈克尔杰克逊演唱会"},{"n":"容祖儿","v":"容祖儿演唱会"},{"n":"任贤齐","v":"任贤齐演唱会"},{"n":"王心凌","v":"王心凌演唱会"},{"n":"张韶涵","v":"张韶涵演唱会"},{"n":"张国荣","v":"张国荣演唱会"},{"n":"周慧敏","v":"周慧敏演唱会"},{"n":"卓依婷","v":"卓依婷演唱会4K"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],
"热歌":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"tid","name":"分类","value":[{"n":"全部","v":"经典无损音乐"},{"n": "内地","v": "内地歌曲"},{"n": "香港","v": "香港歌曲"},{"n": "台湾","v": "台湾歌曲"},{"n":"粤语","v":"粤语歌曲"},{"n":"国语","v":"国语歌曲"},{"n":"闽南","v":"闽南歌曲"},{"n":"老歌","v":"怀旧老歌"},{"n":"热榜","v":"2023年热们歌曲"},{"n":"经典","v":"经典老歌"},{"n":"古风","v":"古风歌曲"},{"n":"舞曲","v":"DJ歌曲"},{"n":"网络","v":"网红歌曲"},{"n":"抖音","v":"抖音热歌"},{"n":"快手","v":"快手热歌"},{"n":"对唱","v":"情歌对唱"},{"n":"迪斯科","v":"迪斯科"},{"n":"70年代","v":"70年代歌曲"},{"n":"80年代","v":"80年代歌曲"},{"n":"90年代","v":"90年代歌曲"},{"n":"超清MV","v":"超清MV"},{"n":"酒廊情歌","v":"酒廊情歌"},{"n":"山地情歌","v":"山地情歌"},{"n":"卓依婷","v":"卓依婷"},{"n":"新春","v":"新年歌曲"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],
"纯音乐":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"tid","name":"分类","value":[{"n":"全部","v":"纯音乐"},{"n":"钢琴","v":"钢琴曲"},{"n":"小提琴","v":"小提音乐"},{"n":"手风琴","v":"手风音乐"},{"n":"二胡","v":"二胡音乐"},{"n":"古筝","v":"古筝音乐"},{"n":"笛子","v":"笛子音乐"},{"n":"琵琶","v":"琵琶音乐"},{"n":"古琴","v":"古琴音乐"},{"n":"编钟","v":"编钟音乐"},{"n":"协奏曲","v":"协奏曲"},{"n":"古风音乐","v":"古风纯音乐"},{"n":"背景音乐","v":"背景音乐"},{"n":"助眠音乐","v":"助眠音乐"},{"n":"胎教音乐","v":"胎教音乐"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],
"舞蹈":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"tid","name":"分类","value":[{"n":"全部","v":"舞蹈"},{"n":"古典舞","v":"古典舞"},{"n":"芭蕾舞","v":"芭蕾舞"},{"n":"民族舞","v":"民族舞"},{"n":"现代舞","v":"现代舞"},{"n":"踢踏舞","v":"踢踏舞"},{"n":"爵士舞","v":"爵士舞"},{"n":"拉丁舞","v":"拉丁舞"},{"n":"摩登舞","v":"摩登舞"},{"n":"街舞","v":"街舞"},{"n":"广场舞","v":"广场舞"},{"n":"宅舞","v":"宅舞"},{"n":"肚皮舞","v":"肚皮舞"},{"n":"钢管舞","v":"钢管舞"},{"n":"英歌舞","v":"英歌舞"},{"n":"劲舞","v":"热舞劲舞"},{"n":"独舞","v":"独舞"},{"n":"群舞","v":"群舞"},{"n":"组舞","v":"组舞"},{"n":"舞剧","v":"舞剧"},{"n":"国风舞蹈","v":"国风舞蹈"},{"n":"女团热舞","v":"女团热舞"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],
"体育":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"tid","name":"分类","value":[{"n":"全部","v":"体育赛事"},{"n":"NBA","v":"NBA"},{"n":"世界杯","v":"世界杯"},{"n":"足球","v":"足球赛"},{"n":"赛艇","v":"赛艇"},{"n":"马拉松","v":"马拉松"},{"n":"拳击","v":"拳击"},{"n":"柔道","v":"柔道"},{"n":"跆拳道","v":"跆拳道"},{"n":"摔跤","v":"摔跤"},{"n":"高尔夫","v":"高尔夫"},{"n":"WWE","v":"WWE"},{"n":"奥运会","v":"奥运会"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],
"戏曲":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"tid","name":"分类","value":[{"n":"全部","v":"戏曲4K"},{"n":"B梆子腔","v":"梆子腔戏曲4K"},{"n":"C采茶戏","v":"采茶戏戏曲4K"},{"n":"C潮剧","v":"潮剧戏曲4K"},{"n":"C彩调","v":"彩调戏曲4K"},{"n":"C川剧","v":"川剧戏曲4K"},{"n":"D滇剧","v":"滇剧戏曲4K"},{"n":"D傣剧","v":"傣剧戏曲4K"},{"n":"E二人台","v":"二人台戏曲4K"},{"n":"G高腔","v":"高腔戏曲4K"},{"n":"G高甲戏","v":"高甲戏戏曲4K"},{"n":"G赣剧","v":"赣剧戏曲4K"},{"n":"G桂剧","v":"桂剧戏曲4K"},{"n":"H黄梅戏","v":"黄梅戏戏曲4K"},{"n":"H河北梆子","v":"河北梆子戏曲4K"},{"n":"H河南曲剧","v":"河南曲剧戏曲4K"},{"n":"H淮剧","v":"淮剧戏曲4K"},{"n":"H沪剧","v":"沪剧戏曲4K"},{"n":"H滑稽戏","v":"滑稽戏戏曲4K"},{"n":"H徽剧","v":"徽剧4K"},{"n":"H汉剧","v":"汉剧戏曲4K"},{"n":"H湖南花鼓戏","v":"湖南花鼓戏戏曲4K"},{"n":"J京剧","v":"京剧戏曲4K"},{"n":"J晋剧","v":"晋剧戏曲4K"},{"n":"J吉剧","v":"吉剧戏曲4K"},{"n":"K昆曲","v":"昆曲戏曲4K"},{"n":"L梨园戏","v":"梨园戏戏曲4K"},{"n":"L龙江剧","v":"龙江剧戏曲4K"},{"n":"M闽剧","v":"闽剧戏曲4K"},{"n":"P评剧","v":"评剧戏曲4K"},{"n":"P蒲剧","v":"蒲剧戏曲4K"},{"n":"P皮影戏","v":"皮影戏戏曲4K"},{"n":"P莆仙戏","v":"莆仙戏戏曲4K"},{"n":"Q黔剧","v":"黔剧戏曲4K"},{"n":"Q祁剧","v":"祁剧戏曲4K"},{"n":"Q秦腔","v":"秦腔戏曲4K"},{"n":"S上党梆子","v":"上党梆子戏曲4K"},{"n":"S山东梆子","v":"山东梆子戏曲4K"},{"n":"S绍剧","v":"绍剧戏曲4K"},{"n":"W武安平调","v":"武安平调戏曲4K"},{"n":"W婺剧","v":"婺剧戏曲4K"},{"n":"X湘剧","v":"湘剧戏曲4K"},{"n":"Y越剧","v":"越剧戏曲4K"},{"n":"Y豫剧","v":"豫剧戏曲4K"},{"n":"Y雁剧","v":"雁剧戏曲4K"},{"n":"Y越调","v":"越调戏曲4K"},{"n":"Y粤剧","v":"粤剧戏曲4K"},{"n":"Z壮剧","v":"壮剧戏曲4K"},{"n":"Z藏剧","v":"藏剧戏曲4K"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],
"旅游":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"tid","name":"分类","value":[{"n":"全部","v":"旅游"},{"n":"A澳门","v":"澳门旅游"},{"n":"A安徽","v":"安徽旅游"},{"n":"B布达拉宫","v":"布达拉宫旅游"},{"n":"B北京","v":"北京旅游"},{"n":"C重庆","v":"重庆旅游"},{"n":"C草原","v":"草原旅游"},{"n":"D大海","v":"大海旅游"},{"n":"F福建","v":"福建旅游"},{"n":"G广东","v":"广东旅游"},{"n":"G广西","v":"广西旅游"},{"n":"G贵州","v":"贵州旅游"},{"n":"G甘肃","v":"甘肃旅游"},{"n":"H海南","v":"海南旅游"},{"n":"H河北","v":"河北旅游"},{"n":"H河南","v":"河南旅游"},{"n":"H湖北","v":"湖北旅游"},{"n":"H湖南","v":"湖南旅游"},{"n":"H黑龙江","v":"黑龙江旅游"},{"n":"J吉林","v":"吉林旅游"},{"n":"J江苏","v":"江苏旅游"},{"n":"J江西","v":"江西旅游"},{"n":"L辽宁","v":"辽宁旅游"},{"n":"M民宿","v":"民宿旅游"},{"n":"N内蒙古","v":"内蒙古旅游"},{"n":"N宁夏","v":"宁夏旅游"},{"n":"Q青海","v":"青海旅游"},{"n":"S上海","v":"上海旅游"},{"n":"S陕西","v":"陕西旅游"},{"n":"S四川","v":"四川旅游"},{"n":"S山西","v":"山西旅游"},{"n":"S山东","v":"山东旅游"},{"n":"T天津","v":"天津旅游"},{"n":"T台湾","v":"台湾旅游"},{"n":"T天空","v":"天空旅游"},{"n":"X西湖","v":"西湖旅游"},{"n":"X西藏","v":"西藏旅游"},{"n":"X新疆","v":"新疆旅游"},{"n":"X香港","v":"香港旅游"},{"n":"Y云南","v":"云南旅游"},{"n":"Z浙江","v":"浙江旅游"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],
"风景4K":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"tid","name":"分类","value":[{"n":"全部","v":"风景4K"},{"n":"A澳门","v":"澳门风景4K"},{"n":"A安徽","v":"安徽风景4K"},{"n":"B布达拉宫","v":"布达拉宫风景4K"},{"n":"B北京","v":"北京风景4K"},{"n":"C重庆","v":"重庆风景4K"},{"n":"C草原","v":"草原风景4K"},{"n":"D大海","v":"大海风景4K"},{"n":"F福建","v":"福建风景4K"},{"n":"G广东","v":"广东风景4K"},{"n":"G广西","v":"广西风景4K"},{"n":"G贵州","v":"贵州风景4K"},{"n":"G甘肃","v":"甘肃风景4K"},{"n":"H海南","v":"海南风景4K"},{"n":"H河北","v":"河北风景4K"},{"n":"H河南","v":"河南风景4K"},{"n":"H湖北","v":"湖北风景4K"},{"n":"H湖南","v":"湖南风景4K"},{"n":"H黑龙江","v":"黑龙江风景4K"},{"n":"J吉林","v":"吉林风景4K"},{"n":"J江苏","v":"江苏风景4K"},{"n":"J江西","v":"江西风景4K"},{"n":"L辽宁","v":"辽宁风景4K"},{"n":"L洛阳","v":"洛阳风景4K"},{"n":"M民宿","v":"民宿风景4K"},{"n":"N南京","v":"南京风景4K"},{"n":"N内蒙古","v":"内蒙古风景4K"},{"n":"N宁夏","v":"宁夏风景4K"},{"n":"Q青海","v":"青海风景4K"},{"n":"S上海","v":"上海风景4K"},{"n":"S陕西","v":"陕西风景4K"},{"n":"S四川","v":"四川风景4K"},{"n":"S山西","v":"山西风景4K"},{"n":"S山东","v":"山东风景4K"},{"n":"S苏州","v":"苏州风景4K"},{"n":"T天津","v":"天津风景4K"},{"n":"T台湾","v":"台湾风景4K"},{"n":"T天空","v":"天空风景4K"},{"n":"X西安","v":"西安风景4K"},{"n":"X西湖","v":"西湖风景4K"},{"n":"X西藏","v":"西藏风景4K"},{"n":"X新疆","v":"新疆风景4K"},{"n":"X香港","v":"香港风景4K"},{"n":"Y云南","v":"云南风景4K"},{"n":"Z浙江","v":"浙江风景4K"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],
"美食超清":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"tid","name":"分类","value":[{"n":"全部","v":"美食超清"},{"n":"舌尖上的中国","v":"舌尖上的中国超清"},{"n":"老字号","v":"老字号美食超清"},{"n":"家常菜","v":"家常菜美食超清"},{"n":"香港美食探店","v":"香港美食探店超清"},{"n":"澳门美食探店","v":"澳门美食探店超清"},{"n":"上海美食探店","v":"上海美食探店超清"},{"n":"北京美食探店","v":"北京美食探店超清"},{"n":"重庆美食探店","v":"重庆美食探店超清"},{"n":"南京美食探店","v":"南京美食探店超清"},{"n":"广州美食探店","v":"广州美食探店超清"},{"n":"杭州美食探店","v":"杭州美食探店超清"},{"n":"成都美食探店","v":"成都美食探店超清"},{"n":"苏州美食探店","v":"苏州美食探店超清"},{"n":"武汉美食探店","v":"武汉美食探店超清"},{"n":"台湾美食探店","v":"台湾美食探店超清"},{"n":"川菜","v":"川菜美食超清"},{"n":"豫菜","v":"豫菜美食超清"},{"n":"淮扬菜","v":"淮扬菜美食超清"},{"n":"湘菜","v":"湘菜美食超清"},{"n":"鲁菜","v":"鲁菜美食超清"},{"n":"粤菜","v":"粤菜美食超清"},{"n":"潮菜","v":"潮菜美食超清"},{"n":"浙菜","v":"浙菜美食超清"},{"n":"徽菜","v":"徽菜美食超清"},{"n":"闽菜","v":"闽菜美食超清"},{"n":"东北菜","v":"东北菜美食超清"},{"n":"客家菜","v":"客家菜美食超清"},{"n":"苏菜","v":"苏菜美食超清"},{"n":"火锅","v":"火锅"},{"n":"面食","v":"面食"},{"n":"炒菜","v":"炒菜"},{"n":"点心","v":"点心"},{"n":"日料","v":"日料"},{"n":"小吃","v":"小吃"},{"n":"素食","v":"素食"},{"n":"蒸菜","v":"蒸菜"},{"n":"凉菜","v":"凉菜"},{"n":"早餐","v":"早餐"},{"n":"披萨","v":"披萨"},{"n":"烤鱼","v":"烤鱼"},{"n":"海鲜","v":"海鲜美食超清"},{"n":"汉堡","v":"汉堡"},{"n":"韩国菜","v":"韩国菜"},{"n":"泰国菜","v":"泰国菜"},{"n":"穆斯林菜","v":"穆斯林菜"},{"n":"法国菜","v":"法国菜"},{"n":"意大利菜","v":"意大利菜"},{"n":"西班牙菜","v":"西班牙菜"},{"n":"土耳其菜","v":"土耳其菜系"},{"n":"阿拉伯菜","v":"阿拉伯菜"},{"n":"德国菜","v":"德国菜"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],
"搞笑":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"tid","name":"分类","value":[{"n":"全部","v":"搞笑"},{"n":"搞笑配音","v":"搞笑配音"},{"n":"搞笑电影","v":"搞笑电影"},{"n":"搞笑综艺","v":"搞笑综艺"},{"n":"鬼畜电影","v":"鬼畜电影"},{"n":"搞笑动画","v":"搞笑动画"},{"n":"搞笑番","v":"搞笑番"},{"n":"十万个冷笑话","v":"十万个冷笑话"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],
"儿童":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"tid","name":"分类","value":[{"n":"全部","v":"儿童"},{"n":"教育","v":"儿童早教"},{"n":"歌曲","v":"贝瓦儿歌"},{"n":"舞蹈","v":"儿童舞蹈"},{"n":"成语故事","v":"儿童成语故事"},{"n":"安全教育","v":"儿童安全教育"},{"n":"睡前故事","v":"儿童睡前故事"},{"n":"贝乐虎","v":"贝乐虎"},{"n":"宝宝巴士","v":"宝宝巴士"},{"n":"儿童好声音","v":"儿童好声音"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],
"纪录片超清":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],
"太极拳":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"tid","name":"分类","value":[{"n":"全部","v":"太极拳"},{"n":"邱慧芳","v":"太极拳邱慧芳"},{"n":"陈氏","v":"太极拳陈氏"},{"n":"武当","v":"太极拳武当"},{"n":"二十四式","v":"太极拳二十四式"},{"n":"三十六式","v":"太极拳三十六式"},{"n":"五禽戏","v":"五禽戏"},{"n":"八段锦","v":"八段锦"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],
"综艺大全":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"tid","name":"分类","value":[{"n":"全部","v":"综艺汇聚"},{"n":"诗词大会","v":"诗词大会"},{"n":"典籍里的中国","v":"典籍里的中国"},{"n":"我是歌手","v":"我是歌手"},{"n":"中国梦想秀","v":"中国梦想秀"},{"n":"非诚勿扰","v":"非诚勿扰"},{"n":"王牌对王牌","v":"王牌对王牌"},{"n":"极限挑战","v":"极限挑战"},{"n":"中国好声音","v":"中国好声音"},{"n":"中国新声代","v":"中国新声代"},{"n":"军情直播间","v":"军情直播间"},{"n":"军情观察室","v":"军情观察室"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],
"广场舞":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],
"白噪音超清":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"tid","name":"分类","value":[{"n":"全部","v":"白噪音4K"},{"n":"窗白噪音","v":"窗白噪音4K"},{"n":"环境白噪音","v":"环境白噪音4K"},{"n":"自然白噪音","v":"自然白噪音4K"},{"n":"助眠白噪音","v":"助眠白噪音4K"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],
"软件教程":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"tid","name":"分类","value":[{"n":"全部","v":"软件教程"},{"n":"Windows","v":"Windows"},{"n":"MT管理器","v":"MT管理器"},{"n":"NP管理器","v":"NP管理器"},{"n":"mixplorer","v":"mixplorer"},{"n":"脱壳","v":"脱壳"},{"n":"爬虫","v":"爬虫"},{"n":"json&jar","v":"json&jar"},{"n":"网盘挂载","v":"网盘挂载"},{"n":"alist+WebDav","v":"alist+WebDav"},{"n":"TVBox","v":"TVBox"},{"n":"EXCEL","v":"EXCEL教程"},{"n":"Git入门到精通","v":"Git入门到精通"},{"n":"java","v":"java教程"},{"n":"phyton","v":"phyton教程"},{"n":"xml","v":"xml教程"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],
"动物世界超清":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"tid","name":"分类","value":[{"n":"全部","v":"地球自然"},{"n":"熊猫","v":"国宝熊猫"},{"n":"大自然","v":"大自然"},{"n":"地球自然","v":"地球自然"},{"n":"宇宙探索","v":"宇宙探索"},{"n":"探索发现","v":"探索发现"},{"n":"动物世界","v":"动物世界超清"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],
"相声小品":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"tid","name":"分类","value":[{"n":"全部","v":"相声小品"},{"n":"C陈佩斯","v":"陈佩斯小品4K"},{"n":"C春晚小品","v":"春晚小品4K"},{"n":"C曹云金","v":"曹云金相声4K"},{"n":"D单口相声","v":"单口相声4K"},{"n":"D德云社","v":"德云社小品4K"},{"n":"E二人转","v":"二人转4K"},{"n":"F冯巩","v":"冯巩小品4K"},{"n":"G郭德纲","v":"郭德纲相声4K"},{"n":"G郭冬临","v":"郭冬临小品4K"},{"n":"G郭达","v":"郭达小品4K"},{"n":"K开心麻花","v":"开心麻花小品4K"},{"n":"P评书","v":"评书4K"},{"n":"P潘长江","v":"潘长江小品4K"},{"n":"Q青曲社","v":"青曲社相声4K"},{"n":"Q群口相声","v":"群口相声4K"},{"n":"S宋小宝","v":"宋小宝小品4K"},{"n":"W文松","v":"文松小品4K"},{"n":"X小曲","v":"小曲相声4K"},{"n":"X喜剧综艺","v":"喜剧综艺4K"},{"n":"Y严顺开","v":"严顺开小品4K"},{"n":"Y岳云鹏","v":"岳云鹏相声小品4K"},{"n":"Z赵本山","v":"赵本山小品4K"},{"n":"Z赵丽蓉","v":"赵丽蓉小品4K"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],
"旅行探险":[{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]},{"key":"tid","name":"分类","value":[{"n":"全部","v":"旅行探险"},{"n":"摩旅","v":"摩托车旅游"},{"n":"骑行","v":"骑行旅游"},{"n":"徒步旅游","v":"徒步旅游"},{"n":"自驾旅游","v":"自驾旅游"},{"n":"洞穴探险","v":"洞穴探险"},{"n":"荒野求生","v":"荒野求生"},{"n":"凶宅探险","v":"凶宅探险"},{"n":"灵异探险","v":"灵异探险"},{"n":"户外攀岩","v":"户外攀岩"},{"n":"高空攀爬","v":"高空攀爬"},{"n":"潜水探险","v":"潜水探险"},{"n":"翼装飞行","v":"翼装飞行"},{"n":"极限运动","v":"极限运动"},{"n":"速降","v":"速降"},{"n":"高空跑酷","v":"高空跑酷"},{"n":"冲浪","v":"冲浪"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}]
}
}
File diff suppressed because it is too large. Load diff
+1952 -1782
View File
File diff suppressed because it is too large. Load diff
BIN
View File
Binary file not shown.
+1 -88
View File
@@ -23,7 +23,7 @@
},
{
"key": "config",
"name": "🚀辅助┃配置┃网盘",
"name": "🚀辅助┃配置┃中心",
"type": 3,
"api": "csp_Config",
"jar": "./jars/config.jar",
@@ -216,38 +216,6 @@
"type": 3,
"api": "csp_Jpys"
},
{
"key": "AppGG",
"name": "🌙柳月┃蓝光┃无广",
"type": 3,
"api": "csp_AppGetApp",
"jar": "./jars/config.jar",
"searchable": 1,
"quickSearch": 0,
"filterable": 0,
"ext": "w7TCmsK8w5rDrcKYwoPCmcKkw57CmsK0wpnCoVpcUFfDjMOcw67DnsOPwqXCnFdqwpnCmsOiw63DrsKjal9fwqrCpMKrwqfCq2tgXmHCssKrwqjCrcKqbWFhYcKpwqLDm8Opw6NhwqDCmMKgwqDCn8KawqDDg8KhwpnCpMKHw6jDpcOewqDCtFNXwpnCnsOiw6fDkMKqwqtsV1xQwqDDp8Ojw6nCoW1QV8KL5Ye+6YWb5pCf5ZGcwqblhp/kvYflkKdq5b+q6Ki56La+5ryJ562TwpBXXFDCoMK0w5/DrMOFwpjCqVdqwpnCmsObw6zDocKWwqjCmMKaw6TDp8OtwqrCrGdlZ2PCoMKfwprCoMK7wpjCo3nCpsKgwq3CmsKgw5vCpsKXwpPCqMOhw53DpcOtw61kYmRlwrDCpsKhwqXCmlrCmMKVwpHDncOYw6zDrMKhbVDCq1fDrsOmw5/Dq8KnwpTCl8KVwp7DrcKawrTCmcKhwoDCn8KqwpnDpcOfw5vCqMKvYWBQWMOQw5zDqMOdw6nCqsKjUH7DjcKTwqvCqcKoY2tQwofDosOhwrDCrcK1U8KoZmTCosKTwrvDqcOqwp/ClcKHwpXDm8K+w6PDrcKpaGNnXsKswqnCmsKhw4V7woR9fMKlwpPDpsOiw6XCmFB3wpXDnMOew6nCosKadsKYwqLCn8Omw5jCqcKqwqtlXmBewqnCocKqwpnDjcKUwpbCkcKiw6LCosKvwqzCsWFjZlfCpcKTwqHDmsOmwp/Cn8Knc8Orw6LDrcOsw4rCpcKfwqTCn8Ocw6LDpsOLw5/Cl8KZwqLClcOcw6fDrcKgwrRTwoTCosKlw57DsMKmwpnCoXXCkcKewpvDh8OUw7DCoMK0U1fnnKTmk53CoMKfwprCoMOewpjCk8KiwqnDqcOnw4XDnsOzWmpQV8Oww6jDs8OiwrBpZlfCrQ=="
},
{
"key": "nm",
"name": "🌼农民┃蓝光┃纯净",
"type": 3,
"api": "csp_WebNM",
"jar": "./jars/config.jar",
"searchable": 1,
"quickSearch": 0,
"filterable": 0,
"ext": "w7TCmsONw6LDrsKYwoXCosKcwqDCrcKawqDDosKnwqTCoMKjwrPCosKpw7DDscKawqpewpPDp8KawqbCmcKhwqfCmcKgV8KzwpPCocOU5Ye/6YSb5o+V5ZCTXOWHpeS+iuWRscKz5b+r6Ke56LW05ruA56yJw5bCmsKmwpnCocKXwpXCk8Kiw7LDo8Ouw4TDn8KsV2pQwqDDqsOvw7LDo2lmZlfDtg=="
},
{
"key": "rbj",
"name": "🔥热剧┃蓝光┃无广",
"type": 3,
"api": "csp_AppRJ",
"jar": "./jars/config.jar",
"searchable": 1,
"quickSearch": 0,
"filterable": 0
},
{
"key": "nk",
"name": "🫣耐看┃蓝光┃无广",
@@ -258,27 +226,6 @@
"changeable": 0,
"ext": "w7TCmsONw6LDrsKYwoXCosKcwqDCrcKawqDDosKnwqTCoMKjwrPCosKpw7DDscKqXsKewpvDncOpw57Cp8OnwphXXFDCoMOnw6PDqcKhbVBXwovlh77phZvmkJ/lkZzCpuWGn+S9h+WQp2rlv6roqLnotr7mvInnrZPCkFdcUMKgw5fDn8Ocw6zCrMKgwqR7w57DrMKhwrPCmlrCp8KlwqnDosKpwrDCr8KhwrA="
},
{
"key": "lk",
"name": "🫣来看┃蓝光┃无广",
"type": 3,
"api": "csp_WebLK",
"jar": "./jars/config.jar",
"searchable": 0,
"changeable": 0,
"ext": "w7TCmsONw6LDrsKYwoXCosKcwqDCrcKawqDDosKnwqTCoMKjwrPCosKpw6XDpcKpwp/ClF7DpsOYwqHCpcKaWsKkwpnCoMKgwq3CmsKgw5XlhrjphJjmj5XlkJPCpeWHn+S+keWRsMK05b6k6Ke26LW05ruA562Sw5DCocKlwppawpTClcKTw6vDrMOqw63DhcKYwqlXasKZwprDscOuw7PCnGZmZsKgw7A="
},
{
"key": "AppHD",
"name": "🤞一起┃蓝光┃无广",
"type": 3,
"api": "csp_AppFree4K",
"jar": "./jars/config.jar",
"searchable": 1,
"quickSearch": 0,
"filterable": 0,
"ext": "w7TCmsONw6LDrsKYwoXCosKcwqDCrcKawqDDosKnwqTCoMKjwrPCosKpw5rDqsKjwpPCncKjwqfDmcOsw57Dn8KbwpRewqbDosOjwqHCpcKaWnvClcKpwqDCrcKawqDDnMKYZWNkwrHDl8Ogw5vCqsKWY8KTYsKxwqbCocKlwppaecKmV8KzwpPCocKuw6BoZGRpw53Dl8Krwq3CrWRjYmHCsMKawqbCmcKhdcKRwp7Cm8OHw5TDsMKgwrRTV+ecpOaTncKgwp/CmsKgw4rClMKiwqPClcOOw6XDpsKgwrRTV8KYwqTDrcOjw63Cs8KpYsKRwqDCoMOvwqTCqMOfw6zCmMKVwpjClMKnw6nDo8OpwqnCncKjwp/CnsKnw6PDosOpwrnCqMKiwpxtwqDCn8KawqDCvsKUwp59wqXDjsOlw6bCoMK0U1fCmMKkw63Do8OtwrPCqWLClMKdXsOvw5zDnsOzwqjClMKjwpnCkcKow5fDp8Okw69ib8KRwpPCtsOXw6fCn8OuwqLCm8KVwp7CtsOEw4PDhcK8dnh6dsOMwr/DkcOPw4B4e8KCVsOuw6XDpsK2wqFfUFfClMOew5bDrMOyw6rCp3vClcKpwqDCrcKawqDDscKowqnCmWbCr8KpwqHDtg=="
},
{
"key": "guazi",
"name": "🍉瓜子┃网页┃无广",
@@ -289,40 +236,6 @@
"quickSearch": 0,
"filterable": 0
},
{
"key": "Appyouyou",
"name": "☁️悠悠┃蓝光┃无广",
"type": 3,
"api": "csp_AppGetApp",
"jar": "./jars/config.jar",
"searchable": 1,
"quickSearch": 0,
"filterable": 0,
"ext": "w7TCmsK8w5rDrcKYwoPCmcKkw57CmsK0wpnCoVpcUFfDgsOhw6PDrcORwqLCosKUV8KzwpPCocOiw6jCnMKkwoZhwqrCrMKhwqXCmlrCpMKZwqDCoMKtwprCoMOV5Ya46YSY5o+V5ZCTwqXlh5/kvpHlkbDCtOW+pOintui1tOa7gOetksOQwqHCpcKaWnHClcKjw4TDmMOzwqDCtFNXdMKow7DCvMOtw63DrMKXwofCksKJw6nDlcOmw7DDqFpcUFfCusOYw63DgsOwWmpQV8K9w6vDscOCw63Cp8KiwpTCh8Obw4zDqsObw6bCqsKeV1zCmcKaw43DosOuwpjChcKiwpzCoMKtwprCoMOiwqfCpMKgasKowqLCq8KuwrBhYmJlwqfCpsKqwqfCsGhqZWXCr8KpwqnDmsOqwpxewqDCmMOpwprCpsKZwqF1wpHCnsKbw4fDlMOwwqDCtFNX55yk5pOdwqDCn8KawqDDnsKYwpPCosKpw6nDp8OFw57Ds1pqUFfDsMOow7PDosKwaWZXwq0="
},
{
"key": "AppYunD",
"name": "📻️云播┃蓝光┃无广",
"type": 3,
"api": "csp_AppGetApp",
"jar": "./jars/config.jar",
"searchable": 1,
"quickSearch": 0,
"filterable": 0,
"ext": "w7TCmsK8w5rDrcKYwoPCmcKkw57CmsK0wpnCocKbwqTCpMKgw6zCrcKpwqjDs8KXwqnCo8KUw7LDocObw6bDo8KWwpTCn8Kdw5rDnMOow6fDm8KgwpVeZsKxwqHDocOywrRkYGZnwrHCosOdwrLDp2XCmsKjYsKywqvDssKxwqzCm2ZfwpzCssOgwrLDm8OyZWPCmmLDqMKlw6rCssOrYsKUwqnCnsOaw6DDo8Ocw57CosKdwpHCmcOnw6HDm8Omw59hwqTCqMKkwqDCn8KawqDDjcKcwqTClcKFw6vDn8KhwrPCmlpXXFDCoMK8w6jDosOuworCn8KiwpTCoMKtwprCoMOjwqHCmcKkwobCqsKkwrPCoMKmU1fCpMKZw6nCmsK0wpnCocKO5Ya16YSY5o+V5ZGcwp/lh6bkvpDlkbFt5b6h6Ke26LW05ryJ562Mw5fCoMKmU1dxwpXDrMK+w5/DssKhbVBXwpvCssOiwq3DqcKswpZowpJnw6bCpsO0wqnDqWtXXFDCoMK0w5/DrMODwqlXalDCoMOewrPDqMKtwqNiwpNow5vCqsOnwqzDtGPCn2hXwqXCk8Khw53Dn8KWwqLCqcKgw63CvsOfw7LCoW1QV8Knw67DrMOjwq/CsGlXwq0="
},
{
"key": "cz",
"name": "🏭️厂长┃蓝光┃无广",
"type": 3,
"api": "csp_WebCzApp",
"jar": "./jars/config.jar",
"searchable": 0,
"quickSearch": 0,
"filterable": 0,
"timeout": 30,
"ext": "w7TCmsONw6LDrsKYwoXCosKcwqDCrcKawqDDscKqwqdewpPDs8KjwqvCp8OwwpzCoFdcwpnCmsONw57Dm8KlwpPCmMKFw6vDn8KhwrPCmlrCmMKkwqTDqcOmwrTCqMKpwpbCqsKqwqnCp8Onw6nDqcKpwpfCkcKfwqnDqMOhw6HDo8OjwpjCm8KfwqPDocOcw5zDrsOtwpvCmcKpwp/DrsOVw6PDp8OhWlxQV8OMw5zDrsOew4/CpcKccsKRw6TCmsK0wpnCocKbwqTCpMKgw6zCrcKpwqjDscKqwqdewpPDs8Otw7PDr8OjwpfClcKfXsOcw6LDp8KgwqZTV8KkwpnDqcKawrTCmcKhwo7lhrXphJjmj5XlkZzCn+WHpuS+kOWRsW3lvqHop7botbTmvInnrYzDl8KgwqZTV8KUwpXDnMOlw7PDqcOufsKVwqlXwrPCk8Khw7DDr8KswplmZsKvwprDtw=="
},
{
"key": "贱贱",
"name": "🐭荐片┃速览┃纯净",
Binary file not shown.
Binary file not shown.
+228 -12
View File
@@ -4,9 +4,9 @@
"spider": "./spider.jar",
"lives": [
{
"name": "【公众号欧歌APP网络收集】如有收费,直接找退款",
"name": "【公众号欧歌APP】测试完请删除,请勿贩卖",
"type": 0,
"url": "./lives/【公众号欧歌APP网络收集】如有收费,直接找退款.txt",
"url": "./lives/【公众号欧歌APP】测试完请删除,请勿贩卖.txt",
"epg": "http://cdn.1678520.xyz/epg/?ch={name}&date={date}"
},
{
@@ -31,20 +31,20 @@
"sites": [
{
"key": "豆瓣2",
"name": "📢【公众号欧歌APP网络收集】如有收费,直接找退款",
"name": "📢【公众号欧歌APP】测试完请删除,请勿贩卖",
"type": 3,
"api": "csp_Douban",
"searchable": 0
},
{
"key": "豆瓣1",
"name": "📢【公众号欧歌APP网络收集】如有收费,直接找退款公告❤更新:4/10❤",
"name": "📢【公众号欧歌APP】测试完请删除,请勿贩卖公告❤更新:4/14❤",
"type": 3,
"api": "csp_Notice",
"searchable": 0,
"changeable": 0,
"jar": "./jars/豆瓣1.jar",
"ext": "https://欧歌.yy.nxog.top/公告.php?b=【公众号欧歌APP网络收集】如有收费,直接找退款"
"ext": "https://xn--dkw0c.v.nxog.top/m//公告.php?b=【公众号欧歌APP】测试完请删除,请勿贩卖"
},
{
"key": "config",
@@ -68,19 +68,43 @@
}
},
{
"key": "csp_Netfixtv",
"key": "csp_woog",
"name": "🐲玩欧|4K弹幕",
"type": 3,
"changeable": "0",
"api": "csp_DuopanGuard",
"filterable": 1,
"jar": "./jars/csp_Netfixtv.jar",
"jar": "./jars/csp_woog.jar",
"ext": {
"site_urls": [
"https://woog.nxog.eu.org",
"https://woog.xn--dkw.xn--6qq986b3xl"
],
"url_key": "Netfixtv"
"url_key": "woog",
"threadinfo": {
"chunksize": 400,
"threads": 10
}
}
},
{
"key": "csp_woog2",
"name": "🐲玩欧|非会员4K",
"type": 3,
"changeable": "0",
"api": "csp_DuopanGuard",
"filterable": 1,
"jar": "./jars/csp_woog.jar",
"ext": {
"site_urls": [
"https://woog.xn--dkw.xn--6qq986b3xl",
"https://woog.nxog.eu.org"
],
"url_key": "woog2",
"threadinfo": {
"chunksize": 400,
"threads": 60
}
}
},
{
@@ -102,6 +126,14 @@
"playerType": 1,
"ext": "http://api2.rinhome.com"
},
{
"key": "巧技",
"name": "💡巧巧|影视",
"type": 3,
"api": "csp_qiao2",
"playerType": 2,
"ext": "./txt/cksp.txt"
},
{
"key": "移动",
"name": "💡移动|影视",
@@ -393,7 +425,9 @@
"searchable": 1,
"quickSearch": 1,
"filterable": 0,
"ext": "sHR2rlsfjI4L3t4RXQMkn9mmg6Ofmy66+wcs9waIyn4hKqT9jG9s4kO6qzcu2OSqWS1/T+wfkqe+UwoipekwvcM11PTDrQqKYI8lmMXUc1vBHxp/2uWIw5HUoscBNWEb"
"ext": {
"url": "http://v.rbotv.cn"
}
},
{
"key": "天天影视",
@@ -403,7 +437,9 @@
"searchable": 1,
"quickSearch": 1,
"filterable": 0,
"ext": "sHR2rlsfjI4L3t4RXQMknxhunFUlA4159TKiKvIPpfcM1xianxebcSLajBbwFymqC+z9WoGzQYbh7FSvh8KdiC0BKF0CalaPaCEMOZm+ClGEeNzXAaR0FnrV04SiB2NK"
"ext": {
"url": "http://tt.ysdqjs.cn"
}
},
{
"key": "浪酷影视",
@@ -413,7 +449,9 @@
"searchable": 1,
"quickSearch": 1,
"filterable": 0,
"ext": "sHR2rlsfjI4L3t4RXQMkn9NPgTvCXvJVoUvXJHT6PqBNTg88Q5I4mc95m2RizprWhdAIQNMU/HShly4WRNzUsfhvqzHXHhHD57G7QagNV0Cx+WDSBgm0uZMAbZVHmzjM"
"ext": {
"url": "http://v.lkuys.cn"
}
},
{
"key": "菲儿影视",
@@ -995,6 +1033,184 @@
"ratio": 1.433
}
},
{
"key": "木偶",
"name": "❤木偶|4K弹幕",
"type": 3,
"api": "csp_PanWebShare",
"searchable": 1,
"quickSearch": 1,
"filterable": 1,
"ext": "./json/mogg.json?"
},
{
"key": "蜡笔",
"name": "❤蜡笔|4K弹幕",
"type": 3,
"api": "csp_PanWebShare",
"searchable": 1,
"quickSearch": 1,
"filterable": 1,
"changeable": 1,
"ext": "./json/lb.json?"
},
{
"key": "小米",
"name": "❤小米|4K弹幕",
"type": 3,
"api": "csp_PanWebShare",
"searchable": 1,
"quickSearch": 1,
"filterable": 1,
"changeable": 1,
"ext": "./json/xm.json?"
},
{
"key": "至臻",
"name": "❤至臻|4K弹幕",
"type": 3,
"api": "csp_PanWebShare",
"searchable": 1,
"quickSearch": 1,
"filterable": 1,
"changeable": 1,
"ext": "./json/zz.json?"
},
{
"key": "多多",
"name": "❤多多|4K弹幕",
"type": 3,
"api": "csp_PanWebShare",
"searchable": 1,
"quickSearch": 1,
"filterable": 1,
"changeable": 1,
"ext": "./json/yyds.json?"
},
{
"key": "二小",
"name": "❤二小|4K弹幕",
"type": 3,
"api": "csp_PanWebShare",
"searchable": 1,
"quickSearch": 1,
"filterable": 1,
"changeable": 1,
"ext": "./json/ex.json?"
},
{
"key": "概念",
"name": "❤海绵|4K",
"type": 3,
"api": "csp_PanWebShareCloudHM",
"searchable": 1,
"quickSearch": 1,
"filterable": 1,
"changeable": 1,
"style": {
"type": "rect",
"ratio": 1.433
},
"ext": "./json/hm.json?"
},
{
"key": "Pan1",
"name": "❤Pan1|4K",
"type": 3,
"api": "csp_PanWebShareCloudHM",
"searchable": 1,
"quickSearch": 1,
"filterable": 1,
"changeable": 1,
"style": {
"type": "rect",
"ratio": 1.433
},
"ext": "./json/pan1.json?"
},
{
"key": "趣盘",
"name": "❤趣盘|4K",
"type": 3,
"api": "csp_PanWebQu",
"searchable": 1,
"quickSearch": 1,
"filterable": 1,
"style": {
"type": "list",
"ratio": 1.433
},
"ext": "w7TCmsONw6LDrsKYwoXCosKcwqDCrcKawqDDosKnwqTCoMKjwrPCosKpw7DDscKqXsKhwqXDqcOUw6jDrMOiwphewpPCn8OmwprCpsKZwqHCp8KZwqBXwrPCk8Khw5Tlh7/phJvmj5XlkJNc5Yel5L6K5ZGxwrPlv6vop7notbTmu4DnrInDlsKawqbCmcKhwpfClcKTwqLDssOjw67DhMOfwqxXalDCoMOqw6/DssOjaWZmV8O2"
},
{
"key": "聚搜",
"name": "❤聚搜|4K",
"type": 3,
"api": "csp_PanWebSearch",
"searchable": 1,
"quickSearch": 1,
"filterable": 1,
"style": {
"type": "list",
"ratio": 1.433
},
"ext": "./json/aliyunpansearch.json"
},
{
"key": "阿里云盘",
"name": "❤我的|阿里",
"type": 3,
"api": "csp_PanAli",
"searchable": 0,
"filterable": 0,
"changeable": 0,
"style": {
"type": "list",
"ratio": 1.433
},
"ext": "./json/aliShare.json"
},
{
"key": "夸克云盘",
"name": "❤我的|夸克",
"type": 3,
"api": "csp_PanQuark",
"searchable": 0,
"filterable": 0,
"changeable": 0,
"style": {
"type": "list",
"ratio": 1.433
},
"ext": "./json/quarkShare.json"
},
{
"key": "UC",
"name": "❤我的|UC",
"type": 3,
"api": "csp_PanUc",
"searchable": 0,
"filterable": 0,
"changeable": 0,
"style": {
"type": "list",
"ratio": 1.433
},
"ext": "./json/ucShare.json"
},
{
"key": "百度云盘",
"name": "❤我的|百度",
"type": 3,
"api": "csp_PanBaiDu",
"searchable": 0,
"filterable": 0,
"changeable": 0,
"style": {
"type": "list",
"ratio": 1.433
}
},
{
"key": "push_agent",
"name": "📢手机|推送",
@@ -1018,7 +1234,7 @@
"api": "csp_Market",
"searchable": 0,
"changeable": 0,
"ext": "http://123.yy.xn--dkw.xn--6qq986b3xl/sd.php"
"ext": "http://123.yy.xn--dkw.xn--6qq986b3xl/zm/sd.php"
},
{
"key": "豆瓣3",
File renamed without changes.
+199
View File
@@ -0,0 +1,199 @@
{
"classes": [
{
"type_name": "电影",
"type_id": "dy"
},
{
"type_name": "电视",
"type_id": "ds"
},
{
"type_name": "短剧",
"type_id": "dj"
},
{
"type_name": "综艺",
"type_id": "zy"
},
{
"type_name": "动漫",
"type_id": "dm"
},
{
"type_name": "音乐",
"type_id": "yy"
}
],
"filters": {
"dy": [
{
"key": "root",
"name": "来源",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "夸克",
"v": "2"
},
{
"n": "UC",
"v": "5"
},
{
"n": "阿里",
"v": "1"
},
{
"n": "百度",
"v": "4"
}
]
}
],
"ds": [
{
"key": "root",
"name": "来源",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "夸克",
"v": "2"
},
{
"n": "UC",
"v": "5"
},
{
"n": "阿里",
"v": "1"
},
{
"n": "百度",
"v": "4"
}
]
}
],
"dj": [
{
"key": "root",
"name": "来源",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "夸克",
"v": "2"
},
{
"n": "UC",
"v": "5"
},
{
"n": "阿里",
"v": "1"
},
{
"n": "百度",
"v": "4"
}
]
}
],
"zy": [
{
"key": "root",
"name": "来源",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "夸克",
"v": "2"
},
{
"n": "UC",
"v": "5"
},
{
"n": "阿里",
"v": "1"
},
{
"n": "百度",
"v": "4"
}
]
}
],
"dm": [
{
"key": "root",
"name": "来源",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "夸克",
"v": "2"
},
{
"n": "UC",
"v": "5"
},
{
"n": "阿里",
"v": "1"
},
{
"n": "百度",
"v": "4"
}
]
}
],
"yy": [
{
"key": "root",
"name": "来源",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "夸克",
"v": "2"
},
{
"n": "UC",
"v": "5"
},
{
"n": "阿里",
"v": "1"
},
{
"n": "百度",
"v": "4"
}
]
}
]
},
"siteUrl": "https://ysapi.yingso.fun/v7/ali/all"
}
+1461
View File
File diff suppressed because it is too large. Load diff
+22
View File
@@ -0,0 +1,22 @@
{
"SiteUrl": "https://www.hmxz.org",
"Classes": [
{
"type_name": "电影",
"type_id": "1"
},
{
"type_name": "剧集",
"type_id": "2"
},
{
"type_name": "综艺",
"type_id": "5"
},
{
"type_name": "动漫",
"type_id": "3"
}
],
"Cookie": "bbs_sid=ducbgilqu67ff2oirbbh9aq7ol;bbs_token=KLC2C9dxzxxpvoGd4vV8VKgN_2FM1Fbe_2B_2BLShggfWjEmh1kmEA"
}
+1667
View File
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+26
View File
@@ -0,0 +1,26 @@
{
"SiteUrl": "https://pan1.me",
"Classes": [
{
"type_name": "电影",
"type_id": "2"
},
{
"type_name": "剧集",
"type_id": "48"
},
{
"type_name": "4K原盘",
"type_id": "56"
},
{
"type_name": "综艺",
"type_id": "52"
},
{
"type_name": "动漫",
"type_id": "37"
}
],
"Cookie": "bbs_sid=rrru52bda4v655kl9u1c87f00m; bbs_token=dZRAvHbHcUZkuJ7oHALqWoUs00C1fGqqXDXH7I8LH6hMddXP"
}
+1457
View File
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+1703
View File
File diff suppressed because it is too large. Load diff
+1002 -662
View File
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
BIN
View File
Binary file not shown.
+1
View File
@@ -0,0 +1 @@
aMpWZFkXFecm4hhqZ9yfzBd24WjHV7lEq0TzPXvh8brK9+zi6x5XIpulpwecy92meWuHIvZTeo5jkTch1cNoIHlBErZixB1hzpJ1I6ptPQgHxp+ZCoBpPPZ6UB/jpMssKHVA4QVqXt+zl01X/XSB1VCx0Bml5xCczSFbKCe2MEn0ucTkQtUs9f4dUYprXoFJCfGEIjUF1yOWCKQwUjTYWzMBoj7uWaxEcWfXnnvGvO0BhmEStZ4HOkEVKG7WeLB3Jw11tb61vHpyvDXduNSjYcRNxr8EO9YIgDQsWn4lTgqILnClSUFmjufNkI3IluT1qctR4IVWJPQ7Y7ANQ9kxKMIli2xJmwILFqIsK7kqKOXc3nezbMCS0I+epES9fHMPpczsQPcBfpQT1o485uRClN+dM83gcAn9z90ucIQOKUBbkfmQ+WnvKyApUyFe3aFBkTYj+rFSp1bleilRDoa+yIY05cpDyItqqccy8GBk+dgQ755CMY/VKN9vLlxdoUJMCWZB1FR8VhnW7RpbYc08DOpNChGqKJ6Cwy1qVM/jt61WR2x1VaKreS59j1IMuxDuEBdhlmt+QLsbSWD7blw0ji9AFHAZu3M31oN5D2feEgKZ5oPAiWjpKw7knBA/raonihUn1oE+0e1ILzgrm3uLwb0hpd6xeeRv0vYW2FDCoe3A=
Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

+6 -6
View File
@@ -112,20 +112,20 @@ class Spider(Spider):
def playerContent(self, flag, id, vipFlags):
ids = json.loads(self.d64(id))
h = {"User-Agent": (ids['user_agent'] or "okhttp/3.14.9")}
url = ids['url']
p=1
try:
if re.search(r'\?url=', ids['parse_api_url']):
if re.search(r'url=', ids['parse_api_url']):
data = self.fetch(ids['parse_api_url'], headers=h, timeout=10).json()
url = data.get('url') or data['data'].get('url')
elif not re.search(r'\.m3u8|\.mp4', ids.get('url')):
body = f"parse_api={ids.get('parse') or ids['parse_api_url'].replace(ids['url'], '')}&url={quote(self.aes('encrypt', ids['url']))}&token={ids.get('token')}"
else:
body = f"parse_api={ids.get('parse') or ids['parse_api_url'].replace(ids['url'], '')}&url={quote(self.aes(ids['url'], True))}&token={ids.get('token')}"
b = self.getdata("/api.php/getappapi.index/vodParse", body)['json']
url = json.loads(b)['url']
if 'error' in url: raise ValueError(f"解析失败: {url}")
p = 0
except Exception as e:
print('错误信息:', e)
pass
url, p = ids['url'], 1
if re.search(r'\.jpg|\.png|\.jpeg', url):
url = self.Mproxy(url)
result = {}
-81
View File
@@ -1,81 +0,0 @@
{
"规则名": "七新影视",
"规则作者": "",
"请求头参数": "手机",
"网页编码格式": "UTF-8",
"图片是否需要代理": "0",
"是否开启获取首页数据": "1",
"首页推荐链接": "http://www.7xdy.com",
"首页列表数组规则": "body&&.stui-vodlist:has(h4)",
"首页片单列表数组规则": "li",
"首页片单是否Jsoup写法": "1",
"分类起始页码": "1",
"分类链接": "http://www.7xdy.com/{cateId}/index{catePg}.html[firstPage=http://www.7xdy.com/{cateId}/index.html]",
"分类名称": "电影&电视剧&综艺&动漫",
"分类名称替换词": "dianyingpian&dianshiju&zongyi&dongman",
//"筛选数据": {},
"筛选数据": "ext",
//{cateId}
"筛选子分类名称": "动作片&爱情片&科幻片&恐怖片&战争片&喜剧片&一直播&剧情片||国产剧&港台剧&欧美剧&日韩剧",
"筛选子分类替换词": "dongzuopian&aiqingpian&kehuanpian&kongbupian&zhanzhengpian&xijupian&jilupian&juqingpian||guocanju&gangtaiju&oumeiju&rihanju",
//{class}
"筛选类型名称": "",
"筛选类型替换词": "*",
//{area}
"筛选地区名称": "",
"筛选地区替换词": "*",
//{year}
"筛选年份名称": "",
"筛选年份替换词": "*",
//{lang}
"筛选语言名称": "",
"筛选语言替换词": "*",
//{by}
"筛选排序名称": "时间&人气&评分",
"筛选排序替换词": "time&hits&score",
"分类截取模式": "1",
"分类列表数组规则": ".stui-vodlist&&li",
"分类片单是否Jsoup写法": "1",
"分类片单标题": "h4&&a&&Text",
"分类片单链接": "h4&&a&&href",
"分类片单图片": ".lazyload&&data-original",
"分类片单副标题": ".pic-text&&Text",
"分类片单链接加前缀": "http://www.7xdy.com",
"分类片单链接加后缀": "",
"搜索请求头参数": "User-Agent$手机",
"搜索链接": "http://www.7xdy.com/search.php?page=1&searchword={wd}&searchtype=",
"POST请求数据": "searchword={wd}",
"搜索截取模式": "1",
"搜索列表数组规则": ".stui-vodlist__media&&li",
"搜索片单是否Jsoup写法": "1",
"搜索片单图片": ".lazyload&&data-original",
"搜索片单标题": "h3&&a&&Text",
"搜索片单链接": "h3&&a&&href",
"搜索片单副标题": ".pic-text&&Text",
"搜索片单链接加前缀": "http://www.7xdy.com",
"搜索片单链接加后缀": "",
"链接是否直接播放": "0",
"直接播放链接加前缀": "",
"直接播放链接加后缀": "",
"直接播放直链视频请求头": "",
"详情是否Jsoup写法": "0",
"类型详情": "类型:</span>&&</a>",
"年代详情": "年份:</span>&&</a>",
"地区详情": "地区:</span>&&</a>",
"演员详情": "主演:</span>&&</p>",
"简介详情": "简介:</span>&&</p>",
"线路列表数组规则": "body&&#playlist",
"线路标题": "h3&&Text",
"播放列表数组规则": "body&&.stui-content__playlist",
"选集列表数组规则": "li",
"选集标题链接是否Jsoup写法": "1",
"选集标题": "a&&Text",
"选集链接": "a&&href",
"是否反转选集序列": "1",
"选集链接加前缀": "http://www.7xdy.com",
"选集链接加后缀": "",
"分析MacPlayer": "0",
"是否开启手动嗅探": "1",
"手动嗅探视频链接关键词": ".mp4#.m3u8#.flv#video/tos#pt=m3u8#obj/tos-#video/tos#mime_type=video#x-oss-signature=",
"手动嗅探视频链接过滤词": ".html#=http"
}
+43 -55
View File
@@ -38,7 +38,7 @@
},
{
"key": "热播影视",
"name": "热播|弹幕",
"name": "热播|影视",
"type": 3,
"api": "csp_AppRJ",
"searchable": 1,
@@ -50,7 +50,7 @@
},
{
"key": "天天影视",
"name": "天天|弹幕",
"name": "天天|影视",
"type": 3,
"api": "csp_AppRJ",
"searchable": 1,
@@ -62,7 +62,7 @@
},
{
"key": "浪酷影视",
"name": "浪酷|弹幕",
"name": "浪酷|影视",
"type": 3,
"api": "csp_AppRJ",
"searchable": 1,
@@ -74,11 +74,30 @@
},
{
"key": "菲儿影视",
"name": "菲菲|弹幕",
"name": "菲菲|影视",
"type": 3,
"api": "csp_AppFerr",
"ext": "sHR2rlsfjI4L3t4RXQMkn/M3t4AXAKTrZj3tfhm1t/gMT3dOrHqIzUNqLUEOIDMvllTbX6e1hMhB2mfpOaCmHNOL1yBB3SmxNyqXlai90EIpdnwOOgCR9Z+YwCTj6ySjzJ2VBiH3eXeOGcavcNeVRA=="
},
{
"key": "影探影视",
"name": "影探|影视",
"type": 3,
"api": "csp_AppYsV2",
"searchable": 1,
"quickSearch": 1,
"filterable": 1,
"ext": "http://cmsyt114.lyyytv.cn/api.php/app/"
},
{
"key": "哔哩视频",
"name": "哔哩|视频",
"type": 3,
"api": "./py/哔哩视频.py",
"ext": {
"json": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt"
}
},
{
"key": "腾讯视频",
"name": "腾讯|视频",
@@ -102,7 +121,7 @@
},
{
"key": "爱奇艺",
"name": "爱奇艺|视频",
"name": "爱奇异|视频",
"type": 3,
"api": "./js/drpy2.min.js",
"ext": "./js/爱奇艺.js"
@@ -449,6 +468,19 @@
"filterable": 1,
"ext": "https://cs.hgyx.vip/api2/api.php/app/"
},
{
"key": "金牌影视",
"name": "金牌|影视",
"type": 3,
"api": "./py/金牌影视.py",
"searchable": 1,
"quickSearch": 1,
"filterable": 1,
"playerType": 2,
"ext": {
"site": "https://www.hkybqufgh.com,https://www.sizhengxt.com,https://0996zp.com,https://9zhoukj.com/,https://www.sizhengxt.com,https://www.tjrongze.com,https://www.jiabaide.cn,https://cqzuoer.com"
}
},
{
"key": "猎手影视",
"name": "猎手|APP",
@@ -787,12 +819,6 @@
"playerType": 2,
"ext": "https://shdy5.us"
},
{
"key": "金牌影视",
"name": "金牌|影视",
"type": 3,
"api": "csp_Jpys"
},
{
"key": "尘落影视",
"name": "尘落|影视",
@@ -1030,16 +1056,6 @@
"filterable": 1,
"ext": "./XYQHiker/看看影视.json"
},
{
"key": "七新影视",
"name": "七新|影视",
"type": 3,
"api": "csp_XYQHiker",
"searchable": 1,
"quickSearch": 1,
"filterable": 1,
"ext": "./XYQHiker/七新影视.json"
},
{
"key": "骚火影视",
"name": "骚火|影视",
@@ -1176,40 +1192,6 @@
"欧美动漫"
]
},
{
"key": "快车资源",
"name": "快车|采集",
"type": 1,
"api": "https://caiji.kczyapi.com/api.php/provide/vod/",
"searchable": 1,
"changeable": 1,
"categories": [
"动作片",
"喜剧片",
"爱情片",
"科幻片",
"恐怖片",
"战争片",
"剧情片",
"动画片",
"纪录片",
"国产剧",
"香港剧",
"台湾剧",
"欧美剧",
"韩国剧",
"日本剧",
"泰国剧",
"海外剧",
"国产动漫",
"日本动漫",
"欧美动漫",
"大陆综艺",
"日韩综艺",
"港台综艺",
"欧美综艺"
]
},
{
"key": "索尼资源",
"name": "索尼|采集",
@@ -1691,6 +1673,12 @@
},
"ext": "./json/alist.json"
},
{
"key": "网络直播",
"name": "网络|直播",
"type": 3,
"api": "./py/网络直播.py"
},
{
"key": "88看球",
"name": "88|看球",
+3 -3
View File
@@ -2132,14 +2132,14 @@ var rule = {
parse: 0,
url: bata.url,
jx: 0,
danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0]
danmaku: "https://danmu.zxz.ee/?type=xml&id=" + input.split("?")[0]
};
} else {
input = {
parse: 0,
url: input.split("?")[0],
jx: 1,
danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0]
danmaku: "https://danmu.zxz.ee/?type=xml&id=" + input.split("?")[0]
};
}
} catch {
@@ -2147,7 +2147,7 @@ var rule = {
parse: 0,
url: input.split("?")[0],
jx: 1,
danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0]
danmaku: "https://danmu.zxz.ee/?type=xml&id=" + input.split("?")[0]
};
}
}),
+3 -3
View File
@@ -1354,14 +1354,14 @@ var rule = {
parse: 0,
url: bata.url,
jx: 0,
danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0]
danmaku: "https://danmu.zxz.ee/?type=xml&id=" + input.split("?")[0]
};
} else {
input = {
parse: 0,
url: input.split("?")[0],
jx: 1,
danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0]
danmaku: "https://danmu.zxz.ee/?type=xml&id=" + input.split("?")[0]
};
}
} catch {
@@ -1369,7 +1369,7 @@ var rule = {
parse: 0,
url: input.split("?")[0],
jx: 1,
danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0]
danmaku: "https://danmu.zxz.ee/?type=xml&id=" + input.split("?")[0]
};
}
}),
+3 -3
View File
@@ -670,14 +670,14 @@ var rule = {
parse: 0,
url: bata.url,
jx: 0,
danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0]
danmaku: "https://danmu.zxz.ee/?type=xml&id=" + input.split("?")[0]
};
} else {
input = {
parse: 0,
url: input.split("?")[0],
jx: 1,
danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0]
danmaku: "https://danmu.zxz.ee/?type=xml&id=" + input.split("?")[0]
};
}
} catch {
@@ -685,7 +685,7 @@ var rule = {
parse: 0,
url: input.split("?")[0],
jx: 1,
danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0]
danmaku: "https://danmu.zxz.ee/?type=xml&id=" + input.split("?")[0]
};
}
}),
+3 -3
View File
@@ -679,14 +679,14 @@ var rule = {
parse: 0,
url: bata.url,
jx: 0,
danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0]
danmaku: "https://danmu.zxz.ee/?type=xml&id=" + input.split("?")[0]
};
} else {
input = {
parse: 0,
url: input.split("?")[0],
jx: 1,
danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0]
danmaku: "https://danmu.zxz.ee/?type=xml&id=" + input.split("?")[0]
};
}
} catch {
@@ -694,7 +694,7 @@ var rule = {
parse: 0,
url: input.split("?")[0],
jx: 1,
danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0]
danmaku: "https://danmu.zxz.ee/?type=xml&id=" + input.split("?")[0]
};
}
}),
+1 -1
View File
@@ -1,5 +1,5 @@
{
"SiteUrl": "https://www.leijing1.com",
"SiteUrl": "https://www.leijing.xyz",
"Classes": [
{
"type_name": "电影",
+301
View File
@@ -0,0 +1,301 @@
# -*- coding: utf-8 -*-
# by @嗷呜
import json
import sys
import time
from concurrent.futures import ThreadPoolExecutor, as_completed
from urllib.parse import quote
from Crypto.Hash import MD5
import requests
sys.path.append('..')
from base.spider import Spider
class Spider(Spider):
def init(self, extend=""):
self.session = requests.Session()
self.session.headers.update(self.headers)
self.session.cookies.update(self.cookie)
self.get_ctoken()
pass
def getName(self):
pass
def isVideoFormat(self, url):
pass
def manualVideoCheck(self):
pass
def destroy(self):
pass
host='https://www.youku.com'
shost='https://search.youku.com'
h5host='https://acs.youku.com'
ihost='https://v.youku.com'
headers = {
'User-Agent': 'Mozilla/5.0 (; Windows 10.0.26100.3194_64 ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Electron/14.2.0 Safari/537.36 Node/14.17.0 YoukuDesktop/9.2.60 UOSYouku (2.0.1)-Electron(UTDID ZYmGMAAAACkDAMU8hbiMmYdd;CHANNEL official;ZREAL 0;BTYPE TM2013;BRAND TIMI;BUILDVER 9.2.60.1001)',
'Referer': f'{host}/'
}
cookie={
"__ysuid": "17416134165380iB",
"__aysid": "1741613416541WbD",
"xlly_s": "1",
"isI18n": "false",
"cna": "bNdVIKmmsHgCAXW9W6yrQ1/s",
"__ayft": "1741672162330",
"__arpvid": "1741672162331FBKgrn-1741672162342",
"__ayscnt": "1",
"__aypstp": "1",
"__ayspstp": "3",
"tfstk": "gZbiib4JpG-6DqW-B98_2rwPuFrd1fTXQt3vHEp4YpJIBA3OgrWcwOi90RTOo9XVQ5tAM5NcK_CP6Ep97K2ce1XDc59v3KXAgGFLyzC11ET2n8U8yoyib67M3xL25e8gS8pbyzC1_ET4e8URWTsSnHv2uh8VTeJBgEuN3d-ELQAWuKWV36PHGpJ2uEWVTxvicLX1ewyUXYSekxMf-CxMEqpnoqVvshvP_pABOwvXjL5wKqeulm52np_zpkfCDGW9Ot4uKFIRwZtP7vP9_gfAr3KEpDWXSIfWRay-DHIc_Z-hAzkD1i5Ooi5LZ0O5YO_1mUc476YMI3R6xzucUnRlNe_zemKdm172xMwr2L7CTgIkbvndhFAVh3_YFV9Ng__52U4SQKIdZZjc4diE4EUxlFrfKmiXbBOHeP72v7sAahuTtWm78hRB1yV3tmg9bBOEhWVnq5KwOBL5."
}
def homeContent(self, filter):
result = {}
categories = ["电视剧", "电影", "综艺", "动漫", "少儿", "纪录片", "文化", "亲子", "教育", "搞笑", "生活",
"体育", "音乐", "游戏"]
classes = [{'type_name': category, 'type_id': category} for category in categories]
filters = {}
self.typeid = {}
with ThreadPoolExecutor(max_workers=len(categories)) as executor:
tasks = {
executor.submit(self.cf, {'type': category}, True): category
for category in categories
}
for future in as_completed(tasks):
try:
category = tasks[future]
session, ft = future.result()
filters[category] = ft
self.typeid[category] = session
except Exception as e:
print(f"处理分类 {tasks[future]} 时出错: {str(e)}")
result['class'] = classes
result['filters'] = filters
return result
def homeVideoContent(self):
try:
vlist = []
params={"ms_codes":"2019061000","params":"{\"debug\":0,\"gray\":0,\"pageNo\":1,\"utdid\":\"ZYmGMAAAACkDAMU8hbiMmYdd\",\"userId\":\"\",\"bizKey\":\"YOUKU_WEB\",\"appPackageKey\":\"com.youku.YouKu\",\"showNodeList\":0,\"reqSubNode\":0,\"nodeKey\":\"WEBHOME\",\"bizContext\":\"{\\\"spmA\\\":\\\"a2hja\\\"}\"}","system_info":"{\"device\":\"pcweb\",\"os\":\"pcweb\",\"ver\":\"1.0.0.0\",\"userAgent\":\"Mozilla/5.0 (; Windows 10.0.26100.3194_64 ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Electron/14.2.0 Safari/537.36 Node/14.17.0 YoukuDesktop/9.2.60 UOSYouku (2.0.1)-Electron(UTDID ZYmGMAAAACkDAMU8hbiMmYdd;CHANNEL official;ZREAL 0;BTYPE TM2013;BRAND TIMI;BUILDVER 9.2.60.1001)\",\"guid\":\"1590141704165YXe\",\"appPackageKey\":\"com.youku.pcweb\",\"young\":0,\"brand\":\"\",\"network\":\"\",\"ouid\":\"\",\"idfa\":\"\",\"scale\":\"\",\"operator\":\"\",\"resolution\":\"\",\"pid\":\"\",\"childGender\":0,\"zx\":0}"}
data=self.getdata(f'{self.h5host}/h5/mtop.youku.columbus.home.query/1.0/',params)
okey=list(data['data'].keys())[0]
for i in data['data'][okey]['data']['nodes'][0]['nodes'][-1]['nodes'][0]['nodes']:
if i.get('nodes') and i['nodes'][0].get('data'):
i=i['nodes'][0]['data']
if i.get('assignId'):
vlist.append({
'vod_id': i['assignId'],
'vod_name': i.get('title'),
'vod_pic': i.get('vImg') or i.get('img'),
'vod_year': i.get('mark',{}).get('data',{}).get('text'),
'vod_remarks': i.get('summary')
})
return {'list': vlist}
except Exception as e:
print(f"处理主页视频数据时出错: {str(e)}")
return {'list': []}
def categoryContent(self, tid, pg, filter, extend):
result = {}
vlist = []
result['page'] = pg
result['limit'] = 90
result['total'] = 999999
pagecount = 9999
params = {'type': tid}
id = self.typeid[tid]
params.update(extend)
if pg == '1':
id=self.cf(params)
data=self.session.get(f'{self.host}/category/data?session={id}&params={quote(json.dumps(params))}&pageNo={pg}').json()
try:
data=data['data']['filterData']
for i in data['listData']:
if i.get('videoLink') and 's=' in i['videoLink']:
vlist.append({
'vod_id': i.get('videoLink').split('s=')[-1],
'vod_name': i.get('title'),
'vod_pic': i.get('img'),
'vod_year': i.get('rightTagText'),
'vod_remarks': i.get('summary')
})
self.typeid[tid]=quote(json.dumps(data['session']))
except:
pagecount=pg
result['list'] = vlist
result['pagecount'] = pagecount
return result
def detailContent(self, ids):
try:
data=self.session.get(f'{self.ihost}/v_getvideo_info/?showId={ids[0]}').json()
v=data['data']
vod = {
'type_name': v.get('showVideotype'),
'vod_year': v.get('lastUpdate'),
'vod_remarks': v.get('rc_title'),
'vod_actor': v.get('_personNameStr'),
'vod_content': v.get('showdesc'),
'vod_play_from': '优酷',
'vod_play_url': ''
}
params={"biz":"new_detail_web2","videoId":v.get('vid'),"scene":"web_page","componentVersion":"3","ip":data.get('ip'),"debug":0,"utdid":"ZYmGMAAAACkDAMU8hbiMmYdd","userId":0,"platform":"pc","nextSession":"","gray":0,"source":"pcNoPrev","showId":ids[0]}
sdata,index=self.getinfo(params)
pdata=sdata['nodes']
if index > len(pdata):
batch_size = len(pdata)
total_batches = ((index + batch_size - 1) // batch_size) - 1
ssj = json.loads(sdata['data']['session'])
with ThreadPoolExecutor(max_workers=total_batches) as executor:
futures = []
for batch in range(total_batches):
start = batch_size + 1 + (batch * batch_size)
end = start + batch_size - 1
next_session = ssj.copy()
next_session.update({
"itemStartStage": start,
"itemEndStage": min(end, index)
})
current_params = params.copy()
current_params['nextSession'] = json.dumps(next_session)
futures.append((start, executor.submit(self.getvinfo, current_params)))
futures.sort(key=lambda x: x[0])
for _, future in futures:
try:
result = future.result()
pdata.extend(result['nodes'])
except Exception as e:
print(f"Error fetching data: {str(e)}")
vod['vod_play_url'] = '#'.join([f"{i['data'].get('title')}${i['data']['action'].get('value')}" for i in pdata])
return {'list': [vod]}
except Exception as e:
print(e)
return {'list': [{'vod_play_from': '哎呀翻车啦', 'vod_play_url': f'呜呜呜${self.host}'}]}
def searchContent(self, key, quick, pg="1"):
data=self.session.get(f'{self.shost}/api/search?pg={pg}&keyword={key}').json()
vlist = []
for i in data['pageComponentList']:
if i.get('commonData') and (i['commonData'].get('showId') or i['commonData'].get('realShowId')):
i=i['commonData']
vlist.append({
'vod_id': i.get('showId') or i.get('realShowId'),
'vod_name': i['titleDTO'].get('displayName'),
'vod_pic': i['posterDTO'].get('vThumbUrl'),
'vod_year': i.get('feature'),
'vod_remarks': i.get('updateNotice')
})
return {'list': vlist, 'page': pg}
def playerContent(self, flag, id, vipFlags):
return {'jx':1,'parse': 1, 'url': f"{self.ihost}/video?vid={id}", 'header': ''}
def localProxy(self, param):
pass
def cf(self,params,b=False):
response = self.session.get(f'{self.host}/category/data?params={quote(json.dumps(params))}&optionRefresh=1&pageNo=1').json()
data=response['data']['filterData']
session=quote(json.dumps(data['session']))
if b:
return session,self.get_filter_data(data['filter']['filterData'][1:])
return session
def process_key(self, key):
if '_' not in key:
return key
parts = key.split('_')
result = parts[0]
for part in parts[1:]:
if part:
result += part[0].upper() + part[1:]
return result
def get_filter_data(self, data):
result = []
try:
for item in data:
if not item.get('subFilter'):
continue
first_sub = item['subFilter'][0]
if not first_sub.get('filterType'):
continue
filter_item = {
'key': self.process_key(first_sub['filterType']),
'name': first_sub['title'],
'value': []
}
for sub in item['subFilter']:
if 'value' in sub:
filter_item['value'].append({
'n': sub['title'],
'v': sub['value']
})
if filter_item['value']:
result.append(filter_item)
except Exception as e:
print(f"处理筛选数据时出错: {str(e)}")
return result
def get_ctoken(self):
data=self.session.get(f'{self.h5host}/h5/mtop.ykrec.recommendservice.recommend/1.0/?jsv=2.6.1&appKey=24679788')
def md5(self,t,text):
h = MD5.new()
token=self.session.cookies.get('_m_h5_tk').split('_')[0]
data=f"{token}&{t}&24679788&{text}"
h.update(data.encode('utf-8'))
return h.hexdigest()
def getdata(self, url, params, recursion_count=0, max_recursion=3):
data = json.dumps(params)
t = int(time.time() * 1000)
jsdata = {
'appKey': '24679788',
't': t,
'sign': self.md5(t, data),
'data': data
}
response = self.session.get(url, params=jsdata)
if '令牌过期' in response.text:
if recursion_count >= max_recursion:
raise Exception("达到最大递归次数,无法继续请求")
self.get_ctoken()
return self.getdata(url, params, recursion_count + 1, max_recursion)
else:
return response.json()
def getvinfo(self,params):
body = {
"ms_codes": "2019030100",
"params": json.dumps(params),
"system_info": "{\"os\":\"iku\",\"device\":\"iku\",\"ver\":\"9.2.9\",\"appPackageKey\":\"com.youku.iku\",\"appPackageId\":\"pcweb\"}"
}
data = self.getdata(f'{self.h5host}/h5/mtop.youku.columbus.gateway.new.execute/1.0/', body)
okey = list(data['data'].keys())[0]
i = data['data'][okey]['data']
return i
def getinfo(self,params):
i = self.getvinfo(params)
jdata=i['nodes'][0]['nodes'][3]
info=i['data']['extra']['episodeTotal']
if i['data']['extra']['showCategory'] in ['电影','游戏']:
jdata = i['nodes'][0]['nodes'][4]
return jdata,info
+468
View File
@@ -0,0 +1,468 @@
#coding=utf-8
#!/usr/bin/python
import sys
import json
import time
from datetime import datetime
from difflib import SequenceMatcher
from urllib.parse import quote, unquote
sys.path.append('..')
from base.spider import Spider
class Spider(Spider): # 元类 默认的元类 type
def getName(self):
return "B站番剧"
def init(self, extend):
try:
self.extendDict = json.loads(extend)
except:
self.extendDict = {}
def destroy(self):
pass
def isVideoFormat(self, url):
pass
def manualVideoCheck(self):
pass
def homeContent(self, filter):
result = {}
cateManual = {
"番剧": "1",
"国创": "4",
"电影": "2",
"综艺": "7",
"电视剧": "5",
}
classes = []
for k in cateManual:
classes.append({
'type_name': k,
'type_id': cateManual[k]
})
result['class'] = classes
if filter:
result['filters'] = self.config['filter']
currentYear = datetime.now().year
for resultfilter in result['filters']:
for rf in result['filters'][resultfilter]:
if rf['key'] == 'year':
for rfv in rf['value']:
if rfv['n'].isdigit():
if int(rfv['n']) < currentYear:
pos = rf['value'].index(rfv)
for year in range(currentYear, int(rfv['n']), -1):
rf['value'].insert(pos, {'v': f'[{str(year)},{str(year+1)})', 'n': str(year)})
pos += 1
break
else:
break
elif rf['key'] == 'release_date':
for rfv in rf['value']:
if rfv['n'].isdigit():
if int(rfv['n']) < currentYear:
pos = rf['value'].index(rfv)
for year in range(currentYear, int(rfv['n']), -1):
rf['value'].insert(pos, {'v': f'[{str(year)}-01-01 00:00:00,{str(year+1)}-01-01 00:00:00)', 'n': str(year)})
pos += 1
break
else:
break
return result
def homeVideoContent(self):
return self.categoryContent('1', '1', False, {})
def categoryContent(self, cid, page, filter, ext):
page = int(page)
result = {}
videos = []
cookie, _, _ = self.getCookie('{}')
url = 'https://api.bilibili.com/pgc/season/index/result?order=2&sort=0&pagesize=20&type=1&st={}&season_type={}&page={}'.format(cid, cid, page)
for key in ext:
url += f'&{key}={quote(ext[key])}'
r = self.fetch(url, headers=self.header, cookies=cookie, timeout=5)
data = json.loads(self.cleanText(r.text))
vodList = data['data']['list']
for vod in vodList:
aid = str(vod['season_id']).strip()
title = self.removeHtmlTags(self.cleanText(vod['title']))
img = vod['cover'].strip()
remark = vod['index_show'].strip()
videos.append({
"vod_id": aid,
"vod_name": title,
"vod_pic": img,
"vod_remarks": remark
})
lenvideos = len(videos)
if data['data']['has_next'] == 1:
pagecount = page + 1
else:
pagecount = page
result['list'] = videos
result['page'] = page
result['pagecount'] = pagecount
result['limit'] = lenvideos
result['total'] = lenvideos
return result
def detailContent(self, did):
did = did[0]
url = "http://api.bilibili.com/pgc/view/web/season?season_id={0}".format(did)
r = self.fetch(url, headers=self.header, timeout=10)
data = json.loads(self.cleanText(r.text))
vod = {
"vod_id": did,
"vod_name": self.removeHtmlTags(data['result']['title']),
"vod_pic": data['result']['cover'],
"type_name": data['result']['share_sub_title'],
"vod_actor": data['result']['actors'].replace('\n', ','),
"vod_content": self.removeHtmlTags(data['result']['evaluate'])
}
videoList = data['result']['episodes']
playUrl = ''
for video in videoList:
eid = video['id']
cid = video['cid']
name = self.removeHtmlTags(video['share_copy']).replace("#", "-").replace('$', '*')
remark = time.strftime('%H:%M:%S', time.gmtime(video['duration']/1000))
if remark.startswith('00:'):
remark = remark[3:]
playUrl = playUrl + '[{}]/{}${}_{}#'.format(remark, name, eid, cid)
vod['vod_play_from'] = 'B站番剧'
vod['vod_play_url'] = playUrl.strip('#')
result = {
'list': [
vod
]
}
return result
def searchContent(self, key, quick):
return self.searchContentPage(key, quick, '1')
def searchContentPage(self, key, quick, page):
videos = []
cookie = ''
if 'cookie' in self.extendDict:
cookie = self.extendDict['cookie']
if 'json' in self.extendDict:
r = self.fetch(self.extendDict['json'], timeout=10)
if 'cookie' in r.json():
cookie = r.json()['cookie']
if cookie == '':
cookie = '{}'
elif type(cookie) == str and cookie.startswith('http'):
cookie = self.fetch(cookie, timeout=10).text.strip()
try:
if type(cookie) == dict:
cookie = json.dumps(cookie, ensure_ascii=False)
except:
pass
cookie, _, _ = self.getCookie(cookie)
url = f'https://api.bilibili.com/x/web-interface/search/type?search_type=media_bangumi&keyword={key}&page={page}'
r = self.fetch(url, headers=self.header, cookies=cookie, timeout=5)
data = json.loads(self.cleanText(r.text))
if 'result' not in data['data']:
return {'list': videos}, 1
vodList = data['data']['result']
for vod in vodList:
sid = str(vod['season_id']).strip()
title = self.removeHtmlTags(self.cleanText(vod['title']))
if SequenceMatcher(None, title, key).ratio() < 0.6 and key not in title:
continue
img = vod['eps'][0]['cover'].strip()
remark = self.removeHtmlTags(vod['index_show']).strip()
videos.append({
"vod_id": sid,
"vod_name": title,
"vod_pic": img,
"vod_remarks": remark
})
result = {
'list': videos
}
return result
def playerContent(self, flag, pid, vipFlags):
result = {}
pidList = pid.split("_")
aid = pidList[0]
cid = pidList[1]
url = 'https://api.bilibili.com/pgc/player/web/playurl?ep_id={0}&cid={1}&qn=120&fnval=4048&fnver=0&fourk=1'.format(aid, cid)
cookie = ''
extendDict = self.extendDict
if 'cookie' in extendDict:
cookie = extendDict['cookie']
if 'json' in extendDict:
r = self.fetch(extendDict['json'], timeout=10)
if 'cookie' in r.json():
cookie = r.json()['cookie']
if cookie == '':
cookie = '{}'
elif type(cookie) == str and cookie.startswith('http'):
cookie = self.fetch(cookie, timeout=10).text.strip()
try:
if type(cookie) == dict:
cookie = json.dumps(cookie, ensure_ascii=False)
except:
pass
cookiesDict, _, _ = self.getCookie(cookie)
cookies = quote(json.dumps(cookiesDict))
if 'thread' in extendDict:
thread = str(extendDict['thread'])
else:
thread = '0'
result["parse"] = '0'
result["playUrl"] = ''
result["url"] = f'http://127.0.0.1:9978/proxy?do=py&type=mpd&cookies={cookies}&url={quote(url)}&aid={aid}&cid={cid}&thread={thread}'
result["header"] = self.header
result['danmaku'] = 'https://api.bilibili.com/x/v1/dm/list.so?oid={}'.format(cid)
result["format"] = 'application/dash+xml'
return result
def localProxy(self, params):
if params['type'] == "mpd":
return self.proxyMpd(params)
if params['type'] == "media":
return self.proxyMedia(params)
return None
def proxyMpd(self, params):
content, durlinfos, mediaType = self.getDash(params)
if mediaType == 'mpd':
return [200, "application/dash+xml", content]
else:
url = content
durlinfo = durlinfos['durl'][0]['backup_url']
try:
r = self.fetch(url, headers=self.header, stream=True, timeout=1)
statusCode = r.status_code
try:
r.close()
except:
pass
except:
try:
r.close()
except:
pass
statusCode = 404
for url in durlinfo:
try:
r = self.fetch(url, headers=self.header, stream=True, timeout=1)
statusCode = r.status_code
except:
statusCode = 404
if statusCode == 200:
break
try:
r.close()
except:
pass
if statusCode != 200 and self.retry == 0:
self.retry += 1
self.proxyMedia(params, True)
header = self.header.copy()
if 'range' in params:
header['Range'] = params['range']
if '127.0.0.1:7777' in url:
header['Location'] = url
return [302, "video/MP2T", None, header]
return [206, "application/octet-stream", self.fetch(content, headers=header, stream=True).content]
def proxyMedia(self, params, forceRefresh=False):
_, dashinfos, _ = self.getDash(params)
if 'videoid' in params:
videoid = int(params['videoid'])
dashinfo = dashinfos['video'][videoid]
url = dashinfo['baseUrl']
elif 'audioid' in params:
audioid = int(params['audioid'])
dashinfo = dashinfos['audio'][audioid]
url = dashinfo['baseUrl']
else:
return [404, "text/plain", ""]
try:
r = self.fetch(url, headers=params['headers'], stream=True)
statusCode = r.status_code
try:
r.close()
except:
pass
except:
try:
r.close()
except:
pass
statusCode = 404
for url in dashinfo['backupUrl']:
try:
r = self.fetch(url, headers=self.header, stream=True, timeout=1)
statusCode = r.status_code
except:
statusCode = 404
if statusCode == 200:
break
try:
r.close()
except:
pass
if statusCode != 200 and self.retry == 0:
self.retry += 1
self.proxyMedia(params, True)
header = self.header.copy()
if 'range' in params:
header['Range'] = params['range']
return [206, "application/octet-stream", self.fetch(url, headers=header, stream=True).content]
def getDash(self, params, forceRefresh=False):
aid = params['aid']
cid = params['cid']
url = unquote(params['url'])
if 'thread' in params:
thread = params['thread']
else:
thread = 0
header = self.header.copy()
self.setCache('debug', params['cookies'])
cookieDict = json.loads(params['cookies'])
key = f'bilimdmpdCache_{aid}_{cid}'
if forceRefresh:
self.delCache(key)
else:
data = self.getCache(key)
if data:
return data['content'], data['dashinfos'], data['type']
cookies = cookieDict.copy()
r = self.fetch(url, cookies=cookies, headers=header, timeout=5)
data = json.loads(self.cleanText(r.text))
if data['code'] != 0:
return '', {}, ''
if not 'dash' in data['result']:
purl = data['result']['durl'][0]['url']
try:
expiresAt = int(self.regStr(reg='deadline=(\d+)', src=purl).group(1)) - 60
except:
expiresAt = int(time.time()) + 600
if int(thread) > 0:
try:
self.fetch('http://127.0.0.1:7777')
except:
self.fetch('http://127.0.0.1:9978/go')
purl = f'http://127.0.0.1:7777?url={quote(purl)}&thread={thread}'
self.setCache(key, {'content': purl, 'type': 'mp4', 'dashinfos': data['result'], 'expiresAt': expiresAt})
return purl, data['result'], 'mp4'
dashinfos = data['result']['dash']
duration = dashinfos['duration']
minBufferTime = dashinfos['minBufferTime']
videoinfo = ''
videoid = 0
deadlineList = []
# videoList = sorted(dashinfos['video'], key=lambda x: x['bandwidth'], reverse=True)
for video in dashinfos['video']:
try:
deadline = int(self.regStr(reg='deadline=(\d+)', src=video['baseUrl']).group(1))
except:
deadline = int(time.time()) + 600
deadlineList.append(deadline)
codecs = video['codecs']
bandwidth = video['bandwidth']
frameRate = video['frameRate']
height = video['height']
width = video['width']
void = video['id']
vidparams = params.copy()
vidparams['videoid'] = videoid
baseUrl = f'http://127.0.0.1:9978/proxy?do=py&type=media&cookies={quote(json.dumps(cookies))}&url={quote(url)}&aid={aid}&cid={cid}&videoid={videoid}'
videoinfo = videoinfo + f""" <Representation bandwidth="{bandwidth}" codecs="{codecs}" frameRate="{frameRate}" height="{height}" id="{void}" width="{width}">
<BaseURL>{baseUrl}</BaseURL>
<SegmentBase indexRange="{video['SegmentBase']['indexRange']}">
<Initialization range="{video['SegmentBase']['Initialization']}"/>
</SegmentBase>
</Representation>\n"""
videoid += 1
audioinfo = ''
audioid = 0
# audioList = sorted(dashinfos['audio'], key=lambda x: x['bandwidth'], reverse=True)
for audio in dashinfos['audio']:
try:
deadline = int(self.regStr(reg='deadline=(\d+)', src=audio['baseUrl']).group(1))
except:
deadline = int(time.time()) + 600
deadlineList.append(deadline)
bandwidth = audio['bandwidth']
codecs = audio['codecs']
aoid = audio['id']
aidparams = params.copy()
aidparams['audioid'] = audioid
baseUrl = f'http://127.0.0.1:9978/proxy?do=py&type=media&cookies={quote(json.dumps(cookies))}&url={quote(url)}&aid={aid}&cid={cid}&audioid={audioid}'
audioinfo = audioinfo + f""" <Representation audioSamplingRate="44100" bandwidth="{bandwidth}" codecs="{codecs}" id="{aoid}">
<BaseURL>{baseUrl}</BaseURL>
<SegmentBase indexRange="{audio['SegmentBase']['indexRange']}">
<Initialization range="{audio['SegmentBase']['Initialization']}"/>
</SegmentBase>
</Representation>\n"""
audioid += 1
mpd = f"""<?xml version="1.0" encoding="UTF-8"?>
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" type="static" mediaPresentationDuration="PT{duration}S" minBufferTime="PT{minBufferTime}S">
<Period>
<AdaptationSet mimeType="video/mp4" startWithSAP="1" scanType="progressive" segmentAlignment="true">
{videoinfo.strip()}
</AdaptationSet>
<AdaptationSet mimeType="audio/mp4" startWithSAP="1" segmentAlignment="true" lang="und">
{audioinfo.strip()}
</AdaptationSet>
</Period>
</MPD>"""
expiresAt = min(deadlineList) - 60
self.setCache(key, {'type': 'mpd', 'content': mpd.replace('&', '&amp;'), 'dashinfos': dashinfos, 'expiresAt': expiresAt})
return mpd.replace('&', '&amp;'), dashinfos, 'mpd'
def getCookie(self, cookie):
if '{' in cookie and '}' in cookie:
cookies = json.loads(cookie)
else:
cookies = dict([co.strip().split('=', 1) for co in cookie.strip(';').split(';')])
bblogin = self.getCache('bblogin')
if bblogin:
imgKey = bblogin['imgKey']
subKey = bblogin['subKey']
return cookies, imgKey, subKey
header = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36"
}
r = self.fetch("http://api.bilibili.com/x/web-interface/nav", cookies=cookies, headers=header, timeout=10)
data = json.loads(r.text)
code = data["code"]
if code == 0:
imgKey = data['data']['wbi_img']['img_url'].rsplit('/', 1)[1].split('.')[0]
subKey = data['data']['wbi_img']['sub_url'].rsplit('/', 1)[1].split('.')[0]
self.setCache('bblogin', {'imgKey': imgKey, 'subKey': subKey, 'expiresAt': int(time.time()) + 1200})
return cookies, imgKey, subKey
r = self.fetch("https://www.bilibili.com/", headers=header, timeout=5)
cookies = r.cookies.get_dict()
imgKey = ''
subKey = ''
return cookies, imgKey, subKey
def removeHtmlTags(self, src):
from re import sub, compile
clean = compile('<.*?>')
return sub(clean, '', src)
retry = 0
header = {
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36",
"Referer": "https://www.bilibili.com"
}
config = {
"filter": {"1":[{"key":"season_version","name":"类型","value":[{"v":'-1',"n":"全部"},{"v":'1',"n":"正片"},{"v":'2',"n":"电影"},{"v":'3',"n":"其他"}]},{"key":"area","name":"地区","value":[{"v":'-1',"n":"全部"},{"v":'2',"n":"日本"},{"v":'3',"n":"美国"},{"v":"1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70","n":"其他"}]},{"key":"is_finish","name":"状态","value":[{"v":'-1',"n":"全部"},{"v":'1',"n":"完结"},{"v":'0',"n":"连载"}]},{"key":"copyright","name":"版权","value":[{"v":'-1',"n":"全部"},{"v":'3',"n":"独家"},{"v":"1,2,4","n":"其他"}]},{"key":"season_status","name":"付费","value":[{"v":'-1',"n":"全部"},{"v":'1',"n":"免费"},{"v":"2,6","n":"付费"},{"v":"4,6","n":"大会员"}]},{"key":"season_month","name":"季度","value":[{"v":'-1',"n":"全部"},{"v":'1',"n":"1月"},{"v":'4',"n":"4月"},{"v":'7',"n":"7月"},{"v":'10',"n":"10月"}]},{"key":"year","name":"年份","value":[{"v":'-1',"n":"全部"},{"v":"[2023,2024)","n":"2023"},{"v":"[2022,2023)","n":"2022"},{"v":"[2021,2022)","n":"2021"},{"v":"[2020,2021)","n":"2020"},{"v":"[2019,2020)","n":"2019"},{"v":"[2018,2019)","n":"2018"},{"v":"[2017,2018)","n":"2017"},{"v":"[2016,2017)","n":"2016"},{"v":"[2015,2016)","n":"2015"},{"v":"[2010,2015)","n":"2014-2010"},{"v":"[2005,2010)","n":"2009-2005"},{"v":"[2000,2005)","n":"2004-2000"},{"v":"[1990,2000)","n":"90年代"},{"v":"[1980,1990)","n":"80年代"},{"v":"[,1980)","n":"更早"}]},{"key":"style_id","name":"风格","value":[{"v":'-1',"n":"全部"},{"v":'10010',"n":"原创"},{"v":'10011',"n":"漫画改"},{"v":'10012',"n":"小说改"},{"v":'10013',"n":"游戏改"},{"v":'10102',"n":"特摄"},{"v":'10015',"n":"布袋戏"},{"v":'10016',"n":"热血"},{"v":'10017',"n":"穿越"},{"v":'10018',"n":"奇幻"},{"v":'10020',"n":"战斗"},{"v":'10021',"n":"搞笑"},{"v":'10022',"n":"日常"},{"v":'10023',"n":"科幻"},{"v":'10024',"n":"萌系"},{"v":'10025',"n":"治愈"},{"v":'10026',"n":"校园"},{"v":'10027',"n":"少儿"},{"v":'10028',"n":"泡面"},{"v":'10029',"n":"恋爱"},{"v":'10030',"n":"少女"},{"v":'10031',"n":"魔法"},{"v":'10032',"n":"冒险"},{"v":'10033',"n":"历史"},{"v":'10034',"n":"架空"},{"v":'10035',"n":"机战"},{"v":'10036',"n":"神魔"},{"v":'10037',"n":"声控"},{"v":'10038',"n":"运动"},{"v":'10039',"n":"励志"},{"v":'10040',"n":"音乐"},{"v":'10041',"n":"推理"},{"v":'10042',"n":"社团"},{"v":'10043',"n":"智斗"},{"v":'10044',"n":"催泪"},{"v":'10045',"n":"美食"},{"v":'10046',"n":"偶像"},{"v":'10047',"n":"乙女"},{"v":'10048',"n":"职场"}]}],"4":[{"key":"season_version","name":"类型","value":[{"v":'-1',"n":"全部"},{"v":'1',"n":"正片"},{"v":'2',"n":"电影"},{"v":'3',"n":"其他"}]},{"key":"area","name":"地区","value":[{"v":'-1',"n":"全部"},{"v":'2',"n":"日本"},{"v":'3',"n":"美国"},{"v":"1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70","n":"其他"}]},{"key":"is_finish","name":"状态","value":[{"v":'-1',"n":"全部"},{"v":'1',"n":"完结"},{"v":'0',"n":"连载"}]},{"key":"copyright","name":"版权","value":[{"v":'-1',"n":"全部"},{"v":'3',"n":"独家"},{"v":"1,2,4","n":"其他"}]},{"key":"season_status","name":"付费","value":[{"v":'-1',"n":"全部"},{"v":'1',"n":"免费"},{"v":"2,6","n":"付费"},{"v":"4,6","n":"大会员"}]},{"key":"year","name":"年份","value":[{"v":'-1',"n":"全部"},{"v":"[2023,2024)","n":"2023"},{"v":"[2022,2023)","n":"2022"},{"v":"[2021,2022)","n":"2021"},{"v":"[2020,2021)","n":"2020"},{"v":"[2019,2020)","n":"2019"},{"v":"[2018,2019)","n":"2018"},{"v":"[2017,2018)","n":"2017"},{"v":"[2016,2017)","n":"2016"},{"v":"[2015,2016)","n":"2015"},{"v":"[2010,2015)","n":"2014-2010"},{"v":"[2005,2010)","n":"2009-2005"},{"v":"[2000,2005)","n":"2004-2000"},{"v":"[1990,2000)","n":"90年代"},{"v":"[1980,1990)","n":"80年代"},{"v":"[,1980)","n":"更早"}]},{"key":"style_id","name":"风格","value":[{"v":'-1',"n":"全部"},{"v":'10010',"n":"原创"},{"v":'10011',"n":"漫画改"},{"v":'10012',"n":"小说改"},{"v":'10013',"n":"游戏改"},{"v":'10014',"n":"动态漫"},{"v":'10015',"n":"布袋戏"},{"v":'10016',"n":"热血"},{"v":'10018',"n":"奇幻"},{"v":'10019',"n":"玄幻"},{"v":'10020',"n":"战斗"},{"v":'10021',"n":"搞笑"},{"v":'10078',"n":"武侠"},{"v":'10022',"n":"日常"},{"v":'10023',"n":"科幻"},{"v":'10024',"n":"萌系"},{"v":'10025',"n":"治愈"},{"v":'10057',"n":"悬疑"},{"v":'10026',"n":"校园"},{"v":'10027',"n":"少儿"},{"v":'10028',"n":"泡面"},{"v":'10029',"n":"恋爱"},{"v":'10030',"n":"少女"},{"v":'10031',"n":"魔法"},{"v":'10033',"n":"历史"},{"v":'10035',"n":"机战"},{"v":'10036',"n":"神魔"},{"v":'10037',"n":"声控"},{"v":'10038',"n":"运动"},{"v":'10039',"n":"励志"},{"v":'10040',"n":"音乐Line truncated
}
+248
View File
@@ -0,0 +1,248 @@
# -*- coding: utf-8 -*-
# by @嗷呜
import random
import sys
from base64 import b64encode, b64decode
from concurrent.futures import ThreadPoolExecutor, as_completed
from urllib.parse import urlencode
sys.path.append('..')
from base.spider import Spider
class Spider(Spider):
def init(self, extend=""):
self.did = self.random_str(32)
pass
def getName(self):
pass
def isVideoFormat(self, url):
pass
def manualVideoCheck(self):
pass
def destroy(self):
pass
rhost = 'https://www.iqiyi.com'
hhost='https://mesh.if.iqiyi.com'
dhost='https://miniapp.iqiyi.com'
headers = {
'Origin': rhost,
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36',
'Referer': f'{rhost}/',
}
def homeContent(self, filter):
result = {}
cateManual = {
"全部": "1009",
"电影": "1",
"剧集": "2",
"综艺": "6",
"动漫": "4",
"儿童": "15",
"微剧": "35",
"纪录片": "3"
}
classes = []
filters = {}
for k in cateManual:
classes.append({
'type_name': k,
'type_id': cateManual[k]
})
with ThreadPoolExecutor(max_workers=len(classes)) as executor:
results = executor.map(self.getf, classes)
for id, ft in results:
if len(ft):filters[id] = ft
result['class'] = classes
result['filters'] = filters
return result
def homeVideoContent(self):
data=self.fetch(f'{self.hhost}/portal/lw/v5/channel/recommend?v=13.014.21150', headers=self.headers).json()
vlist = []
for i in data['items'][1:]:
for j in i['video'][0]['data']:
id = j.get('firstId')
pic=j.get('prevue',{}).get('image_url') or j.get('album_image_url_hover')
if id and pic:
pu=j.get('prevue',{}).get('page_url') or j.get('page_url').split('?')[0]
id = f'{id}@{self.e64(pu)}'
vlist.append({
'vod_id': id,
'vod_name': j.get('display_name'),
'vod_pic': pic,
'vod_year': j.get('sns_score'),
'vod_remarks': j.get('dq_updatestatus') or j.get('rank_prefix')
})
return {'list':vlist}
def categoryContent(self, tid, pg, filter, extend):
if pg == "1":
self.sid = ''
new_data = {'mode':'24'}
for key, value in extend.items():
if value:
key_value_pairs = self.d64(value).split(',')
for pair in key_value_pairs:
k, v = pair.split('=')
if k in new_data:
new_data[k] += "," + v
else:
new_data[k] = v
path=f'/portal/lw/videolib/data?uid=&passport_id=&ret_num=60&version=13.014.21150&device_id={self.did}&channel_id={tid}&page_id={pg}&session={self.sid}&os=&conduit_id=&vip=0&auth&recent_selected_tag=&ad=%5B%7B%22lm%22:%225%22,%22ai%22:%225%22,%22fp%22:%226%22,%22sei%22:%22Sa867aa9d326e2bd8654d8c2a8636055e%22,%22position%22:%22library%22%7D%5D&adExt=%7B%22r%22:%221.2.1-ares6-pure%22%7D&dfp=a12f96215b2f7842a98c082799ca0c3d9236be00946701b106829754d8ece3aaf8&filter={urlencode(new_data)}'
data=self.fetch(f'{self.hhost}{path}', headers=self.headers).json()
self.sid = data['session']
videos = []
for i in data['data']:
id = i.get('firstId') or i.get('tv_id')
if not id:
id=i.get('play_url').split(';')[0].split('=')[-1]
if id and not i.get('h'):
id=f'{id}@{self.e64(i.get("page_url"))}'
videos.append({
'vod_id': id,
'vod_name': i.get('display_name'),
'vod_pic': i.get('album_image_url_hover'),
'vod_year': i.get('sns_score'),
'vod_remarks': i.get('dq_updatestatus') or i.get('pay_mark')
})
result = {}
result['list'] = videos
result['page'] = pg
result['pagecount'] = 9999
result['limit'] = 90
result['total'] = 999999
return result
def detailContent(self, ids):
ids = ids[0].split('@')
ids[-1] = self.d64(ids[-1])
data = self.fetch(f'{self.dhost}/h5/mina/baidu/play/body/v1/{ids[0]}/', headers=self.headers).json()
v=data['data']['playInfo']
vod = {
'vod_name': v.get('albumName'),
'type_name': v.get('tags'),
'vod_year': v.get('albumYear'),
'vod_remarks': v.get('updateStrategy'),
'vod_actor': v.get('mainActors'),
'vod_director': v.get('directors'),
'vod_content': v.get('albumDesc'),
'vod_play_from': '爱奇艺',
'vod_play_url': ''
}
if data.get('data') and data['data'].get('videoList') and data['data']['videoList'].get('videos'):
purl=[f'{i["shortTitle"]}${i["pageUrl"]}' for i in data['data']['videoList']['videos']]
pg=data['data']['videoList'].get('totalPages')
if pg and pg > 1:
id = v['albumId']
pages = list(range(2, pg + 1))
page_results = {}
with ThreadPoolExecutor(max_workers=10) as executor:
future_to_page = {
executor.submit(self.fetch_page_data, page, id): page
for page in pages
}
for future in as_completed(future_to_page):
page = future_to_page[future]
try:
result = future.result()
page_results[page] = result
except Exception as e:
print(f"Error fetching page {page}: {e}")
for page in sorted(page_results.keys()):
purl.extend(page_results[page])
vod['vod_play_url'] = '#'.join(purl)
else:
vdata=self.fetch(f'{self.dhost}/h5/mina/baidu/play/head/v1/{ids[0]}/', headers=self.headers).json()
v=vdata['data']['playInfo']
vod = {
'vod_name': v.get('shortTitle'),
'type_name': v.get('channelName'),
'vod_year': v.get('year'),
'vod_remarks': v.get('focus'),
'vod_actor': v.get('mainActors'),
'vod_director': v.get('directors'),
'vod_content': v.get('desc'),
'vod_play_from': '爱奇艺',
'vod_play_url': f'{v.get("shortTitle")}${ids[-1]}'
}
return {'list':[vod]}
def searchContent(self, key, quick, pg="1"):
data=self.fetch(f'{self.hhost}/portal/lw/search/homePageV3?key={key}&current_page={pg}&mode=1&source=input&suggest=&version=13.014.21150&pageNum={pg}&pageSize=25&pu=&u={self.did}&scale=150&token=&userVip=0&conduit=&vipType=-1&os=&osShortName=win10&dataType=&appMode=', headers=self.headers).json()
videos = []
vdata=data['data']['templates']
for i in data['data']['templates']:
if i.get('intentAlbumInfos'):
vdata=[{'albumInfo': c} for c in i['intentAlbumInfos']]+vdata
for i in vdata:
if i.get('albumInfo') and (i['albumInfo'].get('playQipuId','') or i['albumInfo'].get('qipuId')) and i['albumInfo'].get('pageUrl'):
b=i['albumInfo']
id=f"{(b.get('playQipuId','') or b.get('qipuId'))}@{self.e64(b.get('pageUrl'))}"
videos.append({
'vod_id': id,
'vod_name': b.get('title'),
'vod_pic': b.get('img'),
'vod_year': (b.get('year',{}) or {}).get('value'),
'vod_remarks': b.get('subscriptContent') or b.get('channel') or b.get('vipTips')
})
return {'list':videos,'page':pg}
def playerContent(self, flag, id, vipFlags):
return {'jx':1,'parse': 1, 'url': id, 'header': ''}
def localProxy(self, param):
pass
def fetch_page_data(self, page, id):
try:
url = f'{self.dhost}/h5/mina/avlist/{page}/{id}/'
data = self.fetch(url, headers=self.headers).json()
return [f'{i["shortTitle"]}${i["pageUrl"]}' for i in data['data']['videoList']['videos']]
except:
return []
def getf(self,body):
data=self.fetch(f'{self.hhost}/portal/lw/videolib/tag?channel_id={body["type_id"]}&tagAdd=&selected_tag_name=&version=13.014.21150&device={self.did}&uid=', headers=self.headers).json()
ft = []
# for i in data[:-1]:
for i in data:
try:
value_array = [{"n": value['text'], "v": self.e64(value['tag_param'])} for value in i['tags'] if
value.get('tag_param')]
ft.append({"key": i['group'], "name": i['group'], "value": value_array})
except:
print(i)
return (body['type_id'], ft)
def e64(self, text):
try:
text_bytes = text.encode('utf-8')
encoded_bytes = b64encode(text_bytes)
return encoded_bytes.decode('utf-8')
except Exception as e:
print(f"Base64编码错误: {str(e)}")
return ""
def d64(self,encoded_text: str):
try:
encoded_bytes = encoded_text.encode('utf-8')
decoded_bytes = b64decode(encoded_bytes)
return decoded_bytes.decode('utf-8')
except Exception as e:
print(f"Base64解码错误: {str(e)}")
return ""
def random_str(self,length=16):
hex_chars = '0123456789abcdef'
return ''.join(random.choice(hex_chars) for _ in range(length))
+768
View File
@@ -0,0 +1,768 @@
# -*- coding: utf-8 -*-
# by @嗷呜
import json
import re
import sys
import time
from base64 import b64decode, b64encode
from urllib.parse import parse_qs
import requests
from pyquery import PyQuery as pq
sys.path.append('..')
from base.spider import Spider
from concurrent.futures import ThreadPoolExecutor
class Spider(Spider):
def init(self, extend=""):
tid = 'douyin'
headers = self.gethr(0, tid)
response = requests.head(self.hosts[tid], headers=headers)
ttwid = response.cookies.get('ttwid')
headers.update({
'authority': self.hosts[tid].split('//')[-1],
'cookie': f'ttwid={ttwid}' if ttwid else ''
})
self.dyheaders = headers
pass
def getName(self):
pass
def isVideoFormat(self, url):
pass
def manualVideoCheck(self):
pass
def destroy(self):
pass
headers = [
{
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0"
},
{
"User-Agent": "Dart/3.4 (dart:io)"
}
]
excepturl = 'https://www.baidu.com'
hosts = {
"huya": ["https://www.huya.com","https://mp.huya.com"],
"douyin": "https://live.douyin.com",
"douyu": "https://www.douyu.com",
"wangyi": "https://cc.163.com",
"bili": ["https://api.live.bilibili.com", "https://api.bilibili.com"]
}
referers = {
"huya": "https://live.cdn.huya.com",
"douyin": "https://live.douyin.com",
"douyu": "https://m.douyu.com",
"bili": "https://live.bilibili.com"
}
playheaders = {
"wangyi": {
"User-Agent": "ExoPlayer",
"Connection": "Keep-Alive",
"Icy-MetaData": "1"
},
"bili": {
'Accept': '*/*',
'Icy-MetaData': '1',
'referer': referers['bili'],
'user-agent': headers[0]['User-Agent']
},
'douyin': {
'User-Agent': 'libmpv',
'Icy-MetaData': '1'
},
'huya': {
'User-Agent': 'ExoPlayer',
'Connection': 'Keep-Alive',
'Icy-MetaData': '1'
},
'douyu': {
'User-Agent': 'libmpv',
'Icy-MetaData': '1'
}
}
def process_bili(self):
try:
self.blfdata = self.fetch(
f'{self.hosts["bili"][0]}/room/v1/Area/getList?need_entrance=1&parent_id=0',
headers=self.gethr(0, 'bili')
).json()
return ('bili', [{'key': 'cate', 'name': '分类',
'value': [{'n': i['name'], 'v': str(i['id'])}
for i in self.blfdata['data']]}])
except Exception as e:
print(f"bili处理错误: {e}")
return 'bili', None
def process_douyin(self):
try:
data = self.getpq(self.hosts['douyin'], headers=self.dyheaders)('script')
for i in data.items():
if 'categoryData' in i.text():
content = i.text()
start = content.find('{')
end = content.rfind('}') + 1
if start != -1 and end != -1:
json_str = content[start:end]
json_str = json_str.replace('\\"', '"')
try:
self.dyifdata = json.loads(json_str)
return ('douyin', [{'key': 'cate', 'name': '分类',
'value': [{'n': i['partition']['title'],
'v': f"{i['partition']['id_str']}@@{i['partition']['title']}"}
for i in self.dyifdata['categoryData']]}])
except json.JSONDecodeError as e:
print(f"douyin解析错误: {e}")
return 'douyin', None
except Exception as e:
print(f"douyin请求或处理错误: {e}")
return 'douyin', None
def process_douyu(self):
try:
self.dyufdata = self.fetch(
f'{self.referers["douyu"]}/api/cate/list',
headers=self.headers[1]
).json()
return ('douyu', [{'key': 'cate', 'name': '分类',
'value': [{'n': i['cate1Name'], 'v': str(i['cate1Id'])}
for i in self.dyufdata['data']['cate1Info']]}])
except Exception as e:
print(f"douyu错误: {e}")
return 'douyu', None
def homeContent(self, filter):
result = {}
cateManual = {
"虎牙": "huya",
"哔哩": "bili",
"抖音": "douyin",
"斗鱼": "douyu",
"网易": "wangyi"
}
classes = []
filters = {
'huya': [{'key': 'cate', 'name': '分类',
'value': [{'n': '网游', 'v': '1'}, {'n': '单机', 'v': '2'},
{'n': '娱乐', 'v': '8'}, {'n': '手游', 'v': '3'}]}]
}
with ThreadPoolExecutor(max_workers=3) as executor:
futures = {
executor.submit(self.process_bili): 'bili',
executor.submit(self.process_douyin): 'douyin',
executor.submit(self.process_douyu): 'douyu'
}
for future in futures:
platform, filter_data = future.result()
if filter_data:
filters[platform] = filter_data
for k in cateManual:
classes.append({
'type_name': k,
'type_id': cateManual[k]
})
result['class'] = classes
result['filters'] = filters
return result
def homeVideoContent(self):
pass
def categoryContent(self, tid, pg, filter, extend):
vdata = []
result = {}
pagecount = 9999
result['page'] = pg
result['limit'] = 90
result['total'] = 999999
if tid == 'wangyi':
vdata, pagecount = self.wyccContent(tid, pg, filter, extend, vdata)
elif 'bili' in tid:
vdata, pagecount = self.biliContent(tid, pg, filter, extend, vdata)
elif 'huya' in tid:
vdata, pagecount = self.huyaContent(tid, pg, filter, extend, vdata)
elif 'douyin' in tid:
vdata, pagecount = self.douyinContent(tid, pg, filter, extend, vdata)
elif 'douyu' in tid:
vdata, pagecount = self.douyuContent(tid, pg, filter, extend, vdata)
result['list'] = vdata
result['pagecount'] = pagecount
return result
def wyccContent(self, tid, pg, filter, extend, vdata):
params = {
'format': 'json',
'start': (int(pg) - 1) * 20,
'size': '20',
}
response = self.fetch(f'{self.hosts[tid]}/api/category/live/', params=params, headers=self.headers[0]).json()
for i in response['lives']:
if i.get('cuteid'):
bvdata = self.buildvod(
vod_id=f"{tid}@@{i['cuteid']}",
vod_name=i.get('title'),
vod_pic=i.get('cover'),
vod_remarks=i.get('nickname'),
style={"type": "rect", "ratio": 1.33}
)
vdata.append(bvdata)
return vdata, 9999
def biliContent(self, tid, pg, filter, extend, vdata):
if extend.get('cate') and pg == '1' and 'click' not in tid:
for i in self.blfdata['data']:
if str(i['id']) == extend['cate']:
for j in i['list']:
v = self.buildvod(
vod_id=f"click_{tid}@@{i['id']}@@{j['id']}",
vod_name=j.get('name'),
vod_pic=j.get('pic'),
vod_tag=1,
style={"type": "oval", "ratio": 1}
)
vdata.append(v)
return vdata, 1
else:
path = f'/xlive/web-interface/v1/second/getListByArea?platform=web&sort=online&page_size=30&page={pg}'
if 'click' in tid:
ids = tid.split('_')[1].split('@@')
tid = ids[0]
path = f'/xlive/web-interface/v1/second/getList?platform=web&parent_area_id={ids[1]}&area_id={ids[-1]}&sort_type=&page={pg}'
data = self.fetch(f'{self.hosts[tid][0]}{path}', headers=self.gethr(0, tid)).json()
for i in data['data']['list']:
if i.get('roomid'):
data = self.buildvod(
f"{tid}@@{i['roomid']}",
i.get('title'),
i.get('cover'),
i.get('watched_show', {}).get('text_large'),
0,
i.get('uname'),
style={"type": "rect", "ratio": 1.33}
)
vdata.append(data)
return vdata, 9999
def huyaContent(self, tid, pg, filter, extend, vdata):
if extend.get('cate') and pg == '1' and 'click' not in tid:
id = extend.get('cate')
data = self.fetch(f'{self.referers[tid]}/liveconfig/game/bussLive?bussType={id}',
headers=self.headers[1]).json()
for i in data['data']:
v = self.buildvod(
vod_id=f"click_{tid}@@{int(i['gid'])}",
vod_name=i.get('gameFullName'),
vod_pic=f'https://huyaimg.msstatic.com/cdnimage/game/{int(i["gid"])}-MS.jpg',
vod_tag=1,
style={"type": "oval", "ratio": 1}
)
vdata.append(v)
return vdata, 1
else:
gid = ''
if 'click' in tid:
ids = tid.split('_')[1].split('@@')
tid = ids[0]
gid = f'&gameId={ids[1]}'
data = self.fetch(f'{self.hosts[tid][0]}/cache.php?m=LiveList&do=getLiveListByPage&tagAll=0{gid}&page={pg}',
headers=self.headers[1]).json()
for i in data['data']['datas']:
if i.get('profileRoom'):
v = self.buildvod(
f"{tid}@@{i['profileRoom']}",
i.get('introduction'),
i.get('screenshot'),
str(int(i.get('totalCount', '1')) / 10000) + '万',
0,
i.get('nick'),
style={"type": "rect", "ratio": 1.33}
)
vdata.append(v)
return vdata, 9999
def douyinContent(self, tid, pg, filter, extend, vdata):
if extend.get('cate') and pg == '1' and 'click' not in tid:
ids = extend.get('cate').split('@@')
for i in self.dyifdata['categoryData']:
c = i['partition']
if c['id_str'] == ids[0] and c['title'] == ids[1]:
vlist = i['sub_partition'].copy()
vlist.insert(0, {'partition': c})
for j in vlist:
j = j['partition']
v = self.buildvod(
vod_id=f"click_{tid}@@{j['id_str']}@@{j['type']}",
vod_name=j.get('title'),
vod_pic='https://p3-pc-weboff.byteimg.com/tos-cn-i-9r5gewecjs/pwa_v3/512x512-1.png',
vod_tag=1,
style={"type": "oval", "ratio": 1}
)
vdata.append(v)
return vdata, 1
else:
path = f'/webcast/web/partition/detail/room/?aid=6383&app_name=douyin_web&live_id=1&device_platform=web&count=15&offset={(int(pg) - 1) * 15}&partition=720&partition_type=1'
if 'click' in tid:
ids = tid.split('_')[1].split('@@')
tid = ids[0]
path = f'/webcast/web/partition/detail/room/?aid=6383&app_name=douyin_web&live_id=1&device_platform=web&count=15&offset={(int(pg) - 1) * 15}&partition={ids[1]}&partition_type={ids[-1]}&req_from=2'
data = self.fetch(f'{self.hosts[tid]}{path}', headers=self.dyheaders).json()
for i in data['data']['data']:
v = self.buildvod(
vod_id=f"{tid}@@{i['web_rid']}",
vod_name=i['room'].get('title'),
vod_pic=i['room']['cover'].get('url_list')[0],
vod_year=i.get('user_count_str'),
vod_remarks=i['room']['owner'].get('nickname'),
style={"type": "rect", "ratio": 1.33}
)
vdata.append(v)
return vdata, 9999
def douyuContent(self, tid, pg, filter, extend, vdata):
if extend.get('cate') and pg == '1' and 'click' not in tid:
for i in self.dyufdata['data']['cate2Info']:
if str(i['cate1Id']) == extend['cate']:
v = self.buildvod(
vod_id=f"click_{tid}@@{i['cate2Id']}",
vod_name=i.get('cate2Name'),
vod_pic=i.get('icon'),
vod_remarks=i.get('count'),
vod_tag=1,
style={"type": "oval", "ratio": 1}
)
vdata.append(v)
return vdata, 1
else:
path = f'/japi/weblist/apinc/allpage/6/{pg}'
if 'click' in tid:
ids = tid.split('_')[1].split('@@')
tid = ids[0]
path = f'/gapi/rkc/directory/mixList/2_{ids[1]}/{pg}'
url = f'{self.hosts[tid]}{path}'
data = self.fetch(url, headers=self.headers[1]).json()
for i in data['data']['rl']:
v = self.buildvod(
vod_id=f"{tid}@@{i['rid']}",
vod_name=i.get('rn'),
vod_pic=i.get('rs16'),
vod_year=str(int(i.get('ol', 1)) / 10000) + '万',
vod_remarks=i.get('nn'),
style={"type": "rect", "ratio": 1.33}
)
vdata.append(v)
return vdata, 9999
def detailContent(self, ids):
ids = ids[0].split('@@')
if ids[0] == 'wangyi':
vod = self.wyccDetail(ids)
elif ids[0] == 'bili':
vod = self.biliDetail(ids)
elif ids[0] == 'huya':
vod = self.huyaDetail(ids)
elif ids[0] == 'douyin':
vod = self.douyinDetail(ids)
elif ids[0] == 'douyu':
vod = self.douyuDetail(ids)
return {'list': [vod]}
def wyccDetail(self, ids):
try:
vdata = self.getpq(f'{self.hosts[ids[0]]}/{ids[1]}', self.headers[0])('script').eq(-1).text()
def get_quality_name(vbr):
if vbr <= 600:
return "标清"
elif vbr <= 1000:
return "高清"
elif vbr <= 2000:
return "超清"
else:
return "蓝光"
data = json.loads(vdata)['props']['pageProps']['roomInfoInitData']
name = data['live'].get('title', ids[0])
vod = self.buildvod(vod_name=data.get('keywords_suffix'), vod_remarks=data['live'].get('title'),
vod_content=data.get('description_suffix'))
resolution_data = data['live']['quickplay']['resolution']
all_streams = {}
sorted_qualities = sorted(resolution_data.items(),
key=lambda x: x[1]['vbr'],
reverse=True)
for quality, data in sorted_qualities:
vbr = data['vbr']
quality_name = get_quality_name(vbr)
for cdn_name, url in data['cdn'].items():
if cdn_name not in all_streams and type(url) == str and url.startswith('http'):
all_streams[cdn_name] = []
if isinstance(url, str) and url.startswith('http'):
all_streams[cdn_name].extend([quality_name, url])
plists = []
names = []
for i, (cdn_name, stream_list) in enumerate(all_streams.items(), 1):
names.append(f'线路{i}')
pstr = f"{name}${ids[0]}@@{self.e64(json.dumps(stream_list))}"
plists.append(pstr)
vod['vod_play_from'] = "$$$".join(names)
vod['vod_play_url'] = "$$$".join(plists)
return vod
except Exception as e:
return self.handle_exception(e)
def biliDetail(self, ids):
try:
vdata = self.fetch(
f'{self.hosts[ids[0]][0]}/xlive/web-room/v1/index/getInfoByRoom?room_id={ids[1]}&wts={int(time.time())}',
headers=self.gethr(0, ids[0])).json()
v = vdata['data']['room_info']
vod = self.buildvod(
vod_name=v.get('title'),
type_name=v.get('parent_area_name') + '/' + v.get('area_name'),
vod_remarks=v.get('tags'),
vod_play_from=v.get('title'),
)
data = self.fetch(
f'{self.hosts[ids[0]][0]}/xlive/web-room/v2/index/getRoomPlayInfo?room_id={ids[1]}&protocol=0%2C1&format=0%2C1%2C2&codec=0%2C1&platform=web',
headers=self.gethr(0, ids[0])).json()
vdnams = data['data']['playurl_info']['playurl']['g_qn_desc']
all_accept_qns = []
streams = data['data']['playurl_info']['playurl']['stream']
for stream in streams:
for format_item in stream['format']:
for codec in format_item['codec']:
if 'accept_qn' in codec:
all_accept_qns.append(codec['accept_qn'])
max_accept_qn = max(all_accept_qns, key=len) if all_accept_qns else []
quality_map = {
item['qn']: item['desc']
for item in vdnams
}
quality_names = [f"{quality_map.get(qn)}${ids[0]}@@{ids[1]}@@{qn}" for qn in max_accept_qn]
vod['vod_play_url'] = "#".join(quality_names)
return vod
except Exception as e:
return self.handle_exception(e)
def huyaDetail(self, ids):
try:
vdata = self.fetch(f'{self.hosts[ids[0]][1]}/cache.php?m=Live&do=profileRoom&roomid={ids[1]}',
headers=self.headers[0]).json()
v = vdata['data']['liveData']
vod = self.buildvod(
vod_name=v.get('introduction'),
type_name=v.get('gameFullName'),
vod_director=v.get('nick'),
vod_remarks=v.get('contentIntro'),
)
data = dict(reversed(list(vdata['data']['stream'].items())))
names = []
plist = []
for stream_type, stream_data in data.items():
if isinstance(stream_data, dict) and 'multiLine' in stream_data and 'rateArray' in stream_data:
names.append(f"线路{len(names) + 1}")
qualities = sorted(
stream_data['rateArray'],
key=lambda x: (x['iBitRate'], x['sDisplayName']),
reverse=True
)
cdn_urls = []
for cdn in stream_data['multiLine']:
quality_urls = []
for quality in qualities:
quality_name = quality['sDisplayName']
bit_rate = quality['iBitRate']
base_url = cdn['url']
if bit_rate > 0:
if '.m3u8' in base_url:
new_url = base_url.replace(
'ratio=2000',
f'ratio={bit_rate}'
)
else:
new_url = base_url.replace(
'imgplus.flv',
f'imgplus_{bit_rate}.flv'
)
else:
new_url = base_url
quality_urls.extend([quality_name, new_url])
encoded_urls = self.e64(json.dumps(quality_urls))
cdn_urls.append(f"{cdn['cdnType']}${ids[0]}@@{encoded_urls}")
if cdn_urls:
plist.append('#'.join(cdn_urls))
vod['vod_play_from'] = "$$$".join(names)
vod['vod_play_url'] = "$$$".join(plist)
return vod
except Exception as e:
return self.handle_exception(e)
def douyinDetail(self, ids):
url = f'{self.hosts[ids[0]]}/webcast/room/web/enter/?aid=6383&app_name=douyin_web&live_id=1&device_platform=web&enter_from=web_live&web_rid={ids[1]}&room_id_str=&enter_source=&Room-Enter-User-Login-Ab=0&is_need_double_stream=false&cookie_enabled=true&screen_width=1980&screen_height=1080&browser_language=zh-CN&browser_platform=Win32&browser_name=Edge&browser_version=125.0.0.0'
data = self.fetch(url, headers=self.dyheaders).json()
try:
vdata = data['data']['data'][0]
vod = self.buildvod(
vod_name=vdata['title'],
vod_remarks=vdata['user_count_str'],
)
resolution_data = vdata['stream_url']['live_core_sdk_data']['pull_data']['options']['qualities']
stream_json = vdata['stream_url']['live_core_sdk_data']['pull_data']['stream_data']
stream_json = json.loads(stream_json)
available_types = []
if any(sdk_key in stream_json['data'] and 'main' in stream_json['data'][sdk_key] for sdk_key in
stream_json['data']):
available_types.append('main')
if any(sdk_key in stream_json['data'] and 'backup' in stream_json['data'][sdk_key] for sdk_key in
stream_json['data']):
available_types.append('backup')
plist = []
for line_type in available_types:
format_arrays = {'flv': [], 'hls': [], 'lls': []}
qualities = sorted(resolution_data, key=lambda x: x['level'], reverse=True)
for quality in qualities:
sdk_key = quality['sdk_key']
if sdk_key in stream_json['data'] and line_type in stream_json['data'][sdk_key]:
stream_info = stream_json['data'][sdk_key][line_type]
if stream_info.get('flv'):
format_arrays['flv'].extend([quality['name'], stream_info['flv']])
if stream_info.get('hls'):
format_arrays['hls'].extend([quality['name'], stream_info['hls']])
if stream_info.get('lls'):
format_arrays['lls'].extend([quality['name'], stream_info['lls']])
format_urls = []
for format_name, url_array in format_arrays.items():
if url_array:
encoded_urls = self.e64(json.dumps(url_array))
format_urls.append(f"{format_name}${ids[0]}@@{encoded_urls}")
if format_urls:
plist.append('#'.join(format_urls))
names = ['线路1', '线路2'][:len(plist)]
vod['vod_play_from'] = "$$$".join(names)
vod['vod_play_url'] = "$$$".join(plist)
return vod
except Exception as e:
return self.handle_exception(e)
def douyuDetail(self, ids):
headers = self.gethr(0, zr=f'{self.hosts[ids[0]]}/{ids[1]}')
try:
data = self.fetch(f'{self.hosts[ids[0]]}/betard/{ids[1]}', headers=headers).json()
vname = data['room']['room_name']
vod = self.buildvod(
vod_name=vname,
vod_remarks=data['room'].get('second_lvl_name'),
vod_director=data['room'].get('nickname'),
)
vdata = self.fetch(f'{self.hosts[ids[0]]}/swf_api/homeH5Enc?rids={ids[1]}', headers=headers).json()
json_body = vdata['data']
json_body = {"html": self.douyu_text(json_body[f'room{ids[1]}']), "rid": ids[1]}
sign = self.post('http://alive.nsapps.cn/api/AllLive/DouyuSign', json=json_body, headers=self.headers[1]).json()['data']
body = f'{sign}&cdn=&rate=-1&ver=Douyu_223061205&iar=1&ive=1&hevc=0&fa=0'
body=self.params_to_json(body)
nubdata = self.post(f'{self.hosts[ids[0]]}/lapi/live/getH5Play/{ids[1]}', data=body, headers=headers).json()
plist = []
names = []
for i,x in enumerate(nubdata['data']['cdnsWithName']):
names.append(f'线路{i+1}')
d = {'sign': sign, 'cdn': x['cdn'], 'id': ids[1]}
plist.append(
f'{vname}${ids[0]}@@{self.e64(json.dumps(d))}@@{self.e64(json.dumps(nubdata["data"]["multirates"]))}')
vod['vod_play_from'] = "$$$".join(names)
vod['vod_play_url'] = "$$$".join(plist)
return vod
except Exception as e:
return self.handle_exception(e)
def douyu_text(self, text):
function_positions = [m.start() for m in re.finditer('function', text)]
total_functions = len(function_positions)
if total_functions % 2 == 0:
target_index = total_functions // 2 + 1
else:
target_index = (total_functions - 1) // 2 + 1
if total_functions >= target_index:
cut_position = function_positions[target_index - 1]
ctext = text[4:cut_position]
return re.sub(r'eval\(strc\)\([\w\d,]+\)', 'strc', ctext)
return text
def searchContent(self, key, quick, pg="1"):
pass
def playerContent(self, flag, id, vipFlags):
try:
ids = id.split('@@')
p = 1
if ids[0] in ['wangyi', 'douyin','huya']:
p, url = 0, json.loads(self.d64(ids[1]))
elif ids[0] == 'bili':
p, url = self.biliplay(ids)
elif ids[0] == 'huya':
p, url = 0, json.loads(self.d64(ids[1]))
elif ids[0] == 'douyu':
p, url = self.douyuplay(ids)
return {'parse': p, 'url': url, 'header': self.playheaders[ids[0]]}
except Exception as e:
return {'parse': 1, 'url': self.excepturl, 'header': self.headers[0]}
def biliplay(self, ids):
try:
data = self.fetch(
f'{self.hosts[ids[0]][0]}/xlive/web-room/v2/index/getRoomPlayInfo?room_id={ids[1]}&protocol=0,1&format=0,2&codec=0&platform=web&qn={ids[2]}',
headers=self.gethr(0, ids[0])).json()
urls = []
line_index = 1
for stream in data['data']['playurl_info']['playurl']['stream']:
for format_item in stream['format']:
for codec in format_item['codec']:
for url_info in codec['url_info']:
full_url = f"{url_info['host']}/{codec['base_url'].lstrip('/')}{url_info['extra']}"
urls.extend([f"线路{line_index}", full_url])
line_index += 1
return 0, urls
except Exception as e:
return 1, self.excepturl
def douyuplay(self, ids):
try:
sdata = json.loads(self.d64(ids[1]))
headers = self.gethr(0, zr=f'{self.hosts[ids[0]]}/{sdata["id"]}')
ldata = json.loads(self.d64(ids[2]))
result_obj = {}
with ThreadPoolExecutor(max_workers=len(ldata)) as executor:
futures = [
executor.submit(
self.douyufp,
sdata,
quality,
headers,
self.hosts[ids[0]],
result_obj
) for quality in ldata
]
for future in futures:
future.result()
result = []
for bit in sorted(result_obj.keys(), reverse=True):
result.extend(result_obj[bit])
if result:
return 0, result
return 1, self.excepturl
except Exception as e:
return 1, self.excepturl
def douyufp(self, sdata, quality, headers, host, result_obj):
try:
body = f'{sdata["sign"]}&cdn={sdata["cdn"]}&rate={quality["rate"]}'
body=self.params_to_json(body)
data = self.post(f'{host}/lapi/live/getH5Play/{sdata["id"]}',
data=body, headers=headers).json()
if data.get('data'):
play_url = data['data']['rtmp_url'] + '/' + data['data']['rtmp_live']
bit = quality.get('bit', 0)
if bit not in result_obj:
result_obj[bit] = []
result_obj[bit].extend([quality['name'], play_url])
except Exception as e:
print(f"Error fetching {quality['name']}: {str(e)}")
def localProxy(self, param):
pass
def e64(self, text):
try:
text_bytes = text.encode('utf-8')
encoded_bytes = b64encode(text_bytes)
return encoded_bytes.decode('utf-8')
except Exception as e:
print(f"Base64编码错误: {str(e)}")
return ""
def d64(self, encoded_text):
try:
encoded_bytes = encoded_text.encode('utf-8')
decoded_bytes = b64decode(encoded_bytes)
return decoded_bytes.decode('utf-8')
except Exception as e:
print(f"Base64解码错误: {str(e)}")
return ""
def josn_to_params(self, params, skip_empty=False):
query = []
for k, v in params.items():
if skip_empty and not v:
continue
query.append(f"{k}={v}")
return "&".join(query)
def params_to_json(self, query_string):
parsed_data = parse_qs(query_string)
result = {key: value[0] for key, value in parsed_data.items()}
return result
def buildvod(self, vod_id='', vod_name='', vod_pic='', vod_year='', vod_tag='', vod_remarks='', style='',
type_name='', vod_area='', vod_actor='', vod_director='',
vod_content='', vod_play_from='', vod_play_url=''):
vod = {
'vod_id': vod_id,
'vod_name': vod_name,
'vod_pic': vod_pic,
'vod_year': vod_year,
'vod_tag': 'folder' if vod_tag else '',
'vod_remarks': vod_remarks,
'style': style,
'type_name': type_name,
'vod_area': vod_area,
'vod_actor': vod_actor,
'vod_director': vod_director,
'vod_content': vod_content,
'vod_play_from': vod_play_from,
'vod_play_url': vod_play_url
}
vod = {key: value for key, value in vod.items() if value}
return vod
def getpq(self, url, headers=None, cookies=None):
data = self.fetch(url, headers=headers, cookies=cookies).text
try:
return pq(data)
except Exception as e:
print(f"解析页面错误: {str(e)}")
return pq(data.encode('utf-8'))
def gethr(self, index, rf='', zr=''):
headers = self.headers[index]
if zr:
headers['referer'] = zr
else:
headers['referer'] = f"{self.referers[rf]}/"
return headers
def handle_exception(self, e):
print(f"报错: {str(e)}")
return {'vod_play_from': '哎呀翻车啦', 'vod_play_url': f'翻车啦${self.excepturl}'}
+323
View File
@@ -0,0 +1,323 @@
# -*- coding: utf-8 -*-
# by @嗷呜
import json
import sys
import uuid
import copy
sys.path.append('..')
from base.spider import Spider
from concurrent.futures import ThreadPoolExecutor, as_completed
class Spider(Spider):
def init(self, extend=""):
self.dbody = {
"page_params": {
"channel_id": "",
"filter_params": "sort=75",
"page_type": "channel_operation",
"page_id": "channel_list_second_page"
}
}
self.body = self.dbody
pass
def getName(self):
pass
def isVideoFormat(self, url):
pass
def manualVideoCheck(self):
pass
def destroy(self):
pass
host = 'https://v.qq.com'
apihost = 'https://pbaccess.video.qq.com'
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.5410.0 Safari/537.36',
'origin': host,
'referer': f'{host}/'
}
def homeContent(self, filter):
cdata = {
"电视剧": "100113",
"电影": "100173",
"综艺": "100109",
"纪录片": "100105",
"动漫": "100119",
"少儿": "100150",
"短剧": "110755"
}
result = {}
classes = []
filters = {}
for k in cdata:
classes.append({
'type_name': k,
'type_id': cdata[k]
})
with ThreadPoolExecutor(max_workers=len(classes)) as executor:
futures = [executor.submit(self.get_filter_data, item['type_id']) for item in classes]
for future in futures:
cid, data = future.result()
if not data.get('data', {}).get('module_list_datas'):
continue
filter_dict = {}
try:
items = data['data']['module_list_datas'][-1]['module_datas'][-1]['item_data_lists']['item_datas']
for item in items:
if not item.get('item_params', {}).get('index_item_key'):
continue
params = item['item_params']
filter_key = params['index_item_key']
if filter_key not in filter_dict:
filter_dict[filter_key] = {
'key': filter_key,
'name': params['index_name'],
'value': []
}
filter_dict[filter_key]['value'].append({
'n': params['option_name'],
'v': params['option_value']
})
except (IndexError, KeyError):
continue
filters[cid] = list(filter_dict.values())
result['class'] = classes
result['filters'] = filters
return result
def homeVideoContent(self):
json_data = {'page_context':None,'page_params':{'page_id':'100101','page_type':'channel','skip_privacy_types':'0','support_click_scan':'1','new_mark_label_enabled':'1','ams_cookies':'',},'page_bypass_params':{'params':{'caller_id':'','data_mode':'default','page_id':'','page_type':'channel','platform_id':'2','user_mode':'default',},'scene':'channel','abtest_bypass_id':'',}}
data = self.post(f'{self.apihost}/trpc.vector_layout.page_view.PageService/getPage',headers=self.headers, json=json_data).json()
vlist = []
for it in data['data']['CardList'][0]['children_list']['list']['cards']:
if it.get('params'):
p = it['params']
tag = json.loads(p.get('uni_imgtag', '{}') or p.get('imgtag', '{}') or '{}')
id = it.get('id') or p.get('cid')
name = p.get('mz_title') or p.get('title')
if name and 'http' not in id:
vlist.append({
'vod_id': id,
'vod_name': name,
'vod_pic': p.get('image_url'),
'vod_year': tag.get('tag_2', {}).get('text'),
'vod_remarks': tag.get('tag_4', {}).get('text')
})
return {'list': vlist}
def categoryContent(self, tid, pg, filter, extend):
result = {}
params = {
"sort": extend.get('sort', '75'),
"attr": extend.get('attr', '-1'),
"itype": extend.get('itype', '-1'),
"ipay": extend.get('ipay', '-1'),
"iarea": extend.get('iarea', '-1'),
"iyear": extend.get('iyear', '-1'),
"theater": extend.get('theater', '-1'),
"award": extend.get('award', '-1'),
"recommend": extend.get('recommend', '-1')
}
if pg == '1':
self.body = self.dbody.copy()
self.body['page_params']['channel_id'] = tid
self.body['page_params']['filter_params'] = self.josn_to_params(params)
data = self.post(
f'{self.apihost}/trpc.universal_backend_service.page_server_rpc.PageServer/GetPageData?video_appid=1000005&vplatform=2&vversion_name=8.9.10&new_mark_label_enabled=1',
json=self.body, headers=self.headers).json()
ndata = data['data']
if ndata['has_next_page']:
result['pagecount'] = 9999
self.body['page_context'] = ndata['next_page_context']
else:
result['pagecount'] = int(pg)
vlist = []
for its in ndata['module_list_datas'][-1]['module_datas'][-1]['item_data_lists']['item_datas']:
id = its.get('item_params', {}).get('cid')
if id:
p = its['item_params']
tag = json.loads(p.get('uni_imgtag', '{}') or p.get('imgtag', '{}') or '{}')
name = p.get('mz_title') or p.get('title')
pic = p.get('new_pic_hz') or p.get('new_pic_vt')
vlist.append({
'vod_id': id,
'vod_name': name,
'vod_pic': pic,
'vod_year': tag.get('tag_2', {}).get('text'),
'vod_remarks': tag.get('tag_4', {}).get('text')
})
result['list'] = vlist
result['page'] = pg
result['limit'] = 90
result['total'] = 999999
return result
def detailContent(self, ids):
vbody = {"page_params":{"req_from":"web","cid":ids[0],"vid":"","lid":"","page_type":"detail_operation","page_id":"detail_page_introduction"},"has_cache":1}
body = {"page_params":{"req_from":"web_vsite","page_id":"vsite_episode_list","page_type":"detail_operation","id_type":"1","page_size":"","cid":ids[0],"vid":"","lid":"","page_num":"","page_context":"","detail_page_type":"1"},"has_cache":1}
with ThreadPoolExecutor(max_workers=2) as executor:
future_detail = executor.submit(self.get_vdata, vbody)
future_episodes = executor.submit(self.get_vdata, body)
vdata = future_detail.result()
data = future_episodes.result()
pdata = self.process_tabs(data, body, ids)
if not pdata:
return self.handle_exception(None, "No pdata available")
try:
star_list = vdata['data']['module_list_datas'][0]['module_datas'][0]['item_data_lists']['item_datas'][
0].get('sub_items', {}).get('star_list', {}).get('item_datas', [])
actors = [star['item_params']['name'] for star in star_list]
names = ['腾讯视频', '预告片']
plist, ylist = self.process_pdata(pdata, ids)
if not plist:
del names[0]
if not ylist:
del names[1]
vod = self.build_vod(vdata, actors, plist, ylist, names)
return {'list': [vod]}
except Exception as e:
return self.handle_exception(e, "Error processing detail")
def searchContent(self, key, quick, pg="1"):
headers = self.headers.copy()
headers.update({'Content-Type': 'application/json'})
body = {'version':'25021101','clientType':1,'filterValue':'','uuid':str(uuid.uuid4()),'retry':0,'query':key,'pagenum':int(pg)-1,'pagesize':30,'queryFrom':0,'searchDatakey':'','transInfo':'','isneedQc':True,'preQid':'','adClientInfo':'','extraInfo':{'isNewMarkLabel':'1','multi_terminal_pc':'1','themeType':'1',},}
data = self.post(f'{self.apihost}/trpc.videosearch.mobile_search.MultiTerminalSearch/MbSearch?vplatform=2',
json=body, headers=headers).json()
vlist = []
vname=["电视剧", "电影", "综艺", "纪录片", "动漫", "少儿", "短剧"]
v=data['data']['normalList']['itemList']
d=data['data']['areaBoxList'][0]['itemList']
q=v+d
if v[0].get('doc') and v[0]['doc'].get('id') =='MainNeed':q=d+v
for k in q:
if k.get('doc') and k.get('videoInfo') and k['doc'].get('id') and '外站' not in k['videoInfo'].get('subTitle') and k['videoInfo'].get('title') and k['videoInfo'].get('typeName') in vname:
img_tag = k.get('videoInfo', {}).get('imgTag')
if img_tag is not None and isinstance(img_tag, str):
try:
tag = json.loads(img_tag)
except json.JSONDecodeError as e:
tag = {}
else:
tag = {}
pic = k.get('videoInfo', {}).get('imgUrl')
vlist.append({
'vod_id': k['doc']['id'],
'vod_name': self.removeHtmlTags(k['videoInfo']['title']),
'vod_pic': pic,
'vod_year': k['videoInfo'].get('typeName') +' '+ tag.get('tag_2', {}).get('text', ''),
'vod_remarks': tag.get('tag_4', {}).get('text', '')
})
return {'list': vlist, 'page': pg}
def playerContent(self, flag, id, vipFlags):
ids = id.split('@')
url = f"{self.host}/x/cover/{ids[0]}/{ids[1]}.html"
return {'jx':1,'parse': 1, 'url': url, 'header': ''}
def localProxy(self, param):
pass
def get_filter_data(self, cid):
hbody = self.dbody.copy()
hbody['page_params']['channel_id'] = cid
data = self.post(
f'{self.apihost}/trpc.universal_backend_service.page_server_rpc.PageServer/GetPageData?video_appid=1000005&vplatform=2&vversion_name=8.9.10&new_mark_label_enabled=1',
json=hbody, headers=self.headers).json()
return cid, data
def get_vdata(self, body):
try:
vdata = self.post(
f'{self.apihost}/trpc.universal_backend_service.page_server_rpc.PageServer/GetPageData?video_appid=3000010&vplatform=2&vversion_name=8.2.96',
json=body, headers=self.headers
).json()
return vdata
except Exception as e:
print(f"Error in get_vdata: {str(e)}")
return {'data': {'module_list_datas': []}}
def process_pdata(self, pdata, ids):
plist = []
ylist = []
for k in pdata:
if k.get('item_id'):
pid = f"{k['item_params']['union_title']}${ids[0]}@{k['item_id']}"
if '预告' in k['item_params']['union_title']:
ylist.append(pid)
else:
plist.append(pid)
return plist, ylist
def build_vod(self, vdata, actors, plist, ylist, names):
d = vdata['data']['module_list_datas'][0]['module_datas'][0]['item_data_lists']['item_datas'][0]['item_params']
urls = []
if plist:
urls.append('#'.join(plist))
if ylist:
urls.append('#'.join(ylist))
vod = {
'type_name': d.get('sub_genre', ''),
'vod_name': d.get('title', ''),
'vod_year': d.get('year', ''),
'vod_area': d.get('area_name', ''),
'vod_remarks': d.get('holly_online_time', '') or d.get('hotval', ''),
'vod_actor': ','.join(actors),
'vod_content': d.get('cover_description', ''),
'vod_play_from': '$$$'.join(names),
'vod_play_url': '$$$'.join(urls)
}
return vod
def handle_exception(self, e, message):
print(f"{message}: {str(e)}")
return {'list': [{'vod_play_from': '哎呀翻车啦', 'vod_play_url': '翻车啦#555'}]}
def process_tabs(self, data, body, ids):
try:
pdata = data['data']['module_list_datas'][-1]['module_datas'][-1]['item_data_lists']['item_datas']
tabs = data['data']['module_list_datas'][-1]['module_datas'][-1]['module_params'].get('tabs')
if tabs and len(json.loads(tabs)):
tabs = json.loads(tabs)
remaining_tabs = tabs[1:]
task_queue = []
for tab in remaining_tabs:
nbody = copy.deepcopy(body)
nbody['page_params']['page_context'] = tab['page_context']
task_queue.append(nbody)
with ThreadPoolExecutor(max_workers=10) as executor:
future_map = {executor.submit(self.get_vdata, task): idx for idx, task in enumerate(task_queue)}
results = [None] * len(task_queue)
for future in as_completed(future_map.keys()):
idx = future_map[future]
results[idx] = future.result()
for result in results:
if result:
page_data = result['data']['module_list_datas'][-1]['module_datas'][-1]['item_data_lists'][
'item_datas']
pdata.extend(page_data)
return pdata
except Exception as e:
print(f"Error processing episodes: {str(e)}")
return []
def josn_to_params(self, params, skip_empty=False):
query = []
for k, v in params.items():
if skip_empty and not v:
continue
query.append(f"{k}={v}")
return "&".join(query)
+205
View File
@@ -0,0 +1,205 @@
# -*- coding: utf-8 -*-
# by @嗷呜
import sys
import time
from concurrent.futures import ThreadPoolExecutor, as_completed
sys.path.append('..')
from base.spider import Spider
class Spider(Spider):
def init(self, extend=""):
pass
def getName(self):
pass
def isVideoFormat(self, url):
pass
def manualVideoCheck(self):
pass
def destroy(self):
pass
rhost='https://www.mgtv.com'
host='https://pianku.api.mgtv.com'
vhost='https://pcweb.api.mgtv.com'
mhost='https://dc.bz.mgtv.com'
shost='https://mobileso.bz.mgtv.com'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.6478.61 Chrome/126.0.6478.61 Not/A)Brand/8 Safari/537.36',
'origin': rhost,
'referer': f'{rhost}/'
}
def homeContent(self, filter):
result = {}
cateManual = {
"电影": "3",
"电视剧": "2",
"综艺": "1",
"动画": "50",
"少儿": "10",
"纪录片": "51",
"教育": "115"
}
classes = []
filters = {}
for k in cateManual:
classes.append({
'type_name': k,
'type_id': cateManual[k]
})
with ThreadPoolExecutor(max_workers=len(classes)) as executor:
results = executor.map(self.getf, classes)
for id, ft in results:
if len(ft):filters[id] = ft
result['class'] = classes
result['filters'] = filters
return result
def homeVideoContent(self):
data=self.fetch(f'{self.mhost}/dynamic/v1/channel/index/0/0/0/1000000/0/0/17/1354?type=17&version=5.0&t={str(int(time.time()*1000))}&_support=10000000', headers=self.headers).json()
videoList = []
for i in data['data']:
if i.get('DSLList') and len(i['DSLList']):
for j in i['DSLList']:
if j.get('data') and j['data'].get('items') and len(j['data']['items']):
for k in j['data']['items']:
videoList.append({
'vod_id': k["videoId"],
'vod_name': k['videoName'],
'vod_pic': k['img'],
'vod_year': k.get('cornerTitle'),
'vod_remarks': k.get('time') or k.get('desc'),
})
return {'list':videoList}
def categoryContent(self, tid, pg, filter, extend):
body={
'allowedRC': '1',
'platform': 'pcweb',
'channelId': tid,
'pn': pg,
'pc': '80',
'hudong': '1',
'_support': '10000000'
}
body.update(extend)
data=self.fetch(f'{self.host}/rider/list/pcweb/v3', params=body, headers=self.headers).json()
videoList = []
for i in data['data']['hitDocs']:
videoList.append({
'vod_id': i["playPartId"],
'vod_name': i['title'],
'vod_pic': i['img'],
'vod_year': (i.get('rightCorner',{}) or {}).get('text') or i.get('year'),
'vod_remarks': i['updateInfo']
})
result = {}
result['list'] = videoList
result['page'] = pg
result['pagecount'] = 9999
result['limit'] = 90
result['total'] = 999999
return result
def detailContent(self, ids):
vbody={'allowedRC': '1', 'vid': ids[0], 'type': 'b', '_support': '10000000'}
vdata=self.fetch(f'{self.vhost}/video/info', params=vbody, headers=self.headers).json()
d=vdata['data']['info']['detail']
vod = {
'vod_name': vdata['data']['info']['title'],
'type_name': d.get('kind'),
'vod_year': d.get('releaseTime'),
'vod_area': d.get('area'),
'vod_lang': d.get('language'),
'vod_remarks': d.get('updateInfo'),
'vod_actor': d.get('leader'),
'vod_director': d.get('director'),
'vod_content': d.get('story'),
'vod_play_from': '芒果TV',
'vod_play_url': ''
}
data,pdata=self.fetch_page_data('1', ids[0],True)
pagecount=data['data'].get('total_page') or 1
if int(pagecount)>1:
pages = list(range(2, pagecount+1))
page_results = {}
with ThreadPoolExecutor(max_workers=10) as executor:
future_to_page = {
executor.submit(self.fetch_page_data, page, ids[0]): page
for page in pages
}
for future in as_completed(future_to_page):
page = future_to_page[future]
try:
result = future.result()
page_results[page] = result
except Exception as e:
print(f"Error fetching page {page}: {e}")
for page in sorted(page_results.keys()):
pdata.extend(page_results[page])
vod['vod_play_url'] = '#'.join(pdata)
return {'list':[vod]}
def searchContent(self, key, quick, pg="1"):
data=self.fetch(f'{self.shost}/applet/search/v1?channelCode=mobile-wxap&q={key}&pn={pg}&pc=10&_support=10000000', headers=self.headers).json()
videoList = []
for i in data['data']['contents']:
if i.get('data') and len(i['data']):
k = i['data'][0]
if k.get('vid') and k.get('img'):
try:
videoList.append({
'vod_id': k['vid'],
'vod_name': k['title'],
'vod_pic': k['img'],
'vod_year': (i.get('rightTopCorner',{}) or {}).get('text') or i.get('year'),
'vod_remarks': '/'.join(i.get('desc',[])),
})
except:
print(k)
return {'list':videoList,'page':pg}
def playerContent(self, flag, id, vipFlags):
id=f'{self.rhost}{id}'
return {'jx':1,'parse': 1, 'url': id, 'header': ''}
def localProxy(self, param):
pass
def getf(self, body):
params = {
'allowedRC': '1',
'channelId': body['type_id'],
'platform': 'pcweb',
'_support': '10000000',
}
data = self.fetch(f'{self.host}/rider/config/channel/v1', params=params, headers=self.headers).json()
ft = []
for i in data['data']['listItems']:
try:
value_array = [{"n": value['tagName'], "v": value['tagId']} for value in i['items'] if
value.get('tagName')]
ft.append({"key": i['eName'], "name": i['typeName'], "value": value_array})
except:
print(i)
return body['type_id'], ft
def fetch_page_data(self, page, id, b=False):
body = {'version': '5.5.35', 'video_id': id, 'page': page, 'size': '30',
'platform': '4', 'src': 'mgtv', 'allowedRC': '1', '_support': '10000000'}
data = self.fetch(f'{self.vhost}/episode/list', params=body, headers=self.headers).json()
ldata = [f'{i["t3"]}${i["url"]}' for i in data['data']['list']]
if b:
return data, ldata
else:
return ldata
+225
View File
@@ -0,0 +1,225 @@
# -*- coding: utf-8 -*-
# by @嗷呜
import json
import sys
import threading
import uuid
import requests
sys.path.append('..')
from base.spider import Spider
import time
from Crypto.Hash import MD5, SHA1
class Spider(Spider):
'''
配置示例:
{
"key": "xxxx",
"name": "xxxx",
"type": 3,
"api": ".所在路径/金牌.py",
"searchable": 1,
"quickSearch": 1,
"filterable": 1,
"changeable": 1,
"ext": {
"site": "https://www.jiabaide.cn,域名2,域名3"
}
},
'''
def init(self, extend=""):
if extend:
hosts=json.loads(extend)['site']
self.host = self.host_late(hosts)
pass
def getName(self):
pass
def isVideoFormat(self, url):
pass
def manualVideoCheck(self):
pass
def destroy(self):
pass
def homeContent(self, filter):
cdata = self.fetch(f"{self.host}/api/mw-movie/anonymous/get/filer/type", headers=self.getheaders()).json()
fdata = self.fetch(f"{self.host}/api/mw-movie/anonymous/v1/get/filer/list", headers=self.getheaders()).json()
result = {}
classes = []
filters={}
for k in cdata['data']:
classes.append({
'type_name': k['typeName'],
'type_id': str(k['typeId']),
})
sort_values = [{"n": "最近更新", "v": "2"},{"n": "人气高低", "v": "3"}, {"n": "评分高低", "v": "4"}]
for tid, d in fdata['data'].items():
current_sort_values = sort_values.copy()
if tid == '1':
del current_sort_values[0]
filters[tid] = [
{"key": "type", "name": "类型",
"value": [{"n": i["itemText"], "v": i["itemValue"]} for i in d["typeList"]]},
*([] if not d["plotList"] else [{"key": "v_class", "name": "剧情",
"value": [{"n": i["itemText"], "v": i["itemText"]}
for i in d["plotList"]]}]),
{"key": "area", "name": "地区",
"value": [{"n": i["itemText"], "v": i["itemText"]} for i in d["districtList"]]},
{"key": "year", "name": "年份",
"value": [{"n": i["itemText"], "v": i["itemText"]} for i in d["yearList"]]},
{"key": "lang", "name": "语言",
"value": [{"n": i["itemText"], "v": i["itemText"]} for i in d["languageList"]]},
{"key": "sort", "name": "排序", "value": current_sort_values}
]
result['class'] = classes
result['filters'] = filters
return result
def homeVideoContent(self):
data1 = self.fetch(f"{self.host}/api/mw-movie/anonymous/v1/home/all/list", headers=self.getheaders()).json()
data2=self.fetch(f"{self.host}/api/mw-movie/anonymous/home/hotSearch",headers=self.getheaders()).json()
data=[]
for i in data1['data'].values():
data.extend(i['list'])
data.extend(data2['data'])
vods=self.getvod(data)
return {'list':vods}
def categoryContent(self, tid, pg, filter, extend):
params = {
"area": extend.get('area', ''),
"filterStatus": "1",
"lang": extend.get('lang', ''),
"pageNum": pg,
"pageSize": "30",
"sort": extend.get('sort', '1'),
"sortBy": "1",
"type": extend.get('type', ''),
"type1": tid,
"v_class": extend.get('v_class', ''),
"year": extend.get('year', '')
}
data = self.fetch(f"{self.host}/api/mw-movie/anonymous/video/list?{self.js(params)}", headers=self.getheaders(params)).json()
result = {}
result['list'] = self.getvod(data['data']['list'])
result['page'] = pg
result['pagecount'] = 9999
result['limit'] = 90
result['total'] = 999999
return result
def detailContent(self, ids):
data=self.fetch(f"{self.host}/api/mw-movie/anonymous/video/detail?id={ids[0]}",headers=self.getheaders({'id':ids[0]})).json()
vod=self.getvod([data['data']])[0]
vod['vod_play_from']='金牌'
vod['vod_play_url'] = '#'.join(
f"{i['name'] if len(vod['episodelist']) > 1 else vod['vod_name']}${ids[0]}@@{i['nid']}" for i in
vod['episodelist'])
vod.pop('episodelist', None)
return {'list':[vod]}
def searchContent(self, key, quick, pg="1"):
params = {
"keyword": key,
"pageNum": pg,
"pageSize": "8",
"sourceCode": "1"
}
data=self.fetch(f"{self.host}/api/mw-movie/anonymous/video/searchByWord?{self.js(params)}",headers=self.getheaders(params)).json()
vods=self.getvod(data['data']['result']['list'])
return {'list':vods,'page':pg}
def playerContent(self, flag, id, vipFlags):
self.header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.6478.61 Chrome/126.0.6478.61 Not/A)Brand/8 Safari/537.36',
'sec-ch-ua-platform': '"Windows"',
'DNT': '1',
'sec-ch-ua': '"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"',
'sec-ch-ua-mobile': '?0',
'Origin': self.host,
'Referer': f'{self.host}/'
}
ids=id.split('@@')
pdata = self.fetch(f"{self.host}/api/mw-movie/anonymous/v2/video/episode/url?clientType=1&id={ids[0]}&nid={ids[1]}",headers=self.getheaders({'clientType':'1','id': ids[0], 'nid': ids[1]})).json()
vlist=[]
for i in pdata['data']['list']:vlist.extend([i['resolutionName'],i['url']])
return {'parse':0,'url':vlist,'header':self.header}
def localProxy(self, param):
pass
def host_late(self, url_list):
if isinstance(url_list, str):
urls = [u.strip() for u in url_list.split(',')]
else:
urls = url_list
if len(urls) <= 1:
return urls[0] if urls else ''
results = {}
threads = []
def test_host(url):
try:
start_time = time.time()
response = requests.head(url, timeout=1.0, allow_redirects=False)
delay = (time.time() - start_time) * 1000
results[url] = delay
except Exception as e:
results[url] = float('inf')
for url in urls:
t = threading.Thread(target=test_host, args=(url,))
threads.append(t)
t.start()
for t in threads:
t.join()
return min(results.items(), key=lambda x: x[1])[0]
def md5(self, sign_key):
md5_hash = MD5.new()
md5_hash.update(sign_key.encode('utf-8'))
md5_result = md5_hash.hexdigest()
return md5_result
def js(self, param):
return '&'.join(f"{k}={v}" for k, v in param.items())
def getheaders(self, param=None):
if param is None:param = {}
t=str(int(time.time()*1000))
param['key']='cb808529bae6b6be45ecfab29a4889bc'
param['t']=t
sha1_hash = SHA1.new()
sha1_hash.update(self.md5(self.js(param)).encode('utf-8'))
sign = sha1_hash.hexdigest()
deviceid = str(uuid.uuid4())
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.6478.61 Chrome/126.0.6478.61 Not/A)Brand/8 Safari/537.36',
'Accept': 'application/json, text/plain, */*',
'sign': sign,
't': t,
'deviceid':deviceid
}
return headers
def convert_field_name(self, field):
field = field.lower()
if field.startswith('vod') and len(field) > 3:
field = field.replace('vod', 'vod_')
if field.startswith('type') and len(field) > 4:
field = field.replace('type', 'type_')
return field
def getvod(self, array):
return [{self.convert_field_name(k): v for k, v in item.items()} for item in array]
BIN
View File
Binary file not shown.
Binary file not shown.
+9 -3
View File
@@ -145,10 +145,10 @@
"ext": "https://www.wwgz.cn"
},
{
"key": "csp_Apphip",
"name": "🌼┃️嗨皮┃影视",
"key": "csp_KmeiJu",
"name": "🍐┃鸭梨┃影视",
"type": 3,
"api": "csp_Apphip"
"api": "csp_KmeiJu"
},
{
"key": "csp_Siren",
@@ -175,6 +175,12 @@
"api": "csp_Qiyou",
"ext": "http://www.dyxz2.com/"
},
{
"key": "csp_Apphip",
"name": "🌼┃️嗨皮┃影视",
"type": 3,
"api": "csp_Apphip"
},
{
"key": "荐片",
"name": "🎬┃荐片┃影视",
-7
View File
@@ -1,7 +0,0 @@
<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx</center>
</body>
</html>
File diff suppressed because it is too large. Load diff
+1 -1959
View File
File diff suppressed because it is too large. Load diff
BIN
View File
Binary file not shown.
File diff suppressed because it is too large. Load diff
+12 -5
View File
@@ -105,7 +105,7 @@
"searchable": 1,
"quickSearch": 1,
"filterable": 1,
"ext": "https://www.momp4.cc"
"ext": "https://www.skymp4.com"
},
{
"key": "csp_New6v",
@@ -541,6 +541,13 @@
"filterable": 1,
"ext": "./json/来看点播.json"
},
{
"key": "drpy_js_金牌",
"name": "金牌影视[js]",
"type": 3,
"api": "./api/drpy2.min.js",
"ext": "./js/金牌影视.js"
},
{
"key": "柚子资源",
"name": "🍊柚子资源",
@@ -778,7 +785,7 @@
".cdnlz"
],
"regex": [
"#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:7\\.166667,[\\s\\S]*?#EXT-X-DISCONTINUITY",
"#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF.*?66667,[\\s\\S]*?#EXT-X-DISCONTINUITY",
"#EXTINF.*?\\s+.*?08646.*?\\.ts",
"17.19",
"19.63"
@@ -789,11 +796,11 @@
"hosts": [
"vip.ffzy",
"hd.ffzy",
"super.ffzy"
"super.ffzy",
"cachem3u8.2s0"
],
"regex": [
"#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:6\\.400000,[\\s\\S]*?#EXT-X-DISCONTINUITY",
"#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:6\\.666667,[\\s\\S]*?#EXT-X-DISCONTINUITY",
"#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF.*?66667,[\\s\\S]*?#EXT-X-DISCONTINUITY",
"#EXTINF.*?\\s+.*?1171(057).*?\\.ts",
"#EXTINF.*?\\s+.*?6d7b(077).*?\\.ts",
"#EXTINF.*?\\s+.*?6718a(403).*?\\.ts",
+112
View File
@@ -0,0 +1,112 @@
var rule = {
title: '金牌影院',
host: 'https://m.sunnafh.com',
url: '/api/mw-movie/anonymous/video/list?pageNum=fypage&pageSize=30&sort=1&sortBy=1&type1=fyclass',
searchUrl: '/api/mw-movie/anonymous/video/searchByWordPageable?keyword=**&pageNum=fypage&pageSize=12&type=false',
headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36'
},
searchable: 2,
quickSearch: 0,
filterable: 0,
class_name: '电影&电视剧&综艺&动漫',
class_url: '1&2&3&4',
limit: 6,
double: false,
play_parse:true,
lazy:`js:
let pid = input.split('/')[5];
let nid = input.split('/')[7];
const t = new Date().getTime();
eval(getCryptoJS);
let signkey = 'clientType=1&id='+pid+'&nid='+nid+'&key=cb808529bae6b6be45ecfab29a4889bc&t='+t;
const key = CryptoJS.SHA1(CryptoJS.MD5(signkey).toString()).toString();
let json_data = JSON.parse(request('https://m.sunnafh.com/api/mw-movie/anonymous/v2/video/episode/url?clientType=1&id='+pid+'&nid='+nid,{headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36',
'deviceid': '63ffad23-a598-4f96-85d7-7bf5f3e4a0a2',
'sign': key,
't': t
}}));
let link = json_data.data.list[0].url;
if(/\\.(m3u8|mp4)/.test(link)){input={jx:0,parse:0,url:link}}else{input={jx:0,parse:1,url:link}}
`,
一级: `js:
let d = [];
let url = '';
let t = new Date().getTime();
eval(getCryptoJS);
let signkey = 'pageNum='+MY_PAGE+'&pageSize=30&sort=1&sortBy=1&type1='+MY_CATE+'&key=cb808529bae6b6be45ecfab29a4889bc&t='+t;
let key = CryptoJS.SHA1(CryptoJS.MD5(signkey).toString()).toString();
let list = JSON.parse(request(input,{headers:{
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36',
'Accept': 'application/json, text/plain, */*',
'deviceId': '63ffad23-a598-4f96-85d7-7bf5f3e4a0a2',
'sign': key,
't': t
}})).data.list;
list.forEach((it)=>{
d.push({
title: it.vodName,
desc:it.vodRemarks,
img:it.vodPic,
url:'http'+it.vodId
})
});
setResult(d);
`,
二级: `js:
let kid=input.split('http')[1];
let t = new Date().getTime();
eval(getCryptoJS);
let signkey = 'id='+kid+'&key=cb808529bae6b6be45ecfab29a4889bc&t='+t;
let key = CryptoJS.SHA1(CryptoJS.MD5(signkey).toString()).toString();
let kjson = JSON.parse(request('https://m.sunnafh.com/api/mw-movie/anonymous/video/detail?id='+kid,{headers:{
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36',
'Accept': 'application/json, text/plain, */*',
'deviceId': '63ffad23-a598-4f96-85d7-7bf5f3e4a0a2',
'sign': key,
't': t
}})).data;
let kurls = kjson.episodeList.map(function(it) => {
return it.name + "$" + "https://m.sunnafh.com/vod/play/"+kid+"/sid/"+it.nid
}).join('#');
VOD = {
vod_id: kid,
vod_name: kjson.vodName,
vod_pic: kjson.vodPic,
type_name: kjson.vodClass,
vod_remarks: kjson.vodRemarks,
vod_year: kjson.vodYear,
vod_area: kjson.vodArea,
vod_lang: kjson.vodLang,
vod_director: kjson.vodDirector,
vod_actor: kjson.vodActor,
vod_content: kjson.vodContent,
vod_play_from: '金牌线路',
vod_play_url: kurls
}`,
搜索: `js:
let t = new Date().getTime();
eval(getCryptoJS);
let pg = MY_PAGE;
let signkey = 'keyword='+KEY+'&pageNum='+pg+'&pageSize=12&type=false&key=cb808529bae6b6be45ecfab29a4889bc&t='+t;
let key = CryptoJS.SHA1(CryptoJS.MD5(signkey).toString()).toString();
let html = JSON.parse(request(input,{headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36',
'deviceid': '63ffad23-a598-4f96-85d7-7bf5f3e4a0a2',
'sign': key,
't': t
}}));
let data = html.data.list;
let d = [];
data.forEach(it=>{
d.push({
title: it.vodName,
desc:it.vodVersion,
img:it.vodPic,
url:'http'+it.vodId
})
});
setResult(d)
`,
}
+1155 -1299
View File
File diff suppressed because it is too large. Load diff
+179 -175
View File
@@ -1,84 +1,98 @@
# IPv4 Streams
AMC电影,http://61.221.215.25:8800/hls/43/index.m3u8
AMC电影,http://122.117.71.103:8559/http/61.222.53.250:8092/upload/115/AMC_TS-1111_1.m3u8
AMC电影,http://104.244.79.187:5050/litv/4gtv-4gtv017
AXN,http://122.117.71.103:8557/http/61.222.53.250:8081/hls/71/813/ch43.m3u8
CCTV-4K 超高清,http://27.222.3.214/liveali-tp4k.cctv.cn/live/4K10M.stream/playlist.m3u8
CCTV10,http://36.105.100.208:35455/gaoma/cctv10.m3u8
CCTV10,http://39.164.160.249:9901/tsfile/live/0010_1.m3u8
CCTV10,http://129.146.6.71:35455/gaoma/cctv10.m3u8
CCTV10,http://220.164.192.48:50085/tsfile/live/0011_1.m3u8
CCTV11,http://39.164.160.249:9901/tsfile/live/0011_1.m3u8
CCTV11,http://60.208.16.28:35455/gaoma/cctv11.m3u8
CCTV11,http://129.146.6.71:35455/gaoma/cctv11.m3u8
CCTV11,http://58.57.40.22:9901/tsfile/live/1011_1.m3u8
CCTV12,http://39.164.160.249:9901/tsfile/live/0012_1.m3u8
CCTV13,http://60.208.16.28:35455/gaoma/cctv13.m3u8
CCTV12,http://36.105.100.208:35455/gaoma/cctv12.m3u8
CCTV13,http://36.105.100.208:35455/gaoma/cctv13.m3u8
CCTV13,http://129.146.6.71:35455/gaoma/cctv13.m3u8
CCTV13,http://39.164.160.249:9901/tsfile/live/0013_1.m3u8
CCTV14,http://39.164.160.249:9901/tsfile/live/0014_1.m3u8
CCTV14,http://36.105.100.208:35455/gaoma/cctv14.m3u8
CCTV15,http://39.164.160.249:9901/tsfile/live/0015_1.m3u8
CCTV15,http://60.208.16.28:35455/gaoma/cctv15.m3u8
CCTV15,http://58.57.40.22:9901/tsfile/live/1015_1.m3u8
CCTV17,http://58.57.40.22:9901/tsfile/live/0019_1.m3u8
CCTV2,http://60.208.16.28:35455/gaoma/cctv2.m3u8
CCTV3,http://60.208.16.28:35455/gaoma/cctv3.m3u8
CCTV3,http://58.57.40.22:9901/tsfile/live/1002_1.m3u8
CCTV4,http://60.208.16.28:35455/gaoma/cctv4.m3u8
CCTV15,http://117.14.55.26:35455/gaoma/cctv15.m3u8
CCTV15,http://36.105.100.208:35455/gaoma/cctv15.m3u8
CCTV15,http://129.146.6.71:35455/gaoma/cctv15.m3u8
CCTV16,http://36.105.100.208:35455/gaoma/cctv16.m3u8
CCTV16,http://129.146.6.71:35455/gaoma/cctv16.m3u8
CCTV17,http://129.146.6.71:35455/gaoma/cctv17.m3u8
CCTV17,http://36.105.100.208:35455/gaoma/cctv17.m3u8
CCTV2,http://39.164.160.249:9901/tsfile/live/0002_1.m3u8
CCTV2,http://36.105.100.208:35455/gaoma/cctv2.m3u8
CCTV5,http://129.146.6.71:35455/gaoma/cctv5.m3u8
CCTV5,http://36.105.100.208:35455/gaoma/cctv5.m3u8
CCTV5+,http://117.169.124.46:6410/ysten-businessmobile/live/hdcctv05plus/1.m3u8
CCTV5+,http://58.57.40.22:9901/tsfile/live/1005_1.m3u8
CCTV5+,http://36.105.100.208:35455/gaoma/cctv5p.m3u8
CCTV5+,http://129.146.6.71:35455/gaoma/cctv5p.m3u8
CCTV6,http://117.169.124.36:6610/ysten-businessmobile/live/cctv-6/1.m3u8
CCTV6,http://58.57.40.22:9901/tsfile/live/1006_1.m3u8
CCTV6,http://218.13.14.6:60050/tsfile/live/1006_1.m3u8
CCTV6,http://113.140.12.230:8888/newlive/live/hls/7/live.m3u8
CCTV7,http://220.164.192.48:50085/tsfile/live/0008_1.m3u8
CCTV7,http://36.105.100.208:35455/gaoma/cctv7.m3u8
CCTV7,http://129.146.6.71:35455/gaoma/cctv7.m3u8
CCTV8,http://117.169.124.36:6610/ysten-businessmobile/live/cctv-8/1.m3u8
CCTV8,http://60.208.16.28:35455/gaoma/cctv8k_36m.m3u8
CCTV8,http://36.105.100.208:35455/gaoma/cctv8k_36m.m3u8
CCTV8,http://129.146.6.71:35455/gaoma/cctv8.m3u8
CCTV9,http://39.164.160.249:9901/tsfile/live/0009_1.m3u8
CCTV9,http://36.105.100.208:35455/gaoma/cctv9.m3u8
CCTV世界地理,http://111.61.236.247:9081/hls/62/index.m3u8
CCTV世界地理,http://120.76.248.139/live/bfgd/4200000177.m3u8
CCTV世界地理,http://36.129.204.117:9003//hls/78/index.m3u8
CCTV世界地理,http://180.213.174.225:9901/tsfile/live/1051_1.m3u8?key=txiptv&playlive=1&authid=0
CCTV世界地理,http://180.213.174.225:9901/tsfile/live/1052_1.m3u8?key=txiptv&playlive=1&authid=0
CCTV世界地理,http://60.2.190.206:4000/udp/239.253.92.113:8066
CCTV兵器科技,http://60.2.190.206:4000/udp/239.253.93.47:6435
CCTV央视台球,http://183.11.239.36:808/hls/73/index.m3u8
CCTV央视台球,http://36.129.204.117:9003//hls/71/index.m3u8
CCTV女性时尚,http://120.76.248.139/live/bfgd/4200000176.m3u8
CCTV女性时尚,http://111.61.236.247:9081/hls/59/index.m3u8
CCTV少儿,http://119.163.60.181:9901/tsfile/live/0015_1.m3u8?key=txiptv&playlive=1&authid=0
CCTV少儿,http://123.138.22.30:9901/tsfile/live/0014_1.m3u8?key=txiptv&playlive=1&authid=0
CCTV怀旧剧场,http://183.11.239.36:808/hls/133/index.m3u8
CCTV怀旧剧场,http://120.76.248.139/live/bfgd/4200000224.m3u8
CCTV怀旧剧场,http://111.61.236.247:9081/hls/67/index.m3u8
CCTV怀旧剧场,http://180.213.174.225:9901/tsfile/live/1049_1.m3u8?key=txiptv&playlive=1&authid=0
CCTV怀旧剧场,http://60.2.190.206:4000/udp/239.253.93.252:6430
CCTV怀旧剧场,http://121.19.134.200:808/tsfile/live/1035_1.m3u8?key=txiptv&playlive=1&authid=0
CCTV电视指南,http://120.76.248.139/live/bfgd/4200000164.m3u8
CCTV第一剧场,http://180.213.174.225:9901/tsfile/live/1050_1.m3u8?key=txiptv&playlive=1&authid=0
CCTV风云足球,http://183.11.239.36:808/hls/11/index.m3u8
CCTV第一剧场,http://121.19.134.200:808/tsfile/live/1033_1.m3u8?key=txiptv&playlive=1&authid=0
CCTV音乐,http://123.138.22.30:9901/tsfile/live/0015_1.m3u8?key=txiptv&playlive=1&authid=0
CCTV风云剧场,http://121.19.134.200:808/tsfile/live/1034_1.m3u8?key=txiptv&playlive=1&authid=0
CCTV风云足球,http://111.61.236.247:9081/hls/58/index.m3u8
CCTV风云足球,http://183.11.239.36:808/hls/133/index.m3u8
CCTV风云足球,http://120.76.248.139/live/bfgd/4200000225.m3u8
CCTV风云音乐,http://121.19.134.200:808/tsfile/live/1036_1.m3u8?key=txiptv&playlive=1&authid=0
CETV1,http://120.198.95.220:9901/tsfile/live/1039_1.m3u8?key=txiptv
CETV4,http://183.11.239.36:808/hls/73/index.m3u8
CHC动作电影,http://110.53.52.63:8888/newlive/live/hls/53/live.m3u8
CHC动作电影,http://218.15.183.23:9901/tsfile/live/23039_1.m3u8
CHC动作电影,http://120.238.94.82:9901/tsfile/live/1052_1.m3u8
CHC动作电影,http://119.32.12.32:2901/udp/224.1.100.131:11111
CHC动作电影,http://119.32.12.17:2901/udp/224.1.100.131:11111
CHC华诚影视,http://120.76.248.139/live/bfgd/4200000289.m3u8
CHC家庭影院,http://110.53.52.63:8888/newlive/live/hls/51/live.m3u8
CHC家庭影院,http://61.162.52.6:8088/newlive/live/hls/60/live.m3u8
CHC家庭影院,http://120.198.101.106:9901/tsfile/live/1051_1.m3u8?key=txiptv
CHC家庭影院,http://58.19.38.162:9901/tsfile/live/1006_1.m3u8?key=txiptv&playlive=1&authid=0
CHC影迷电影,http://110.53.52.63:8888/newlive/live/hls/52/live.m3u8
CHC影迷电影,http://58.19.38.162:9901/tsfile/live/1004_1.m3u8?key=txiptv&playlive=1&authid=0
CHC电影,http://218.15.183.23:9901/tsfile/live/23044_1.m3u8
CHC电影,http://120.198.95.220:9901/tsfile/live/1038_1.m3u8?key=txiptv
CHC电影,http://183.237.95.108:9901/tsfile/live/1008_1.m3u8?key=txiptv&playlive=0&authid=0
CINEMAX,http://122.117.71.103:8558/http/61.222.53.250:8081/hls/71/813/ch42.m3u8
CN卡通,http://50.7.234.10:8278/momo1_twn/playlist.m3u8?ct=19225&tid=MA0A4898983648989836&tsum=bd109117d126916f203880b1f2063d5e
HBO,http://122.117.71.103:8556/http/61.222.53.250:8081/hls/71/813/ch41.m3u8
HBO家庭,http://50.7.234.10:8278/fyi_twn/playlist.m3u8?tid=18186902&ct=17988&&tsum=7a21abab0a5912afb0ebc01db111e59f
IPTV经典电影,http://43.138.0.72:35455/yy/1382754187
NewTV农业致富,http://39.134.64.87:6610/PLTV/88888888/224/3221225683/index.m3u8?IASHttpSessionId=
NewTV东北热剧,http://39.134.64.87:6610/PLTV/88888888/224/3221225741/index.m3u8?IASHttpSessionId=
NewTV军旅剧场,http://39.134.64.87:6610/PLTV/88888888/224/3221225676/index.m3u8?IASHttpSessionId=
NewTV哒啵电竞,http://39.134.64.87:6610/PLTV/88888888/224/3221225675/index.m3u8?IASHttpSessionId=
NewTV家庭剧场,http://39.134.64.87:6610/PLTV/88888888/224/3221225677/index.m3u8?IASHttpSessionId=
NewTV怡伴健康,http://39.134.64.87:6610/PLTV/88888888/224/3221225673/index.m3u8?IASHttpSessionId=
NewTV惊悚悬疑,http://39.134.64.87:6610/PLTV/88888888/224/3221225665/index.m3u8?IASHttpSessionId=
NewTV明星大片,http://39.134.64.87:6610/PLTV/88888888/224/3221225664/index.m3u8?IASHttpSessionId=
NewTV欢乐剧场,http://39.134.64.87:6610/PLTV/88888888/224/3221225742/index.m3u8?IASHttpSessionId=
NewTV潮妈辣婆,http://39.134.64.87:6610/PLTV/88888888/224/3221225685/index.m3u8?IASHttpSessionId=
NewTV精品体育,http://39.134.64.87:6610/PLTV/88888888/224/3221225674/index.m3u8?IASHttpSessionId=
NewTV武搏世界,http://39.134.64.87:6610/PLTV/88888888/224/3221225680/index.m3u8?IASHttpSessionId=
iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.m3u8
万州三峡移民,http://123.146.162.24:8013/tslslive/PU2vzMI/hls/live_sd.m3u8
万州三峡移民,http://123.146.162.24:8017/c2F0hmi/1000/live.m3u8
万州三峡移民,http://123.146.162.24:8013/tslslive/PU2vzMI/hls/live_sd.m3u8?zzhongqd
万州三峡移民,http://123.146.162.24:8017/c2F0hmi/1000/live.m3u8?zzhongqd
万州综合,http://123.146.162.24:8017/iTXwrGs/800/live.m3u8
万州综合,http://123.146.162.24:8013/tslslive/noEX9SG/hls/live_sd.m3u8
万州综合,http://123.146.162.24:8017/iTXwrGs/800/live.m3u8?zzhongqd
万荣综合,http://60.222.246.220:19433/hls1.m3u8
三沙卫视,http://111.160.17.2:59901/tsfile/live/0001_45.m3u8
@@ -88,28 +102,27 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
东南卫视,http://58.57.40.22:9901/tsfile/live/1037_1.m3u8
东南卫视,http://110.53.52.63:8888/newlive/live/hls/47/live.m3u8
东南卫视,http://120.76.248.139/live/bfgd/4200000483.m3u8
东南卫视,http://61.136.67.238:50085/tsfile/live/0137_1.m3u8
东南卫视,http://36.32.174.67:60080/newlive/live/hls/33/live.m3u8
东方卫视,http://39.164.160.249:9901/tsfile/live/0107_1.m3u8
东方卫视,http://58.57.40.22:9901/tsfile/live/1030_1.m3u8
东方财经,http://115.150.63.77:9902/tsfile/live/1042_1.m3u8
东方财经,http://124.248.69.76:26781/douyu/9548279
东方财经,http://61.133.118.228:5001/douyu/9548279
东森幼幼,http://122.117.71.103:8515/http/61.222.53.250:8081/hls/63/805/ch09.m3u8
东森戏剧,http://122.117.71.103:8529/http/61.222.53.250:8081/hls/64/806/ch13.m3u8
东森戏剧,http://122.117.71.103:8529/http/61.222.53.250:8081/hls/64/803/ch13.m3u8
东森戏剧,http://122.117.71.103:8529/东森戏剧.m3u8
东森戏剧,http://122.117.71.103:8529/http/61.222.53.250:8081/hls/64/806/ch13.m3u8
东森电影,http://50.7.234.10:8278/ettvmovie/playlist.m3u8?tid=MDED1943740419437404&ct=19225&tsum=120834a4218c4b5c3bb19efb8116f859
东营综合,http://61.133.118.228:5001/yy/1354930954
中华小当家,http://61.221.215.25:8800/hls/40/index.m3u8
乐至综合,http://175.155.106.72:89/live1/live1.m3u8
乐至综合,http://175.155.106.72:89/live1/live1.m3u8?zsicd
乐至综合,http://175.155.106.72:89/live1/live1.m3u8?zsicd;http://rmlive.lzxrmtzx.com/live1/live1.m3u8?zsicd
云南卫视,http://39.164.160.249:9901/tsfile/live/0119_1.m3u8
云南卫视,http://58.57.40.22:9901/tsfile/live/1047_1.m3u8
云南卫视,http://220.164.192.48:50085/tsfile/live/0019_1.m3u8
云南卫视,http://110.53.52.63:8888/newlive/live/hls/26/live.m3u8
云南卫视,http://183.11.239.36:808/hls/52/index.m3u8
云南卫视,http://120.76.248.139/live/bfgd/4200000482.m3u8
云浮综合,http://125.89.163.44:8888/udp/239.77.0.253:5146
五星体育,http://36.105.100.208:35455/itv/5000000010000017540.m3u8?cdn=bestzb
人间卫视,http://61.216.67.119:1935/bltvhd/bltv1/chunklistw1266569526.m3u
伊犁哈萨克,http://110.153.180.106:55555/out_3/index.m3u8
伊犁哈萨克,http://110.153.180.106:55555/out_3/index.m3u8?zxinjd
伊犁汉语综合,http://110.153.180.106:55555/out_1/index.m3u8
@@ -118,46 +131,47 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
伊犁经济法制,http://110.153.180.106:55555/out_4/index.m3u8?zxinjd
伊犁维吾尔,http://110.153.180.106:55555/out_2/index.m3u8
伊犁维吾尔,http://110.153.180.106:55555/out_2/index.m3u8?zxinjd
优漫卡通,http://119.32.12.17:2901/udp/224.1.100.119:11111
优漫卡通,http://123.138.22.30:9901/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0
优漫卡通,http://221.226.4.10:9901/tsfile/live/1026_1.m3u8?key=txiptv&playlive=1&authid=0
优漫卡通,http://119.32.12.32:2901/udp/224.1.100.119:11111
优漫卡通,http://110.53.218.182:9902/tsfile/live/1006_1.m3u8
优漫卡通,http://58.221.214.82:9901/tsfile/live/0008_2.m3u8?key=txiptv
优漫卡通,http://36.105.100.208:35455/itv/1000000002000010063.m3u8?cdn=ystenlive
佛山公共,http://125.89.163.44:8888/udp/239.253.43.53:5146
佛山影视,http://125.89.163.44:8888/udp/239.253.43.56:5146
佛山综合,http://125.89.163.44:8888/udp/239.253.43.57:5146
佳木斯新闻综合,http://39.134.65.106/PLTV/88888888/224/3221225993/1.m3u8?
兵团八师石河子教育,http://124.88.144.73:1935/live/jiaoyu/playlist.m3u8
兵团八师石河子教育,http://124.88.144.73:1935/live/jiaoyu/playlist.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
兵团八师石河子教育,http://124.88.144.73:1935/live/jiaoyu/playlist.m3u8?zxinjd
兵团八师石河子新闻综合,http://124.88.144.73:1935/live/xwzh/playlist.m3u8?zxinjd
兵团八师石河子经济生活,http://124.88.144.73:1935/live/dywt/playlist.m3u8?zxinjd
兵团卫视,http://183.11.239.36:808/hls/7/index.m3u8
兵团卫视,http://120.76.248.139/live/bfgd/4200000124.m3u8
兵团卫视,http://218.89.240.144:59901/tsfile/live/0115_1.m3u8
兵团卫视,http://123.132.233.194:352/tsfile/live/0113_1.m3u8
兵团卫视,http://110.80.17.38:9901/tsfile/live/0015_1.m3u8
内蒙古卫视,http://110.53.52.63:8888/newlive/live/hls/45/live.m3u8
内蒙古卫视,http://183.11.239.36:808/hls/60/index.m3u8
内蒙古卫视,http://120.76.248.139/live/bfgd/4200000110.m3u8
内蒙古卫视,http://183.66.15.146:60901/tsfile/live/0109_1.m3u8
内蒙古卫视,http://124.128.73.58:9901/tsfile/live/0109_1.m3u8
内蒙古卫视,http://101.19.84.8:9901/tsfile/live/0109_1.m3u8
内蒙古卫视,http://121.33.239.242:9901/tsfile/live/0109_1.m3u8
农林卫视,http://120.76.248.139/live/bfgd/4200000122.m3u8
农林卫视,http://124.116.183.146:9901/tsfile/live/1004_1.m3u8
农林卫视,http://8.138.7.223/【公众号:榴芒电视】/农林卫视.m3u8
农林卫视,http://112.46.85.60:8009/hls/27/index.m3u8
凤凰卫视,http://221.7.175.154:8445/tsfile/live/1020_1.m3u8
凤凰卫视,http://119.32.12.17:2901/udp/224.1.100.3:11111
凤凰卫视,http://119.32.12.32:2901/udp/224.1.100.3:11111
凤凰卫视,http://221.7.175.154:8445/tsfile/live/1020_1.m3u8?key=txiptv&playlive=1&authid=0
凤凰卫视,http://120.198.101.106:9901/tsfile/live/1062_1.m3u8?key=txiptv
凤凰卫视,http://119.32.12.32:2901/udp/224.1.100.3:11111
凤凰卫视,http://119.32.12.17:2901/udp/224.1.100.3:11111
动漫秀场,http://36.129.204.117:9003//hls/67/index.m3u8
动漫秀场,http://183.237.95.108:9901/tsfile/live/1104_1.m3u8?key=txiptv&playlive=0&authid=0
动漫秀场,http://60.29.124.66:6080/hls/62/index.m3u8
动物星球,http://61.221.215.25:8800/hls/57/index.m3u8
动漫秀场,http://60.2.190.206:4000/udp/239.253.93.225:6403
动漫秀场,http://36.105.100.208:35455/itv/5000000011000031113.m3u8?cdn=bestzb
动物星球,http://122.117.71.103:8512/动物星球.m3u8
动物星球,http://61.221.215.25:8800/hls/57/index.m3u8
劲爆体育,http://120.238.94.82:9901/tsfile/live/1086_1.m3u8
劲爆体育,http://150.230.250.89:50001/TVOD/5000000002000029972/bestzb/index.m3u8
劲爆体育,http://146.56.165.66:7788/TVOD/5000000002000029972/bestzb/index.m3u8
劲爆体育,http://119.32.12.32:2901/udp/224.1.100.129:11111
北京中华特产,http://120.76.248.139/live/bfgd/4200000158.m3u8
劲爆体育,http://36.105.100.208:35455/itv/5000000002000029972.m3u8?cdn=bestzb
北京优优宝贝,http://120.76.248.139/live/bfgd/4200000153.m3u8
北京北京纪实科教,http://120.76.248.139/live/bfgd/4200000113.m3u8
北京卫视,http://39.164.160.249:9901/tsfile/live/0122_1.m3u8
@@ -166,146 +180,144 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
北京四海钓鱼,http://120.76.248.139/live/bfgd/4200000229.m3u8
北京环球旅游,http://120.76.248.139/live/bfgd/4200000147.m3u8
北京生态环境频道,http://120.76.248.139/live/bfgd/4200000149.m3u8
北京纪实科教,http://39.134.65.106/PLTV/88888888/224/3221225670/1.m3u8?
北京车迷频道,http://120.76.248.139/live/bfgd/4200000146.m3u8
南京少儿,http://221.226.51.220:50080/newlive/live/hls/46/live.m3u8
南方卫视,http://182.91.124.224:9901/tsfile/live/1059_1.m3u8?key=txiptv&playlive=0&authid=0
卡酷少儿,http://58.57.40.22:9901/tsfile/live/1060_1.m3u8
卡酷少儿,http://61.138.128.226:19901/tsfile/live/1017_1.m3u8
卡酷少儿,http://60.29.124.66:6080/hls/58/index.m3u8
卡酷少儿,http://218.13.170.98:9901/tsfile/live/1021_1.m3u8
卡酷少儿,http://61.157.139.15:9901/tsfile/live/2418_1.m3u8
卡酷少儿,http://61.138.128.226:19901/tsfile/live/1017_1.m3u8
厦门卫视,http://183.11.239.36:808/hls/17/index.m3u8
厦门卫视,http://110.80.17.38:9901/tsfile/live/0128_1.m3u8
厦门卫视,http://123.132.233.194:352/tsfile/live/0119_1.m3u8
厦门卫视,http://220.161.87.62:8090/hls/0/index.m3u8?zfud
可克达拉综合,http://218.84.12.186:8001/hls/main/playlist.m3u8?zxinjd;http://218.84.12.186:8001/hls/main/playlist.m3u8zxinjd
厦门卫视,http://47.122.125.40:6666/hls/xmtv.m3u8
厦门卫视,http://36.105.100.208:35455/itv/1000000005000266006.m3u8?cdn=ystenlive
吉林乡村,http://36.129.204.117:9003//hls/23/index.m3u8
吉林卫视,http://220.164.192.48:50085/tsfile/live/0118_1.m3u8
吉林卫视,http://58.57.40.22:9901/tsfile/live/1050_1.m3u8
吉林卫视,http://111.160.17.2:59901/tsfile/live/0001_37.m3u8
吉林卫视,http://110.53.52.63:8888/newlive/live/hls/34/live.m3u8
吉林卫视,http://183.11.239.36:808/hls/10/index.m3u8
吉林生活,http://36.129.204.117:9003//hls/22/index.m3u8
吉林都市,http://36.129.204.117:9003//hls/20/index.m3u8
哈哈炫动,http://58.57.40.22:9901/tsfile/live/1061_1.m3u8
哈哈炫动,http://120.238.94.10:9901/tsfile/live/1037_1.m3u8
哈哈炫动,http://61.138.128.226:19901/tsfile/live/1016_1.m3u8
哈哈炫动,http://39.134.64.87:6610/PLTV/88888888/224/3221225657/index.m3u8?IASHttpSessionId=
哈哈炫动,http://39.134.65.106/PLTV/88888888/224/3221225534/1.m3u8?
哈哈炫动,http://36.105.100.208:35455/itv/5000000011000031123.m3u8?cdn=bestzb
哈尔滨新闻综合,http://39.134.65.106/PLTV/88888888/224/3221226093/1.m3u8?
哈尔滨生活,http://39.134.65.106/PLTV/88888888/224/3221226095/1.m3u8?
嘉佳卡通,http://61.138.128.226:19901/tsfile/live/1019_1.m3u8
嘉佳卡通,http://61.157.139.15:9901/tsfile/live/2420_1.m3u8
嘉佳卡通,http://183.11.239.36:808/hls/8/index.m3u8
嘉佳卡通,http://61.138.128.226:19901/tsfile/live/1019_1.m3u8
嘉佳卡通,http://218.89.240.144:59901/tsfile/live/1003_1.m3u8
四川卫视,http://58.57.40.22:9901/tsfile/live/1046_1.m3u8
四川卫视,http://111.160.17.2:59901/tsfile/live/0001_34.m3u8
四川卫视,http://110.53.52.63:8888/newlive/live/hls/31/live.m3u8
四川卫视,http://183.11.239.36:808/hls/50/index.m3u8
四川科教,http://182.150.115.21:8030/pcgacg/pcgacg_0.m3u8
四川科教,http://8.138.7.223/【公众号:榴芒电视】/四川科教.m3u8
垫江综合,http://123.146.162.24:8013/tslslive/noEX9SG/hls/live_sd.m3u8?zzhongqd
大庆新闻综合,http://39.134.65.106/PLTV/88888888/224/3221226052/1.m3u8?
大湾区卫视,http://222.128.55.152:9080/live/dwq.m3u8
大湾区卫视,http://183.237.95.108:9901/tsfile/live/1037_1.m3u8?key=txiptv&playlive=0&authid=0
大湾区卫视,http://183.11.239.36:808/hls/132/index.m3u8
大湾区卫视,http://222.128.55.152:9080/live/dwq.m3u8
大湾区卫视,http://36.105.100.208:35455/itv/1000000002000011619.m3u8?cdn=ystenlive
天元围棋,http://120.76.248.139/live/bfgd/4200000633.m3u8
天津卫视,http://110.53.52.63:8888/newlive/live/hls/42/live.m3u8
天津卫视,http://183.11.239.36:808/hls/42/index.m3u8
天津卫视,http://113.57.111.4:1111/tsfile/live/1024_1.m3u8
天津卫视,http://110.80.17.38:9901/tsfile/live/0135_1.m3u8
天津卫视,http://61.138.128.226:19901/tsfile/live/0135_1.m3u8
天津新闻,http://111.160.17.2:59901/tsfile/live/0001_22.m3u8?key=txiptv&playlive=1&authid=0
奎屯哈萨克语,http://218.84.12.186:8002/hls/main/playlist.m3u8
奎屯哈萨克语,http://218.84.12.186:8002/hls/main/playlist.m3u8?zxinjd
好莱坞电影,http://50.7.234.10:8278/hollywoodmovies_twn/playlist.m3u8?tid=MA8A4005638840056388&ct=18392&tsum=a1f1517d4ea64fd01267905f21d83859
宁夏卫视,http://58.57.40.22:9901/tsfile/live/1054_1.m3u8
宁夏卫视,http://110.53.52.63:8888/newlive/live/hls/39/live.m3u8
宁夏卫视,http://183.11.239.36:808/hls/106/index.m3u8
宁夏卫视,http://120.76.248.139/live/bfgd/4200000118.m3u8
宁夏卫视,http://183.66.15.146:60901/tsfile/live/0112_1.m3u8
宁夏卫视,http://223.241.247.214:9901/tsfile/live/0112_1.m3u8
宁夏卫视,http://123.132.233.194:352/tsfile/live/0112_1.m3u8
安多卫视,http://39.134.65.166/PLTV/88888888/224/3221225531/1.m3u8
安多卫视,http://39.134.66.66/PLTV/88888888/224/3221225531/1.m3u8
安多卫视,http://36.105.100.208:35455/itv/1000000005000266001.m3u8?cdn=ystenlive
安徽卫视,http://39.164.160.249:9901/tsfile/live/0130_1.m3u8
安徽卫视,http://58.57.40.22:9901/tsfile/live/1033_1.m3u8
安徽卫视,http://110.53.52.63:8888/newlive/live/hls/24/live.m3u8
安徽卫视,http://120.76.248.139/live/bfgd/4200000096.m3u8
安徽卫视,http://183.11.239.36:808/hls/40/index.m3u8
安徽影视,http://112.30.194.221:20080/live/d18ff95cb1fb4bbcb56215e189fc12be/hls.m3u8
安徽影视,http://112.30.194.221:20080/live/d18ff95cb1fb4bbcb56215e189fc12be.flv
安徽影视,http://112.30.194.221:20080/live/d18ff95cb1fb4bbcb56215e189fc12be/hls.m3u8?zanhd#http://112.30.194.221:20080/live/d18ff95cb1fb4bbcb56215e189fc12be/hls.m3u8#http://112.30.194.221:20080/live/d18ff95cb1fb4bbcb56215e189fc12be.flv
安徽影视,http://112.30.194.221:20080/live/d18ff95cb1fb4bbcb56215e189fc12be/hls.m3u8?zanhd
安徽影视,http://112.30.194.221:20080/live/d18ff95cb1fb4bbcb56215e189fc12be.flv
安徽影院,http://112.30.194.221:20080/live/d18ff95cb1fb4bbcb56215e189fc12be/hls.m3u8?zanhd,
安徽经济生活,http://112.30.194.221:20080/live/eac499adad7b49ff9cfa79ba84693959/hls.m3u8
安徽经济生活,http://112.30.194.221:20080/live/eac499adad7b49ff9cfa79ba84693959.flv
安徽经济生活,http://112.30.194.221:20080/live/eac499adad7b49ff9cfa79ba84693959/hls.m3u8#http://112.30.194.221:20080/live/eac499adad7b49ff9cfa79ba84693959/hls.m3u8?zanhd#http://112.30.194.221:20080/live/eac499adad7b49ff9cfa79ba84693959.flv
安徽经济生活,http://112.30.194.221:20080/live/eac499adad7b49ff9cfa79ba84693959/hls.m3u8?zanhd
安徽经济生活,http://112.30.194.221:20080/live/eac499adad7b49ff9cfa79ba84693959.flv
安徽综艺体育,http://112.30.194.221:20080/live/c41f112b83f644ddb082669501c8ecd3/hls.m3u8
安徽综艺体育,http://112.30.194.221:20080/live/c41f112b83f644ddb082669501c8ecd3.flv
安徽综艺体育,http://112.30.194.221:20080/live/c41f112b83f644ddb082669501c8ecd3/hls.m3u8?zanhd%EF%BC%9F%E4%B8%96%E7%95%8C%E6%9D%AF%E4%B8%96%E7%95%8C%E6%9D%AF
安徽综艺体育,http://112.30.194.221:20080/live/c41f112b83f644ddb082669501c8ecd3/hls.m3u8?zanhd
家庭影院,http://60.172.130.146:352/tsfile/live/1010_1.m3u8?key=txiptv&playlive=1&authid=0
少儿动画,http://61.138.128.226:19901/tsfile/live/1017_1.m3u8?key=txiptv&playlive=1&authid=0
山东体育,http://58.57.40.22:9901/tsfile/live/1020_1.m3u8
山东体育,http://111.14.181.15:9901/tsfile/live/1022_1.m3u8
山东体育,http://124.128.73.58:9901/tsfile/live/1001_1.m3u8
山东体育,http://61.156.228.12:8154/tsfile/live/1006_1.m3u8
山东体育,http://123.130.84.106:8154/tsfile/live/1006_1.m3u8
山东农科,http://58.57.40.22:9901/tsfile/live/1022_1.m3u8
山东卫视,http://39.164.160.249:9901/tsfile/live/0131_1.m3u8
山东卫视,http://110.53.52.63:8888/newlive/live/hls/29/live.m3u8
山东卫视,http://183.11.239.36:808/hls/43/index.m3u8
山东少儿,http://111.14.181.15:9901/tsfile/live/1005_1.m3u8
山东少儿,http://58.57.40.22:9901/tsfile/live/1024_1.m3u8
山东少儿,http://221.2.148.205:8154/tsfile/live/1007_1.m3u8?key=txiptv&playlive=1&authid=0
山东少儿,http://123.132.233.194:352/tsfile/live/1002_1.m3u8
山东少儿,http://123.132.233.194:352/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0
山东少儿,http://123.129.70.178:9901/tsfile/live/1004_1.m3u8?key=txiptv&playlive=1&authid=0
山东少儿,http://111.14.181.15:9901/tsfile/live/1005_1.m3u8?key=tvbox6_com&playlive=1&authid=0
山东教育,http://120.238.94.10:9901/tsfile/live/1062_1.m3u8
山东教育,http://121.19.134.222:808/tsfile/live/1033_1.m3u8
山东教育,http://183.11.239.36:808/hls/72/index.m3u8
山东教育,http://120.238.94.10:9901/tsfile/live/1062_1.m3u8
山东教育卫视,http://58.57.40.22:9901/tsfile/live/1026_1.m3u8
山东教育卫视,http://120.76.248.139/live/bfgd/4200000112.m3u8
山东教育卫视,http://123.132.233.194:352/tsfile/live/1003_1.m3u8
山东文旅,http://58.57.40.22:9901/tsfile/live/1023_1.m3u8
山东文旅,http://221.2.148.205:8154/tsfile/live/1004_1.m3u8?key=txiptv&playlive=1&authid=0
山东文旅,http://60.209.125.254:352/tsfile/live/1004_1.m3u8?ace
山东文旅,http://221.2.148.205:8154/tsfile/live/1004_1.m3u8?key=txiptv&playlive=1&authid=0
山东新闻,http://221.2.148.205:8154/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0
山东新闻,http://123.129.70.178:9901/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0
山东生活,http://58.57.40.22:9901/tsfile/live/1018_1.m3u8
山东生活,http://123.129.70.178:9901/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0
山东综艺,http://58.57.40.22:9901/tsfile/live/1021_1.m3u8
山东生活,http://221.2.148.205:8154/tsfile/live/1005_1.m3u8?key=txiptv&playlive=1&authid=0
山东综艺,http://123.129.70.178:9901/tsfile/live/1001_1.m3u8
山东综艺,http://58.57.40.22:9901/tsfile/live/1021_1.m3u8
山东综艺,http://124.128.73.58:9901/tsfile/live/1002_1.m3u8
山东综艺,http://123.132.233.194:352/tsfile/live/1000_1.m3u8
山东综艺,http://124.128.73.58:9901/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0
山东综艺,http://221.2.148.205:8154/tsfile/live/1003_1.m3u8?key=txiptv&playlive=1&authid=0
山东齐鲁,http://61.156.228.12:8154/tsfile/live/1001_1.m3u8
山东齐鲁,http://111.14.181.15:9901/tsfile/live/1000_1.m3u8
山东齐鲁,http://123.130.84.106:8154/tsfile/live/1001_1.m3u8
山东齐鲁,http://61.156.228.12:8154/tsfile/live/1001_1.m3u8
山东齐鲁,http://123.132.233.194:352/tsfile/live/1019_1.m3u8
山东齐鲁,http://124.128.73.58:9901/tsfile/live/1000_1.m3u8
山东齐鲁,http://123.130.84.106:8154/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0
山西卫视,http://110.53.52.63:8888/newlive/live/hls/43/live.m3u8
山西卫视,http://58.210.168.86:10800/newlive/live/hls/38/live.m3u8
山西卫视,http://36.32.174.67:60080/newlive/live/hls/43/live.m3u8
山西卫视,http://183.11.239.36:808/hls/59/index.m3u8
山西卫视,http://120.76.248.139/live/bfgd/4200000109.m3u8
山西影视,http://60.223.224.176:8888/newlive/live/hls/54/live.m3u8
巴音郭楞州,http://124.88.144.73:1935/live/jjsh/playlist.m3u8#@http://202.107.188.141:5002/shiheziyinshiwenti_hdgq.m3u8?token=guoziyun#@http://202.107.188.139:5002/shiheziyinshiwenti_hdcq.m3u8?token=guoziyun
广东体育,http://120.238.94.10:9901/tsfile/live/1012_1.m3u8
广东体育,http://218.13.14.6:60050/tsfile/live/1021_1.m3u8
广东体育,http://121.33.239.242:9901/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0
广东体育,http://183.11.239.36:808/hls/2/index.m3u8
广东体育,http://120.238.94.82:9901/tsfile/live/1012_1.m3u8
广东体育,http://218.15.183.23:9901/tsfile/live/23012_1.m3u8
广东体育,http://218.13.170.98:9901/tsfile/live/0019_1.m3u8
广东体育,http://119.32.12.32:2901/udp/224.1.100.34:11111
广东公共,http://218.13.14.6:60050/tsfile/live/1020_1.m3u8
广东卫视,http://39.164.160.249:9901/tsfile/live/0125_1.m3u8
广东卫视,http://58.57.40.22:9901/tsfile/live/1039_1.m3u8
广东卫视,http://60.223.224.176:8888/newlive/live/hls/20/live.m3u8
广东卫视,http://218.13.14.6:60050/tsfile/live/1017_1.m3u8
广东新闻,http://218.13.14.6:60050/tsfile/live/1019_1.m3u8
广东新闻,http://120.238.94.10:9901/tsfile/live/1010_1.m3u8
广东新闻,http://183.11.239.36:808/hls/5/index.m3u8
广东民生,http://183.11.239.36:808/hls/18/index.m3u8
广东民生,http://125.89.163.44:8888/udp/239.77.0.225:5146
广东民生,http://119.32.12.17:2901/udp/224.1.100.4:11111
广东民生,http://121.33.239.242:9901/tsfile/live/1003_1.m3u8?key=txiptv&playlive=1&authid=0
广东民生,http://121.11.160.7:9901/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0
广东新闻,http://218.15.183.23:9901/tsfile/live/23010_1.m3u8
广东民生,http://119.32.12.32:2901/udp/224.1.100.4:11111
广东民生,http://183.237.95.108:9901/tsfile/live/1032_1.m3u8?key=txiptv&playlive=0&authid=0
广东民生,http://14.212.185.146:9901/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0
广东珠江,http://218.13.14.6:60050/tsfile/live/1018_1.m3u8
广东珠江,http://218.15.183.23:9901/tsfile/live/23009_1.m3u8
广东珠江,http://120.238.94.10:9901/tsfile/live/1009_1.m3u8
广州影视,http://125.89.163.44:8888/udp/239.253.43.73:5146
广州新闻,http://119.32.12.32:2901/udp/224.1.100.38:11111
广州新闻,http://125.89.163.44:8888/udp/239.253.43.72:5146
广州竞赛,http://119.32.12.17:2901/udp/224.1.100.105:11111
广州综合,http://119.32.12.32:2901/udp/224.1.100.36:11111
广州新闻,http://119.32.12.17:2901/udp/224.1.100.38:11111
广州竞赛,http://119.32.12.32:2901/udp/224.1.100.105:11111
广州综合,http://125.89.163.44:8888/udp/239.253.43.71:5146
广州综合,http://119.32.12.17:2901/udp/224.1.100.36:11111
广州综合,http://119.32.12.32:2901/udp/224.1.100.36:11111
广西卫视,http://58.57.40.22:9901/tsfile/live/1049_1.m3u8
广西卫视,http://111.160.17.2:59901/tsfile/live/0001_44.m3u8
广西卫视,http://110.53.52.63:8888/newlive/live/hls/25/live.m3u8
@@ -314,10 +326,12 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
康巴卫视,http://39.134.66.66/PLTV/88888888/224/3221225527/1.m3u8
康巴卫视,http://39.134.65.166/PLTV/88888888/224/3221225527/1.m3u8
康巴卫视,http://61.157.139.15:9901/tsfile/live/2415_1.m3u8?key=txiptv&playlive=1&authid=0
康巴卫视,http://36.105.100.208:35455/itv/1000000005000266002.m3u8?cdn=ystenlive
延边卫视,http://120.76.248.139/live/bfgd/4200000117.m3u8
延边卫视,http://61.138.128.226:19901/tsfile/live/1008_1.m3u8
延边卫视,http://39.134.67.108/PLTV/88888888/224/3221226040/1.m3u8
延边卫视,http://36.105.100.208:35455/itv/1000000005000266008.m3u8?cdn=ystenlive
当涂新闻综合,http://112.30.194.221:20080/live/4f38ef59c79e4d4bac1a995681102573/hls.m3u8
快乐垂钓,http://36.105.100.208:35455/itv/5000000011000031206.m3u8?cdn=bestzb
新疆卫视,http://39.164.160.249:9901/tsfile/live/0110_1.m3u8
新疆卫视,http://58.57.40.22:9901/tsfile/live/1055_1.m3u8
新疆卫视,http://110.53.52.63:8888/newlive/live/hls/37/live.m3u8
@@ -326,45 +340,44 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
新疆奎屯汉语综合,http://218.84.12.186:8001/hls/main/playlist.m3u8
新疆奎屯汉语综合,http://218.84.12.186:8001/hls/main/playlist.m3u8?zxinjd
新疆玛纳斯综合,http://218.84.127.245:1026/hls/main1/playlist.m3u8?zxinjd
新疆石河子影视文体,http://124.88.144.73:1935/live/jjsh/playlist.m3u8
新疆石河子新闻综合,http://124.88.144.73:1935/live/xwzh/playlist.m3u8
新疆石河子经济生活,http://124.88.144.73:1935/live/dywt/playlist.m3u8
新视觉,http://120.76.248.139/live/bfgd/4200000249.m3u8
星空卫视,http://218.202.220.2:5000/nn_live.ts?id=STARTV#rtmp://58.200.131.2:1935/livetv/startv#rtmp://ivi.bupt.edu.cn:1935/livetv/startv
星空卫视,http://122.224.58.42:85/tsfile/live/1024_1.m3u8?key=txiptv&playlive=1&authid=0
朝阳新闻综合,http://120.76.248.139/live/bfgd/4200000282.m3u8
杭州明珠,http://120.198.101.106:9901/tsfile/live/1008_1.m3u8?key=txiptv
梨园,http://61.163.181.78:9901/tsfile/live/1006_1.m3u8
梨园频道,http://42.225.117.174:11199/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0
梨园频道,http://61.163.181.78:9901/tsfile/live/1006_1.m3u8
梨园频道,http://60.2.190.206:4000/udp/239.253.92.152:8086
武乡新闻综合,http://60.220.198.84:81/0.m3u8
求索动物,http://39.134.65.106/PLTV/88888888/224/3221225730/1.m3u8?
求索生活,http://39.134.65.106/PLTV/88888888/224/3221225715/1.m3u8?
求索科学,http://39.134.65.106/PLTV/88888888/224/3221225728/1.m3u8?
求索纪录,http://60.2.190.206:4000/udp/239.253.93.236:6414
求索纪录,http://39.134.65.106/PLTV/88888888/224/3221225713/1.m3u8?
汕头文旅,http://125.89.163.44:8888/udp/239.77.1.132:5146
汕头经济,http://125.89.163.44:8888/udp/239.77.1.131:5146
汕头综合,http://125.89.163.44:8888/udp/239.77.1.130:5146
江夏新闻综合,http://59.175.226.142:280/gb28181/xwzh.m3u8?zhubd
江夏新闻综合,http://59.175.226.142:280/gb28181/xwzh.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
江宁新闻,http://58.221.214.82:9901/tsfile/live/0006_2.m3u8
江津新闻综合,http://222.179.155.21:1935/ch1.m3u8
江津新闻综合,http://222.179.155.21:1935/ch1.m3u8?zzhongqd
江苏卫视,http://39.164.160.249:9901/tsfile/live/0127_1.m3u8
江苏卫视,http://58.57.40.22:9901/tsfile/live/1031_1.m3u8
江苏卫视,http://60.223.224.176:8888/newlive/live/hls/21/live.m3u8
江苏城市,http://58.210.168.86:10800/newlive/live/hls/52/live.m3u8
江西卫视,http://39.164.160.249:9901/tsfile/live/0138_1.m3u8
江西卫视,http://58.57.40.22:9901/tsfile/live/1043_1.m3u8
江西卫视,http://111.160.17.2:59901/tsfile/live/0001_43.m3u8
江西卫视,http://110.53.52.63:8888/newlive/live/hls/41/live.m3u8
江西教育,http://58.17.48.228:808/hls/24/index.m3u8
江门侨乡生活,http://125.89.163.44:8888/udp/239.77.0.202:5146
江门综合,http://125.89.163.44:8888/udp/239.77.0.201:5146
河北农民,http://124.239.135.194:11080/live/hbnm/index.m3u8
河北农民,http://121.19.134.222:808/tsfile/live/1005_1.m3u8
河北农民,http://124.239.135.194:11080/live/hbnm/index.m3u8
河北卫视,http://39.164.160.249:9901/tsfile/live/0117_1.m3u8
河北卫视,http://58.57.40.22:9901/tsfile/live/1044_1.m3u8
河北卫视,http://111.160.17.2:59901/tsfile/live/0001_39.m3u8
河北少儿科教,http://124.239.135.194:11080/live/sekj/index.m3u8
河北都市,http://124.239.135.194:11080/live/hbds/index.m3u8
河北都市,http://121.19.134.222:808/tsfile/live/1001_1.m3u8
河北都市,http://121.19.134.222:808/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0
河南卫视,http://39.164.160.249:9901/tsfile/live/0139_1.m3u8
河南卫视,http://58.57.40.22:9901/tsfile/live/1048_1.m3u8
@@ -372,81 +385,78 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
河南卫视,http://111.160.17.2:59901/tsfile/live/0001_47.m3u8
河南民生,http://61.163.181.78:85/tsfile/live/1005_1.m3u8?key=txiptv&playlive=1&authid=0
河南都市,http://61.163.181.78:9901/tsfile/live/1004_1.m3u8
河源公共,http://120.234.5.28:6000/udp/239.21.0.49:3536
河源公共,http://125.89.163.44:8888/udp/239.253.43.214:5146
河源综合,http://120.234.5.28:6000/udp/239.21.0.48:3532
河源综合,http://125.89.163.44:8888/udp/239.253.43.213:5146
津南一套,http://61.147.106.103/play.jinnantv.top/live/JNTV1.m3u8?ztianjd&wsSession=4e59297ef5846f4a7cf02eb3-172672213891355&wsIPSercert=6d426cba8b106cdec9147b1e2a9ace7c&wsiphost=local&wsBindIP=1
济南影视,http://124.128.73.58:9901/tsfile/live/1005_1.m3u8
济南影视,http://124.128.73.58:9901/tsfile/live/1005_1.m3u8?key=txiptv&playlive=1&authid=0
济南综合,http://124.128.73.58:9901/tsfile/live/1003_1.m3u8
济南综合,http://124.128.73.58:9901/tsfile/live/1003_1.m3u8?key=txiptv&playlive=1&authid=0
济南都市,http://124.128.73.58:9901/tsfile/live/1004_1.m3u8
济南都市,http://124.128.73.58:9901/tsfile/live/1004_1.m3u8?key=txiptv&playlive=1&authid=0
济宁公共,http://111.14.181.15:9901/tsfile/live/1009_1.m3u8
济宁公共,http://111.14.181.15:9901/tsfile/live/1009_1.m3u8?key=tvbox6_com&playlive=1&authid=0
济宁综合,http://111.14.181.15:9901/tsfile/live/1007_1.m3u8
济宁综合,http://111.14.181.15:9901/tsfile/live/1007_1.m3u8?key=tvbox6_com&playlive=1&authid=0
浙江卫视,http://60.223.224.176:8888/newlive/live/hls/23/live.m3u8
海南卫视,http://220.164.192.48:50085/tsfile/live/1003_1.m3u8
海南卫视,http://58.57.40.22:9901/tsfile/live/1000_1.m3u8
海南卫视,http://183.11.239.36:808/hls/124/index.m3u8
海南卫视,http://120.76.248.139/live/bfgd/4200000473.m3u8
海南卫视,http://218.89.240.144:59901/tsfile/live/1000_1.m3u8
海南卫视,http://123.132.233.194:352/tsfile/live/1004_1.m3u8
海南卫视,http://113.57.111.4:1111/tsfile/live/1031_1.m3u8
海南卫视,http://36.32.174.67:60080/newlive/live/hls/46/live.m3u8
海峡卫视,http://38.64.72.148:80/hls/modn/list/4009/chunklist0.m3u8
海峡卫视,http://38.64.72.148:80/hls/modn/list/4009/playlist.m3u8
涡阳新闻综合,http://220.180.124.18:888/live/ch0.m3u8
淮南公共,http://112.30.194.221:20080/live/6e43da3335a640b3a73c948fccf935c5/hls.m3u8
深圳卫视,http://58.57.40.22:9901/tsfile/live/1036_1.m3u8
深圳卫视,http://111.160.17.2:59901/tsfile/live/0001_49.m3u8
深圳卫视,http://110.53.52.63:8888/newlive/live/hls/27/live.m3u8
深圳卫视,http://183.11.239.36:808/hls/45/index.m3u8
深圳卫视,http://38.64.72.148:80/hls/modn/list/4007/playlist.m3u8
深圳少儿,http://183.11.239.36:808/hls/157/index.m3u8
深圳少儿,http://125.89.163.44:8888/udp/239.77.1.244:5146
深圳财经生活,http://183.11.239.36:808/hls/151/index.m3u8
深圳移动电视,http://125.89.163.44:8888/udp/239.77.1.175:5146
游戏风云,http://36.105.100.208:35455/itv/5000000011000031114.m3u8?cdn=bestzb
湖北卫视,http://58.57.40.22:9901/tsfile/live/1038_1.m3u8
湖北卫视,http://60.223.224.176:8888/newlive/live/hls/33/live.m3u8
湖北卫视,http://110.53.52.63:8888/newlive/live/hls/33/live.m3u8
湖北卫视,http://183.11.239.36:808/hls/46/index.m3u8
湖北垄上,http://58.19.43.46:9901/tsfile/live/1015_1.m3u8
湖北垄上,http://113.57.20.158:9901/tsfile/live/1015_1.m3u8
湖北垄上,http://119.36.148.115:59901/tsfile/live/1006_1.m3u8
湖北垄上,http://113.57.20.158:9901/tsfile/live/1015_1.m3u8?key=txiptv&playlive=1&authid=0
湖北影视,http://58.19.43.46:9901/tsfile/live/1016_1.m3u8
湖北影视,http://113.57.20.158:9901/tsfile/live/1016_1.m3u8
湖北影视,http://58.19.43.46:9901/tsfile/live/1016_1.m3u8
湖北影视,http://113.57.20.158:9901/tsfile/live/1016_1.m3u8?key=txiptv&playlive=1&authid=0
湖北经视,http://58.19.43.46:9901/tsfile/live/1017_1.m3u8
湖北经视,http://113.57.93.165:9900/tsfile/live/1017_1.m3u8
湖北经视,http://119.36.148.115:59901/tsfile/live/1004_1.m3u8?key=txiptv
湖北经视,http://113.57.93.165:9900/tsfile/live/1017_1.m3u8?key=txiptv&playlive=1&authid=0
湖北综合,http://58.19.133.144:9901
湖南公共,http://116.128.242.83:9901/tsfile/live/0117_1.m3u8
湖南公共,http://116.128.242.83:9901/tsfile/live/0117_1.m3u8?key=txiptv&playlive=1&authid=0
湖南卫视,http://39.164.160.249:9901/tsfile/live/0128_1.m3u8
湖南卫视,http://58.57.40.22:9901/tsfile/live/1028_1.m3u8
湖南娱乐,http://116.128.242.83:9901/tsfile/live/0125_1.m3u8
湖南娱乐,http://116.128.243.121:85/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0
湖南娱乐,http://116.128.242.83:9901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0
湖南电影,http://110.53.52.63:8888/newlive/live/hls/50/live.m3u8
湖南电影,http://116.128.242.83:9901/tsfile/live/1009_1.m3u8
湖南电视剧,http://116.128.242.83:9901/tsfile/live/0120_1.m3u8?key=txiptv&playlive=1&authid=0
湖南经视,http://110.53.218.182:9902/tsfile/live/1004_1.m3u8
湖南经视,http://116.128.242.83:9901/tsfile/live/0131_1.m3u8
湖南经视,http://116.128.243.121:85/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0
湖南经视,http://116.128.242.83:9901/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0
湖南经视,http://116.128.243.121:85/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0
湖南都市,http://110.53.218.182:9902/tsfile/live/0127_1.m3u8
湖南都市,http://116.128.243.121:85/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0
湖南都市,http://116.128.242.83:9901/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0
漫画解说,http://124.248.69.76:26781/douyu/5907076
漫画解说,http://61.133.118.228:5001/yy/1382735568
漳浦综合,http://220.161.87.62:8090/hls/0/index.m3u8
漳浦综合,http://220.161.87.62:8800/hls/0/index.m3u8
潼南综合,http://183.230.184.51:65500/tntv1.m3u8
漳浦综合,http://220.161.87.62:8090/hls/0/index.m3u8?zfud
炫动卡通,http://218.15.183.23:9901/tsfile/live/23042_1.m3u8
炫动卡通,http://120.198.95.220:9901/tsfile/live/1034_1.m3u8?key=txiptv
炫动卡通,http://183.237.95.108:9901/tsfile/live/1100_1.m3u8?key=txiptv&playlive=0&authid=0
玛纳斯综合,http://218.84.127.245:1026/hls/main1/playlist.m3u8
玛纳斯综合,http://218.84.127.245:1026/hls/main1/playlist.m3u8?zxinjd,
璧山综合,http://222.179.42.129:8181/hls1.m3u8
甘肃卫视,http://58.57.40.22:9901/tsfile/live/1056_1.m3u8
甘肃卫视,http://110.53.52.63:8888/newlive/live/hls/35/live.m3u8
甘肃卫视,http://120.76.248.139/live/bfgd/4200000119.m3u8
生活时尚,http://146.56.165.66:7788/TVOD/5000000002000019634/bestzb/index.m3u8
睛彩广场舞,http://36.105.100.208:35455/itv/2000000003000000062.m3u8?cdn=hnbblive
睛彩河北,http://124.239.135.194:11080/live/qchb/index.m3u8
睛彩竞技,http://138.2.61.159:5000/2000000003000000060/hnbblive/index.m3u8
睛彩竞技,http://138.2.61.159:5000/1000000006000270001/ystenlive/index.m3u8
@@ -455,16 +465,11 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
睛彩篮球,http://138.2.61.159:5000/2000000003000000065/hnbblive/index.m3u8
睛彩篮球,http://138.2.61.159:5000/1000000006000270002/ystenlive/index.m3u8
睛彩篮球,http://138.2.61.159:5000/1000000006000270006/ystenlive/index.m3u8
睛彩篮球,http://36.105.100.208:35455/itv/2000000003000000061.m3u8?cdn=hnbblive
石家庄新闻综合,http://124.239.135.194:11080/live/sjzxwzh/index.m3u8
石河子教育,http://124.88.144.73:1935/live/xwzh/playlist.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
石河子新闻综合,http://124.88.144.73:1935/live/dywt/playlist.m3u8
福建公共,http://110.81.206.138:49231/tsfile/live/23024_1.m3u8?key=txiptv&playlive=1&authid=0
福建少儿,http://110.81.206.138:49231/tsfile/live/23030_1.m3u8?key=txiptv&playlive=1&authid=0
福建新闻,http://110.80.17.38:9901/tsfile/live/0122_1.m3u8
福建新闻,http://110.81.206.138:49231/tsfile/live/23025_1.m3u8?key=txiptv&playlive=1&authid=0
福建旅游,http://110.81.206.138:49231/tsfile/live/23027_1.m3u8?key=txiptv&playlive=1&authid=0
福建电视剧,http://110.81.206.138:49231/tsfile/live/23026_1.m3u8?key=txiptv&playlive=1&authid=0
福建综合,http://110.81.206.138:49231/tsfile/live/23023_1.m3u8?key=txiptv&playlive=1&authid=0
精品体育,http://146.56.165.66:7788/TVOD/2000000003000000021/hnbblive/index.m3u8
纪实科教8K,http://111.31.106.140/downflv.brtvcloud.com/8klive/8kliveok.m3u8
纬来体育,http://122.117.71.103:8562/纬来体育.m3u8
@@ -473,35 +478,39 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
经典动漫,http://61.133.118.228:5001/yy/24180320
经典电影,http://120.238.94.10:9901/tsfile/live/1040_1.m3u8
经典电影,http://61.163.181.78:9901/tsfile/live/1059_1.m3u8
经典电影,http://124.248.69.76:26781/yy/1356363815
经典电影,http://61.133.118.228:5001/yy/1356363815
绵阳综合,http://119.6.59.216:60033/tsfile/live/1007_1.m3u8?key=txiptv
美亚电影,http://50.7.234.10:8278/meiyamovie_twn/playlist.m3u8?tid=MD3D6323299363232993&ct=18392&tsum=3f73f541d33abe71140d28ada99a071b
苏州文化生活,http://61.155.203.93:5021/live_hls/3/.m3u8
苏州新闻综合,http://61.155.203.93:5021/live_hls/1/.m3u8
苏州生活资讯,http://61.155.203.93:5021/live_hls/4/.m3u8
苏州社会经济,http://61.155.203.93:5021/live_hls/2/.m3u8
茂名公共,http://125.89.163.44:8888/udp/239.77.0.207:5146
茂名综合,http://125.89.163.44:8888/udp/239.77.0.206:5146
荣昌综合,http://183.64.181.25:40023/rongchang01.m3u8
西安1套,http://112.46.85.60:8009/hls/28/index.m3u8
西藏卫视,http://110.53.52.63:8888/newlive/live/hls/36/live.m3u8
西藏卫视,http://183.11.239.36:808/hls/64/index.m3u8
西藏卫视,http://120.76.248.139/live/bfgd/4200000121.m3u8
西藏卫视,http://218.89.240.144:59901/tsfile/live/0111_1.m3u8
西藏卫视,http://123.138.22.30:9901/tsfile/live/0111_1.m3u8
贵州卫视,http://58.57.40.22:9901/tsfile/live/1042_1.m3u8
贵州卫视,http://39.164.160.249:9901/tsfile/live/0120_1.m3u8
西藏卫视,http://123.132.233.194:352/tsfile/live/0111_1.m3u8
西藏卫视,http://221.2.148.205:8154/tsfile/live/0111_1.m3u8
贵州卫视,http://220.164.192.48:50085/tsfile/live/0125_1.m3u8
贵州卫视,http://110.53.52.63:8888/newlive/live/hls/28/live.m3u8
贵州卫视,http://183.11.239.36:808/hls/49/index.m3u8
贵州卫视,http://120.76.248.139/live/bfgd/4200000101.m3u8
贵州卫视,http://123.132.233.194:352/tsfile/live/0120_1.m3u8
贵州卫视,http://111.14.181.15:9901/tsfile/live/0120_1.m3u8
超级体育,http://36.105.100.208:35455/itv/1000000001000009601.m3u8?cdn=ystenlive
超级体育,http://39.134.65.106/PLTV/88888888/224/3221225635/1.m3u8?
超级电影,http://39.134.65.106/PLTV/88888888/224/3221225644/1.m3u8?
超级综艺,http://39.134.65.106/PLTV/88888888/224/3221225642/1.m3u8?
辽宁体育,http://120.76.248.139/live/bfgd/4200000611.m3u8
辽宁公共,http://120.76.248.139/live/bfgd/4200000077.m3u8
辽宁公共,http://120.76.248.139/live/bfgd/4200000481.m3u8
辽宁公共,http://120.76.248.139/live/bfgd/4200000077.m3u8
辽宁北方,http://120.76.248.139/live/bfgd/4200000071.m3u8
辽宁卫视,http://39.164.160.249:9901/tsfile/live/0121_1.m3u8
辽宁卫视,http://58.57.40.22:9901/tsfile/live/1035_1.m3u8
辽宁卫视,http://111.160.17.2:59901/tsfile/live/0001_41.m3u8
辽宁卫视,http://110.53.52.63:8888/newlive/live/hls/46/live.m3u8
辽宁影视剧,http://120.76.248.139/live/bfgd/4200000070.m3u8
辽宁教育青少,http://120.76.248.139/live/bfgd/4200000075.m3u8
辽宁生活,http://120.76.248.139/live/bfgd/4200000073.m3u8
@@ -510,44 +519,40 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
辽宁都市,http://120.76.248.139/live/bfgd/4200000068.m3u8
辽宁都市,http://120.76.248.139/live/bfgd/4200000610.m3u8
都市剧场,http://222.179.155.21:1935/ch1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
都市剧场,http://183.237.95.108:9901/tsfile/live/1069_1.m3u8?key=txiptv&playlive=0&authid=0
鄂托克旗电视台,http://110.19.181.138:10080/hls/F509Rh7GR/F509Rh7GR_live.m3u8?zneimd
重庆卫视,http://58.57.40.22:9901/tsfile/live/0142_1.m3u8
重庆卫视,http://111.160.17.2:59901/tsfile/live/0001_31.m3u8
重庆卫视,http://110.53.52.63:8888/newlive/live/hls/30/live.m3u8
重庆卫视,http://120.76.248.139/live/bfgd/4200000107.m3u8
重庆汽摩,http://120.76.248.139/live/bfgd/4200000168.m3u8
重庆汽摩,http://183.230.184.51:65500/tntv1.m3u8?zzhongqd
重庆汽摩,http://183.64.181.25:40023/rongchang01.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
重庆汽摩,http://218.89.240.144:59901/tsfile/live/1010_1.m3u8?key=txiptv
重庆璧山综合,http://222.179.42.129:8181/hls1.m3u8?zzhongqd
金川乡村,http://139.203.180.9:90/live/jcxc.m3u8
金川新闻综合,http://139.203.180.9:90/live/zhxw.m3u8
金牌综艺,http://39.134.65.106/PLTV/88888888/224/3221225525/1.m3u8?
金鹰卡通,http://120.238.94.10:9901/tsfile/live/1036_1.m3u8
金鹰卡通,http://116.128.242.83:9901/tsfile/live/1002_1.m3u8
金鹰卡通,http://58.57.40.22:9901/tsfile/live/1059_1.m3u8
金鹰卡通,http://61.138.128.226:19901/tsfile/live/1018_1.m3u8
金鹰卡通,http://113.57.20.158:9901/tsfile/live/1000_1.m3u8
金鹰卡通,http://110.80.17.38:9901/tsfile/live/0016_2.m3u8
金鹰卡通,http://110.53.52.63:8888/newlive/live/hls/49/live.m3u8
金鹰卡通,http://111.160.17.2:59901/tsfile/live/0001_33.m3u8
金鹰卡通,http://116.128.242.83:9901/tsfile/live/1002_1.m3u8
金鹰纪实,http://58.57.40.22:9901/tsfile/live/1070_1.m3u8
金鹰纪实,http://120.238.94.10:9901/tsfile/live/1059_1.m3u8
金鹰纪实,http://121.19.134.222:808/tsfile/live/1037_1.m3u8
金鹰纪实,http://183.11.239.36:808/hls/171/index.m3u8
金鹰纪实,http://121.19.134.222:808/tsfile/live/1037_1.m3u8
铜梁综合,http://183.64.174.171:40123/ch1.m3u8
铜梁综合,http://183.64.174.171:40123/ch1.m3u8?zzhongqd
陕西1套,http://112.46.85.60:8009/hls/18/index.m3u8
陕西1套,http://123.138.22.30:9901/tsfile/live/1000_1.m3u8
陕西1套,http://112.46.85.60:8009/hls/18/index.m3u8
陕西1套,http://124.116.183.146:9901/tsfile/live/1000_1.m3u8
陕西2套,http://124.116.183.146:9901/tsfile/live/1001_1.m3u8
陕西2套,http://123.138.22.30:9901/tsfile/live/1001_1.m3u8
陕西2套,http://124.116.183.146:9901/tsfile/live/1001_1.m3u8
陕西3套,http://124.116.183.146:9901/tsfile/live/1002_1.m3u8
陕西6套,http://112.46.85.60:8009/hls/23/index.m3u8
陕西卫视,http://39.164.160.249:9901/tsfile/live/0136_1.m3u8
陕西卫视,http://110.53.52.63:8888/newlive/live/hls/40/live.m3u8
陕西卫视,http://183.11.239.36:808/hls/58/index.m3u8
陕西卫视,http://124.116.183.146:9901/tsfile/live/0136_1.m3u8
陕西卫视,http://218.13.14.6:60050/tsfile/live/1044_1.m3u8
陕西新闻资讯,http://113.200.148.203:85/tsfile/live/1011_1.m3u8?key=txiptv&playlive=1&authid=0
陕西新闻资讯,http://124.116.183.146:9901/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0
陕西都市青春,http://124.116.183.146:9901/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0
青海卫视,http://220.164.192.48:50085/tsfile/live/0140_1.m3u8
青海卫视,http://110.53.52.63:8888/newlive/live/hls/38/live.m3u8
青海卫视,http://120.76.248.139/live/bfgd/4200000111.m3u8
魅力足球,http://146.56.165.66:7788/TVOD/5000000011000031207/bestzb/index.m3u8
@@ -555,13 +560,17 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
鹤岗新闻综合,http://39.134.65.106/PLTV/88888888/224/3221226073/1.m3u8?
黎城综合,http://111.53.96.67:8081/live/1/index.m3u8
黎城综合,http://111.53.96.67:8081/live/1/index.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
黑莓动画,http://36.105.100.208:35455/itv/1000000004000021734.m3u8?cdn=ystenlive
黑莓动画,http://39.134.65.106/PLTV/88888888/224/3221225529/1.m3u8?
黑莓电影,http://146.56.165.66:7788/TVOD/2000000003000000001/hnbblive/index.m3u8
黑莓电影,http://36.105.100.208:35455/itv/1000000004000019624.m3u8?cdn=ystenlive
黑莓电影,http://39.134.65.106/PLTV/88888888/224/3221225681/1.m3u8?
黑龙江卫视,http://39.164.160.249:9901/tsfile/live/0143_1.m3u8
黑龙江卫视,http://58.57.40.22:9901/tsfile/live/1040_1.m3u8
黑龙江卫视,http://111.160.17.2:59901/tsfile/live/0001_36.m3u8
黑龙江少儿,http://112.99.193.34:9901/tsfile/live/1030_1.m3u8?key=txiptv&playlive=1&authid=0
黑龙江少儿,http://39.134.65.106/PLTV/88888888/224/3221225979/1.m3u8?
黑龙江少儿,http://39.134.65.106/PLTV/88888888/224/3221226002/1.m3u8?
黑龙江影视,http://112.99.193.34:9901/tsfile/live/1025_1.m3u8?key=txiptv&amp;playlive=1&amp;authid=0
黑龙江影视,http://39.134.65.106/PLTV/88888888/224/3221225971/1.m3u8?
黑龙江影视,http://39.134.65.106/PLTV/88888888/224/3221225973/1.m3u8?
@@ -569,14 +578,14 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
黑龙江文体,http://39.134.65.106/PLTV/88888888/224/3221225965/1.m3u8?
黑龙江文体,http://39.134.65.106/PLTV/88888888/224/3221226012/1.m3u8?
黑龙江新闻,http://112.99.193.34:9901/tsfile/live/1024_1.m3u8?
黑龙江新闻法治,http://112.99.193.34:9901/tsfile/live/1028_1.m3u8?key=txiptv&amp;playlive=1&amp;authid=0
黑龙江都市,http://112.99.193.34:9901/tsfile/live/1027_1.m3u8?key=txiptv&amp;playlive=1&amp;authid=0
黑龙江都市,http://39.134.65.106/PLTV/88888888/224/3221225969/1.m3u8?
黑龙江都市,http://39.134.65.106/PLTV/88888888/224/3221225990/1.m3u8?
龙华卡通,http://122.117.71.103:8516/http/61.222.53.250:8068/hls/14/80/cstv14.m3u8
龙华戏剧,http://122.117.71.103:8533/http/61.222.53.250:8068/hls/13/80/cstv13.m3u8
龙华戏剧,http://122.117.71.103:8533/http/61.222.53.250:8081/hls/75/817/ch59.m3u8
龙华戏剧,http://122.117.71.103:8533/龙华戏剧.m3u8
龙华洋片,http://50.7.234.10:8278/lunghuawestern_twn/playlist.m3u8?tid=MC1C3944472239444722&ct=19226&tsum=99c0c7c82e2fc48b16605865c3eaeb82
龙华戏剧,http://122.117.71.103:8533/http/61.222.53.250:8081/hls/75/817/ch59.m3u8
龙华电影,http://37.27.111.214:8080/live/19/hls.m3u8
龙华电影,http://122.117.71.103:8555/http/61.222.53.250:8068/hls/10/80/cstv10.m3u8
龙华电影,http://122.117.71.103:8555/龙华电影.m3u8
@@ -584,14 +593,13 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
# IPv6 Streams
CCTV-1 综合,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226559/index.m3u8
CCTV-10 科教,http://[2409:8087:1a01:df::4077]:80/PLTV/88888888/224/3221225677/index.m3u8
CCTV-11 戏曲,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226565/index.m3u8
CCTV-12 社会与法,http://[2409:8087:1a01:df::4077]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225731/index.m3u8
CCTV-13 新闻,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226537/index.m3u8
CCTV-14 少儿,http://[2409:8087:1a01:df::4077]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225732/index.m3u8
CCTV-15 音乐,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226476/index.m3u8
CCTV-16 奥林匹克,http://[2409:8087:1a01:df::4077]:80/PLTV/88888888/224/3221225893/index.m3u8
CCTV-17 农业农村,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225765/index.m3u8
CCTV-2 财经,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226540/index.m3u8
CCTV-3 综艺,http://[2409:8087:1a01:df::4077]:80/PLTV/88888888/224/3221225799/index.m3u8
CCTV-4 中文国际,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226428/index.m3u8
CCTV-5 体育,http://[2409:8087:1a01:df::4077]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226019/index.m3u8
@@ -601,55 +609,49 @@ CCTV-8 电视剧,http://[2409:8087:1a01:df::4077]:80/ottrrs.hl.chinamobile.com/P
CCTV-9 纪录,http://[2409:8087:1a01:df::4077]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225734/index.m3u8
CCTV1,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225642/2/index.m3u8
CCTV1,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225501/2/index.m3u8
CCTV1,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225618/2/index.m3u8
CCTV1,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225642/index.m3u8
CCTV10,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225636/2/index.m3u8
CCTV10,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225636/index.m3u8
CCTV10,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225496/2/index.m3u8
CCTV10,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225627/2/index.m3u8
CCTV12,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225495/2/index.m3u8
CCTV12,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225637/index.m3u8
CCTV12,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225629/2/index.m3u8
CCTV12,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225637/2/index.m3u8
CCTV12,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225495/2/index.m3u8
CCTV15,http://[2409:8087:1a01:df::4033]:80/TVOD/88888888/224/3221226127/main.m3u8
CCTV17,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225909/2/index.m3u8
CCTV17,http://[2409:8087:1a01:df::4025]:80/TVOD/88888888/224/3221225708/main.m3u8
CCTV17,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225908/2/index.m3u8
CCTV2,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225643/index.m3u8
CCTV2,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225619/2/index.m3u8
CCTV2,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225500/2/index.m3u8
CCTV3,http://[2409:8087:1a01:df::4041]:80/TVOD/88888888/224/3221225799/main.m3u8
CCTV4,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225621/2/index.m3u8
CCTV4,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225621/index.m3u8
CCTV5,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225633/index.m3u8
CCTV5+,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225649/2/index.m3u8
CCTV8,http://[2409:8087:1a01:df::4051]:80/TVOD/88888888/224/3221225795/main.m3u8
上海纪实,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225655/index.m3u8
东北热剧,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225741/index.m3u8
东南卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226341/index.m3u8
东南卫视,http://[2409:8087:1a01:df::4035]:80/TVOD/88888888/224/3221225950/main.m3u8
东南卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225585/index.m3u8?fmt=ts2hls
东方卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226345/index.m3u8
东方卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225658/2/index.m3u8
东方卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225659/index.m3u8
东方卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225659/2/index.m3u8
东方卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225489/2/index.m3u8
北京卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226450/index.m3u8
北京卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225674/2/index.m3u8
北京卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225674/index.m3u8
北京卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225673/2/index.m3u8
北京卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225600/2/index.m3u8
吉林卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226397/index.m3u8
咪咕,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221226240/2/index.m3u8
哒啵赛事,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225675/index.m3u8
四川卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226338/index.m3u8
天津卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226459/index.m3u8
天津卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225698/2/index.m3u8
天津卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225739/2/index.m3u8
天津卫视,http://[2409:8087:1a01:df::4030]:80/TVOD/88888888/224/3221225972/main.m3u8
天津卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225485/2/index.m3u8
天津卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225698/index.m3u8
宁夏卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225726/2/index.m3u8
安徽卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226391/index.m3u8
山东卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226456/index.m3u8
山东卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225697/2/index.m3u8
山东卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225738/2/index.m3u8
山东卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225484/2/index.m3u8
山东卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225484/index.m3u8?fmt=ts2hls
山西卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225730/2/index.m3u8
广东卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226248/index.m3u8
广西卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226549/index.m3u8
广西卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225731/2/index.m3u8
广西卫视,http://[2409:8087:1a01:df::4047]:80/TVOD/88888888/224/3221226091/main.m3u8
广西卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221226211/index.m3u8?fmt=ts2hls
新疆卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225725/2/index.m3u8
旅游卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221226212/index.m3u8?fmt=ts2hls
梨园,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225581/2/index.m3u8
@@ -660,6 +662,7 @@ CCTV8,http://[2409:8087:1a01:df::4051]:80/TVOD/88888888/224/3221225795/main.m3u8
江西卫视,http://[2409:8087:1a01:df::4027]:80/TVOD/88888888/224/3221225935/main.m3u8
江西卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225492/index.m3u8?fmt=ts2hls
河北卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226406/index.m3u8
河北卫视,http://[2409:8087:1a01:df::4035]:80/TVOD/88888888/224/3221225961/main.m3u8
河南卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226480/index.m3u8
浙江卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226339/index.m3u8
浙江卫视,http://[2409:8087:1a01:df::4043]:80/TVOD/88888888/224/3221225959/main.m3u8
@@ -678,14 +681,15 @@ CCTV8,http://[2409:8087:1a01:df::4051]:80/TVOD/88888888/224/3221225795/main.m3u8
纪实科教,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225729/index.m3u8
西藏卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225723/2/index.m3u8
贵州卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226474/index.m3u8
贵州卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225728/2/index.m3u8
贵州卫视,http://[2409:8087:1a01:df::4030]:80/TVOD/88888888/224/3221225974/main.m3u8
贵州卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225483/2/index.m3u8
超级体育,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225715/index.m3u8
超级体育,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225622/2/index.m3u8
超级电影,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225717/index.m3u8
超级综艺,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225714/index.m3u8
超级视剧,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225716/index.m3u8
辽宁卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226546/index.m3u8
辽宁卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225735/2/index.m3u8
重庆卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226409/index.m3u8
重庆卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225612/index.m3u8?fmt=ts2hls
金牌综艺,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225666/index.m3u8
+66 -136
View File
@@ -1,154 +1,84 @@
#EXTM3U x-tvg-url="https://live.fanmingming.cn/e.xml" catchup="append" catchup-source="?playseek=${(b)yyyyMMddHHmmss}-${(e)yyyyMMddHHmmss}"
#EXTINF:-1 tvg-name="CCTV1" tvg-logo="https://live.fanmingming.cn/tv/CCTV1.png" group-title="央视频道",CCTV-1
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226895/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EI0Rkc6neBYgfpoJ1yud8Fw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPpqgHe3PQ5GNQoO-yUgA8C%2CEND
#EXTINF:-1 tvg-name="CCTV3" tvg-logo="https://live.fanmingming.cn/tv/CCTV3.png" group-title="央视频道",CCTV-3
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226456/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E_6GNVcVOz9Xub8CclyMRUg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOIR_8g_qYRqpV5wTQqRILi%2CEND
#EXTINF:-1 tvg-name="CCTV4" tvg-logo="https://live.fanmingming.cn/tv/CCTV4.png" group-title="央视频道",CCTV-4
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226470/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0wP1dRMt9qCzHdvA65wh1w%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMcuN2HH7RLPyPHWOUWhSMk%2CEND
#EXTINF:-1 tvg-name="CCTV1" tvg-logo="https://live.fanmingming.cn/tv/CCTV1.png" group-title="央视频道",CCTV1
http://iptv.huuc.edu.cn/hls/cctv1hd.m3u8
#EXTINF:-1 tvg-name="CCTV2" tvg-logo="https://live.fanmingming.cn/tv/CCTV2.png" group-title="央视频道",CCTV2
http://iptv.huuc.edu.cn/hls/cctv2hd.m3u8
#EXTINF:-1 tvg-name="CCTV3" tvg-logo="https://live.fanmingming.cn/tv/CCTV3.png" group-title="央视频道",CCTV3
http://iptv.huuc.edu.cn/hls/cctv3hd.m3u8
#EXTINF:-1 tvg-name="CCTV4" tvg-logo="https://live.fanmingming.cn/tv/CCTV4.png" group-title="央视频道",CCTV4
http://iptv.huuc.edu.cn/hls/cctv4hd.m3u8
#EXTINF:-1 tvg-name="CCTV5" tvg-logo="https://live.fanmingming.cn/tv/CCTV5.png" group-title="央视频道",CCTV5
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226454/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ErKwB8Qqtvssoy-K7GEgesQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOIR_8g_qYRqpV5wTQqRILi%2CEND
#EXTINF:-1 tvg-name="CCTV5+" tvg-logo="https://live.fanmingming.cn/tv/CCTV5+.png" group-title="央视频道",CCTV5+
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226458/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Em70vyfVI_MkrcLYjHWnqOA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNlS0O1LA8iGydXPYujpRue%2CEND
http://iptv.huuc.edu.cn/hls/cctv5hd.m3u8
#EXTINF:-1 tvg-name="CCTV6" tvg-logo="https://live.fanmingming.cn/tv/CCTV6.png" group-title="央视频道",CCTV6
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226453/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ex56LEwufYqPdJkUNYhbNCw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOH2PzEhAK60LI_FWtVxfVS%2CEND
http://iptv.huuc.edu.cn/hls/cctv6hd.m3u8
#EXTINF:-1 tvg-name="CCTV7" tvg-logo="https://live.fanmingming.cn/tv/CCTV7.png" group-title="央视频道",CCTV7
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226234/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EutDC7HLJc_gC0YdIDr7oig%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPOHuulzlCcw92vP3vgYa4n%2CEND
http://iptv.huuc.edu.cn/hls/cctv7hd.m3u8
#EXTINF:-1 tvg-name="CCTV8" tvg-logo="https://live.fanmingming.cn/tv/CCTV8.png" group-title="央视频道",CCTV8
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226451/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EO_1NY-UghfdG_S28Bf_FPw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNO1anuaDcpMt0_BMig72trX%2CEND
http://iptv.huuc.edu.cn/hls/cctv8hd.m3u8
#EXTINF:-1 tvg-name="CCTV9" tvg-logo="https://live.fanmingming.cn/tv/CCTV9.png" group-title="央视频道",CCTV9
http://iptv.huuc.edu.cn/hls/cctv9hd.m3u8
#EXTINF:-1 tvg-name="CCTV10" tvg-logo="https://live.fanmingming.cn/tv/CCTV10.png" group-title="央视频道",CCTV10
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226449/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EzhRgoBfyoaW0eC2lnTJYAQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOxqyo6ss4VuHKCaIhF4e3B%2CEND
http://iptv.huuc.edu.cn/hls/cctv10hd.m3u8
#EXTINF:-1 tvg-name="CCTV11" tvg-logo="https://live.fanmingming.cn/tv/CCTV11.png" group-title="央视频道",CCTV11
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226334/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0RcQQbNseiHvFO8XWf466A%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
#EXTINF:-1 tvg-name="CCTV11" tvg-logo="https://live.fanmingming.cn/tv/CCTV11.png" group-title="央视频道",CCTV11
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226448/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eqfhzy1ZrFZrYrATDOB991A%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOu522yjh6D1Z_dApuOt9eE%2CEND
http://iptv.huuc.edu.cn/hls/cctv11hd.m3u8
#EXTINF:-1 tvg-name="CCTV12" tvg-logo="https://live.fanmingming.cn/tv/CCTV12.png" group-title="央视频道",CCTV12
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226228/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E2knJCFLHz_HqfBZXNGeA1A%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMIlZ5z7o_ym15iMooogSvj%2CEND
http://iptv.huuc.edu.cn/hls/cctv12hd.m3u8
#EXTINF:-1 tvg-name="CCTV13" tvg-logo="https://live.fanmingming.cn/tv/CCTV13.png" group-title="央视频道",CCTV13
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226316/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EqHPe9pEEWJ00hz1ArnRZVA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
#EXTINF:-1 tvg-name="CCTV13" tvg-logo="https://live.fanmingming.cn/tv/CCTV13.png" group-title="央视频道",CCTV13
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226446/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EU-IJJyzlYeEElWsacI4JKw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMT7DWkynQtRPzNDJCOY_C_%2CEND
http://iptv.huuc.edu.cn/hls/cctv13hd.m3u8
#EXTINF:-1 tvg-name="CCTV14" tvg-logo="https://live.fanmingming.cn/tv/CCTV14.png" group-title="央视频道",CCTV14
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226229/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ey_UgKg-_uoDiTW1MNHptPg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNLabf3bHEXv4444iiOs_Px%2CEND
#EXTINF:-1 tvg-name="CCTV15" tvg-logo="https://live.fanmingming.cn/tv/CCTV15.png" group-title="央视频道",CCTV15
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226444/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EFQ8BWVFffGkwLTLNv7CwFQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNM7I2coCeiP5K0pSIMZqcUB%2CEND
#EXTINF:-1 tvg-name="CCTV16" tvg-logo="https://live.fanmingming.cn/tv/CCTV16.png" group-title="央视频道",CCTV16
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227002/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EX9goLRw26BM_r54des2PAw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPt5W7-RovMDpE-7B-0PhHw%2CEND
#EXTINF:-1 tvg-name="CCTV17" tvg-logo="https://live.fanmingming.cn/tv/CCTV17.png" group-title="央视频道",CCTV17
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226442/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EtihRNVe_x2y1Lgi_XWYeNw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOl8OnsD1vPD0mhNmo98J3J%2CEND
http://iptv.huuc.edu.cn/hls/cctv14hd.m3u8
#EXTINF:-1 tvg-name="CGTN" tvg-logo="https://live.fanmingming.cn/tv/CGTN.png" group-title="央视频道",CGTN
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226443/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ebu8iDniP_aAtg-APxKXKAA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOeLGc8fhipDF_paLm6VUd-%2CEND
http://iptv.huuc.edu.cn/hls/cgtnhd.m3u8
#EXTINF:-1 tvg-name="北京卫视" tvg-logo="https://live.fanmingming.cn/tv/北京卫视.png" group-title="卫视频道",北京卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226900/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EcYPi33WFyhvd6SjmqUKhJg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
#EXTINF:-1 tvg-name="北京卫视" tvg-logo="https://live.fanmingming.cn/tv/北京卫视.png" group-title="卫视频道",北京卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226436/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ElMQ3ov45VmhzipweN5VstQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPg_yZ8DZHTaSU92MIl_o3b%2CEND
#EXTINF:-1 tvg-name="深圳卫视" tvg-logo="https://live.fanmingming.cn/tv/深圳卫视.png" group-title="卫视频道",深圳卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226245/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EFvxuZ6Kfg6J67sArVd0LuA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNO9YxM-C8gPFvQRk47-h2ok%2CEND
#EXTINF:-1 tvg-name="湖北卫视" tvg-logo="https://live.fanmingming.cn/tv/湖北卫视.png" group-title="卫视频道",湖北卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226240/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ExfU_RR0RQok0w_xd7h22CQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPVnDV2fEBphgm3TP7hAHBx%2CEND
#EXTINF:-1 tvg-name="东方卫视" tvg-logo="https://live.fanmingming.cn/tv/东方卫视.png" group-title="卫视频道",东方卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226237/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EuOKqNaOUqqiJjXIfPoRPMQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNeqgYr1eA9ESriCOsl_DTz%2CEND
http://iptv.huuc.edu.cn/hls/btv1hd.m3u8
#EXTINF:-1 tvg-name="北京文艺" tvg-logo="https://live.fanmingming.cn/tv/北京文艺.png" group-title="卫视频道",北京文艺
http://iptv.huuc.edu.cn/hls/btv2hd.m3u8
#EXTINF:-1 tvg-name="北京体育" tvg-logo="https://live.fanmingming.cn/tv/北京体育.png" group-title="卫视频道",北京体育
http://iptv.huuc.edu.cn/hls/btv6hd.m3u8
#EXTINF:-1 tvg-name="北京影视" tvg-logo="https://live.fanmingming.cn/tv/北京影视.png" group-title="卫视频道",北京影视
http://iptv.huuc.edu.cn/hls/btv4hd.m3u8
#EXTINF:-1 tvg-name="北京新闻" tvg-logo="https://live.fanmingming.cn/tv/北京新闻.png" group-title="卫视频道",北京新闻
http://iptv.huuc.edu.cn/hls/btv9hd.m3u8
#EXTINF:-1 tvg-name="北京纪实" tvg-logo="https://live.fanmingming.cn/tv/北京纪实.png" group-title="卫视频道",北京纪实
http://iptv.huuc.edu.cn/hls/btv11hd.m3u8
#EXTINF:-1 tvg-name="湖南卫视" tvg-logo="https://live.fanmingming.cn/tv/湖南卫视.png" group-title="卫视频道",湖南卫视
http://iptv.huuc.edu.cn/hls/hunanhd.m3u8
#EXTINF:-1 tvg-name="浙江卫视" tvg-logo="https://live.fanmingming.cn/tv/浙江卫视.png" group-title="卫视频道",浙江卫视
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226247/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eo6BokfP3WkB3SIXSrgvRBA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNP3w4GkbU9L7iRQ8H2vgzhF%2CEND
#EXTINF:-1 tvg-name="吉林卫视" tvg-logo="https://live.fanmingming.cn/tv/吉林卫视.png" group-title="卫视频道",吉林卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226533/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EicY_6znuOTlmMeE15TFEig%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNNUZpDp9cPVsM_M_ftJRVM%2CEND
http://iptv.huuc.edu.cn/hls/zjhd.m3u8
#EXTINF:-1 tvg-name="江苏卫视" tvg-logo="https://live.fanmingming.cn/tv/江苏卫视.png" group-title="卫视频道",江苏卫视
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226242/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EJT6eqtJpcKnNhyUS90EOgw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNN1SxXwCt0S69Lq27ZMJpfR%2CEND
#EXTINF:-1 tvg-name="山东卫视" tvg-logo="https://live.fanmingming.cn/tv/山东卫视.png" group-title="卫视频道",山东卫视
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226244/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EycMz-PML_dQW8iLcNBkw7g%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMYCYLC04QAM6EBli1wTuET%2CEND
#EXTINF:-1 tvg-name="黑龙江卫视" tvg-logo="https://live.fanmingming.cn/tv/黑龙江卫视.png" group-title="卫视频道",黑龙江卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226239/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EEHwpSHKc5p-bHJfhpIWFig%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNM5Y8rTELLykZJHp-bmY2YW%2CEND
#EXTINF:-1 tvg-name="东南卫视" tvg-logo="https://live.fanmingming.cn/tv/东南卫视.png" group-title="卫视频道",东南卫视
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226496/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EkZUfG47p98m2PZiCsgkhyQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNM5EcQIH6BiwZavlhPLb4oJ%2CEND
#EXTINF:-1 tvg-name="江西卫视" tvg-logo="https://live.fanmingming.cn/tv/江西卫视.png" group-title="卫视频道",江西卫视
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226243/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EfPpe3gkzCutYMoqOQQZNzA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMVuW7agCgULnvgy9rhLyCH%2CEND
#EXTINF:-1 tvg-name="云南卫视" tvg-logo="https://live.fanmingming.cn/tv/云南卫视.png" group-title="卫视频道",云南卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226543/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EzQy9f4DIExLCs810r0Q6Kw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNO_hnHaWpTsMQwR98VJGduo%2CEND
#EXTINF:-1 tvg-name="辽宁卫视" tvg-logo="https://live.fanmingming.cn/tv/辽宁卫视.png" group-title="卫视频道",辽宁卫视
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226488/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0dsu8dOBmGQQO7fSrvySew%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNN4l9PIxeExdzsncIMJiPZb%2CEND
#EXTINF:-1 tvg-name="重庆卫视" tvg-logo="https://live.fanmingming.cn/tv/重庆卫视.png" group-title="卫视频道",重庆卫视
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226518/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ey-ITbF7am-eD_R60rK2QcQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMWkDi37K3eowQvLymiiLyV%2CEND
#EXTINF:-1 tvg-name="山西卫视" tvg-logo="https://live.fanmingming.cn/tv/山西卫视.png" group-title="卫视频道",山西卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226531/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EokFa56wMKUpB1vaIjEe92A%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPoj5DNJHruOghC7vAQxinJ%2CEND
#EXTINF:-1 tvg-name="海南卫视" tvg-logo="https://live.fanmingming.cn/tv/海南卫视.png" group-title="卫视频道",海南卫视
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226574/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EZOP0PLu1-XG8_Ae0lTe9HQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNODcjESMU4f6yMuMuOuQbie%2CEND
http://iptv.huuc.edu.cn/hls/jshd.m3u8
#EXTINF:-1 tvg-name="东方卫视" tvg-logo="https://live.fanmingming.cn/tv/东方卫视.png" group-title="卫视频道",东方卫视
http://iptv.huuc.edu.cn/hls/dfhd.m3u8
#EXTINF:-1 tvg-name="安徽卫视" tvg-logo="https://live.fanmingming.cn/tv/安徽卫视.png" group-title="卫视频道",安徽卫视
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226490/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EcN5s_AlHugvAv9Pda6f9fA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOtRTFrO5eKiKNV40gMGHaS%2CEND
#EXTINF:-1 tvg-name="甘肃卫视" tvg-logo="https://live.fanmingming.cn/tv/甘肃卫视.png" group-title="卫视频道",甘肃卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226545/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EPxObabIs3mLyPmSf2HHtqQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNBE3K16ZfzYGIqbP6z6cGJ%2CEND
#EXTINF:-1 tvg-name="青海卫视" tvg-logo="https://live.fanmingming.cn/tv/青海卫视.png" group-title="卫视频道",青海卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226529/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ege4qzvU2ax15UdL3NFQ7AQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNdiWnhjH1amCOGECUhABr9%2CEND
#EXTINF:-1 tvg-name="山东教育卫视" tvg-logo="https://live.fanmingming.cn/tv/山东教育卫视.png" group-title="卫视频道",山东教育卫视
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226526/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EEtk94qghXphElKOQlUC-Yw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOpyxkKQ6N6FjQz-LrJwo0o%2CEND
#EXTINF:-1 tvg-name="宁夏卫视" tvg-logo="https://live.fanmingming.cn/tv/宁夏卫视.png" group-title="卫视频道",宁夏卫视
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226528/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E9-jWxE6tfiz7aO7MvbCY7Q%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMi3qn27U9rBeXpVrJ8eLy7%2CEND
#EXTINF:-1 tvg-name="内蒙古卫视" tvg-logo="https://live.fanmingming.cn/tv/内蒙古卫视.png" group-title="卫视频道",内蒙古卫视
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226530/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EHHMwHAFmEx4xxtZRlWhCrg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMZe-zTYLW-Yz0RcFLVr37n%2CEND
#EXTINF:-1 tvg-name="陕西卫视" tvg-logo="https://live.fanmingming.cn/tv/陕西卫视.png" group-title="卫视频道",陕西卫视
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226532/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E6sNSqmLCqLFl_AJPBXp1qA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNO6b4uKEI14SNy0LDiw52LH%2CEND
#EXTINF:-1 tvg-name="广西卫视" tvg-logo="https://live.fanmingming.cn/tv/广西卫视.png" group-title="卫视频道",广西卫视
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226534/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EpjsBggKPaCw3f-xlBWZWaQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMJYhPE64lykNkIsypBRZqO%2CEND
#EXTINF:-1 tvg-name="厦门卫视" tvg-logo="https://live.fanmingming.cn/tv/厦门卫视.png" group-title="卫视频道",厦门卫视
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226542/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0HuqirkTe1cAUljwazjNGw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMvSOYesmmWPPy5i3xS4Rsb%2CEND
#EXTINF:-1 tvg-name="三沙卫视" tvg-logo="https://live.fanmingming.cn/tv/三沙卫视.png" group-title="卫视频道",三沙卫视
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226544/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eb2dn60YQRxhB5rAyOnrv0g%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNO_hnHaWpTsMQwR98VJGduo%2CEND
#EXTINF:-1 tvg-name="新疆卫视" tvg-logo="https://live.fanmingming.cn/tv/新疆卫视.png" group-title="卫视频道",新疆卫视
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226546/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ETtoZKRqwsL9SQjr1A0iH5g%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMREPnBLSH3b8pR7cnmo9am%2CEND
#EXTINF:-1 tvg-name="西藏卫视" tvg-logo="https://live.fanmingming.cn/tv/西藏卫视.png" group-title="卫视频道",西藏卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226527/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EmHuqUIe0F51C4h6xZanhig%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMi3qn27U9rBeXpVrJ8eLy7%2CEND
#EXTINF:-1 tvg-name="兵团卫视" tvg-logo="https://live.fanmingming.cn/tv/兵团卫视.png" group-title="卫视频道",兵团卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226541/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ESv-rH0nF41q6pxKZKeRnNA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNN-56c_rnHTXQA4R-D0Dlau%2CEND
#EXTINF:-1 tvg-name="延边卫视" tvg-logo="https://live.fanmingming.cn/tv/延边卫视.png" group-title="卫视频道",延边卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227045/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eq0D3NdTUN7FuRzr8eJsbQA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNONS2RAhxb5u6NYaMGGM23S%2CEND
#EXTINF:-1 tvg-name="康巴卫视" tvg-logo="https://live.fanmingming.cn/tv/康巴卫视.png" group-title="卫视频道",康巴卫视
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227027/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EkHMvBpWz4rccMxNvSRekpQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPtFfVFX0AVycM8b4Xmbcl4%2CEND
#EXTINF:-1 tvg-name="嘉佳卡通" tvg-logo="https://live.fanmingming.cn/tv/嘉佳卡通.png" group-title="数字频道",嘉佳卡通
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226539/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EQDRyt1jaDU7f52NwPN526A%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOLcRNi6C1PMX5tGrYl_SiR%2CEND
#EXTINF:-1 tvg-name="茶频道" tvg-logo="https://live.fanmingming.cn/tv/茶频道.png" group-title="数字频道",茶频道
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226548/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ec1XXmbKOEhI6pFYCxtVG9A%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOD3hCDGl7mDB_HDsnRfhB2%2CEND
#EXTINF:-1 tvg-name="快乐垂钓" tvg-logo="https://live.fanmingming.cn/tv/快乐垂钓.png" group-title="数字频道",快乐垂钓
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226549/1.m3u8?GuardEncType=2&accountinfo=~~V2.0~RHz0NOpqUZZN1Iz6lVLkkg~_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNSiF8rKF1Pn2LepKMJ2cEG%2CEND
#EXTINF:-1 tvg-name="超级电影" tvg-logo="https://live.fanmingming.cn/tv/超级电影.png" group-title="数字频道",超级电影
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226233/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EfPRR4mbRWhkCFuUCVm9THg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNM4kysjLk_woYMRnu35KtBV%2CEND
#EXTINF:-1 tvg-name="超级综艺" tvg-logo="https://live.fanmingming.cn/tv/超级综艺.png" group-title="数字频道",超级综艺
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226231/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ejm-KqHfTZezbm9C-325YiA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNnfpAUC20DSCXUyGpDggnK%2CEND
#EXTINF:-1 tvg-name="超级体育" tvg-logo="https://live.fanmingming.cn/tv/超级体育.png" group-title="数字频道",超级体育
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226232/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eg-EQHTrpbCOxNSgnFRbr4w%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMNhcQPODGVtsSVKlB7CbAh%2CEND
#EXTINF:-1 tvg-name="金牌综艺" tvg-logo="https://live.fanmingming.cn/tv/金牌综艺.png" group-title="数字频道",金牌综艺
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227004/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EkcfszuSJNo6WZ8h7xrIswA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMWi_zfgUXV5YnB6haFF-C2%2CEND
#EXTINF:-1 tvg-name="北京IPTV 4K超清" tvg-logo="https://live.fanmingming.cn/tv/北京IPTV 4K超清.png" group-title="数字频道",北京IPTV 4K超清
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226550/1.m3u8?GuardEncType=2&accountinfo=~~V2.0~e2qS8h6u-xp3gd50vNr1sw~_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPPFD3HVWEytEVyliOxehfe%2CEND
#EXTINF:-1 tvg-name="北京国际" tvg-logo="https://live.fanmingming.cn/tv/北京国际.png" group-title="数字频道",北京国际
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226510/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EIfgL7tTUNqHAIdgvKuwj8A%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPr9j5nfyiWS_jEXD6m401A%2CEND
#EXTINF:-1 tvg-name="北京新闻" tvg-logo="https://live.fanmingming.cn/tv/北京新闻.png" group-title="数字频道",北京新闻
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226437/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EncK5uEAdYwWMsf8WJWI1mQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNO_LSIQh_h2P54Cz-MqgJqC%2CEND
#EXTINF:-1 tvg-name="北京文艺" tvg-logo="https://live.fanmingming.cn/tv/北京文艺.png" group-title="数字频道",北京文艺
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226440/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EWrJcgMpdGPvZavpf4dmmrQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNhmwDsUZnvQgU5E5wiGA2g%2CEND
#EXTINF:-1 tvg-name="北京体育休闲" tvg-logo="https://live.fanmingming.cn/tv/北京体育休闲.png" group-title="数字频道",北京体育休闲
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226438/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EeVAybrHg955d_IRT9e_uHQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMLCKqkSfuGOusJwBMwlCbz%2CEND
#EXTINF:-1 tvg-name="北京影视" tvg-logo="https://live.fanmingming.cn/tv/北京影视.png" group-title="数字频道",北京影视
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226433/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EygquRbh9L0wUPRY53fsZWw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNO62IynDcU1yYDL1b4Xte8T%2CEND
#EXTINF:-1 tvg-name="北京生活" tvg-logo="https://live.fanmingming.cn/tv/北京生活.png" group-title="数字频道",北京生活
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226514/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Es-PVNcPJsjr_oBdcXGT40g%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMWvZ0r6eMXcXJOGrCpJiq1%2CEND
#EXTINF:-1 tvg-name="北京财经" tvg-logo="https://live.fanmingming.cn/tv/北京财经.png" group-title="数字频道",北京财经
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226516/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eh9_SEkmWeMdS1TMnIILZgg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPIiicEW7OIvk1s-X-PXHqO%2CEND
#EXTINF:-1 tvg-name="北京纪实科教" tvg-logo="https://live.fanmingming.cn/tv/北京纪实科教.png" group-title="数字频道",北京纪实科教
http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226434/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ejj3PtVjzl6ZzFdM-Vi1dmQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPJa61jREJv4ZfZigyrxX0U%2CEND
#EXTINF:-1 tvg-name="北京IPTV 淘电影" tvg-logo="https://live.fanmingming.cn/tv/北京IPTV 淘电影.png" group-title="数字频道",北京IPTV 淘电影
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226552/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EXOsrWMA-UCdUl1hQSR9EKw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNg3bzRax0E9tLmO9xgXVx8%2CEND
#EXTINF:-1 tvg-name="北京IPTV 淘剧场" tvg-logo="https://live.fanmingming.cn/tv/北京IPTV 淘剧场.png" group-title="数字频道",北京IPTV 淘剧场
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226553/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EQaJ92NID2SpQlY6_VJVogg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOuQYJeiYEeFWTkFfE86Vq-%2CEND
#EXTINF:-1 tvg-name="北京IPTV 淘娱乐" tvg-logo="https://live.fanmingming.cn/tv/北京IPTV 淘娱乐.png" group-title="数字频道",北京IPTV 淘娱乐
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226551/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ex0efg9fpenP8E8lWJUb5Lg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNg3bzRax0E9tLmO9xgXVx8%2CEND
#EXTINF:-1 tvg-name="北京IPTV 淘BABY" tvg-logo="https://live.fanmingming.cn/tv/北京IPTV 淘BABY.png" group-title="数字频道",北京IPTV 淘BABY
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226554/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EN0sbBMpQv4sLsW5foy3YfA%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNg3bzRax0E9tLmO9xgXVx8%2CEND
#EXTINF:-1 tvg-name="北京IPTV 萌宠TV" tvg-logo="https://live.fanmingming.cn/tv/北京IPTV 萌宠TV.png" group-title="数字频道",北京IPTV 萌宠TV
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226555/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E_PpxWPtvSZRFtu_Ged_-vQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNO0istnBuoA2R9ODSCqyIyS%2CEND
#EXTINF:-1 tvg-name="中国教育1台" tvg-logo="https://live.fanmingming.cn/tv/中国教育1台.png" group-title="数字频道",中国教育1台
http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226494/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EB8MrpAzJ_Bw12HHVBcZO6g%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNONWWecbSKZXNjh_5hExtTC%2CEND
#EXTINF:-1 tvg-name="中国教育2台" tvg-logo="https://live.fanmingming.cn/tv/中国教育2台.png" group-title="数字频道",中国教育2台
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226537/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E7AxXs4eTU2oiWrhopr9sHw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNxsM0Bor098BJglrhfEQTl%2CEND
#EXTINF:-1 tvg-name="中国教育4台" tvg-logo="https://live.fanmingming.cn/tv/中国教育4台.png" group-title="数字频道",中国教育4台
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226557/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EBzZToIaOOoaa_jAUfhUQHQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOD9BEmVSNbqSQpqXZxnxbk%2CEND
http://iptv.huuc.edu.cn/hls/ahhd.m3u8
#EXTINF:-1 tvg-name="黑龙江卫视" tvg-logo="https://live.fanmingming.cn/tv/黑龙江卫视.png" group-title="卫视频道",黑龙江卫视
http://iptv.huuc.edu.cn/hls/hljhd.m3u8
#EXTINF:-1 tvg-name="辽宁卫视" tvg-logo="https://live.fanmingming.cn/tv/辽宁卫视.png" group-title="卫视频道",辽宁卫视
http://iptv.huuc.edu.cn/hls/lnhd.m3u8
#EXTINF:-1 tvg-name="深圳卫视" tvg-logo="https://live.fanmingming.cn/tv/深圳卫视.png" group-title="卫视频道",深圳卫视
http://iptv.huuc.edu.cn/hls/szhd.m3u8
#EXTINF:-1 tvg-name="广东卫视" tvg-logo="https://live.fanmingming.cn/tv/广东卫视.png" group-title="卫视频道",广东卫视
http://iptv.huuc.edu.cn/hls/gdhd.m3u8
#EXTINF:-1 tvg-name="天津卫视" tvg-logo="https://live.fanmingming.cn/tv/天津卫视.png" group-title="卫视频道",天津卫视
http://iptv.huuc.edu.cn/hls/tjhd.m3u8
#EXTINF:-1 tvg-name="湖北卫视" tvg-logo="https://live.fanmingming.cn/tv/湖北卫视.png" group-title="卫视频道",湖北卫视
http://iptv.huuc.edu.cn/hls/hbhd.m3u8
#EXTINF:-1 tvg-name="山东卫视" tvg-logo="https://live.fanmingming.cn/tv/山东卫视.png" group-title="卫视频道",山东卫视
http://iptv.huuc.edu.cn/hls/sdhd.m3u8
#EXTINF:-1 tvg-name="重庆卫视" tvg-logo="https://live.fanmingming.cn/tv/重庆卫视.png" group-title="卫视频道",重庆卫视
http://iptv.huuc.edu.cn/hls/cqhd.m3u8
#EXTINF:-1 tvg-name="上海纪实" tvg-logo="https://live.fanmingming.cn/tv/上海纪实.png" group-title="卫视频道",上海纪实
http://iptv.huuc.edu.cn/hls/docuchina.m3u8
#EXTINF:-1 tvg-name="四川卫视" tvg-logo="https://live.fanmingming.cn/tv/四川卫视.png" group-title="卫视频道",四川卫视
http://iptv.huuc.edu.cn/hls/schd.m3u8
#EXTINF:-1 tvg-name="金鹰纪实" tvg-logo="https://live.fanmingming.cn/tv/金鹰纪实.png" group-title="卫视频道",金鹰纪实
http://iptv.huuc.edu.cn/hls/gedocu.m3u8
#EXTINF:-1 tvg-name="东南卫视" tvg-logo="https://live.fanmingming.cn/tv/东南卫视.png" group-title="卫视频道",东南卫视
http://iptv.huuc.edu.cn/hls/dnhd.m3u8
#EXTINF:-1 tvg-name="河北卫视" tvg-logo="https://live.fanmingming.cn/tv/河北卫视.png" group-title="卫视频道",河北卫视
http://iptv.huuc.edu.cn/hls/hebhd.m3u8
#EXTINF:-1 tvg-name="江西卫视" tvg-logo="https://live.fanmingming.cn/tv/江西卫视.png" group-title="卫视频道",江西卫视
http://iptv.huuc.edu.cn/hls/jxhd.m3u8
#EXTINF:-1 tvg-name="浙江公共新闻" tvg-logo="https://live.fanmingming.cn/tv/浙江新闻.png" group-title="浙江频道",浙江新闻
https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8