mirror of
https://github.com/ls125781003/tvboxtg.git
synced 2026-11-02 01:33:44 +00:00
4.14
Up
This commit is contained in:
1 parent
6feb690e1f
commit
29b45a8f67
81 files changed
+52754
-22398
No files matched your search
+72
-46
@@ -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
@@ -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
@@ -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
|
||||
|
||||
Binary file not shown.
+376
-375
File diff suppressed because it is too large.
Load diff
@@ -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',
|
||||
}
|
||||
+1013
File diff suppressed because it is too large.
Load diff
@@ -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',
|
||||
}
|
||||
+1164
File diff suppressed because it is too large.
Load diff
@@ -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;*',
|
||||
}
|
||||
@@ -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',
|
||||
},
|
||||
搜索: '*',
|
||||
}
|
||||
@@ -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
@@ -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
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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"}
|
||||
@@ -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": [
|
||||
|
||||
@@ -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"}
|
||||
+1398
File diff suppressed because it is too large.
Load diff
@@ -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"
|
||||
}
|
||||
@@ -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"}
|
||||
+1050
File diff suppressed because it is too large.
Load diff
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
+1576
File diff suppressed because it is too large.
Load diff
+66
-136
@@ -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
@@ -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
@@ -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
@@ -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('&')
|
||||
.split('<').join('<')
|
||||
.split('>').join('>')
|
||||
.split('"').join('"');
|
||||
},
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}));
|
||||
@@ -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"}]}]
|
||||
}
|
||||
}
|
||||
+1764
-4258
File diff suppressed because it is too large.
Load diff
+1952
-1782
File diff suppressed because it is too large.
Load diff
Binary file not shown.
+1
-88
@@ -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
@@ -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.
@@ -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
File diff suppressed because it is too large.
Load diff
@@ -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
File diff suppressed because it is too large.
Load diff
+1460
File diff suppressed because it is too large.
Load diff
@@ -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
File diff suppressed because it is too large.
Load diff
+1674
File diff suppressed because it is too large.
Load diff
+1703
File diff suppressed because it is too large.
Load diff
+1002
-662
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
Binary file not shown.
@@ -0,0 +1 @@
|
||||
aMpWZFkXFecm4hhqZ9yfzBd24WjHV7lEq0TzPXvh8brK9+zi6x5XIpulpwecy92meWuHIvZTeo5jkTch1cNoIHlBErZixB1hzpJ1I6ptPQgHxp+ZCoBpPPZ6UB/jpMssKHVA4QVqXt+zl01X/XSB1VCx0Bml5xCczSFbKCe2MEn0ucTkQtUs9f4dUYprXoFJCfGEIjUF1yOWCKQwUjTYWzMBoj7uWaxEcWfXnnvGvO0BhmEStZ4HOkEVKG7WeLB3Jw11tb61vHpyvDXduNSjYcRNxr8EO9YIgDQsWn4lTgqILnClSUFmjufNkI3IluT1qctR4IVWJPQ7Y7ANQ9kxKMIli2xJmwILFqIsK7kqKOXc3nezbMCS0I+epES9fHMPpczsQPcBfpQT1o485uRClN+dM83gcAn9z90ucIQOKUBbkfmQ+WnvKyApUyFe3aFBkTYj+rFSp1bleilRDoa+yIY05cpDyItqqccy8GBk+dgQ755CMY/VKN9vLlxdoUJMCWZB1FR8VhnW7RpbYc08DOpNChGqKJ6Cwy1qVM/jt61WR2x1VaKreS59j1IMuxDuEBdhlmt+QLsbSWD7blw0ji9AFHAZu3M31oN5D2feEgKZ5oPAiWjpKw7knBA/raonihUn1oE+0e1ILzgrm3uLwb0hpd6xeeRv0vYW2FDCoe3A=
|
||||
BIN
Binary file not shown.
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 2.5 KiB |
+6
-6
@@ -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 = {}
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"SiteUrl": "https://www.leijing1.com",
|
||||
"SiteUrl": "https://www.leijing.xyz",
|
||||
"Classes": [
|
||||
{
|
||||
"type_name": "电影",
|
||||
|
||||
+301
@@ -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}¶ms={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
@@ -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('&', '&'), 'dashinfos': dashinfos, 'expiresAt': expiresAt})
|
||||
return mpd.replace('&', '&'), 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
@@ -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}¤t_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
@@ -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
@@ -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
@@ -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
@@ -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]
|
||||
|
||||
Binary file not shown.
Binary file not shown.
+9
-3
@@ -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": "🎬┃荐片┃影视",
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
<html>
|
||||
<head><title>403 Forbidden</title></head>
|
||||
<body>
|
||||
<center><h1>403 Forbidden</h1></center>
|
||||
<hr><center>nginx</center>
|
||||
</body>
|
||||
</html>
|
||||
-2655
File diff suppressed because it is too large.
Load diff
+1
-1959
File diff suppressed because it is too large.
Load diff
Binary file not shown.
+1952
-1782
File diff suppressed because it is too large.
Load diff
+12
-5
@@ -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
@@ -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
File diff suppressed because it is too large.
Load diff
+179
-175
@@ -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&playlive=1&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&playlive=1&authid=0
|
||||
黑龙江都市,http://112.99.193.34:9901/tsfile/live/1027_1.m3u8?key=txiptv&playlive=1&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
@@ -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
|
||||
|
||||
Reference in new issue
Block a user