update ALL
This commit is contained in:
@@ -31,28 +31,28 @@
|
||||
{"key":"lf_js_lf_live","name":"电视┃直播","type":3,"api":"./lib/lf_live_min.js","style":{ "type":"oval"},"searchable":1,"changeable":0,"quickSearch":1,"filterable":1,"ext":"./js/lf_live.txt"},
|
||||
|
||||
{"key":"看球","name":"看球┃体育","type":3,"api":"csp_Kanqiu","searchable":1,"changeable":0,"style":{"type":"list"},"timeout":30},
|
||||
{"key":"88js","name":"88看球┃体育","type":3,"api":"./lib/drpy.min.js","ext":"./js/88看球.js","style":{"type":"list"},"searchable": 0,"quickSearch": 0,"changeable":0},
|
||||
{"key":"drpy_js_310直播","name":"310直播┃体育","type":3,"api":"./lib/drpy2.min.js","changeable":0,"style":{"type":"list"},"ext":"./js/310直播.js"},
|
||||
{"key":"csp_xp_qiumi","name":"Jrs球迷┃体育","type": 3,"api": "csp_XPath","style":{"type":"list"},"searchable": 0,"quickSearch": 0,"changeable":0,"ext": "./json/dj看球.json"},
|
||||
{"key":"csp_XPath_企鹅体育","name":"企鹅┃体育","type":3,"api":"csp_XPath","style":{"type":"rect","ratio":1.597},"searchable":0,"quickSearch":0,"changeable":0,"ext":"./json/企鹅直播.json"},
|
||||
{"key":"Jrsjs","name":" Jrs┃球迷","type": 3,"api":"https://gitlab.com/fantaiying/ext/-/raw/main/drpy2.min.js","ext":"https://gitlab.com/fantaiying/ext/-/raw/main/jrk.js","style":{"type":"list"},"searchable": 0,"quickSearch": 0,"changeable":0},
|
||||
{"key":"310js","name":"310┃看球","type":3,"api":"https://gitlab.com/fantaiying/ext/-/raw/main/drpy2.min.js","ext":"https://gitlab.com/fantaiying/ext/-/raw/main/310直播.js","style":{"type":"list"},"searchable": 0,"quickSearch": 0,"changeable":0},
|
||||
{"key":"企鹅体育xp","name":"鹅鹅┃体育","type":3,"api":"csp_XPath","style":{"type":"list"},"searchable":0,"quickSearch":0,"changeable":0,"ext":"https://gitlab.com/fantaiying/ext/-/raw/main/企鹅直播.json"},
|
||||
|
||||
{"key":"短剧","name":"上头┃短剧","type":3,"api":"csp_Djuu","searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"酷看","name":"酷看┃秒播","type":3,"api":"csp_Kkys","timeout":15,"searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"原创","name":"原创┃无广","type":3,"api":"csp_YCyz","timeout":15,"searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"苹果","name":"苹果┃无广","type":3,"api":"csp_LiteApple","searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"白嫖","name":"白飘┃无广","type":3,"api":"csp_BaiPiao","playerType":2,"searchable":1,"quickSearch":1,"changeable":1,"ext": "https://www.baipiaoys.com:9092/"},
|
||||
{"key":"视觉","name":"视觉┃直连","type":3,"api":"csp_Xinsj","timeout":15,"searchable":1,"quickSearch":1,"changeable":1,"ext":"https://www.80yy3.com/"},
|
||||
{"key":"厂长","name":"厂长┃无广","type":3,"api":"csp_Czsapp","timeout":15,"playerType":2,"searchable":1,"quickSearch":1,"changeable":1,"ext": "https://www.czys.top/"},
|
||||
{"key":"厂长","name":"厂长┃无广","type":3,"api":"csp_NewCz","timeout":15,"playerType":2,"searchable":1,"quickSearch":1,"changeable":1,"ext": "https://www.czys.top/"},
|
||||
{"key":"七七","name":"七七┃秒播","type":3,"api":"csp_Kunyu77","timeout":15,"searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"南瓜","name":"南瓜┃App","type":3,"api":"csp_NanGua","timeout":15,"playerType":2,"searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"糯米","name":"糯米┃秒播","type":3,"api":"csp_Nmys","timeout":15,"searchable":1,"quickSearch":1,"changeable":1,"ext":"./json/nmys.json"},
|
||||
{"key":"低端","name":"低端┃外剧","type":3,"api":"csp_Ddrk","playerType":"2","searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"农民","name":"农民┃秒播","type":3,"api":"csp_Nmys","timeout":15,"searchable":1,"quickSearch":1,"changeable":1,"ext":"./json/nmys.json"},
|
||||
{"key":"毛驴","name":"毛驴┃直连","type":3,"api":"csp_MLYS","timeout":15,"searchable":1,"quickSearch":1,"changeable":1,"ext":"https://www.maolvys.com/"},
|
||||
{"key":"萌米","name":"萌米┃App","type":3,"api":"csp_AppTT","timeout":15,"playerType":1,"ext":"AO7TcBkd8Iifux0Y8Qze6tVlMg=="},
|
||||
{"key":"比特","name":"比特┃秒播","type":3,"api":"csp_Bttwoo","searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"zxzj","name":"在线┃外剧","type":3,"api":"csp_Zxzj","timeout":15,"searchable":1,"quickSearch":1,"changeable":1,"ext":"https://www.zxzja.com/"},
|
||||
{"key":"Lib","name": "立播┃直连","type": 3,"api": "csp_Libvio","timeout":15,"searchable": 1,"quickSearch": 1,"changeable":1,"ext":"https://www.libvio.pw/"},
|
||||
{"key":"Auete","name":"奥特┃直连","type": 3,"api":"csp_Auete","timeout":15,"searchable":1,"quickSearch":1,"changeable":1,"ext":"https://auete.pro/"},
|
||||
{"key":"贱贱","name":"贱贱┃p2p","type":3,"searchable":1,"quickSearch":1,"changeable":1,"playerType":"1","api":"./lib/drpy2.min.js","ext":"./js/荐片.js"},
|
||||
{"key":"贱贱","name":"贱贱┃p2p","type":3,"searchable":1,"quickSearch":1,"changeable":1,"playerType":"1","api":"https://gitlab.com/fantaiying/ext/-/raw/main/drpy2.min.js","ext":"https://gitlab.com/fantaiying/ext/-/raw/main/jp.js"},
|
||||
{"key":"csp_Dm84","name":"动漫┃巴士","type":3,"api":"csp_Dm84","searchable":1,"quickSearch":1,"filterable":1},
|
||||
{"key":"csp_Ying","name":"樱花┃动漫","type":3,"api":"csp_Ying","searchable":1,"quickSearch":1,"filterable":1},
|
||||
{"key":"csp_Ysj","name":"异界┃动漫","type":3,"api":"csp_Ysj","searchable":1,"quickSearch":1,"filterable":1},
|
||||
@@ -65,7 +65,6 @@
|
||||
{"key":"PanSou","name":"盘搜┃搜索","type":3,"api":"csp_PanSou","searchable":1,"quickSearch":1,"changeable":0,"ext": {"aliToken":"tvfan/token.txt","from":"4k|auto|fhd"}},
|
||||
{"key":"UpYun","name":"Up搜┃搜索","type":3,"api":"csp_UpYun","searchable":1,"quickSearch":1,"changeable":0,"ext": {"aliToken":"tvfan/token.txt","from":"4k|auto|fhd"}},
|
||||
{"key":"PanSearch","name":"盘Se┃搜索","type":3,"api":"csp_PanSearch","searchable":1,"quickSearch":1,"changeable":0,"ext": {"aliToken":"tvfan/token.txt","from":"4k|auto|fhd"}},
|
||||
{"key":"push_agent","name":"手机┃推送","type":3,"api":"csp_Push","searchable":0,"quickSearch":0,"ext": {"aliToken":"tvfan/token.txt","quarkCookie":"tvfan/cookie.txt","from":"4k|auto|fhd"}},
|
||||
|
||||
{"key":"csp_AList","name":"AList┃网盘","type":"3","api":"csp_AList","searchable":"0","quickSearch":"0","filterable":"1","changeable":0,"ext":"./json/alist.json"},
|
||||
{"key":"新6V","name":"新6V磁力┃慎用","type":3,"api":"csp_SixV","searchable":1,"quickSearch":1,"changeable":0,"ext": "http://www.xb6v.com/","timeout":60},
|
||||
@@ -77,6 +76,43 @@
|
||||
{"key":"索尼","name":"索尼┃采集","type":1,"api":"https://suoniapi.com/api.php/provide/vod","searchable":1,"changeable":1},
|
||||
{"key":"快帆","name":"快帆┃采集","type":1,"api":"https://api.kuaifan.tv/api.php/provide/vod","searchable":1,"changeable":1},
|
||||
|
||||
{"key":"配置中心","name":"配置┃中心","type":3,"api":"csp_Config","searchable":0,"changeable":0,"style":{"type":"rect","ratio":1},"ext":"http://127.0.0.1:9978/file/TV/token.json","jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"酷狗","name":"音频┃酷狗","type":3,"api":"csp_Kugou","searchable":1,"changeable":0,"jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key": "Iktv","name": "MV┃KTV","type": 3,"api": "csp_Iktv","searchable": 1,"changeable": 0,"jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key": "Yinyuetai","name": "MV┃音悦台","type": 3,"api": "csp_Yinyuetai","searchable": 1,"changeable": 0,"jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"AliShareEBook","name":"书籍┃分享","type":3,"api":"csp_AliShare","searchable":1,"quickSearch":0, "changeable":0, "filterable":0, "timeout":60, "ext":"http://127.0.0.1:9978/file/TV/token.json$$$./json/alishare.ebook.txt$$$db$$$1","style":{"type":"list"},"jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"荐片弹幕版","name":"弹幕┃荐片","type":3,"api":"csp_Jianpian","searchable":1,"quickSearch":1,"filterable":1,"ext":"./json/jianpian.json$$$1", "timeout":60,"jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"Bdys_spider","name":"弹幕┃哔滴","api":"csp_Bdys01","type":3,"filterable":1,"quickSearch":1,"searchable":1,"ext":"https://www.bdys03.com/$$$null$$$1","timeout":30,"jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key": "天天","name": "弹幕┃天天","type": 3,"api": "csp_TTian","playerType": 1,"ext": "http://op.ysdqjs.cn$$$null$$$1","jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key": "追剧","name": "弹幕┃追剧","type": 3,"api": "csp_TTian","playerType": 1,"ext": "http://app.kzjtv.com$$$null$$$1","jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"NanGua","name":"弹幕┃南瓜","type":3,"api":"csp_NanGua","searchable":1,"changeable":1,"ext":"null$$$1","jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"PushShare","name":"弹幕┃资源分享","type":3, "api":"csp_PushShare","searchable":1,"quickSearch":1, "changeable":1, "filterable":0, "timeout":60, "ext":"http://127.0.0.1:9978/file/TV/token.json$$$./json/pushshare.txt$$$db$$$1","style": {"type": "list"},"jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"PikPakShare","name":"弹幕┃PikPak分享","type":3,"api":"csp_PikPakShare","searchable":1,"quickSearch":1, "changeable":1, "filterable":0, "timeout":60, "ext":"http://127.0.0.1:9978/file/TV/token.json$$$./json/pikpakclass.json$$$./json/pikpakclass.json.db.gz","jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"AliShare","name":"弹幕┃影视分享","type":3,"api":"csp_AliShare","searchable":1,"quickSearch":1, "changeable":1, "filterable":0, "timeout":60, "ext":"http://127.0.0.1:9978/file/TV/token.json$$$./json/alishare.txt$$$db$$$1","jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"ThunderShare","name":"弹幕┃迅雷分享","type":3,"api":"csp_ThunderShare","searchable":1,"quickSearch":1, "changeable":1, "filterable":0, "timeout":60, "ext":"http://127.0.0.1:9978/file/TV/token.json$$$./json/thundershare.txt","jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"QuarkShare","name":"弹幕┃夸克分享","type":3,"api":"csp_QuarkShare","searchable":1,"quickSearch":1, "changeable":1, "filterable":0, "timeout":60, "ext":"http://127.0.0.1:9978/file/TV/token.json$$$./json/quarkshare.txt","jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"SambaShare","name":"弹幕┃Samba分享","type":3,"api":"csp_SambaShare","searchable":0,"quickSearch":0, "changeable":0, "filterable":0, "timeout":60, "ext":"http://127.0.0.1:9978/file/TV/token.json$$$./json/sambashare.txt","jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"Wogg","name":"弹幕┃玩偶","type":3,"api":"csp_Wogg","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"http://127.0.0.1:9978/file/TV/token.json$$$https://www.wogg.xyz/$$$null$$$1$$$./wogg.json","jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"Wobg","name":"弹幕┃表哥","type":3,"api":"csp_Wobg","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"http://127.0.0.1:9978/file/TV/token.json$$$https://wobge.run.goorm.io$$$null$$$1$$$./wogg.json","jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"yydsys","name":"弹幕┃老哥","type":3,"api":"csp_Wobg","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"http://127.0.0.1:9978/file/TV/token.json$$$https://tv.yydsys.top/$$$null$$$1$$$./wogg.json","jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"Xinshijue","name":"弹幕┃新视觉","type":3,"api":"csp_Xinshijue","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"http://127.0.0.1:9978/file/TV/token.json$$$https://www.80yy3.com/$$$1$$$./lib/wogg.json","jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"Moli","name":"弹幕┃HDmoli","type":3,"api":"csp_Moli","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"http://127.0.0.1:9978/file/TV/token.json$$$https://www.hdmoli.pro/$$$null$$$1$$$./json/moli.json","jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"Bt0","name":"弹幕┃不太灵","type":3,"api":"csp_Bt0","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"null$$$null$$$1","jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"ddys","name":"弹幕┃低端","type":3,"api":"csp_Ddys","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"http://127.0.0.1:9978/file/TV/token.json$$$https://ddys.pro/$$$proxy$$$1$$$","jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"美剧迷","name":"弹幕┃美剧迷","type":3,"api":"csp_Meijumi", "quickSearch":1, "changeable":1, "filterable":1, "timeout":30,"ext":"http://127.0.0.1:9978/file/TV/token.json$$$https://www.meijumi.xyz/$$$null$$$1","jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"Ppxzy","name":"弹幕┃皮皮虾","type":3,"api":"csp_Ppxzy", "quickSearch":1, "changeable":1, "filterable":1, "ext":"http://127.0.0.1:9978/file/TV/token.json$$$https://ppxzy.net/$$$null", "timeout":30,"jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"新6V","name":"弹幕┃新6V","type":3,"api":"csp_Xb6v","searchable":1,"changeable":1,"timeout":60,"ext":"http://127.0.0.1:9978/file/TV/token.json$$$https://www.66ss.org$$$1","jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"4KHDR","name":"弹幕┃4KHDR","type":3,"api":"csp_FourKHDR","ext":"http://127.0.0.1:9978/file/TV/token.json$$$http://127.0.0.1:9978/file/TV/4khdr.txt","quickSearch":1,"changeable":1,"timeout":60,"jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"校长影视","name":"弹幕┃校长","type":3,"api":"csp_XiaoZhang","ext":"http://127.0.0.1:9978/file/TV/token.json","quickSearch":1,"changeable":1,"timeout":30,"jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"团长资源","name":"弹幕┃团长","type":3,"api":"csp_TZFile","ext":"http://127.0.0.1:9978/file/TV/token.json", "quickSearch":1, "changeable":1, "timeout":30,"jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"csp_Hdhive","name":"弹幕┃影巢","type":3,"api":"csp_Hdhive","searchable":1,"quickSearch":1,"filterable":1,"ext":"http://127.0.0.1:9978/file/TV/token.json","timeout":30,"jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"Panta","name":"弹幕┃盘Ta","type":3,"api":"csp_Panta","quickSearch":1, "changeable":1, "filterable":1, "timeout":30, "ext":"http://127.0.0.1:9978/file/TV/token.json$$$https://www.91panta.cn/$$$null$$$1","jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"YunPan","name":"弹幕┃云盘","type":3,"api":"csp_YunPan","timeout":60, "ext":"http://127.0.0.1:9978/file/TV/token.json$$$null$$$proxy$$$1","jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"Wo4k","name":"弹幕┃玩偶4k","type":3,"api":"csp_Wo4k","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"http://127.0.0.1:9978/file/TV/token.json$$$https://www.wo4k.com/$$$proxy$$$1$$$./wogg.json","jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"Xpanpan","name":"弹幕┃小盘盘","type":3,"api":"csp_Xpanpan","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"http://127.0.0.1:9978/file/TV/token.json$$$https://xpanpan.site$$$null$$$1","jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"Gaoqing","name":"弹幕┃高清网","type":3,"api":"csp_Gaoqing","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$https://gaoqing.la/$$$proxy$$$1","jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
{"key":"push_agent","name":"手机 | 推送[jar]","type":3,"api":"csp_Push","searchable":0,"quickSearch":0,"changeable":0,"ext":"http://127.0.0.1:9978/file/TV/token.json", "timeout":30,"jar":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992"},
|
||||
|
||||
{"key":"drpy_js_360影视","name":"官源┃360[js]","type":3,"api":"./lib/drpy2.min.js","ext":"./js/360影视.js"},
|
||||
{"key":"drpy_js_奇珍异兽","name":"官源┃爱奇艺[js]","type":3,"api":"./lib/drpy2.min.js","ext":"./js/奇珍异兽.js"},
|
||||
{"key":"drpy_js_百忙无果","name":"官源┃芒果[js]","type":3,"api":"./lib/drpy2.min.js","ext":"./js/百忙无果.js"},
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"spider":"./jar/pg.jar;md5;55187a60bc1295a55499ece1438436d2",
|
||||
"spider":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992",
|
||||
"lives":[{"name":"初秋语•综合","type":0,"url":"./list.txt","playerType":1,"epg":"http://epg.112114.xyz/?ch={name}&date={date}","logo":"https://epg.112114.xyz/logo/{name}.png"},
|
||||
{"name":"Ray•综合","type":0,"url":"https://github.moeyy.xyz/https://raw.githubusercontent.com/dxawi/0/main/tvlive.txt","playerType":1,"epg":"http://epg.112114.xyz/?ch={name}&date={date}","logo":"https://epg.112114.xyz/logo/{name}.png"},
|
||||
{"name":"俊于•综合","type":0,"url":"http://home.jundie.top:81/Cat/tv/live.txt","playerType":1,"epg":"http://epg.112114.xyz/?ch={name}&date={date}","logo": "https://epg.112114.xyz/logo/{name}.png"},
|
||||
@@ -134,6 +134,41 @@
|
||||
},
|
||||
"jar":"./jar/XBPQ.jar;md5;1fe7efed80f9bad449138694852bd28f"
|
||||
},
|
||||
{"key":"XBPQ_黑狐影院","name":"黑狐","type":3,"api":"csp_XBPQ",
|
||||
"jar":"./jar/XBPQ.jar;md5;1fe7efed80f9bad449138694852bd28f"
|
||||
"ext": {
|
||||
"站名": "黑狐影院",
|
||||
"主页url": "http://fagmn.com",
|
||||
"数组": "class=\"stui-vodlist__box\"&&</a",
|
||||
"图片": "data-original=\"&&\"",
|
||||
"标题": "title=\"&&\"",
|
||||
"链接": "href=\"&&\"",
|
||||
"嗅探词": ".m3u8?#v3.huoshanvod.com#.m3u8#v3-dy-o.zjcdn#sf16-sg.larksuitecdn.com#v.kd1.qq.com#.mp4",
|
||||
"过滤词": "/hls/#php",
|
||||
"副标题": "<span class=\"pic-text text-right\">&&</span>",
|
||||
"搜索url": "http://fagmn.com/search.php;post;searchword={wd}",
|
||||
"搜索模式": "1",
|
||||
"搜索数组": "<a class=\"v-thumb stui-vodlist__thumb&&</a>",
|
||||
"搜索图片": "data-original=\"&&\"",
|
||||
"搜索标题": "title=\"&&\"",
|
||||
"搜索链接": "href=\"&&\"",
|
||||
"搜索副标题": "<span class=\"pic-text text-right\">&&</span>",
|
||||
"搜索后缀": "/view/",
|
||||
"线路数组": "href=\"#down&&/a>[替换:奇异视频>>黑狐一线#优酷视频>>黑狐二线#搜狐视频>>黑狐三线#咪咕视频>>黑狐四线]",
|
||||
"线路标题": ">&&<",
|
||||
"播放数组": "class=\"stui-content__playlist clearfix&&</ul>",
|
||||
"状态": "地区:&&</p>",
|
||||
"导演": "导演:&&</p>",
|
||||
"主演": "主演:&&</p>",
|
||||
"简介": "简介:&&</div>",
|
||||
"播放列表": "<a&&/a>",
|
||||
"播放标题": ">&&<",
|
||||
"播放链接": "href=\"&&\"",
|
||||
"免嗅": "0",
|
||||
"分类": "电影$1#电视剧$2#动漫$3#综艺$4",
|
||||
"分类url": "http://fagmn.com/list/{cateId}_{catePg}.html?order=time"
|
||||
}
|
||||
},
|
||||
{"key":"XBPQ_文才","name":"文才","type":3,"api":"csp_XBPQ", "jar":"./jar/XBPQ.jar;md5;1fe7efed80f9bad449138694852bd28f",
|
||||
"ext":{"分类": "国产剧&短剧&国产动漫&日韩动漫&欧美动漫&喜剧片&爱情片&恐怖片&战争片&科幻片&动作片&综艺&欧美剧&港台剧&日韩剧",
|
||||
"分类值": "14&42&75&76&77&22&26&36&25&30&23&69&15&16&62",
|
||||
|
||||
@@ -5,30 +5,30 @@
|
||||
"sites":[
|
||||
{"key":"豆豆","name":"🌕公众号【神秘的哥哥们】","type": 3, "api": "csp_DouDou","searchable": 0,"quickSearch": 0,"filterable": 0},
|
||||
{"key":"玩偶","name":"👽玩偶哥哥┃4K弹幕","type":3,"api":"csp_WoGG","searchable":1,"quickSearch":1,"changeable":0, "ext": {"aliToken":"tvfan/token.txt","quarkCookie":"tvfan/cookie.txt","from":"4k|auto|fhd","siteUrl":"https://api.wogg.xyz/","danMu":"弹"}},
|
||||
{"key":"YGP","name":"🚀叨观荐影┃新片","type":3,"api":"csp_YGP","searchable":0,"quickSearch":0,"changeable":0},
|
||||
//{"key":"短剧","name":"🌈上头┃短剧","type":3,"api":"https://152.32.170.60/fantaiying/fty/raw/branch/master/ext/drpy2.min.js","ext":"https://152.32.170.60/fantaiying/fty/raw/branch/master/ext/上头短剧.js","searchable": 1,"quickSearch": 1,"changeable":0},
|
||||
{"key":"YGP","name":"🚀叨观荐影┃新 片","type":3,"api":"csp_YGP","searchable":0,"quickSearch":0,"changeable":0},
|
||||
{"key":"短剧","name":"🌈上头┃短剧","type":3,"api":"csp_Djuu","searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"酷看","name":"💡酷看┃秒播","type":3,"api":"csp_Kkys","timeout":15,"searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"原创","name":"☀原创┃无广","type":3,"api":"csp_YCyz","timeout":15,"searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"苹果","name":"🍎苹果┃无广","type":3,"api":"csp_LiteApple","searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"白嫖","name":"👻白飘┃无广","type":3,"api":"csp_BaiPiao","playerType":2,"searchable":1,"quickSearch":1,"changeable":1,"ext": "https://www.baipiaoys.com:9092/"},
|
||||
{"key":"视觉","name":"👓视觉┃直连","type":3,"api":"csp_Xinsj","timeout":15,"searchable":1,"quickSearch":1,"changeable":1,"ext":"https://www.80yy3.com/"},
|
||||
{"key":"厂长","name":"📔厂长┃无广","type":3,"api":"csp_Czsapp","timeout":15,"playerType":2,"searchable":1,"quickSearch":1,"changeable":1,"ext": "https://www.czys.top/"},
|
||||
{"key":"厂长","name":"📔厂长┃无广","type":3,"api":"csp_NewCz","timeout":15,"playerType":2,"searchable":1,"quickSearch":1,"changeable":1,"ext": "https://www.czys.top/"},
|
||||
{"key":"七七","name":"👒七七┃秒播","type":3,"api":"csp_Kunyu77","timeout":15,"searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"南瓜","name":"🎃南瓜┃App","type":3,"api":"csp_NanGua","timeout":15,"playerType":2,"searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"糯米","name":"🍙糯米┃秒播","type":3,"api":"csp_Nmys","timeout":15,"searchable":1,"quickSearch":1,"changeable":1,"ext":"https://gitlab.com/fantaiying/ext/-/raw/main/nmys.json"},
|
||||
{"key":"低端","name":"⏮️低端┃外剧","type":3,"api":"csp_Ddrk","playerType":"2","searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"农民","name":"🌾农民┃秒播","type":3,"api":"csp_Nmys","timeout":15,"searchable":1,"quickSearch":1,"changeable":1,"ext":"https://152.32.170.60/fantaiying/fty/raw/branch/master/ext/nmys.json"},
|
||||
|
||||
//{"key":"新星","name":"💥新星┃App","type":1,"api":"http://vipcom.xn--654a.cc/api.php/provide/vod/","playUrl":"json:http://json.xn--654a.cc/home/api?type=ys&uid=1323246&key=dfiopqzEHJKNOPSTY5&url=","searchable":1,"quickSearch":1,"changeable":1},
|
||||
|
||||
{"key":"毛驴","name":"🍓毛驴┃直连","type":3,"api":"csp_MLYS","timeout":15,"searchable":1,"quickSearch":1,"changeable":1,"ext":"https://www.maolvys.com/"},
|
||||
{"key":"萌米","name":"👀萌米┃App","type":3,"api":"csp_AppTT","timeout":15,"playerType":1,"ext":"AO7TcBkd8Iifux0Y8Qze6tVlMg=="},
|
||||
{"key":"比特","name":"🍄比特┃秒播","type":3,"api":"csp_Bttwoo","searchable":1,"quickSearch":1,"changeable":1},
|
||||
//{"key":"一起看 ","name":"🎉一起┃App","type":3,"api":"csp_YQKan","searchable":1,"quickSearch":1,"changeable":1},
|
||||
//{"key":"一起看 ","name":"🌾一起┃App","type":3,"api":"csp_YQKan","searchable":1,"quickSearch":1,"changeable":1},
|
||||
|
||||
{"key":"zxzj","name":"🍊在线┃外剧","type":3,"api":"csp_Zxzj","timeout":15,"searchable":1,"quickSearch":1,"changeable":1,"ext":"https://www.zxzja.com/"},
|
||||
{"key":"Lib","name": "🌟立播┃直连","type": 3,"api": "csp_Libvio","timeout":15,"searchable": 1,"quickSearch": 1,"changeable":1,"ext":"https://www.libvio.pw/"},
|
||||
{"key":"Auete","name":"🏝奥特┃直连","type": 3,"api":"csp_Auete","timeout":15,"searchable":1,"quickSearch":1,"changeable":1,"ext":"https://auete.pro/"},
|
||||
{"key":"贱贱","name":"🐭贱贱┃p2p","type":3,"searchable":1,"quickSearch":1,"changeable":1,"playerType":"1","api":"https://152.32.170.60/fantaiying/fty/raw/branch/master/ext/drpy2.min.js","ext":"https://152.32.170.60/fantaiying/dr_py/raw/branch/main/js/荐片.js"},
|
||||
{"key":"贱贱","name":"🐭贱贱┃p2p","type":3,"searchable":1,"quickSearch":1,"changeable":1,"playerType":"1","api":"https://gitlab.com/fantaiying/ext/-/raw/main/drpy2.min.js","ext":"https://gitlab.com/fantaiying/ext/-/raw/main/jp.js"},
|
||||
{"key":"新6V","name":"🧲新6V┃磁力","type":3,"api":"csp_SixV","searchable":1,"quickSearch":1,"changeable":0,"ext": "http://www.xb6v.com/"},
|
||||
|
||||
{"key":"csp_Dm84","name":"🚌动漫┃巴士","type":3,"api":"csp_Dm84","searchable":1,"quickSearch":1,"changeable":1},
|
||||
@@ -38,17 +38,17 @@
|
||||
|
||||
|
||||
{"key":"88js","name":"⚽ 88┃看球","type":3,"api":"csp_Kanqiu","style":{"type":"list"},"searchable":0,"quickSearch":0,"changeable":0},
|
||||
{"key":"Jrsjs","name":"⚽ Jrs┃球迷","type": 3,"api":"https://152.32.170.60/fantaiying/fty/raw/branch/master/ext/drpy2.min.js","ext":"https://152.32.170.60/fantaiying/fty/raw/branch/master/ext/jrk.js","style":{"type":"list"},"searchable": 0,"quickSearch": 0,"changeable":0},
|
||||
{"key":"310js","name":"⚽310┃看球","type":3,"api":"https://152.32.170.60/fantaiying/fty/raw/branch/master/ext/drpy2.min.js","ext":"https://152.32.170.60/fantaiying/fty/raw/branch/master/ext/310直播.js","style":{"type":"list"},"searchable": 0,"quickSearch": 0,"changeable":0},
|
||||
{"key":"企鹅体育xp","name":"🐧鹅鹅┃体育","type":3,"api":"csp_XPath","style":{"type":"list"},"searchable":0,"quickSearch":0,"changeable":0,"ext":"https://152.32.170.60/fantaiying/fty/raw/branch/master/ext/企鹅直播.json"},
|
||||
{"key":"酷奇","name":"🎤酷奇┃MV","type": 3,"api":"https://152.32.170.60/fantaiying/fty/raw/branch/master/ext/drpy2.min.js","ext":"https://152.32.170.60/fantaiying/dr_py/raw/branch/main/js/酷奇MV.js","style":{"type":"rect","ratio":1.597},"searchable": 0,"quickSearch": 0,"changeable":0},
|
||||
{"key":"MTV","name":"🎧明星┃MV","type":3,"api":"csp_Bili","style":{"type":"rect","ratio":1.597},"searchable":0,"quickSearch":0,"changeable":0,"ext":"https://152.32.170.60/fantaiying/fty/raw/branch/master/ext/MTV.json"},
|
||||
{"key":"Jrsjs","name":"⚽ Jrs┃球迷","type": 3,"api":"https://gitlab.com/fantaiying/ext/-/raw/main/drpy2.min.js","ext":"https://gitlab.com/fantaiying/ext/-/raw/main/jrk.js","style":{"type":"list"},"searchable": 0,"quickSearch": 0,"changeable":0},
|
||||
{"key":"310js","name":"⚽310┃看球","type":3,"api":"https://gitlab.com/fantaiying/ext/-/raw/main/drpy2.min.js","ext":"https://gitlab.com/fantaiying/ext/-/raw/main/310直播.js","style":{"type":"list"},"searchable": 0,"quickSearch": 0,"changeable":0},
|
||||
{"key":"企鹅体育xp","name":"🐧鹅鹅┃体育","type":3,"api":"csp_XPath","style":{"type":"list"},"searchable":0,"quickSearch":0,"changeable":0,"ext":"https://gitlab.com/fantaiying/ext/-/raw/main/企鹅直播.json"},
|
||||
{"key":"酷奇","name":"🎤酷奇┃MV","type": 3,"api":"https://gitlab.com/fantaiying/ext/-/raw/main/drpy2.min.js","ext":"https://gitlab.com/fantaiying/ext/-/raw/main/酷奇MV.js","style":{"type":"rect","ratio":1.597},"searchable": 0,"quickSearch": 0,"changeable":0},
|
||||
{"key":"MTV","name":"🎧明星┃MV","type":3,"api":"csp_Bili","style":{"type":"rect","ratio":1.597},"searchable":0,"quickSearch":0,"changeable":0,"ext":"https://gitlab.com/fantaiying/ext/-/raw/main/MTV.json"},
|
||||
|
||||
{"key":"csp_Yj1211","name":"📽️网红┃直播","type": 3,"api": "csp_Yj1211","playerType":"1","searchable": 0,"quickSearch": 1,"changeable":0},
|
||||
{"key":"虎牙直播js","name":"🐯虎牙┃直播","type":3,"api":"https://152.32.170.60/fantaiying/fty/raw/branch/master/ext/drpy2.min.js","ext":"https://152.32.170.60/fantaiying/fty/raw/branch/master/ext/huya2.js","style":{"type":"rect","ratio":1.755},"playerType":"1","searchable": 0,"quickSearch": 0,"changeable":0},
|
||||
{"key":"斗鱼js","name":"🐟斗鱼┃直播","type":3,"api":"https://152.32.170.60/fantaiying/fty/raw/branch/master/ext/drpy2.min.js","ext":"https://152.32.170.60/fantaiying/dr_py/raw/branch/main/js/斗鱼直播.js","style":{"type":"rect","ratio":1.755},"playerType":"1","searchable": 0,"quickSearch": 0,"changeable":0},
|
||||
{"key":"聚短视频js","name":"📽️聚短┃视频","type":3,"api":"https://152.32.170.60/fantaiying/fty/raw/branch/master/ext/drpy2.min.js","ext":"https://152.32.170.60/fantaiying/dr_py/raw/branch/main/js/短视频.js","searchable": 0,"quickSearch": 0,"changeable":0},
|
||||
{"key":"有声小说js","name":"🎧有声┃小说","type":3,"api":"https://152.32.170.60/fantaiying/fty/raw/branch/master/ext/drpy2.min.js","ext":"https://152.32.170.60/fantaiying/dr_py/raw/branch/main/js/有声小说吧.js","style":{"type":"rect","ratio":1},"searchable": 0,"quickSearch": 0,"changeable":0},
|
||||
{"key":"虎牙直播js","name":"🐯虎牙┃直播","type":3,"api":"https://gitlab.com/fantaiying/ext/-/raw/main/drpy2.min.js","ext":"https://gitlab.com/fantaiying/ext/-/raw/main/huya2.js","style":{"type":"rect","ratio":1.755},"playerType":"1","searchable": 0,"quickSearch": 0,"changeable":0},
|
||||
{"key":"斗鱼js","name":"🐟斗鱼┃直播","type":3,"api":"https://gitlab.com/fantaiying/ext/-/raw/main/drpy2.min.js","ext":"https://gitlab.com/fantaiying/ext/-/raw/main/斗鱼直播.js","style":{"type":"rect","ratio":1.755},"playerType":"1","searchable": 0,"quickSearch": 0,"changeable":0},
|
||||
{"key":"聚短视频js","name":"📽️聚短┃视频","type":3,"api":"https://gitlab.com/fantaiying/ext/-/raw/main/drpy2.min.js","ext":"https://gitlab.com/fantaiying/ext/-/raw/main/短视频.js","searchable": 0,"quickSearch": 0,"changeable":0},
|
||||
{"key":"有声小说js","name":"🎧有声┃小说","type":3,"api":"https://gitlab.com/fantaiying/ext/-/raw/main/drpy2.min.js","ext":"https://gitlab.com/fantaiying/ext/-/raw/main/有声小说吧.js","style":{"type":"rect","ratio":1},"searchable": 0,"quickSearch": 0,"changeable":0},
|
||||
{"key":"Aid","name":"🚑急救┃教学","type":3,"api":"csp_FirstAid","searchable":0,"quickSearch":0,"changeable":0,"style": { "type": "rect", "ratio":3.8}},
|
||||
|
||||
{"key":"夸搜","name":"🐺夸搜┃搜索","type":3,"api":"csp_PanSearch","searchable":1,"quickSearch":1,"changeable":0,"ext": {"pan":"quark","quarkCookie":"tvfan/cookie.txt","from":"4k|auto|fhd"}},
|
||||
@@ -59,13 +59,13 @@
|
||||
{"key":"push_agent","name":"🛴手机┃推送","type":3,"api":"csp_Push","searchable":0,"quickSearch":0,"ext": {"aliToken":"tvfan/token.txt","quarkCookie":"tvfan/cookie.txt","from":"4k|auto|fhd"}},
|
||||
|
||||
|
||||
{"key":"Bili","name":"🅱哔哔┃合集","type": 3,"api": "csp_Bili","style":{"type":"rect","ratio":1.597},"searchable":1,"quickSearch":0,"changeable":0,"ext":"https://152.32.170.60/fantaiying/fty/raw/branch/master/ext/bilibili.json"},
|
||||
{"key":"Biliych","name":"🅱明星┃演唱会","type": 3,"api": "csp_Bili","style":{"type":"rect","ratio":1.597},"searchable":1,"quickSearch":0,"changeable":0,"ext":"https://152.32.170.60/fantaiying/fty/raw/branch/master/ext/biliych.json"},
|
||||
{"key":"dr_兔小贝","name":"📚儿童┃启蒙","type":3,"api":"https://152.32.170.60/fantaiying/fty/raw/branch/master/ext/drpy2.min.js","ext":"https://152.32.170.60/fantaiying/fty/raw/branch/master/ext/%E5%85%94%E5%B0%8F%E8%B4%9D.js","style":{"type":"rect","ratio":1.597},"searchable": 0,"quickSearch": 0,"changeable":0},
|
||||
{"key":"少儿教育","name":"📚少儿┃教育","type":3,"api":"csp_Bili","style":{"type":"rect","ratio":1.597},"searchable":0,"quickSearch":0,"changeable":0,"ext":"https://152.32.170.60/fantaiying/fty/raw/branch/master/ext/少儿教育.json"},
|
||||
{"key":"小学课堂","name":"📚小学┃课堂","type":3,"api":"csp_Bili","style":{"type":"rect","ratio":1.597},"searchable":0,"quickSearch":0,"changeable":0,"ext":"https://152.32.170.60/fantaiying/fty/raw/branch/master/ext/小学课堂.json"},
|
||||
{"key":"初中课堂","name":"📚初中┃课堂","type":3,"api":"csp_Bili","style":{"type":"rect","ratio":1.597},"searchable":0,"quickSearch":0,"changeable":0,"ext":"https://152.32.170.60/fantaiying/fty/raw/branch/master/ext/初中课堂.json"},
|
||||
{"key":"高中教育","name":"📚高中┃课堂","type":3,"api":"csp_Bili","style":{"type":"rect","ratio":1.597},"searchable":0,"quickSearch":0,"changeable":0,"ext":"https://152.32.170.60/fantaiying/fty/raw/branch/master/ext/高中课堂.json"},
|
||||
{"key":"Bili","name":"🅱哔哔┃合集","type": 3,"api": "csp_Bili","style":{"type":"rect","ratio":1.597},"searchable":1,"quickSearch":0,"changeable":0,"ext":"https://gitlab.com/fantaiying/ext/-/raw/main/bilibili.json"},
|
||||
{"key":"Biliych","name":"🅱明星┃演唱会","type": 3,"api": "csp_Bili","style":{"type":"rect","ratio":1.597},"searchable":1,"quickSearch":0,"changeable":0,"ext":"https://gitlab.com/fantaiying/ext/-/raw/main/biliych.json"},
|
||||
{"key":"dr_兔小贝","name":"📚儿童┃启蒙","type":3,"api":"https://gitlab.com/fantaiying/ext/-/raw/main/drpy2.min.js","ext":"https://gitlab.com/fantaiying/ext/-/raw/main/%E5%85%94%E5%B0%8F%E8%B4%9D.js","style":{"type":"rect","ratio":1.597},"searchable": 0,"quickSearch": 0,"changeable":0},
|
||||
{"key":"少儿教育","name":"📚少儿┃教育","type":3,"api":"csp_Bili","style":{"type":"rect","ratio":1.597},"searchable":0,"quickSearch":0,"changeable":0,"ext":"https://gitlab.com/fantaiying/ext/-/raw/main/少儿教育.json"},
|
||||
{"key":"小学课堂","name":"📚小学┃课堂","type":3,"api":"csp_Bili","style":{"type":"rect","ratio":1.597},"searchable":0,"quickSearch":0,"changeable":0,"ext":"https://gitlab.com/fantaiying/ext/-/raw/main/小学课堂.json"},
|
||||
{"key":"初中课堂","name":"📚初中┃课堂","type":3,"api":"csp_Bili","style":{"type":"rect","ratio":1.597},"searchable":0,"quickSearch":0,"changeable":0,"ext":"https://gitlab.com/fantaiying/ext/-/raw/main/初中课堂.json"},
|
||||
{"key":"高中教育","name":"📚高中┃课堂","type":3,"api":"csp_Bili","style":{"type":"rect","ratio":1.597},"searchable":0,"quickSearch":0,"changeable":0,"ext":"https://gitlab.com/fantaiying/ext/-/raw/main/高中课堂.json"},
|
||||
{"key":"Nbys","name":"🛫泥巴┃飞","type":3,"api":"csp_NiNi","searchable":1,"quickSearch":1,"changeable":1},
|
||||
{"key":"fan","name":"导航 https://饭太硬.top","type":3,"api":"csp_XPath","searchable":0,"quickSearch":0,"changeable":0},
|
||||
{"key":"cc","name":"请勿相信视频中广告","type":3,"api":"csp_XPath","searchable":0,"quickSearch":0,"changeable":0}
|
||||
@@ -73,6 +73,8 @@
|
||||
|
||||
"doh":[{"name":"Google","url":"https://dns.google/dns-query","ips":["8.8.4.4","8.8.8.8"]},{"name":"Cloudflare","url":"https://cloudflare-dns.com/dns-query","ips":["1.1.1.1","1.0.0.1","2606:4700:4700::1111","2606:4700:4700::1001"]},{"name":"AdGuard","url":"https://dns.adguard.com/dns-query","ips":["94.140.14.140","94.140.14.141"]},{"name":"DNSWatch","url":"https://resolver2.dns.watch/dns-query","ips":["84.200.69.80","84.200.70.40"]},{"name":"Quad9","url":"https://dns.quad9.net/dns-quer","ips":["9.9.9.9","149.112.112.112"]}],
|
||||
"rules":[{"name":"kk","hosts":["kuaikan"],"regex":["5","20.123","20.167","#EXT-X-DISCONTINUITY\\r*\\n*((?!#EXT-X-DISCONTINUITY)[\\s\\S])*?#EXT-X-KEY:METHOD((?!#EXT-X-DISCONTINUITY)[\\s\\S])*?#EXT-X-DISCONTINUITY"]},{"name":"yqk","hosts":["yqk"],"regex":["18.4","15.1666","#EXT-X-DISCONTINUITY\\r*\\n*((?!#EXT-X-DISCONTINUITY)[\\s\\S])*?#EXT-X-CUE-OUT((?!#EXT-X-DISCONTINUITY)[\\s\\S])*?#EXT-X-CUE-IN"]},{"name":"sn","hosts":["suonizy"],"regex":["#EXTINF.*?\\s+.*?original.*?\\.ts\\s+","15.1666","15.2666","16.3333","15.266667"]},{"name":"bf","hosts":["bfzy"],"regex":["#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:3,[\\s\\S]*?#EXT-X-DISCONTINUITY"]},{"name":"xx","hosts":["aws.ulivetv.net"],"regex":["#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:8,[\\s\\S]*?#EXT-X-DISCONTINUITY"]},{"name":"lz","hosts":["vip.lz","hd.lz","v.cdnlz","yzzy1.play"],"regex":["18.5333","19.52","18.6666"]},{"name":"ff","hosts":["vip.ffzy","hd.ffzy","ffzy"],"regex":["25.0666","25.08","20.52","25.1","25.1999"]},{"name":"hs","hosts":["huoshan.com"],"regex":["item_id="]},{"name":"dy","hosts":["douyin.com"],"regex":["is_play_url="]},{"name":"nm","hosts":["toutiaovod.com"],"regex":["video/tos/cn"]},{"name":"cl","hosts":["magnet"],"regex":["最 新","直 播","更 新"]}],
|
||||
"lives":[{ "name": "XIUTAN", "ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0", "type": 0, "url": "https://xhdwc.tk/xiutan.m3u" },{"name":"IPV6","type":0,"url":"https://live.fanmingming.com/tv/m3u/ipv6.m3u","playerType":1 }]
|
||||
"lives":[
|
||||
{"name":"多线ITV","type":0,"url":"https://mirror.ghproxy.com/raw.githubusercontent.com/ssili126/tv/main/itvlist.m3u","playerType":1},
|
||||
{ "name": "XIUTAN", "ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0", "type": 0, "url": "https://xhdwc.tk/xiutan.m3u" },{"name":"IPV6","type":0,"url":"https://live.fanmingming.com/tv/m3u/ipv6.m3u","playerType":1 }]
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"spider":"./jar/pg.jar;md5;55187a60bc1295a55499ece1438436d2",
|
||||
"spider":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992",
|
||||
"lives":[{"name":"初秋语","type":0,"url":"./listx.txt"},
|
||||
{"name":"糖意","type":0,"url":"https://wp.weikete.cc/down.php/c3eecc14547f5e1e468718148c9f762f.txt","playerType":1,"epg":"http://epg.112114.xyz/?ch={name}&date={date}","logo":"https://epg.112114.xyz/logo/{name}.png","pass":true},
|
||||
{"name":"YanG","type":0,"url":"https://fongmi.cachefly.net/YanG-1989/m3u/main/Adult.m3u"},
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
//jar内置爬虫规则区
|
||||
{"key":"360_spider","name":"🐞360影视","type":3,"api":"csp_SP360","filterable":1,"quickSearch":1,"searchable":1},
|
||||
{"key":"csp_Kuaikan","name":"💡快看影视","type":3,"api":"csp_Kuaikan","searchable":1,"quickSearch":1,"filterable":1},
|
||||
{"key":"csp_Czsapp","name":"🐞厂长资源","type":3,"api":"csp_Czsapp","playerType":2,"searchable":1,"quickSearch":1,"filterable":1,"ext":"https://www.czys.top"},
|
||||
{"key":"csp_Czsapp","name":"🐞厂长资源","type":3,"api":"csp_Czsapp","playerType":2,"searchable":1,"quickSearch":1,"filterable":1,"ext":"https://www.cz233.com"},
|
||||
//{"key":"csp_Bdys","name":"🐞哔嘀影视","type":3,"api":"csp_Bdys","searchable":1,"quickSearch":1,"filterable":1},
|
||||
{"key":"csp_Ddys","name":"🐞低端影视","type":3,"api":"csp_Ddys","searchable":1,"quickSearch":1,"filterable":1},
|
||||
//{"key":"csp_Kunyu77","name":"🐞77影视","type":3,"api":"csp_Kunyu77","searchable":1,"quickSearch":1,"filterable":1},
|
||||
|
||||
Vendored
+1
-1
@@ -405,7 +405,7 @@ function print() { __p += __j.call(arguments, '') }
|
||||
"year": "{{ext.year|default(0)}}",
|
||||
"sort": "{{ext.sort|default(0)}}",
|
||||
"class": "{{ext.class|default(0)}}"}`,{ext:i,tid:e,pg:n}));console.log(s);let a=await this.request(l,s);this.vodList=await this.parseVodShortListFromJson(a.data.data)}async setDetail(e){let n=await this.request(this.siteUrl+"/api.php/Video/getVideoInfo",{video_id:e});this.vodDetail=await this.parseVodDetailfromJson(n.data.video)}async setPlay(e,n,r){this.result.jx=0;try{if(n.indexOf("youku")>=0||n.indexOf("iqiyi")>=0||n.indexOf("v.qq.com")>=0||n.indexOf("pptv")>=0||n.indexOf("le.com")>=0||n.indexOf("1905.com")>=0||n.indexOf("mgtv")>=0){if(this.parse.length>0)for(let i=0;i<this.parse.length;i++)try{let l=this.parse[i],s=await req(l+n,{headers:{"user-agent":"okhttp/4.1.0"}});await this.jadeLog.debug(`\u89E3\u6790\u8FDE\u63A5\u7ED3\u679C\u4E3A:${JSON.stringify(s)}`);let a=JK(n,JSON.parse(s.content).data);a.url&&(this.playUrl=a.url,this.danmuUrl=await this.danmuSpider.getVideoUrl(n,0),this.result.jx=1)}catch{}}else if(n.indexOf("jqq-")>=0){let i=await this.request(this.siteUrl+"/jqqheader.json",null,null,!0),l=n.split("-"),s=await req("https://api.juquanquanapp.com/app/drama/detail?dramaId="+l[1]+"&episodeSid="+l[2]+"&quality=LD",{headers:i}),a=JSON.parse(s.content);a.data.playInfo.url&&(this.playUrl=a.data.playInfo.url)}else if(n.startsWith("ftp"))this.playUrl=n;else{let i=await this.request(this.siteUrl+"/video.php",{url:n}),l=JK(n,i.data);l.url&&(l.url.indexOf("filename=1.mp4")>-1?this.playUrl=l.url:this.playUrl=await js2Proxy(!0,this.siteType,this.siteKey,"lzm3u8/"+ti(l.url),{}))}}catch(i){await this.jadeLog.error(i)}}async setSearch(e,n){let r=await this.request(this.siteUrl+"/api.php/Search/getSearch",{key:e,type_id:0,p:1});this.vodList=await this.parseVodShortListFromJson(r.data.data)}async proxy(e,n){let r=e[0],i=vi(e[1]);if(r==="lzm3u8"){await this.jadeLog.debug(`\u4F7F\u7528\u4EE3\u7406\u64AD\u653E,\u64AD\u653E\u8FDE\u63A5\u4E3A:${i}`);let l=await req(i,{}),s=l.content,a=await js2Proxy(!1,this.siteType,this.siteKey,"lzm3u8/",{}),o=i.substr(0,i.lastIndexOf("/")+1);return await this.jadeLog.debug(s.length),s=s.replace(/#EXT-X-DISCONTINUITY\r*\n*#EXTINF:6.433333,[\s\S]*?#EXT-X-DISCONTINUITY/,""),await this.jadeLog.debug(s.length),s=s.replace(/(#EXT-X-KEY\S+URI=")(\S+)("\S+)/g,function(u,c,f,m){let d=(f.startsWith("http")?"":o)+f;return c+d+m}),s=s.replace(/(#EXT-X-STREAM-INF:.*\n)(.*)/g,function(u,c,f){let m=(f.startsWith("http")?"":o)+f;return c+a+vi(m)}),s=s.replace(/(#EXTINF:.*\n)(.*)/g,function(u,c,f){let m=(f.startsWith("http")?"":o)+f;return c+m}),JSON.stringify({code:l.code,content:s,headers:l.headers})}return JSON.stringify({code:500,content:""})}},_n=new Zw;var eS=class extends Re{constructor(){super()}getName(){return _n.getName()}getAppName(){return _n.getAppName()}getJSName(){return _n.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await _n.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await _n.initCookie(e.server.config.bilicookie),await _n.spiderInit(e),_n.cfgObj.code=0,_n.catOpenStatus=!0,_n.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await _n.setClasses(),this.classes=_n.classes}async setFilterObj(){await _n.setFilterObj(),this.filterObj=_n.filterObj}async setHomeVod(){await _n.setHomeVod(),this.homeVodList=_n.homeVodList}async setCategory(e,n,r,i){await _n.setCategory(e,n,r,i),this.vodList=_n.vodList}async setDetail(e){await _n.setDetail(e),this.vodDetail=_n.vodDetail}async setPlay(e,n,r){await _n.setPlay(e,n,r),this.playUrl=_n.playUrl,this.result=_n.result}async setSearch(e,n,r){await _n.setSearch(e,n,r),this.vodList=_n.vodList,this.result=_n.result}async setProxy(e,n){return await _n.proxy(e,n)}},mo=new eS;async function KK(t,e){return await mo.init(t,e)}async function XK(t,e){return await mo.home(t,e)}async function bxe(t,e){return await mo.homeVod(t,e)}async function WK(t,e){return await mo.category(t,e)}async function YK(t,e){return await mo.detail(t,e)}async function QK(t,e){return await mo.play(t,e)}async function ZK(t,e){return await mo.search(t,e)}async function wxe(t,e){return await mo.proxy(t,e)}var eX={meta:{key:_n.getJSName(),name:_n.getName(),type:_n.getType()},api:async t=>{t.post("/init",KK),t.post("/home",XK),t.post("/category",WK),t.post("/detail",YK),t.post("/play",QK),t.post("/search",ZK),t.get("/proxy/:what/:ids/:end",wxe)},spider:{init:KK,home:XK,homeVod:bxe,category:WK,detail:YK,play:QK,search:ZK}};function Sxe(t){return t==="zd"?"\u6700\u5927":t==="yj"?"\u6C38\u4E45":t==="hn"?"\u725B\u725B":t==="gs"?"\u5149\u6CE2":t==="sn"?"\u65B0\u6717":t==="wl"?"\u6DA1\u8F6E":t==="lz"?"\u826F\u5B50":t==="fs"?"F\u901F":t==="ff"?"\u98DE\u98DE":t==="bd"?"\u767E\u5EA6":t==="uk"?"\u9177U":t==="wj"?"\u65E0\u5929":t==="bj"?"\u516B\u6212":t==="tk"?"\u5929\u7A7A":t==="ss"?"\u901F\u901F":t==="kb"?"\u9177\u64AD":t==="sd"?"\u95EA\u7535":t==="xk"?"\u770B\u770B":t==="tp"?"\u6DD8\u6DD8":t==="jy"?"\u7CBE\u82F1":t}var tS=class extends Fe{constructor(){super(),this.siteUrl="http://cqdb6.com"}getName(){return"\u{1F4FA}\u250370\u770B\u770B\u2503\u{1F4FA}"}getAppName(){return"70\u770B\u770B"}getJSName(){return"kankan70"}getType(){return 3}paraseUrlObject(e){let n=e.split(";"),r={},i="",l=0,s=0,a="";for(let c=0;c<n.length;c++){let f=n[c];if(f.indexOf("var lianzaijs")>-1?(i=f.split("=")[0].split(" ")[1],a=i.split("_")[1]):f.indexOf("pl_id=")>-1?(l=f.split("=")[1],r[i]={play_id:l,list:[],pl_dy:s}):f.indexOf("var pl_dy")>-1&&(s=f.split("=")[1]),f.indexOf(`playarr_${a}[`)>-1){let m=f.split('="')[1].split(",")[0];r[i].list.push(m)}}let o=[],u=[];for(let c of Object.keys(r))if(c.indexOf("_")>-1){let f=Sxe(c.split("_")[1]);u.push(f);let m=[],d=0;for(let y of r[c].list)d=d+1,m.push("\u7B2C"+d.toString()+"\u96C6$"+y);o.push(m.join("#"))}return{play_format:u.join("$$$"),play_url:o.join("$$$")}}async parseVodShortListFromDoc(e){let n=[],r=e("a.li-hv");for(let i of r){let l=new Ne;l.vod_id="/"+i.attribs.href,l.vod_name=i.attribs.title,l.vod_pic=e(i).find("img")[0].attribs["data-original"];let s=e(i).find("p.bz")[0];s.length>0&&(l.vod_remarks=s.children[0].data),n.push(l)}return n}async parseVodDetailFromDoc(e){let n=new Be,r=e("[class=info]"),i=e(r).find("dt.name")[0];n.vod_name=i.children[0].data,n.vod_remarks=i.children[1].children[0].data;let l=e(r).find("dd").text();return n.vod_area=Te(/地区:(.*?) /,l),n.vod_year=Te(/年代:(.*?)\n/,l),n.type_name=Te(/类型:(.*?)\n/,l),n.vod_content=e(r).find("[class=des2]").text().replaceAll(`
|
||||
`,"").replaceAll("\u5267\u60C5\uFF1A",""),n.vod_pic=e("img.lazy")[0].attribs["data-original"],n}async parseVodShortListFromJson(e){let n=[];for(let r of e){let i=new Ne;i.vod_id=r.url,i.vod_pic=r.thumb,i.vod_remarks=r.time,i.vod_name=r.title,n.push(i)}return n}async setClasses(){let e=await this.fetch(this.siteUrl,null,this.getHeader());if(!B.isEmpty(e)){let n=$e(e),r=n("[class=index-list-l]");for(let i of r){let l=n(n(i).find('[class="h1 clearfix"]')[0]).find("a"),s=l[0].attribs.href,a=n(l[1]).text();B.isEmpty(a)||this.classes.push({type_id:s,type_name:a})}}}async getFilter(e){let n=this.siteUrl+e,r=await this.fetch(n,null,this.getHeader()),i=[];if(!B.isEmpty(r)){let l=$e(r),s=l('[class="sy scon clearfix"]').find("dl"),a=0;for(let o of s){let u=l(l(o).find("dt")).text().replace("\u6309","").replace("\uFF1A",""),c={key:(a+1).toString(),name:u,value:[]},f=l(o).find("a"),m=0;u==="\u5267\u60C5"?m=3:u==="\u5E74\u4EE3"?m=2:u==="\u5730\u533A"&&(m=4);for(let d of f){let y=d.attribs.href.split("/");c.value.push({n:l(d).text(),v:y[m]})}i.push(c),a=a+1}}return i}async setFilterObj(){for(let e of this.classes){let n=e.type_id;n!=="\u6700\u8FD1\u66F4\u65B0"&&(this.filterObj[n]=await this.getFilter(n))}}async setHomeVod(){let e=await this.fetch(this.siteUrl,null,this.getHeader());if(!B.isEmpty(e)){let n=$e(e);this.homeVodList=await this.parseVodShortListFromDoc(n)}}async setCategory(e,n,r,i){let l=this.siteUrl+e,s=await this.fetch(l,null,this.getHeader());if(!B.isEmpty(s)){let a=e.split("/")[1],o=e.split("/")[2],u=Te(/var _yu_gda_s="(.*?)";/,s),c={action:a,page:parseInt(n),year:i[2]??"0",area:i[3]??"all",class:i[1]??"0",dect:"",id:o},f=await this.fetch(u,c,this.getHeader());if(f!==null){let m=$e(f);this.vodList=await this.parseVodShortListFromDoc(m)}}}async setDetail(e){let n=this.siteUrl+e,r=await this.fetch(n,null,this.getHeader());if(!B.isEmpty(r)){let i=$e(r);this.vodDetail=await this.parseVodDetailFromDoc(i);let s="http://test.gqyy8.com:8077/ne2"+/<script type="text\/javascript" src="http:\/\/test.gqyy8.com:8077\/ne2(.*?)"><\/script>/g.exec(r)[1],a=await this.fetch(s,null,this.getHeader());if(!B.isEmpty(a)){let o=this.paraseUrlObject(a);this.vodDetail.vod_play_url=o.play_url,this.vodDetail.vod_play_from=o.play_format}}}async setSearch(e,n){let r=this.siteUrl+"/search.php",i=await this.fetch(r,null,this.getHeader());if(!B.isEmpty(i)){let l={top:10,q:e},s=Te(/var my_search='(.*?)';/,i),a=await this.fetch(s,l,this.getHeader());if(!B.isEmpty(a)){let o=JSON.parse(a.replaceAll("\uFEFF",""));this.vodList=await this.parseVodShortListFromJson(o)}}}},En=new tS;var nS=class extends Re{constructor(){super()}getName(){return En.getName()}getAppName(){return En.getAppName()}getJSName(){return En.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await En.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await En.initCookie(e.server.config.bilicookie),await En.spiderInit(e),En.cfgObj.code=0,En.catOpenStatus=!0,En.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await En.setClasses(),this.classes=En.classes}async setFilterObj(){await En.setFilterObj(),this.filterObj=En.filterObj}async setHomeVod(){await En.setHomeVod(),this.homeVodList=En.homeVodList}async setCategory(e,n,r,i){await En.setCategory(e,n,r,i),this.vodList=En.vodList}async setDetail(e){await En.setDetail(e),this.vodDetail=En.vodDetail}async setPlay(e,n,r){await En.setPlay(e,n,r),this.playUrl=En.playUrl,this.result=En.result}async setSearch(e,n,r){await En.setSearch(e,n,r),this.vodList=En.vodList,this.result=En.result}async setProxy(e,n){return await En.proxy(e,n)}},yo=new nS;async function tX(t,e){return await yo.init(t,e)}async function nX(t,e){return await yo.home(t,e)}async function Txe(t,e){return await yo.homeVod(t,e)}async function rX(t,e){return await yo.category(t,e)}async function iX(t,e){return await yo.detail(t,e)}async function lX(t,e){return await yo.play(t,e)}async function sX(t,e){return await yo.search(t,e)}async function xxe(t,e){return await yo.proxy(t,e)}var aX={meta:{key:En.getJSName(),name:En.getName(),type:En.getType()},api:async t=>{t.post("/init",tX),t.post("/home",nX),t.post("/category",rX),t.post("/detail",iX),t.post("/play",lX),t.post("/search",sX),t.get("/proxy/:what/:ids/:end",xxe)},spider:{init:tX,home:nX,homeVod:Txe,category:rX,detail:iX,play:lX,search:sX}};var rS=class extends uo{constructor(){super(),this.siteUrl="https://cj.lzcaiji.com",this.remove18=!0}getAppName(){return"\u91CF\u5B50\u8D44\u6E90"}getName(){return"\u{1F41D}\u2503\u91CF\u5B50\u8D44\u6E90\u2503\u{1F41D}"}getJSName(){return"liangzi"}getType(){return 3}async spiderInit(e){await super.spiderInit(e)}async init(e){await super.init(e),await this.spiderInit(null)}},bn=new rS;var iS=class extends Re{constructor(){super()}getName(){return bn.getName()}getAppName(){return bn.getAppName()}getJSName(){return bn.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await bn.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await bn.initCookie(e.server.config.bilicookie),await bn.spiderInit(e),bn.cfgObj.code=0,bn.catOpenStatus=!0,bn.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await bn.setClasses(),this.classes=bn.classes}async setFilterObj(){await bn.setFilterObj(),this.filterObj=bn.filterObj}async setHomeVod(){await bn.setHomeVod(),this.homeVodList=bn.homeVodList}async setCategory(e,n,r,i){await bn.setCategory(e,n,r,i),this.vodList=bn.vodList}async setDetail(e){await bn.setDetail(e),this.vodDetail=bn.vodDetail}async setPlay(e,n,r){await bn.setPlay(e,n,r),this.playUrl=bn.playUrl,this.result=bn.result}async setSearch(e,n,r){await bn.setSearch(e,n,r),this.vodList=bn.vodList,this.result=bn.result}async setProxy(e,n){return await bn.proxy(e,n)}},go=new iS;async function oX(t,e){return await go.init(t,e)}async function uX(t,e){return await go.home(t,e)}async function Axe(t,e){return await go.homeVod(t,e)}async function cX(t,e){return await go.category(t,e)}async function pX(t,e){return await go.detail(t,e)}async function fX(t,e){return await go.play(t,e)}async function dX(t,e){return await go.search(t,e)}async function Oxe(t,e){return await go.proxy(t,e)}var hX={meta:{key:bn.getJSName(),name:bn.getName(),type:bn.getType()},api:async t=>{t.post("/init",oX),t.post("/home",uX),t.post("/category",cX),t.post("/detail",pX),t.post("/play",fX),t.post("/search",dX),t.get("/proxy/:what/:ids/:end",Oxe)},spider:{init:oX,home:uX,homeVod:Axe,category:cX,detail:pX,play:fX,search:dX}};function Nxe(t,e,n,r){let i=Ve.enc.Utf8.parse(e||"PBfAUnTdMjNDe6pL"),l=Ve.enc.Utf8.parse(n||"sENS6bVbwSfvnXrj"),s;return r?s=Ve.AES.encrypt(t,i,{iv:l,mode:Ve.mode.CBC,padding:Ve.pad.Pkcs7}):s=Ve.AES.decrypt(t,i,{iv:l,padding:Ve.pad.Pkcs7}).toString(Ve.enc.Utf8),s}var lS=class extends Fe{constructor(){super(),this.siteUrl="https://www.czys.top"}async init(t){await super.init(t),await qi(this.cfgObj.token)}getName(){return"\u{1F3ED}\uFE0F\u2503\u5382\u957F\u76F4\u8FDE\u2503\u{1F3ED}\uFE0F"}getAppName(){return"\u5382\u957F\u76F4\u8FDE"}getJSName(){return"changzhang"}getType(){return 3}async getHtml(t=this.siteUrl,e=this.getHeader()){let r=(await this.fetch(t,null,e,!1,!0)).content;if(!B.isEmpty(r)&&r.indexOf("\u4EBA\u673A\u9A8C\u8BC1")===-1)return $e(r);await this.jadeLog.error("html\u83B7\u53D6\u5931\u8D25",!0)}getSearchHeader(){return{Cookie:"cf_clearance=otYZbHg1safCIxkCtZfy9DPKbf1Gs_zUskkVDc0MVKM-1707026063-1-ATOpKnTLv9+pv171YE/rzxN/nmvGN9Mucx7vpwp0kW2vZb/cbtz5e2md2/ym7EE+9dT7pPBV+kQOg9vJx2v8cks=;myannoun=1;PHPSESSID=73386nobqugs7r3pb2ljcsp5q4","User-Agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 16_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/100.0.4896.77 Mobile/15E148 Safari/604.1",Connection:"keep-alive",Host:"www.czzy55.com"}}parseVodShortFromElement(t,e){let n=new Ne,r=t(t(e).find("a")).find("img")[0];return n.vod_name=r.attribs.alt,n.vod_pic=r.attribs["data-original"],n.vod_remarks=t(t(t(e).find("[class='hdinfo']")).find("span")).text(),n.vod_id=t(e).find("a")[0].attribs.href,n}async parseVodShortListFromDoc(t){let e=[],n=t(t('[class="mi_cont"]').find("ul")).find("li");for(let r of n)e.push(this.parseVodShortFromElement(t,r));return e}async parseVodShortListFromDocByCategory(t){let e=[],n=t(t('[class="mi_cont "]').find("ul")).find("li");for(let r of n)e.push(this.parseVodShortFromElement(t,r));return e}async parseVodDetailFromDoc(t){let e=new Be,n=t("[class='dyxingq']");e.vod_pic=t(n).find("img")[0].attribs.src,e.vod_name=t(t(n).find("h1")[0]).text(),e.vod_content=t(t(t("[class='yp_context']")).find("p")).text();let r=t(n).find("[class='moviedteail_list']").find("li"),i=t(r).text();for(let c of r){let f=t(c).text();f.indexOf("\u7C7B\u578B")>-1?e.type_name=f.replaceAll("\u7C7B\u578B","").replaceAll("\uFF1A",""):f.indexOf("\u5E74\u4EFD")>-1?e.vod_year=f.replaceAll("\u5E74\u4EFD","").replaceAll("\uFF1A",""):f.indexOf("\u5730\u533A")>-1?e.vod_area=f.replaceAll("\u5730\u533A","").replaceAll("\uFF1A",""):f.indexOf("\u8C46\u74E3")>-1?e.vod_remarks=f.replaceAll("\u8C46\u74E3","").replaceAll("\uFF1A",""):f.indexOf("\u4E3B\u6F14")>-1?e.vod_actor=f.replaceAll("\u4E3B\u6F14","").replaceAll("\uFF1A",""):f.indexOf("\u5BFC\u6F14")>-1?e.vod_director=f.replaceAll("\u5BFC\u6F14","").replaceAll("\uFF1A",""):f.indexOf("\u5267\u60C5")>-1&&(e.vod_content=f.replaceAll("\u5267\u60C5","").replaceAll("\uFF1A",""))}let l=["\u5382\u957F\u8D44\u6E90"],s=t("[class='paly_list_btn']"),a=[];for(let c of s){let f=[],m=t(c).find("a");for(let d of m){let y=d.attribs.href,_=t(d).text().replaceAll("\u7ACB\u5373\u64AD\u653E\xA0\xA0(","").replaceAll(")","");f.push(_+"$"+y)}a.push(f.join("#"))}let o=["\u78C1\u529B\u94FE\u63A5","\u963F\u91CC\u7F51\u76D8"],u=t('[class="ypbt_down_list"]').find("li");for(let c of u){let f=t(c).text(),m=!1;for(let d of o)f.indexOf(d)>-1&&(m=!0,f.indexOf("\u963F\u91CC\u7F51\u76D8")===-1&&l.push(d));if(m){let d=[];for(let y of t(c).find("a")){let _=y.attribs.href;if(t(c).text().indexOf("\u963F\u91CC\u7F51\u76D8")){let S=await Tl([_]),w=S.vod_play_url.split("$$$"),E=!1;for(let g of w)B.isEmpty(g)||(E=!0,a.push(g));if(E)for(let g of S.vod_play_from.split("$$$"))l.push("\u963F\u91CC\u4E91\u76D8-"+g)}else{let S=Te(/\[(.*?)]/,t(y).text());d.push(S+"$"+_),a.push(d.join("#"))}}}}return e.vod_play_url=a.join("$$$"),e.vod_play_from=l.join("$$$"),e}async parseVodShortListFromDocBySearch(t){let e=t("div.search_list > ul > li");return B.map(e,n=>{let r=t(n).find("img:first")[0],i=t(n).find("a:first")[0],l=t(t(n).find("div.hdinfo")[0]).text().trim(),s=t(t(n).find("div.jidi")[0]).text().trim();return{vod_id:i.attribs.href,vod_name:r.attribs.alt,vod_pic:r.attribs["data-original"],vod_remarks:s||l||""}})}async setClasses(){let t=await this.getHtml(this.siteUrl+"/movie_bt"),e=t("div#beautiful-taxonomy-filters-tax-movie_bt_series > a[cat-url*=movie_bt_series]"),n=t("div#beautiful-taxonomy-filters-tax-movie_bt_tags > a"),r={key:"tag",name:"\u7C7B\u578B",value:B.map(n,a=>{let o=a.attribs["cat-url"]||"";return o=o.substring(o.lastIndexOf("/")+1),{n:a.children[0].data,v:o}})};r.init=r.value[0].v;let i=B.map(e,a=>{let o=a.attribs["cat-url"];return o=o.substring(o.lastIndexOf("/")+1),this.filterObj[o]=[r],{type_id:o,type_name:a.children[0].data}}),l=["\u7535\u5F71","\u7535\u89C6\u5267","\u56FD\u4EA7\u5267","\u7F8E\u5267","\u97E9\u5267","\u65E5\u5267","\u6D77\u5916\u5267\uFF08\u5176\u4ED6\uFF09","\u534E\u8BED\u7535\u5F71","\u5370\u5EA6\u7535\u5F71","\u65E5\u672C\u7535\u5F71","\u6B27\u7F8E\u7535\u5F71","\u97E9\u56FD\u7535\u5F71","\u52A8\u753B","\u4FC4\u7F57\u65AF\u7535\u5F71","\u52A0\u62FF\u5927\u7535\u5F71"],s=B.sortBy(i,a=>{let o=l.indexOf(a.type_name);return o===-1?l.length:o});for(let a of s){let o=a.type_name;o!=="\u4F1A\u5458\u4E13\u533A"&&o!=="\u7AD9\u957F\u63A8\u8350"&&this.classes.push(a)}}async setHomeVod(){let t=await this.getHtml();this.homeVodList=await this.parseVodShortListFromDoc(t)}async setCategory(t,e,n,r){e<=0&&(e=1);let i=r.tag||"",l=this.siteUrl+"/movie_bt"+(i.length>0?`/movie_bt_tags/${i}`:"")+"/movie_bt_series/"+t+(e>1?`/page/${e}`:""),s=await this.getHtml(l);this.vodList=await this.parseVodShortListFromDocByCategory(s)}async setDetail(t){let e=await this.getHtml(t);this.vodDetail=await this.parseVodDetailFromDoc(e)}async setSearch(t,e){let n=await this.getHtml(this.siteUrl+"/xssearch?q="+t,this.getSearchHeader()),r=n.html();this.vodList=await this.parseVodShortListFromDocBySearch(n)}async setPlay(flag,id,flags){if(flag.indexOf("\u963F\u91CC\u4E91\u76D8")>-1)flag=flag.replaceAll("\u963F\u91CC\u4E91\u76D8-",""),this.playUrl=JSON.parse(await xl(flag,id,flags)).url;else if(id.indexOf("magnet")>-1)this.playUrl=id;else{let $=await this.getHtml(id),iframe=$("body iframe[src*=https]");if(iframe.length>0){let t=(await req(iframe[0].attribs.src,{headers:{Referer:id,"User-Agent":zr}})).content,e=Te(/var player = "(.*?)"/,t),n=Te(/var rand = "(.*?)"/,t),r=JSON.parse(Nxe(e,"VFBTzdujpR9FWBhe",n));this.playUrl=r.url}else{let js=$("script:contains(window.wp_nonce)").html(),group=js.match(/(var.*)eval\((\w*\(\w*\))\)/),md5=Ve,result=eval(group[1]+group[2]);this.playUrl=result.match(/url:.*?['"](.*?)['"]/)[1]}}}},Ut=new lS;async function Cxe(t){await Ut.init(t)}async function Rxe(t){return await Ut.home(t)}async function Ixe(){return await Ut.homeVod()}async function kxe(t,e,n,r){return await Ut.category(t,e,n,r)}async function Dxe(t){return await Ut.detail(t)}async function Pxe(t,e,n){return await Ut.play(t,e,n)}async function Lxe(t,e){return await Ut.search(t,e)}async function Fxe(t,e){return await Ut.proxy(t,e)}function YMe(){return{init:Cxe,home:Rxe,homeVod:Ixe,category:kxe,detail:Dxe,play:Pxe,proxy:Fxe,search:Lxe}}var sS=class extends Re{constructor(){super()}getName(){return Ut.getName()}getAppName(){return Ut.getAppName()}getJSName(){return Ut.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await Ut.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await Ut.initCookie(e.server.config.bilicookie),await Ut.spiderInit(e),Ut.cfgObj.code=0,Ut.catOpenStatus=!0,Ut.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await Ut.setClasses(),this.classes=Ut.classes}async setFilterObj(){await Ut.setFilterObj(),this.filterObj=Ut.filterObj}async setHomeVod(){await Ut.setHomeVod(),this.homeVodList=Ut.homeVodList}async setCategory(e,n,r,i){await Ut.setCategory(e,n,r,i),this.vodList=Ut.vodList}async setDetail(e){await Ut.setDetail(e),this.vodDetail=Ut.vodDetail}async setPlay(e,n,r){await Ut.setPlay(e,n,r),this.playUrl=Ut.playUrl,this.result=Ut.result}async setSearch(e,n,r){await Ut.setSearch(e,n,r),this.vodList=Ut.vodList,this.result=Ut.result}async setProxy(e,n){return await Ut.proxy(e,n)}},vo=new sS;async function mX(t,e){return await vo.init(t,e)}async function yX(t,e){return await vo.home(t,e)}async function jxe(t,e){return await vo.homeVod(t,e)}async function gX(t,e){return await vo.category(t,e)}async function vX(t,e){return await vo.detail(t,e)}async function _X(t,e){return await vo.play(t,e)}async function EX(t,e){return await vo.search(t,e)}async function Uxe(t,e){return await vo.proxy(t,e)}var bX={meta:{key:Ut.getJSName(),name:Ut.getName(),type:Ut.getType()},api:async t=>{t.post("/init",mX),t.post("/home",yX),t.post("/category",gX),t.post("/detail",vX),t.post("/play",_X),t.post("/search",EX),t.get("/proxy/:what/:ids/:end",Uxe)},spider:{init:mX,home:yX,homeVod:jxe,category:gX,detail:vX,play:_X,search:EX}};var aS=class extends Fe{constructor(){super(),this.siteUrl="https://www.cs1369.com"}getName(){return"\u{1F943}\u2503\u4E5D\u4E5D\u516D\u5F71\u89C6\u2503\u{1F943}"}getAppName(){return"\u4E5D\u4E5D\u516D\u5F71\u89C6"}getJSName(){return"jiujiuliu"}getType(){return 3}async parseVodShortListFromDoc(e){let n=[],r=e('[class="stui-vodlist clearfix"]').find("li");for(let i of r){let l=e(i).find('[class="stui-vodlist__thumb lazyload"]')[0],s=new Ne;s.vod_id=l.attribs.href,s.vod_name=l.attribs.title,s.vod_pic=l.attribs["data-original"],s.vod_remarks=e(e(l).find('[class="pic-text text-right"]')[0]).text(),n.push(s)}return n}async parseVodShortListFromDocBySearch(e){let n=[],r=e('[class="stui-pannel_bd"]').find("li");for(let i of r){let l=e(e(i).find('[class="thumb"]')[0]).find("a")[0],s=new Ne;s.vod_id=l.attribs.href,s.vod_name=l.attribs.title,s.vod_pic=l.attribs["data-original"],s.vod_remarks=Te(/类型:(.*?)地区/,e(e(i).find('[class="hidden-mi"]')[0]).text()),n.push(s)}return n}async parseVodDetailFromDoc(e){let n=new Be,r=e('[class="col-pd clearfix"]')[1],i=e(r).find('[class="stui-content__thumb"]')[0],l=[];for(let a of e('[class="stui-content__playlist clearfix"]').find("a")){let o=this.siteUrl+a.attribs.href,u=e(a).text();l.push(u+"$"+o)}n.vod_name=e(i).find('[class="stui-vodlist__thumb picture v-thumb"]')[0].attribs.title,n.vod_pic=e(i).find("img")[0].attribs["data-original"],n.vod_remarks=e(e(i).find('[class="pic-text text-right"]')[0]).text();let s=e(e(r).find('[class="data"]')).text().replaceAll("\xA0"," ");return n.type_name=Te(/类型:(.*?) /,s),n.vod_area=Te(/地区:(.*?) /,s),n.vod_year=Te(/年份:(.*?) /,s),n.vod_actor=Te(/主演:(.*?) /,s),n.vod_director=Te(/导演:(.*?) /,s),n.vod_content=e(e('[class="stui-pannel_bd"]').find('[class="col-pd"]')).text(),n.vod_play_from=["996"].join("$$$"),n.vod_play_url=[l.join("#")].join("$$$"),n}async setClasses(){let e=await this.fetch(this.siteUrl,null,this.getHeader());if(e!==null){let n=$e(e),r=n('[class="stui-header__menu type-slide"]').find("a");for(let i of r){let l={type_name:n(i).text(),type_id:"/show/id/"+i.attribs.href.split("/").slice(-1)[0].split(".")[0]};n(i).text()!=="\u9996\u9875"&&this.classes.push(l)}}}async getFilter(e){let n=e('[class="stui-pannel_hd"]'),r=[],i=0;for(let l=0;l<2;l++){let s=n[l],a=e(s).find("ul");if(l===0)for(let o of a){let u={key:(i+1).toString(),name:e(e(o).find("li")[0]).text(),value:[]};for(let c of e(o).find("li").slice(1))B.isEmpty(e(c).text())||(i===0?u.value.push({n:e(c).text(),v:e(c).find("a")[0].attribs.href.split("/").slice(-1)[0].split(".")[0]}):u.value.push({n:e(c).text(),v:e(c).text()}));r.push(u),i=i+1}else{let o={key:(i+1).toString(),name:e(e(s).find("li")[0]).text(),value:[]};o.value.push({n:"\u5168\u90E8",v:"time"});for(let u of e(s).find("li").slice(1))B.isEmpty(e(u).text())||o.value.push({n:e(u).text(),v:e(u).find("a")[0].attribs.href.split("/")[3]});r.push(o)}}return r}async setFilterObj(){for(let e of this.classes){let n=e.type_id;if(n!=="/"&&n!=="\u6700\u8FD1\u66F4\u65B0"){let r=this.siteUrl+n+".html",i=await this.fetch(r,null,this.getHeader());if(i!=null){let l=$e(i);this.filterObj[n]=await this.getFilter(l)}}}}async setHomeVod(){let e=await this.fetch(this.siteUrl,null,this.getHeader());if(e!=null){let n=$e(e);this.homeVodList=await this.parseVodShortListFromDoc(n)}}getParams(e,n){let r=n??"\u5168\u90E8";return r==="\u5168\u90E8"||r===void 0?"":e+n}async setCategory(e,n,r,i){let l=this.getParams("/id/",i[1]);B.isEmpty(l)&&(l="/id/"+e.split("/").slice(-1)[0]);let s=this.getParams("/class/",i[2]),a=this.getParams("/area/",i[3]),o=this.getParams("/year/",i[4]),u=this.getParams("/lang/ ",i[5]),c=this.getParams("/letter/ ",i[6]),f=this.getParams("/by/",i[7]),m=this.siteUrl+`/show${a}${f}${s}${l}${u}${c}${o}/page/${n.toString()}.html`;await this.jadeLog.info(`\u7C7B\u522BURL\u4E3A:${m}`),this.limit=36;let d=await this.fetch(m,null,this.getHeader());if(d!=null){let y=$e(d);this.vodList=await this.parseVodShortListFromDoc(y)}}async setDetail(e){let n=this.siteUrl+e,r=await this.fetch(n,null,this.getHeader());if(r!=null){let i=$e(r);this.vodDetail=await this.parseVodDetailFromDoc(i)}}async setSearch(e,n){let r=this.siteUrl+`/search.html?wd=${e}`,i=await this.fetch(r,null,this.getHeader());if(i!=null){let s=$e(i);this.vodList=await this.parseVodShortListFromDocBySearch(s)}let l=0}async setPlay(e,n,r){let i=await this.fetch(n,null,this.getHeader());if(i!==null){let l=Te(/player_aaaa=(.*?)<\/script>/,i),s=JSON.parse(l);try{this.playUrl=decodeURIComponent(Ve.enc.Utf8.stringify(Ve.enc.Base64.parse(s.url))),this.header=this.getHeader()}catch{this.playUrl=s.url}}}},wn=new aS;var oS=class extends Re{constructor(){super()}getName(){return wn.getName()}getAppName(){return wn.getAppName()}getJSName(){return wn.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await wn.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await wn.initCookie(e.server.config.bilicookie),await wn.spiderInit(e),wn.cfgObj.code=0,wn.catOpenStatus=!0,wn.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await wn.setClasses(),this.classes=wn.classes}async setFilterObj(){await wn.setFilterObj(),this.filterObj=wn.filterObj}async setHomeVod(){await wn.setHomeVod(),this.homeVodList=wn.homeVodList}async setCategory(e,n,r,i){await wn.setCategory(e,n,r,i),this.vodList=wn.vodList}async setDetail(e){await wn.setDetail(e),this.vodDetail=wn.vodDetail}async setPlay(e,n,r){await wn.setPlay(e,n,r),this.playUrl=wn.playUrl,this.result=wn.result}async setSearch(e,n,r){await wn.setSearch(e,n,r),this.vodList=wn.vodList,this.result=wn.result}async setProxy(e,n){return await wn.proxy(e,n)}},_o=new oS;async function wX(t,e){return await _o.init(t,e)}async function SX(t,e){return await _o.home(t,e)}async function Mxe(t,e){return await _o.homeVod(t,e)}async function TX(t,e){return await _o.category(t,e)}async function xX(t,e){return await _o.detail(t,e)}async function AX(t,e){return await _o.play(t,e)}async function OX(t,e){return await _o.search(t,e)}async function $xe(t,e){return await _o.proxy(t,e)}var NX={meta:{key:wn.getJSName(),name:wn.getName(),type:wn.getType()},api:async t=>{t.post("/init",wX),t.post("/home",SX),t.post("/category",TX),t.post("/detail",xX),t.post("/play",AX),t.post("/search",OX),t.get("/proxy/:what/:ids/:end",$xe)},spider:{init:wX,home:SX,homeVod:Mxe,category:TX,detail:xX,play:AX,search:OX}};var uS=class extends Fe{constructor(){super(),this.siteUrl="https://www.bilibili.com",this.apiUrl="https://api.bilibili.com",this.cookie="",this.bili_jct="",this.is_login=!1,this.is_vip=!1,this.vod_audio_id={30280:192e3,30232:132e3,30216:64e3},this.vod_codec={12:"HEVC",7:"AVC"},this.play_url_obj={80:"1080P \u9AD8\u6E05",64:"720P \u9AD8\u6E05",32:"420P \u6E05\u6670",16:"360P \u6D41\u7545"}}getHeader(){let e=super.getHeader();return B.isEmpty(this.cookie)||(e.cookie=this.cookie),e}initCookie(e){this.cookie=e,e.includes("bili_jct")&&(this.bili_jct=e.split("bili_jct=")[1].split(";")[0])}async spiderInit(e){this.is_login=await this.checkLogin(),this.is_login?await this.jadeLog.info("\u54D4\u54E9\u54D4\u54E9\u767B\u5F55\u6210\u529F",!0):await this.jadeLog.error("\u54D4\u54E9\u54D4\u54E9\u767B\u5F55\u5931\u8D25",!0),e===null?this.js2Base=await js2Proxy(!0,this.siteType,this.siteKey,"dash/",this.getHeader()):this.js2Base=await js2Proxy(e,"dash",this.getHeader())}async init(e){await super.init(e),await this.initCookie(this.cfgObj.cookie),await this.spiderInit(null),this.danmuStaus=!0}getName(){return"\u{1F3F0}\u2503\u54D4\u54E9\u54D4\u54E9\u2503\u{1F3F0}"}getAppName(){return"\u54D4\u54E9\u54D4\u54E9"}getJSName(){return"bilibili"}getType(){return 3}async setClasses(){let e=await this.getHtml(this.siteUrl),n=e('[class="channel-items__left"]').find("a");for(let r of n)this.classes.push(this.getTypeDic(e(r).text(),e(r).text()));!B.isEmpty(this.bili_jct)&&this.is_login&&this.classes.push(this.getTypeDic("\u5386\u53F2\u8BB0\u5F55","\u5386\u53F2\u8BB0\u5F55"))}async getFilter(e){return[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"0"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8\u65F6\u957F",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}]}async setFilterObj(){for(let e of this.classes){let n=e.type_name;n!=="\u6700\u8FD1\u66F4\u65B0"&&n!=="\u5386\u53F2\u8BB0\u5F55"&&(this.filterObj[n]=await this.getFilter())}}getFullTime(e){let n="";try{let r=e.split(":"),i=parseInt(r[0]),l=parseInt(r[1]);n=i*60+l}catch{n=parseInt(e)}if(isNaN(n))return"\u65E0\u6548\u8F93\u5165";if(n>=3600){let r=Math.floor(n/3600),i=n%3600,l=Math.floor(i/60),s=i%60;return`${r}\u5C0F\u65F6 ${l}\u5206\u949F ${s}\u79D2`}else{let r=Math.floor(n/60),i=n%60;return`${r}\u5206\u949F ${i}\u79D2`}}removeTags(e){return e.replace(/<[^>]*>/g,"")}async parseVodShortListFromJson(e){let n=[];for(let r of e){let i=new Ne;i.vod_id=r.bvid,r.hasOwnProperty("rcmd_reason")?i.vod_remarks=r.rcmd_reason.content:i.vod_remarks=this.getFullTime(r.duration),i.vod_name=this.removeTags(r.title);let l=r.pic;l.startsWith("//")&&(l="https:"+l),i.vod_pic=l,n.push(i)}return n}async parseVodDetailfromJson(e,n){let r=this.getFullTime(e.duration),i=e.aid,l=new Be;l.vod_name=e.title,l.vod_pic=e.pic,l.type_name=e.tname,l.vod_remarks=r,l.vod_content=e.desc;let s={avid:i,cid:e.cid,qn:"127",fnval:4048,fourk:1},o=JSON.parse(await this.fetch(this.apiUrl+"/x/player/playurl",s,this.getHeader())).data,u=o.accept_quality,c=o.accept_description,f=[],m=[];for(let E=0;E<u.length;E++){if(!this.is_vip){if(this.is_login){if(u[E]>80)continue}else if(u[E]>32)continue}m.push(ti(c[E])),f.push(u[E])}let d={},y=e.pages,_=[];for(let E=0;E<y.length;E++){let v=y[E].cid,x=E+"$"+i+"+"+v+"+"+f.join(":")+"+"+m.join(":");_.push(x)}if(this.catOpenStatus)for(let E of f)d[`dash - ${this.play_url_obj[E]}`]=_.join("#");else await this.jadeLog.warning("TV\u6682\u4E0D\u652F\u6301Dash\u64AD\u653E");for(let E of f)d[`mp4 - ${this.play_url_obj[E]}`]=_.join("#");let S={bvid:n},w=JSON.parse(await this.fetch(this.apiUrl+"/x/web-interface/archive/related",S,this.getHeader())).data;_=[];for(let E=0;E<w.length;E++){let g=w[E],v=g.cid,x=g.title,O=g.aid,N=x+"$"+O+"+"+v+"+"+f.join(":")+"+"+m.join(":");_.push(N)}if(this.catOpenStatus)for(let E of f)d[`\u76F8\u5173 - ${this.play_url_obj[E]}`]=_.join("#");else await this.jadeLog.warning("TV\u6682\u4E0D\u652F\u6301\u76F8\u5173\u64AD\u653E");return l.vod_play_from=Object.keys(d).join("$$$"),l.vod_play_url=Object.values(d).join("$$$"),l}async setHomeVod(){let e={ps:20},n=await this.fetch(this.apiUrl+"/x/web-interface/popular",e,this.getHeader());this.homeVodList=await this.parseVodShortListFromJson(JSON.parse(n).data.list)}async setDetail(e){let n=this.apiUrl+"/x/web-interface/view",r={bvid:e},i=JSON.parse(await this.fetch(n,r,this.getHeader())).data;if(!B.isEmpty(this.bili_jct)){let l=this.apiUrl+"/x/v2/history/report",s={aid:i.aid,cid:i.cid,csrf:this.bili_jct};await this.post(l,s,this.getHeader(),"form")}this.vodDetail=await this.parseVodDetailfromJson(i,e)}findKeyByValue(e,n){for(let r in e)if(e[r]===n)return r;return null}async setPlay(e,n,r){let i=n.split("+"),l=i[0],s=i[1],a=e.split(" - ")[1],o=this.findKeyByValue(this.play_url_obj,a);if(this.danmuUrl=this.apiUrl+"/x/v1/dm/list.so?oid="+s,this.result.header=this.getHeader(),e.indexOf("dash")>-1||e.indexOf("\u76F8\u5173")>-1)this.catOpenStatus&&(this.playUrl=this.js2Base+ti(l+"+"+s+"+"+o));else if(e.indexOf("mp4")>-1){let u=this.apiUrl+"/x/player/playurl",c={avid:l,cid:s,qn:parseInt(o),fourk:"1"},m=JSON.parse(await this.fetch(u,c,this.getHeader())).data;this.playUrl=m.durl[0].url}else{let u=[],c=[],f=this.siteUrl+"/x/player/playurl",m={avid:l,cid:s,qn:o,fnval:4048,fourk:1},y=JSON.parse(await this.fetch(f,m,this.getHeader())).data.dash,_=y.video,S=y.audio;for(let w=0;w<_.length;w++){let E=_[w];if(E.id===o)for(let g in this.vod_codec)E.codecid===g&&u.push(vi(o)+" "+this.vod_codec[g],E.baseUrl)}if(c.length===0){for(let w=0;w<S.length;w++){let E=S[w];for(let g in this.vod_audio_id)E.id===g&&c.push({title:B.floor(parseInt(this.vod_audio_id[g])/1024)+"Kbps",bit:this.vod_audio_id[g],url:E.baseUrl})}c=B.sortBy(c,"bit")}this.playUrl=u,this.extra={audio:c}}}async checkLogin(){let e=JSON.parse(await this.fetch("https://api.bilibili.com/x/web-interface/nav",null,this.getHeader()));return this.is_vip=e.data.vipStatus,e.data.isLogin}async setCategory(e,n,r,i){let l;parseInt(n)<1?l=1:l=parseInt(n),Object.keys(i).length>0&&i.hasOwnProperty("tid")&&i.tid.length>0&&(e=i.tid);let s="";if(s=this.apiUrl+`/x/web-interface/search/type?search_type=video&keyword=${encodeURIComponent(e)}`,Object.keys(i).length>0)for(let u in i)u!=="tid"&&(s+=`&${encodeURIComponent(u)}=${encodeURIComponent(i[u])}`);s+=`&page=${encodeURIComponent(l)}`,e==="\u5386\u53F2\u8BB0\u5F55"&&(s=this.apiUrl+"/x/v2/history?pn="+l);let a=JSON.parse(await this.fetch(s,null,this.getHeader())).data,o=a.result;e==="\u5386\u53F2\u8BB0\u5F55"&&(o=a),this.vodList=await this.parseVodShortListFromJson(o)}async setSearch(e,n,r){let i={duration:"0"},l=parseInt(r),s=20,a=JSON.parse(await this.category(e,l,!0,i));this.vodList=a.list;let o=l;this.vodList.length===s&&(o=l+1),this.result.setPage(l,o,s,o)}getDashMedia(e){try{let n=e.id,r=e.codecid,i=e.codecs,l=e.bandwidth,s=e.startWithSap,a=e.mimeType,o=e.baseUrl.replace(/&/g,"&"),u=e.SegmentBase.indexRange,c=e.SegmentBase.Initialization,f=a.split("/")[0],m="";if(f==="video"){let d=e.frameRate,y=e.sar,_=e.width;m=`height='${e.height}' width='${_}' frameRate='${d}' sar='${y}'`}else if(f==="audio")for(let d in this.vod_audio_id)n===d&&(m=`numChannels='2' sampleRate='${this.vod_audio_id[d]}'`);return n+="_"+r,`<AdaptationSet lang="chi">
|
||||
`,"").replaceAll("\u5267\u60C5\uFF1A",""),n.vod_pic=e("img.lazy")[0].attribs["data-original"],n}async parseVodShortListFromJson(e){let n=[];for(let r of e){let i=new Ne;i.vod_id=r.url,i.vod_pic=r.thumb,i.vod_remarks=r.time,i.vod_name=r.title,n.push(i)}return n}async setClasses(){let e=await this.fetch(this.siteUrl,null,this.getHeader());if(!B.isEmpty(e)){let n=$e(e),r=n("[class=index-list-l]");for(let i of r){let l=n(n(i).find('[class="h1 clearfix"]')[0]).find("a"),s=l[0].attribs.href,a=n(l[1]).text();B.isEmpty(a)||this.classes.push({type_id:s,type_name:a})}}}async getFilter(e){let n=this.siteUrl+e,r=await this.fetch(n,null,this.getHeader()),i=[];if(!B.isEmpty(r)){let l=$e(r),s=l('[class="sy scon clearfix"]').find("dl"),a=0;for(let o of s){let u=l(l(o).find("dt")).text().replace("\u6309","").replace("\uFF1A",""),c={key:(a+1).toString(),name:u,value:[]},f=l(o).find("a"),m=0;u==="\u5267\u60C5"?m=3:u==="\u5E74\u4EE3"?m=2:u==="\u5730\u533A"&&(m=4);for(let d of f){let y=d.attribs.href.split("/");c.value.push({n:l(d).text(),v:y[m]})}i.push(c),a=a+1}}return i}async setFilterObj(){for(let e of this.classes){let n=e.type_id;n!=="\u6700\u8FD1\u66F4\u65B0"&&(this.filterObj[n]=await this.getFilter(n))}}async setHomeVod(){let e=await this.fetch(this.siteUrl,null,this.getHeader());if(!B.isEmpty(e)){let n=$e(e);this.homeVodList=await this.parseVodShortListFromDoc(n)}}async setCategory(e,n,r,i){let l=this.siteUrl+e,s=await this.fetch(l,null,this.getHeader());if(!B.isEmpty(s)){let a=e.split("/")[1],o=e.split("/")[2],u=Te(/var _yu_gda_s="(.*?)";/,s),c={action:a,page:parseInt(n),year:i[2]??"0",area:i[3]??"all",class:i[1]??"0",dect:"",id:o},f=await this.fetch(u,c,this.getHeader());if(f!==null){let m=$e(f);this.vodList=await this.parseVodShortListFromDoc(m)}}}async setDetail(e){let n=this.siteUrl+e,r=await this.fetch(n,null,this.getHeader());if(!B.isEmpty(r)){let i=$e(r);this.vodDetail=await this.parseVodDetailFromDoc(i);let s="http://test.gqyy8.com:8077/ne2"+/<script type="text\/javascript" src="http:\/\/test.gqyy8.com:8077\/ne2(.*?)"><\/script>/g.exec(r)[1],a=await this.fetch(s,null,this.getHeader());if(!B.isEmpty(a)){let o=this.paraseUrlObject(a);this.vodDetail.vod_play_url=o.play_url,this.vodDetail.vod_play_from=o.play_format}}}async setSearch(e,n){let r=this.siteUrl+"/search.php",i=await this.fetch(r,null,this.getHeader());if(!B.isEmpty(i)){let l={top:10,q:e},s=Te(/var my_search='(.*?)';/,i),a=await this.fetch(s,l,this.getHeader());if(!B.isEmpty(a)){let o=JSON.parse(a.replaceAll("\uFEFF",""));this.vodList=await this.parseVodShortListFromJson(o)}}}},En=new tS;var nS=class extends Re{constructor(){super()}getName(){return En.getName()}getAppName(){return En.getAppName()}getJSName(){return En.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await En.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await En.initCookie(e.server.config.bilicookie),await En.spiderInit(e),En.cfgObj.code=0,En.catOpenStatus=!0,En.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await En.setClasses(),this.classes=En.classes}async setFilterObj(){await En.setFilterObj(),this.filterObj=En.filterObj}async setHomeVod(){await En.setHomeVod(),this.homeVodList=En.homeVodList}async setCategory(e,n,r,i){await En.setCategory(e,n,r,i),this.vodList=En.vodList}async setDetail(e){await En.setDetail(e),this.vodDetail=En.vodDetail}async setPlay(e,n,r){await En.setPlay(e,n,r),this.playUrl=En.playUrl,this.result=En.result}async setSearch(e,n,r){await En.setSearch(e,n,r),this.vodList=En.vodList,this.result=En.result}async setProxy(e,n){return await En.proxy(e,n)}},yo=new nS;async function tX(t,e){return await yo.init(t,e)}async function nX(t,e){return await yo.home(t,e)}async function Txe(t,e){return await yo.homeVod(t,e)}async function rX(t,e){return await yo.category(t,e)}async function iX(t,e){return await yo.detail(t,e)}async function lX(t,e){return await yo.play(t,e)}async function sX(t,e){return await yo.search(t,e)}async function xxe(t,e){return await yo.proxy(t,e)}var aX={meta:{key:En.getJSName(),name:En.getName(),type:En.getType()},api:async t=>{t.post("/init",tX),t.post("/home",nX),t.post("/category",rX),t.post("/detail",iX),t.post("/play",lX),t.post("/search",sX),t.get("/proxy/:what/:ids/:end",xxe)},spider:{init:tX,home:nX,homeVod:Txe,category:rX,detail:iX,play:lX,search:sX}};var rS=class extends uo{constructor(){super(),this.siteUrl="https://cj.lzcaiji.com",this.remove18=!0}getAppName(){return"\u91CF\u5B50\u8D44\u6E90"}getName(){return"\u{1F41D}\u2503\u91CF\u5B50\u8D44\u6E90\u2503\u{1F41D}"}getJSName(){return"liangzi"}getType(){return 3}async spiderInit(e){await super.spiderInit(e)}async init(e){await super.init(e),await this.spiderInit(null)}},bn=new rS;var iS=class extends Re{constructor(){super()}getName(){return bn.getName()}getAppName(){return bn.getAppName()}getJSName(){return bn.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await bn.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await bn.initCookie(e.server.config.bilicookie),await bn.spiderInit(e),bn.cfgObj.code=0,bn.catOpenStatus=!0,bn.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await bn.setClasses(),this.classes=bn.classes}async setFilterObj(){await bn.setFilterObj(),this.filterObj=bn.filterObj}async setHomeVod(){await bn.setHomeVod(),this.homeVodList=bn.homeVodList}async setCategory(e,n,r,i){await bn.setCategory(e,n,r,i),this.vodList=bn.vodList}async setDetail(e){await bn.setDetail(e),this.vodDetail=bn.vodDetail}async setPlay(e,n,r){await bn.setPlay(e,n,r),this.playUrl=bn.playUrl,this.result=bn.result}async setSearch(e,n,r){await bn.setSearch(e,n,r),this.vodList=bn.vodList,this.result=bn.result}async setProxy(e,n){return await bn.proxy(e,n)}},go=new iS;async function oX(t,e){return await go.init(t,e)}async function uX(t,e){return await go.home(t,e)}async function Axe(t,e){return await go.homeVod(t,e)}async function cX(t,e){return await go.category(t,e)}async function pX(t,e){return await go.detail(t,e)}async function fX(t,e){return await go.play(t,e)}async function dX(t,e){return await go.search(t,e)}async function Oxe(t,e){return await go.proxy(t,e)}var hX={meta:{key:bn.getJSName(),name:bn.getName(),type:bn.getType()},api:async t=>{t.post("/init",oX),t.post("/home",uX),t.post("/category",cX),t.post("/detail",pX),t.post("/play",fX),t.post("/search",dX),t.get("/proxy/:what/:ids/:end",Oxe)},spider:{init:oX,home:uX,homeVod:Axe,category:cX,detail:pX,play:fX,search:dX}};function Nxe(t,e,n,r){let i=Ve.enc.Utf8.parse(e||"PBfAUnTdMjNDe6pL"),l=Ve.enc.Utf8.parse(n||"sENS6bVbwSfvnXrj"),s;return r?s=Ve.AES.encrypt(t,i,{iv:l,mode:Ve.mode.CBC,padding:Ve.pad.Pkcs7}):s=Ve.AES.decrypt(t,i,{iv:l,padding:Ve.pad.Pkcs7}).toString(Ve.enc.Utf8),s}var lS=class extends Fe{constructor(){super(),this.siteUrl="https://www.czzy88.com"}async init(t){await super.init(t),await qi(this.cfgObj.token)}getName(){return"\u{1F3ED}\uFE0F\u2503\u5382\u957F\u76F4\u8FDE\u2503\u{1F3ED}\uFE0F"}getAppName(){return"\u5382\u957F\u76F4\u8FDE"}getJSName(){return"changzhang"}getType(){return 3}async getHtml(t=this.siteUrl,e=this.getHeader()){let r=(await this.fetch(t,null,e,!1,!0)).content;if(!B.isEmpty(r)&&r.indexOf("\u4EBA\u673A\u9A8C\u8BC1")===-1)return $e(r);await this.jadeLog.error("html\u83B7\u53D6\u5931\u8D25",!0)}getSearchHeader(){return{Cookie:"cf_clearance=otYZbHg1safCIxkCtZfy9DPKbf1Gs_zUskkVDc0MVKM-1707026063-1-ATOpKnTLv9+pv171YE/rzxN/nmvGN9Mucx7vpwp0kW2vZb/cbtz5e2md2/ym7EE+9dT7pPBV+kQOg9vJx2v8cks=;myannoun=1;PHPSESSID=73386nobqugs7r3pb2ljcsp5q4","User-Agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 16_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/100.0.4896.77 Mobile/15E148 Safari/604.1",Connection:"keep-alive",Host:"www.czzy55.com"}}parseVodShortFromElement(t,e){let n=new Ne,r=t(t(e).find("a")).find("img")[0];return n.vod_name=r.attribs.alt,n.vod_pic=r.attribs["data-original"],n.vod_remarks=t(t(t(e).find("[class='hdinfo']")).find("span")).text(),n.vod_id=t(e).find("a")[0].attribs.href,n}async parseVodShortListFromDoc(t){let e=[],n=t(t('[class="mi_cont"]').find("ul")).find("li");for(let r of n)e.push(this.parseVodShortFromElement(t,r));return e}async parseVodShortListFromDocByCategory(t){let e=[],n=t(t('[class="mi_cont "]').find("ul")).find("li");for(let r of n)e.push(this.parseVodShortFromElement(t,r));return e}async parseVodDetailFromDoc(t){let e=new Be,n=t("[class='dyxingq']");e.vod_pic=t(n).find("img")[0].attribs.src,e.vod_name=t(t(n).find("h1")[0]).text(),e.vod_content=t(t(t("[class='yp_context']")).find("p")).text();let r=t(n).find("[class='moviedteail_list']").find("li"),i=t(r).text();for(let c of r){let f=t(c).text();f.indexOf("\u7C7B\u578B")>-1?e.type_name=f.replaceAll("\u7C7B\u578B","").replaceAll("\uFF1A",""):f.indexOf("\u5E74\u4EFD")>-1?e.vod_year=f.replaceAll("\u5E74\u4EFD","").replaceAll("\uFF1A",""):f.indexOf("\u5730\u533A")>-1?e.vod_area=f.replaceAll("\u5730\u533A","").replaceAll("\uFF1A",""):f.indexOf("\u8C46\u74E3")>-1?e.vod_remarks=f.replaceAll("\u8C46\u74E3","").replaceAll("\uFF1A",""):f.indexOf("\u4E3B\u6F14")>-1?e.vod_actor=f.replaceAll("\u4E3B\u6F14","").replaceAll("\uFF1A",""):f.indexOf("\u5BFC\u6F14")>-1?e.vod_director=f.replaceAll("\u5BFC\u6F14","").replaceAll("\uFF1A",""):f.indexOf("\u5267\u60C5")>-1&&(e.vod_content=f.replaceAll("\u5267\u60C5","").replaceAll("\uFF1A",""))}let l=["\u5382\u957F\u8D44\u6E90"],s=t("[class='paly_list_btn']"),a=[];for(let c of s){let f=[],m=t(c).find("a");for(let d of m){let y=d.attribs.href,_=t(d).text().replaceAll("\u7ACB\u5373\u64AD\u653E\xA0\xA0(","").replaceAll(")","");f.push(_+"$"+y)}a.push(f.join("#"))}let o=["\u78C1\u529B\u94FE\u63A5","\u963F\u91CC\u7F51\u76D8"],u=t('[class="ypbt_down_list"]').find("li");for(let c of u){let f=t(c).text(),m=!1;for(let d of o)f.indexOf(d)>-1&&(m=!0,f.indexOf("\u963F\u91CC\u7F51\u76D8")===-1&&l.push(d));if(m){let d=[];for(let y of t(c).find("a")){let _=y.attribs.href;if(t(c).text().indexOf("\u963F\u91CC\u7F51\u76D8")){let S=await Tl([_]),w=S.vod_play_url.split("$$$"),E=!1;for(let g of w)B.isEmpty(g)||(E=!0,a.push(g));if(E)for(let g of S.vod_play_from.split("$$$"))l.push("\u963F\u91CC\u4E91\u76D8-"+g)}else{let S=Te(/\[(.*?)]/,t(y).text());d.push(S+"$"+_),a.push(d.join("#"))}}}}return e.vod_play_url=a.join("$$$"),e.vod_play_from=l.join("$$$"),e}async parseVodShortListFromDocBySearch(t){let e=t("div.search_list > ul > li");return B.map(e,n=>{let r=t(n).find("img:first")[0],i=t(n).find("a:first")[0],l=t(t(n).find("div.hdinfo")[0]).text().trim(),s=t(t(n).find("div.jidi")[0]).text().trim();return{vod_id:i.attribs.href,vod_name:r.attribs.alt,vod_pic:r.attribs["data-original"],vod_remarks:s||l||""}})}async setClasses(){let t=await this.getHtml(this.siteUrl+"/movie_bt"),e=t("div#beautiful-taxonomy-filters-tax-movie_bt_series > a[cat-url*=movie_bt_series]"),n=t("div#beautiful-taxonomy-filters-tax-movie_bt_tags > a"),r={key:"tag",name:"\u7C7B\u578B",value:B.map(n,a=>{let o=a.attribs["cat-url"]||"";return o=o.substring(o.lastIndexOf("/")+1),{n:a.children[0].data,v:o}})};r.init=r.value[0].v;let i=B.map(e,a=>{let o=a.attribs["cat-url"];return o=o.substring(o.lastIndexOf("/")+1),this.filterObj[o]=[r],{type_id:o,type_name:a.children[0].data}}),l=["\u7535\u5F71","\u7535\u89C6\u5267","\u56FD\u4EA7\u5267","\u7F8E\u5267","\u97E9\u5267","\u65E5\u5267","\u6D77\u5916\u5267\uFF08\u5176\u4ED6\uFF09","\u534E\u8BED\u7535\u5F71","\u5370\u5EA6\u7535\u5F71","\u65E5\u672C\u7535\u5F71","\u6B27\u7F8E\u7535\u5F71","\u97E9\u56FD\u7535\u5F71","\u52A8\u753B","\u4FC4\u7F57\u65AF\u7535\u5F71","\u52A0\u62FF\u5927\u7535\u5F71"],s=B.sortBy(i,a=>{let o=l.indexOf(a.type_name);return o===-1?l.length:o});for(let a of s){let o=a.type_name;o!=="\u4F1A\u5458\u4E13\u533A"&&o!=="\u7AD9\u957F\u63A8\u8350"&&this.classes.push(a)}}async setHomeVod(){let t=await this.getHtml();this.homeVodList=await this.parseVodShortListFromDoc(t)}async setCategory(t,e,n,r){e<=0&&(e=1);let i=r.tag||"",l=this.siteUrl+"/movie_bt"+(i.length>0?`/movie_bt_tags/${i}`:"")+"/movie_bt_series/"+t+(e>1?`/page/${e}`:""),s=await this.getHtml(l);this.vodList=await this.parseVodShortListFromDocByCategory(s)}async setDetail(t){let e=await this.getHtml(t);this.vodDetail=await this.parseVodDetailFromDoc(e)}async setSearch(t,e){let n=await this.getHtml(this.siteUrl+"/xssearch?q="+t,this.getSearchHeader()),r=n.html();this.vodList=await this.parseVodShortListFromDocBySearch(n)}async setPlay(flag,id,flags){if(flag.indexOf("\u963F\u91CC\u4E91\u76D8")>-1)flag=flag.replaceAll("\u963F\u91CC\u4E91\u76D8-",""),this.playUrl=JSON.parse(await xl(flag,id,flags)).url;else if(id.indexOf("magnet")>-1)this.playUrl=id;else{let $=await this.getHtml(id),iframe=$("body iframe[src*=https]");if(iframe.length>0){let t=(await req(iframe[0].attribs.src,{headers:{Referer:id,"User-Agent":zr}})).content,e=Te(/var player = "(.*?)"/,t),n=Te(/var rand = "(.*?)"/,t),r=JSON.parse(Nxe(e,"VFBTzdujpR9FWBhe",n));this.playUrl=r.url}else{let js=$("script:contains(window.wp_nonce)").html(),group=js.match(/(var.*)eval\((\w*\(\w*\))\)/),md5=Ve,result=eval(group[1]+group[2]);this.playUrl=result.match(/url:.*?['"](.*?)['"]/)[1]}}}},Ut=new lS;async function Cxe(t){await Ut.init(t)}async function Rxe(t){return await Ut.home(t)}async function Ixe(){return await Ut.homeVod()}async function kxe(t,e,n,r){return await Ut.category(t,e,n,r)}async function Dxe(t){return await Ut.detail(t)}async function Pxe(t,e,n){return await Ut.play(t,e,n)}async function Lxe(t,e){return await Ut.search(t,e)}async function Fxe(t,e){return await Ut.proxy(t,e)}function YMe(){return{init:Cxe,home:Rxe,homeVod:Ixe,category:kxe,detail:Dxe,play:Pxe,proxy:Fxe,search:Lxe}}var sS=class extends Re{constructor(){super()}getName(){return Ut.getName()}getAppName(){return Ut.getAppName()}getJSName(){return Ut.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await Ut.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await Ut.initCookie(e.server.config.bilicookie),await Ut.spiderInit(e),Ut.cfgObj.code=0,Ut.catOpenStatus=!0,Ut.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await Ut.setClasses(),this.classes=Ut.classes}async setFilterObj(){await Ut.setFilterObj(),this.filterObj=Ut.filterObj}async setHomeVod(){await Ut.setHomeVod(),this.homeVodList=Ut.homeVodList}async setCategory(e,n,r,i){await Ut.setCategory(e,n,r,i),this.vodList=Ut.vodList}async setDetail(e){await Ut.setDetail(e),this.vodDetail=Ut.vodDetail}async setPlay(e,n,r){await Ut.setPlay(e,n,r),this.playUrl=Ut.playUrl,this.result=Ut.result}async setSearch(e,n,r){await Ut.setSearch(e,n,r),this.vodList=Ut.vodList,this.result=Ut.result}async setProxy(e,n){return await Ut.proxy(e,n)}},vo=new sS;async function mX(t,e){return await vo.init(t,e)}async function yX(t,e){return await vo.home(t,e)}async function jxe(t,e){return await vo.homeVod(t,e)}async function gX(t,e){return await vo.category(t,e)}async function vX(t,e){return await vo.detail(t,e)}async function _X(t,e){return await vo.play(t,e)}async function EX(t,e){return await vo.search(t,e)}async function Uxe(t,e){return await vo.proxy(t,e)}var bX={meta:{key:Ut.getJSName(),name:Ut.getName(),type:Ut.getType()},api:async t=>{t.post("/init",mX),t.post("/home",yX),t.post("/category",gX),t.post("/detail",vX),t.post("/play",_X),t.post("/search",EX),t.get("/proxy/:what/:ids/:end",Uxe)},spider:{init:mX,home:yX,homeVod:jxe,category:gX,detail:vX,play:_X,search:EX}};var aS=class extends Fe{constructor(){super(),this.siteUrl="https://www.cs1369.com"}getName(){return"\u{1F943}\u2503\u4E5D\u4E5D\u516D\u5F71\u89C6\u2503\u{1F943}"}getAppName(){return"\u4E5D\u4E5D\u516D\u5F71\u89C6"}getJSName(){return"jiujiuliu"}getType(){return 3}async parseVodShortListFromDoc(e){let n=[],r=e('[class="stui-vodlist clearfix"]').find("li");for(let i of r){let l=e(i).find('[class="stui-vodlist__thumb lazyload"]')[0],s=new Ne;s.vod_id=l.attribs.href,s.vod_name=l.attribs.title,s.vod_pic=l.attribs["data-original"],s.vod_remarks=e(e(l).find('[class="pic-text text-right"]')[0]).text(),n.push(s)}return n}async parseVodShortListFromDocBySearch(e){let n=[],r=e('[class="stui-pannel_bd"]').find("li");for(let i of r){let l=e(e(i).find('[class="thumb"]')[0]).find("a")[0],s=new Ne;s.vod_id=l.attribs.href,s.vod_name=l.attribs.title,s.vod_pic=l.attribs["data-original"],s.vod_remarks=Te(/类型:(.*?)地区/,e(e(i).find('[class="hidden-mi"]')[0]).text()),n.push(s)}return n}async parseVodDetailFromDoc(e){let n=new Be,r=e('[class="col-pd clearfix"]')[1],i=e(r).find('[class="stui-content__thumb"]')[0],l=[];for(let a of e('[class="stui-content__playlist clearfix"]').find("a")){let o=this.siteUrl+a.attribs.href,u=e(a).text();l.push(u+"$"+o)}n.vod_name=e(i).find('[class="stui-vodlist__thumb picture v-thumb"]')[0].attribs.title,n.vod_pic=e(i).find("img")[0].attribs["data-original"],n.vod_remarks=e(e(i).find('[class="pic-text text-right"]')[0]).text();let s=e(e(r).find('[class="data"]')).text().replaceAll("\xA0"," ");return n.type_name=Te(/类型:(.*?) /,s),n.vod_area=Te(/地区:(.*?) /,s),n.vod_year=Te(/年份:(.*?) /,s),n.vod_actor=Te(/主演:(.*?) /,s),n.vod_director=Te(/导演:(.*?) /,s),n.vod_content=e(e('[class="stui-pannel_bd"]').find('[class="col-pd"]')).text(),n.vod_play_from=["996"].join("$$$"),n.vod_play_url=[l.join("#")].join("$$$"),n}async setClasses(){let e=await this.fetch(this.siteUrl,null,this.getHeader());if(e!==null){let n=$e(e),r=n('[class="stui-header__menu type-slide"]').find("a");for(let i of r){let l={type_name:n(i).text(),type_id:"/show/id/"+i.attribs.href.split("/").slice(-1)[0].split(".")[0]};n(i).text()!=="\u9996\u9875"&&this.classes.push(l)}}}async getFilter(e){let n=e('[class="stui-pannel_hd"]'),r=[],i=0;for(let l=0;l<2;l++){let s=n[l],a=e(s).find("ul");if(l===0)for(let o of a){let u={key:(i+1).toString(),name:e(e(o).find("li")[0]).text(),value:[]};for(let c of e(o).find("li").slice(1))B.isEmpty(e(c).text())||(i===0?u.value.push({n:e(c).text(),v:e(c).find("a")[0].attribs.href.split("/").slice(-1)[0].split(".")[0]}):u.value.push({n:e(c).text(),v:e(c).text()}));r.push(u),i=i+1}else{let o={key:(i+1).toString(),name:e(e(s).find("li")[0]).text(),value:[]};o.value.push({n:"\u5168\u90E8",v:"time"});for(let u of e(s).find("li").slice(1))B.isEmpty(e(u).text())||o.value.push({n:e(u).text(),v:e(u).find("a")[0].attribs.href.split("/")[3]});r.push(o)}}return r}async setFilterObj(){for(let e of this.classes){let n=e.type_id;if(n!=="/"&&n!=="\u6700\u8FD1\u66F4\u65B0"){let r=this.siteUrl+n+".html",i=await this.fetch(r,null,this.getHeader());if(i!=null){let l=$e(i);this.filterObj[n]=await this.getFilter(l)}}}}async setHomeVod(){let e=await this.fetch(this.siteUrl,null,this.getHeader());if(e!=null){let n=$e(e);this.homeVodList=await this.parseVodShortListFromDoc(n)}}getParams(e,n){let r=n??"\u5168\u90E8";return r==="\u5168\u90E8"||r===void 0?"":e+n}async setCategory(e,n,r,i){let l=this.getParams("/id/",i[1]);B.isEmpty(l)&&(l="/id/"+e.split("/").slice(-1)[0]);let s=this.getParams("/class/",i[2]),a=this.getParams("/area/",i[3]),o=this.getParams("/year/",i[4]),u=this.getParams("/lang/ ",i[5]),c=this.getParams("/letter/ ",i[6]),f=this.getParams("/by/",i[7]),m=this.siteUrl+`/show${a}${f}${s}${l}${u}${c}${o}/page/${n.toString()}.html`;await this.jadeLog.info(`\u7C7B\u522BURL\u4E3A:${m}`),this.limit=36;let d=await this.fetch(m,null,this.getHeader());if(d!=null){let y=$e(d);this.vodList=await this.parseVodShortListFromDoc(y)}}async setDetail(e){let n=this.siteUrl+e,r=await this.fetch(n,null,this.getHeader());if(r!=null){let i=$e(r);this.vodDetail=await this.parseVodDetailFromDoc(i)}}async setSearch(e,n){let r=this.siteUrl+`/search.html?wd=${e}`,i=await this.fetch(r,null,this.getHeader());if(i!=null){let s=$e(i);this.vodList=await this.parseVodShortListFromDocBySearch(s)}let l=0}async setPlay(e,n,r){let i=await this.fetch(n,null,this.getHeader());if(i!==null){let l=Te(/player_aaaa=(.*?)<\/script>/,i),s=JSON.parse(l);try{this.playUrl=decodeURIComponent(Ve.enc.Utf8.stringify(Ve.enc.Base64.parse(s.url))),this.header=this.getHeader()}catch{this.playUrl=s.url}}}},wn=new aS;var oS=class extends Re{constructor(){super()}getName(){return wn.getName()}getAppName(){return wn.getAppName()}getJSName(){return wn.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await wn.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await wn.initCookie(e.server.config.bilicookie),await wn.spiderInit(e),wn.cfgObj.code=0,wn.catOpenStatus=!0,wn.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await wn.setClasses(),this.classes=wn.classes}async setFilterObj(){await wn.setFilterObj(),this.filterObj=wn.filterObj}async setHomeVod(){await wn.setHomeVod(),this.homeVodList=wn.homeVodList}async setCategory(e,n,r,i){await wn.setCategory(e,n,r,i),this.vodList=wn.vodList}async setDetail(e){await wn.setDetail(e),this.vodDetail=wn.vodDetail}async setPlay(e,n,r){await wn.setPlay(e,n,r),this.playUrl=wn.playUrl,this.result=wn.result}async setSearch(e,n,r){await wn.setSearch(e,n,r),this.vodList=wn.vodList,this.result=wn.result}async setProxy(e,n){return await wn.proxy(e,n)}},_o=new oS;async function wX(t,e){return await _o.init(t,e)}async function SX(t,e){return await _o.home(t,e)}async function Mxe(t,e){return await _o.homeVod(t,e)}async function TX(t,e){return await _o.category(t,e)}async function xX(t,e){return await _o.detail(t,e)}async function AX(t,e){return await _o.play(t,e)}async function OX(t,e){return await _o.search(t,e)}async function $xe(t,e){return await _o.proxy(t,e)}var NX={meta:{key:wn.getJSName(),name:wn.getName(),type:wn.getType()},api:async t=>{t.post("/init",wX),t.post("/home",SX),t.post("/category",TX),t.post("/detail",xX),t.post("/play",AX),t.post("/search",OX),t.get("/proxy/:what/:ids/:end",$xe)},spider:{init:wX,home:SX,homeVod:Mxe,category:TX,detail:xX,play:AX,search:OX}};var uS=class extends Fe{constructor(){super(),this.siteUrl="https://www.bilibili.com",this.apiUrl="https://api.bilibili.com",this.cookie="",this.bili_jct="",this.is_login=!1,this.is_vip=!1,this.vod_audio_id={30280:192e3,30232:132e3,30216:64e3},this.vod_codec={12:"HEVC",7:"AVC"},this.play_url_obj={80:"1080P \u9AD8\u6E05",64:"720P \u9AD8\u6E05",32:"420P \u6E05\u6670",16:"360P \u6D41\u7545"}}getHeader(){let e=super.getHeader();return B.isEmpty(this.cookie)||(e.cookie=this.cookie),e}initCookie(e){this.cookie=e,e.includes("bili_jct")&&(this.bili_jct=e.split("bili_jct=")[1].split(";")[0])}async spiderInit(e){this.is_login=await this.checkLogin(),this.is_login?await this.jadeLog.info("\u54D4\u54E9\u54D4\u54E9\u767B\u5F55\u6210\u529F",!0):await this.jadeLog.error("\u54D4\u54E9\u54D4\u54E9\u767B\u5F55\u5931\u8D25",!0),e===null?this.js2Base=await js2Proxy(!0,this.siteType,this.siteKey,"dash/",this.getHeader()):this.js2Base=await js2Proxy(e,"dash",this.getHeader())}async init(e){await super.init(e),await this.initCookie(this.cfgObj.cookie),await this.spiderInit(null),this.danmuStaus=!0}getName(){return"\u{1F3F0}\u2503\u54D4\u54E9\u54D4\u54E9\u2503\u{1F3F0}"}getAppName(){return"\u54D4\u54E9\u54D4\u54E9"}getJSName(){return"bilibili"}getType(){return 3}async setClasses(){let e=await this.getHtml(this.siteUrl),n=e('[class="channel-items__left"]').find("a");for(let r of n)this.classes.push(this.getTypeDic(e(r).text(),e(r).text()));!B.isEmpty(this.bili_jct)&&this.is_login&&this.classes.push(this.getTypeDic("\u5386\u53F2\u8BB0\u5F55","\u5386\u53F2\u8BB0\u5F55"))}async getFilter(e){return[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"0"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8\u65F6\u957F",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}]}async setFilterObj(){for(let e of this.classes){let n=e.type_name;n!=="\u6700\u8FD1\u66F4\u65B0"&&n!=="\u5386\u53F2\u8BB0\u5F55"&&(this.filterObj[n]=await this.getFilter())}}getFullTime(e){let n="";try{let r=e.split(":"),i=parseInt(r[0]),l=parseInt(r[1]);n=i*60+l}catch{n=parseInt(e)}if(isNaN(n))return"\u65E0\u6548\u8F93\u5165";if(n>=3600){let r=Math.floor(n/3600),i=n%3600,l=Math.floor(i/60),s=i%60;return`${r}\u5C0F\u65F6 ${l}\u5206\u949F ${s}\u79D2`}else{let r=Math.floor(n/60),i=n%60;return`${r}\u5206\u949F ${i}\u79D2`}}removeTags(e){return e.replace(/<[^>]*>/g,"")}async parseVodShortListFromJson(e){let n=[];for(let r of e){let i=new Ne;i.vod_id=r.bvid,r.hasOwnProperty("rcmd_reason")?i.vod_remarks=r.rcmd_reason.content:i.vod_remarks=this.getFullTime(r.duration),i.vod_name=this.removeTags(r.title);let l=r.pic;l.startsWith("//")&&(l="https:"+l),i.vod_pic=l,n.push(i)}return n}async parseVodDetailfromJson(e,n){let r=this.getFullTime(e.duration),i=e.aid,l=new Be;l.vod_name=e.title,l.vod_pic=e.pic,l.type_name=e.tname,l.vod_remarks=r,l.vod_content=e.desc;let s={avid:i,cid:e.cid,qn:"127",fnval:4048,fourk:1},o=JSON.parse(await this.fetch(this.apiUrl+"/x/player/playurl",s,this.getHeader())).data,u=o.accept_quality,c=o.accept_description,f=[],m=[];for(let E=0;E<u.length;E++){if(!this.is_vip){if(this.is_login){if(u[E]>80)continue}else if(u[E]>32)continue}m.push(ti(c[E])),f.push(u[E])}let d={},y=e.pages,_=[];for(let E=0;E<y.length;E++){let v=y[E].cid,x=E+"$"+i+"+"+v+"+"+f.join(":")+"+"+m.join(":");_.push(x)}if(this.catOpenStatus)for(let E of f)d[`dash - ${this.play_url_obj[E]}`]=_.join("#");else await this.jadeLog.warning("TV\u6682\u4E0D\u652F\u6301Dash\u64AD\u653E");for(let E of f)d[`mp4 - ${this.play_url_obj[E]}`]=_.join("#");let S={bvid:n},w=JSON.parse(await this.fetch(this.apiUrl+"/x/web-interface/archive/related",S,this.getHeader())).data;_=[];for(let E=0;E<w.length;E++){let g=w[E],v=g.cid,x=g.title,O=g.aid,N=x+"$"+O+"+"+v+"+"+f.join(":")+"+"+m.join(":");_.push(N)}if(this.catOpenStatus)for(let E of f)d[`\u76F8\u5173 - ${this.play_url_obj[E]}`]=_.join("#");else await this.jadeLog.warning("TV\u6682\u4E0D\u652F\u6301\u76F8\u5173\u64AD\u653E");return l.vod_play_from=Object.keys(d).join("$$$"),l.vod_play_url=Object.values(d).join("$$$"),l}async setHomeVod(){let e={ps:20},n=await this.fetch(this.apiUrl+"/x/web-interface/popular",e,this.getHeader());this.homeVodList=await this.parseVodShortListFromJson(JSON.parse(n).data.list)}async setDetail(e){let n=this.apiUrl+"/x/web-interface/view",r={bvid:e},i=JSON.parse(await this.fetch(n,r,this.getHeader())).data;if(!B.isEmpty(this.bili_jct)){let l=this.apiUrl+"/x/v2/history/report",s={aid:i.aid,cid:i.cid,csrf:this.bili_jct};await this.post(l,s,this.getHeader(),"form")}this.vodDetail=await this.parseVodDetailfromJson(i,e)}findKeyByValue(e,n){for(let r in e)if(e[r]===n)return r;return null}async setPlay(e,n,r){let i=n.split("+"),l=i[0],s=i[1],a=e.split(" - ")[1],o=this.findKeyByValue(this.play_url_obj,a);if(this.danmuUrl=this.apiUrl+"/x/v1/dm/list.so?oid="+s,this.result.header=this.getHeader(),e.indexOf("dash")>-1||e.indexOf("\u76F8\u5173")>-1)this.catOpenStatus&&(this.playUrl=this.js2Base+ti(l+"+"+s+"+"+o));else if(e.indexOf("mp4")>-1){let u=this.apiUrl+"/x/player/playurl",c={avid:l,cid:s,qn:parseInt(o),fourk:"1"},m=JSON.parse(await this.fetch(u,c,this.getHeader())).data;this.playUrl=m.durl[0].url}else{let u=[],c=[],f=this.siteUrl+"/x/player/playurl",m={avid:l,cid:s,qn:o,fnval:4048,fourk:1},y=JSON.parse(await this.fetch(f,m,this.getHeader())).data.dash,_=y.video,S=y.audio;for(let w=0;w<_.length;w++){let E=_[w];if(E.id===o)for(let g in this.vod_codec)E.codecid===g&&u.push(vi(o)+" "+this.vod_codec[g],E.baseUrl)}if(c.length===0){for(let w=0;w<S.length;w++){let E=S[w];for(let g in this.vod_audio_id)E.id===g&&c.push({title:B.floor(parseInt(this.vod_audio_id[g])/1024)+"Kbps",bit:this.vod_audio_id[g],url:E.baseUrl})}c=B.sortBy(c,"bit")}this.playUrl=u,this.extra={audio:c}}}async checkLogin(){let e=JSON.parse(await this.fetch("https://api.bilibili.com/x/web-interface/nav",null,this.getHeader()));return this.is_vip=e.data.vipStatus,e.data.isLogin}async setCategory(e,n,r,i){let l;parseInt(n)<1?l=1:l=parseInt(n),Object.keys(i).length>0&&i.hasOwnProperty("tid")&&i.tid.length>0&&(e=i.tid);let s="";if(s=this.apiUrl+`/x/web-interface/search/type?search_type=video&keyword=${encodeURIComponent(e)}`,Object.keys(i).length>0)for(let u in i)u!=="tid"&&(s+=`&${encodeURIComponent(u)}=${encodeURIComponent(i[u])}`);s+=`&page=${encodeURIComponent(l)}`,e==="\u5386\u53F2\u8BB0\u5F55"&&(s=this.apiUrl+"/x/v2/history?pn="+l);let a=JSON.parse(await this.fetch(s,null,this.getHeader())).data,o=a.result;e==="\u5386\u53F2\u8BB0\u5F55"&&(o=a),this.vodList=await this.parseVodShortListFromJson(o)}async setSearch(e,n,r){let i={duration:"0"},l=parseInt(r),s=20,a=JSON.parse(await this.category(e,l,!0,i));this.vodList=a.list;let o=l;this.vodList.length===s&&(o=l+1),this.result.setPage(l,o,s,o)}getDashMedia(e){try{let n=e.id,r=e.codecid,i=e.codecs,l=e.bandwidth,s=e.startWithSap,a=e.mimeType,o=e.baseUrl.replace(/&/g,"&"),u=e.SegmentBase.indexRange,c=e.SegmentBase.Initialization,f=a.split("/")[0],m="";if(f==="video"){let d=e.frameRate,y=e.sar,_=e.width;m=`height='${e.height}' width='${_}' frameRate='${d}' sar='${y}'`}else if(f==="audio")for(let d in this.vod_audio_id)n===d&&(m=`numChannels='2' sampleRate='${this.vod_audio_id[d]}'`);return n+="_"+r,`<AdaptationSet lang="chi">
|
||||
<ContentComponent contentType="${f}"/>
|
||||
<Representation id="${n}" bandwidth="${l}" codecs="${i}" mimeType="${a}" ${m} startWithSAP="${s}">
|
||||
<BaseURL>${o}</BaseURL>
|
||||
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
3fafbf5c659be0299f3d22455362a9db
|
||||
21a00d0aa438a244ab9eab1dbbd742c0
|
||||
@@ -481,5 +481,5 @@
|
||||
"logo": "https://epg.112114.xyz/logo/{name}.png"
|
||||
}
|
||||
],
|
||||
"wallpaper": "http://饭太硬.top/深色壁纸/api.php"
|
||||
"wallpaper": "https://api.likepoems.com/img/bing"
|
||||
}
|
||||
@@ -0,0 +1,348 @@
|
||||
/*
|
||||
* @File : cntv.js
|
||||
* @Author : jade
|
||||
* @Date : 2024/4/25 10:26
|
||||
* @Email : [email protected]
|
||||
* @Software : Samples
|
||||
* @Desc :
|
||||
*/
|
||||
import {Spider} from "./spider.js";
|
||||
import {_} from "../lib/cat.js";
|
||||
import * as Utils from "../lib/utils.js";
|
||||
import {VodDetail, VodShort} from "../lib/vod.js";
|
||||
import * as util from "util";
|
||||
import {it} from "node:test";
|
||||
|
||||
class CNTVSpider extends Spider {
|
||||
constructor() {
|
||||
super();
|
||||
this.siteUrl = "https://tv.cctv.com/m/index.shtml"
|
||||
this.apiUrl = "https://api.app.cctv.com"
|
||||
|
||||
}
|
||||
|
||||
getName() {
|
||||
return "🤵♂️┃中央影视┃🤵♂️"
|
||||
}
|
||||
|
||||
getAppName() {
|
||||
return "中央影视"
|
||||
}
|
||||
|
||||
getJSName() {
|
||||
return "cntv"
|
||||
}
|
||||
|
||||
getType() {
|
||||
return 3
|
||||
}
|
||||
|
||||
|
||||
async getFilterByLive(dataList) {
|
||||
let extend_list = []
|
||||
let extend_dic = {"key": "live", "name": "直播", "value": []}
|
||||
for (const data of dataList) {
|
||||
if (data["appBarTitle"] !== "最近常看") {
|
||||
extend_dic["value"].push({"n": data["appBarTitle"], "v": data["pageId"]})
|
||||
}
|
||||
}
|
||||
extend_list.push(extend_dic)
|
||||
return extend_list
|
||||
}
|
||||
|
||||
arrayIsinclude(str,items){
|
||||
let isInclude = false
|
||||
for (const data of items){
|
||||
if (str === data["title"]){
|
||||
return true
|
||||
}
|
||||
}
|
||||
return isInclude
|
||||
}
|
||||
|
||||
async getFilterByTv(dataList) {
|
||||
let extend_list = []
|
||||
for (const data of dataList) {
|
||||
let add_year_status = false
|
||||
let extend_dic = {"key": data["classname"], "name": data["title"], "value": []}
|
||||
for (const extendData of data["items"]) {
|
||||
if (data["classname"] === "nianfen") {
|
||||
if (!this.arrayIsinclude("2024",data["items"]) && extendData["title"] !== "全部" && !add_year_status) {
|
||||
extend_dic["value"].push({"n": "2024", "v": "2024"})
|
||||
add_year_status = true
|
||||
}
|
||||
}
|
||||
extend_dic["value"].push({"n": extendData["title"], "v":extendData["title"]})
|
||||
}
|
||||
extend_list.push(extend_dic)
|
||||
}
|
||||
return extend_list
|
||||
}
|
||||
|
||||
async setClasses() {
|
||||
let liveTypeId = "cctvlive"
|
||||
let liveApi = this.apiUrl + `/api/navigation/iphone/AppStore/7.9.4/${liveTypeId}`
|
||||
let liveJson = JSON.parse(await this.fetch(liveApi, null, this.getHeader()))
|
||||
let extend_list = await this.getFilterByLive(liveJson["data"]["templates"])
|
||||
let defaultLiveId = extend_list[0]["value"][0]["v"]
|
||||
this.classes.push(this.getTypeDic("直播", defaultLiveId))
|
||||
this.filterObj[defaultLiveId] = extend_list
|
||||
let tvApi = "https://cbox.cctv.com/cboxpcvip/online2022/yxg/data1.jsonp?=pk"
|
||||
let tvContent = await this.fetch(tvApi, null, this.getHeader())
|
||||
let tvJSon = JSON.parse(tvContent.replaceAll("pk(", "").replaceAll(")", ""))
|
||||
for (const data of tvJSon["data"]) {
|
||||
let typeName = data["title"]
|
||||
this.classes.push(this.getTypeDic(typeName, typeName))
|
||||
this.filterObj[typeName] = await this.getFilterByTv(data["templates"])
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
parseVodShortByJson(items) {
|
||||
let vod_list = []
|
||||
for (const item of items) {
|
||||
let vodShort = new VodShort()
|
||||
vodShort.vod_pic = item["img1"]
|
||||
if (_.isEmpty(vodShort.vod_pic)) {
|
||||
vodShort.vod_pic = item["epgHorizontalPic"]
|
||||
vodShort.vod_id = "live-" + item["epgChnlChar"] + "-" + vodShort.vod_pic
|
||||
} else {
|
||||
vodShort.vod_id = "play-" + item["playid"] + "-" + vodShort.vod_pic
|
||||
vodShort.vod_pic = item["img1"]
|
||||
}
|
||||
vodShort.vod_name = item["title"]
|
||||
vod_list.push(vodShort)
|
||||
}
|
||||
return vod_list
|
||||
}
|
||||
|
||||
parseVodShortByTvJson(items) {
|
||||
let vod_list = []
|
||||
for (const item of items) {
|
||||
let vodShort = new VodShort()
|
||||
//关键是如何获取GUID 2d3224585904496ea837f682da0c4aa6
|
||||
vodShort.vod_id = "url-" + item["vsetid"]
|
||||
vodShort.vod_name = item["title"]
|
||||
vodShort.vod_pic = item["image"]
|
||||
vodShort.vod_remarks = item["sc"]
|
||||
vod_list.push(vodShort)
|
||||
}
|
||||
return vod_list
|
||||
}
|
||||
|
||||
async parseVodShortListFromJson(objList) {
|
||||
let vod_list = []
|
||||
let top_status = false
|
||||
for (const data of objList) {
|
||||
if (data["title"] === "今日热点") {
|
||||
top_status = true
|
||||
} else if (!_.isEmpty(data["title"])) {
|
||||
if (top_status) {
|
||||
break
|
||||
}
|
||||
}
|
||||
if (top_status) {
|
||||
vod_list = [...vod_list, ...this.parseVodShortByJson(data["items"])]
|
||||
}
|
||||
}
|
||||
return vod_list
|
||||
}
|
||||
|
||||
async getLiveUrl(channel_id, obj) {
|
||||
let liveApiUrl = `https://vdn.live.cntv.cn/api2/live.do?channel=pd://cctv_p2p_hd${channel_id}&client=iosapp`
|
||||
let liveResponse = await req(liveApiUrl, {"headers": this.getHeader()})
|
||||
let liveJson = JSON.parse(liveResponse["content"])
|
||||
let playList = {}
|
||||
playList["直播"] = ["点击播放$" + liveJson["hls_url"]["hls2"]]
|
||||
await this.jadeLog.info(`liveJson:${JSON.stringify(liveJson)}`)
|
||||
let vod_items = []
|
||||
for (const data of obj["program"]) {
|
||||
let episodeName = data["showTime"] + "-" + data["t"]
|
||||
let episodeUrl = liveJson["hls_url"]["hls1"] + `?begintimeabs=${data["st"] * 1000}&endtimeabs=${data["et"] * 1000}`
|
||||
vod_items.push(episodeName + "$" + episodeUrl)
|
||||
}
|
||||
playList["点播"] = vod_items.join("#")
|
||||
return playList
|
||||
}
|
||||
|
||||
|
||||
async getVideoUrl(guid) {
|
||||
return {"中央影视": ['点击播放' + '$' + guid].join("#")}
|
||||
}
|
||||
|
||||
async parseVodDetailfromJson(id, obj, pic) {
|
||||
let vodDetail = new VodDetail()
|
||||
let $;
|
||||
let guid;
|
||||
if (obj["url"] !== undefined) {
|
||||
vodDetail.vod_name = obj["title"]
|
||||
vodDetail.vod_pic = obj["img"]
|
||||
vodDetail.type_name = obj["tags"]
|
||||
vodDetail.vod_year = obj["time"]
|
||||
vodDetail.vod_content = obj["vset_brief"]
|
||||
vodDetail.vod_director = obj["vset_title"]
|
||||
$ = await this.getHtml(obj["url"])
|
||||
} else {
|
||||
if (_.isEmpty(obj["lvUrl"])) {
|
||||
vodDetail.vod_name = obj["channelName"]
|
||||
vodDetail.vod_pic = pic
|
||||
} else {
|
||||
$ = await this.getHtml(obj["lvUrl"])
|
||||
vodDetail.vod_name = $('[property$=title]')[0].attribs.content
|
||||
vodDetail.vod_content = $('[property$=description]')[0].attribs.content
|
||||
let pic = $('[property$=image]')[0].attribs.content
|
||||
if (!pic.startsWith("http")) {
|
||||
pic = "https:" + pic
|
||||
}
|
||||
vodDetail.vod_pic = pic
|
||||
}
|
||||
|
||||
}
|
||||
if (!_.isEmpty($)) {
|
||||
guid = Utils.getStrByRegex(/var guid = "(.*?)"/, $.html())
|
||||
}
|
||||
let playlist
|
||||
if (_.isEmpty(guid) && obj["url"] === undefined) {
|
||||
playlist = await this.getLiveUrl(id, obj)
|
||||
} else {
|
||||
playlist = await this.getVideoUrl(guid)
|
||||
}
|
||||
vodDetail.vod_play_url = _.values(playlist).join('$$$');
|
||||
vodDetail.vod_play_from = _.keys(playlist).join('$$$');
|
||||
return vodDetail
|
||||
}
|
||||
|
||||
async parseVodDetailFromJsonByTv(obj) {
|
||||
let vodDetail = new VodDetail()
|
||||
vodDetail.vod_name = obj["videoSetInfo"]["title"]
|
||||
vodDetail.type_name = obj["videoSetInfo"]["sc"]
|
||||
vodDetail.vod_pic = obj["videoSetInfo"]["image"]
|
||||
vodDetail.vod_content = obj["videoSetInfo"]["brief"]
|
||||
vodDetail.vod_area = obj["videoSetInfo"]["area"]
|
||||
let playlist = {}
|
||||
let vodItems = []
|
||||
for (const data of obj["videoRoughCut"]) {
|
||||
let title = data["title"].split("》").slice(-1)[0]
|
||||
vodItems.push(title + "$" + data["guid"])
|
||||
}
|
||||
playlist["中央影视"] = vodItems.join("#")
|
||||
vodDetail.vod_play_url = _.values(playlist).join('$$$');
|
||||
vodDetail.vod_play_from = _.keys(playlist).join('$$$');
|
||||
return vodDetail
|
||||
}
|
||||
|
||||
async setHomeVod() {
|
||||
let resJson = JSON.parse(await this.fetch(this.apiUrl + "/api/page/iphone/HandheldApplicationSink/7.0.0/158", null, this.getHeader()))
|
||||
this.homeVodList = await this.parseVodShortListFromJson(resJson["data"]["templates"])
|
||||
}
|
||||
|
||||
getExtendValue(extend,key){
|
||||
if (extend[key] !== undefined && extend[key] !== "全部"){
|
||||
return extend[key]
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
async setCategory(tid, pg, filter, extend) {
|
||||
if (Utils.isNumeric(tid)) {
|
||||
tid = extend["live"] ?? tid
|
||||
let url = this.apiUrl + `/api/page/iphone/HandheldApplicationSink/7.0.0/${tid}`
|
||||
let response = JSON.parse(await this.fetch(url, null, this.getHeader()))
|
||||
this.vodList = this.parseVodShortByJson(response["data"]["templates"][0]["items"])
|
||||
} else {
|
||||
let letter = this.getExtendValue(extend,"zimu")
|
||||
let area = this.getExtendValue(extend,"diqu")
|
||||
let type = this.getExtendValue(extend,"leixing")
|
||||
let year = this.getExtendValue(extend,"nianfen")
|
||||
const limit = 12
|
||||
let url = "https://api.cntv.cn" + `/newVideoset/getCboxVideoAlbumList`
|
||||
let params = {
|
||||
"channelid": "",
|
||||
"sc": type,
|
||||
"fc": tid,
|
||||
"p": pg,
|
||||
"n": limit,
|
||||
"fl": letter,
|
||||
"area": area,
|
||||
"year": year,
|
||||
"serviceId": "cbox"
|
||||
}
|
||||
let resJson = JSON.parse(await this.fetch(url, params, this.getHeader()))
|
||||
this.vodList = this.parseVodShortByTvJson(resJson["data"]["list"])
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
async setDetail(id) {
|
||||
//区分直播还是点播
|
||||
let aList = id.split("-")
|
||||
let playType = aList[0]
|
||||
let pic = aList[2]
|
||||
id = aList[1]
|
||||
if (playType === "play") {
|
||||
let resJson = JSON.parse(await this.fetch(`https://api.cntv.cn/video/videoinfoByGuid?serviceId=cbox&guid=${id}`, null, this.getHeader()))
|
||||
this.vodDetail = await this.parseVodDetailfromJson(id, resJson, pic)
|
||||
} else if (playType === "url") {
|
||||
let url = `https://api.app.cctv.com/api/getVideoPageDetail?videoSetContentId=${id}`
|
||||
let resJson = JSON.parse(await this.fetch(url, null, this.getHeader()))
|
||||
this.vodDetail = await this.parseVodDetailFromJsonByTv(resJson["data"])
|
||||
} else {
|
||||
let content = (await this.fetch(`https://api.cntv.cn/epg/epginfo3?serviceId=shiyi&c=${id}&cb=LiveTileShow.prototype.getEpg`, null, this.getHeader())).replaceAll("LiveTileShow.prototype.getEpg(", "").replaceAll(");", "")
|
||||
this.vodDetail = await this.parseVodDetailfromJson(id, JSON.parse(content)[id], pic)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
async setSearch(wd, quick, pg) {
|
||||
|
||||
}
|
||||
|
||||
async setPlay(flag, id, flags) {
|
||||
if (id.startsWith("http")) {
|
||||
this.playUrl = id
|
||||
let headers = this.getHeader()
|
||||
headers["Referer"] = "https://tv.cctv.com/"
|
||||
this.result.header = headers
|
||||
} else {
|
||||
this.playUrl = 'https://hls.cntv.myhwcdn.cn/asp/hls/2000/0303000a/3/default/' + id + '/2000.m3u8'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let spider = new CNTVSpider()
|
||||
|
||||
async function init(cfg) {
|
||||
await spider.init(cfg)
|
||||
}
|
||||
|
||||
async function home(filter) {
|
||||
return await spider.home(filter)
|
||||
}
|
||||
|
||||
async function homeVod() {
|
||||
return await spider.homeVod()
|
||||
}
|
||||
|
||||
async function category(tid, pg, filter, extend) {
|
||||
return await spider.category(tid, pg, filter, extend)
|
||||
}
|
||||
|
||||
async function detail(id) {
|
||||
return await spider.detail(id)
|
||||
}
|
||||
|
||||
async function play(flag, id, flags) {
|
||||
return await spider.play(flag, id, flags)
|
||||
}
|
||||
|
||||
async function search(wd, quick) {
|
||||
return await spider.search(wd, quick)
|
||||
}
|
||||
|
||||
export function __jsEvalReturn() {
|
||||
return {
|
||||
init: init, home: home, homeVod: homeVod, category: category, detail: detail, play: play, search: search,
|
||||
};
|
||||
}
|
||||
|
||||
export {spider, CNTVSpider}
|
||||
+1
-1
@@ -13,7 +13,7 @@ class DuboSpider extends TianTianSpider {
|
||||
super();
|
||||
this.siteUrl = "http://v.rbotv.cn"
|
||||
this.cookie = ""
|
||||
this.extendObj = {"extend": "类型", "area": "地区", "lang": "语言", "year": "年代"}
|
||||
this.extendObj = {"extend": "类型", "area": "地区", "year": "年代"}
|
||||
this.parseMap = {};
|
||||
|
||||
}
|
||||
|
||||
+13
-47
@@ -1,4 +1,5 @@
|
||||
import {__jsEvalReturn} from './tiantian.js';
|
||||
import {__jsEvalReturn} from './cntv.js';
|
||||
|
||||
import * as Utils from "../lib/utils.js";
|
||||
|
||||
|
||||
@@ -50,20 +51,21 @@ async function testMusicPlay(vodDetail) {
|
||||
}
|
||||
|
||||
async function test() {
|
||||
let siteKey = 'tiantian';
|
||||
let siteType = 0;
|
||||
let siteKey = 'cntv';
|
||||
let siteType = 3;
|
||||
await spider.init({
|
||||
skey: siteKey, stype: siteType, ext: {
|
||||
"token": "6827db23e5474d02a07fd7431d3d5a5a",
|
||||
"box": "TV",
|
||||
"code": "1",
|
||||
"from": "tiantian",
|
||||
"from": "cntv",
|
||||
"danmu": true,
|
||||
"cookie": "buvid3=02675249-8ED3-C418-87F5-59E18316459714816infoc; b_nut=1704421014; _uuid=5D435F74-F574-D9AB-62C1-B9294DE465D913102infoc; buvid_fp=e8c5650c749398e9b5cad3f3ddb5081e; buvid4=007E85D1-52C1-7E6E-07CF-837FFBC9349516677-024010502-J5vTDSZDCw4fNnXRejbSVg%3D%3D; rpdid=|()kYJmulRu0J'u~|RRJl)JR; PVID=1; SESSDATA=3be091d3%2C1720332009%2C699ed%2A11CjAcCdwXG5kY1umhCOpQHOn_WP7L9xFBfWO7KKd4BPweodpR6VyIfeNyPiRmkr5jCqsSVjg0R0dZOVVHRUo3RnhPRTZFc3JPbGdiUjFCdHpiRDhiTkticmdKTjVyS1VhbDdvNjFMSDJlbUJydUlRdjFUNGFBNkJlV2ZTa0N1Q1BEVi1QYTQzTUh3IIEC; bili_jct=b0ee7b5d3f27df893545d811d95506d4; DedeUserID=78014638; DedeUserID__ckMd5=4c8c5d65065e468a; enable_web_push=DISABLE; header_theme_version=CLOSE; home_feed_column=5; CURRENT_BLACKGAP=0; CURRENT_FNVAL=4048; b_lsid=75E916AA_18EA1A8D995; bsource=search_baidu; FEED_LIVE_VERSION=V_HEADER_LIVE_NO_POP; browser_resolution=1507-691; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTIzNjk5MTMsImlhdCI6MTcxMjExMDY1MywicGx0IjotMX0.8zQW_fNTCSBlK_JkHnzu3gDw62wuTK1qgKcbGec3swM; bili_ticket_expires=171236985"
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
let classes = JSON.parse(await spider.home(true));
|
||||
console.debug(JSON.stringify(classes))
|
||||
|
||||
@@ -71,56 +73,20 @@ async function test() {
|
||||
let homeVod = JSON.parse(await spider.homeVod())
|
||||
console.debug(JSON.stringify(homeVod));
|
||||
|
||||
|
||||
//测试分类
|
||||
let catePage = JSON.parse(await spider.category("1", "2", undefined, {"extend":"动作"}));
|
||||
// 测试分类
|
||||
let catePage = JSON.parse(await spider.category("72", "1", undefined, {}));
|
||||
console.debug(JSON.stringify(catePage));
|
||||
|
||||
// 测试搜索
|
||||
let search_page = JSON.parse(await spider.search("万相之王",false,1))
|
||||
console.debug(JSON.stringify(search_page))
|
||||
|
||||
// 测试详情
|
||||
let detail1 = JSON.parse(await spider.detail("/diyi/2449/"))
|
||||
let play = JSON.parse(await spider.play("全卷","闻萱-/diyi/2449/43822990.html"))
|
||||
// 测试详情
|
||||
let detail1 = JSON.parse(await spider.detail("live-cctv2-https://app.cctv.com/special/appchannellogo/rectangle/l/cctv2.png?q=75"))
|
||||
await testPlay(detail1)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 测试搜索
|
||||
let search_page = JSON.parse(await spider.search("万相之王",false,1))
|
||||
console.debug(JSON.stringify(search_page))
|
||||
|
||||
|
||||
|
||||
|
||||
+18
-18
@@ -16,9 +16,8 @@ class TianTianSpider extends Spider {
|
||||
super();
|
||||
this.siteUrl = "http://op.ysdqjs.cn"
|
||||
this.cookie = ""
|
||||
this.extendObj = {"extend": "类型", "area": "地区", "lang": "语言", "year": "年代"}
|
||||
this.extendObj = {"extend": "类型", "area": "地区", "year": "年代"}
|
||||
this.parseMap = {};
|
||||
|
||||
}
|
||||
|
||||
async request(reqUrl, method, data) {
|
||||
@@ -74,7 +73,7 @@ class TianTianSpider extends Spider {
|
||||
|
||||
async init(cfg) {
|
||||
await super.init(cfg);
|
||||
this.danmuStaus = false
|
||||
this.danmuStaus = true
|
||||
}
|
||||
|
||||
generateParam(tid, pg, extend, limit) {
|
||||
@@ -100,22 +99,24 @@ class TianTianSpider extends Spider {
|
||||
let extend_list = []
|
||||
Object.keys(data).forEach(key => {
|
||||
if (Array.isArray(data[key])) {
|
||||
let extend_dic = {"key": key, "name": this.extendObj[key], "value": []}
|
||||
let add_year_status = false
|
||||
for (const extend_data of data[key]) {
|
||||
if (key === "year") {
|
||||
if (!data[key].includes("2024") && extend_data !== "全部" && !add_year_status) {
|
||||
extend_dic["value"].push({"n": "2024", "v": "2024"})
|
||||
add_year_status = true
|
||||
if (!_.isEmpty(this.extendObj[key])) {
|
||||
let extend_dic = {"key": key, "name": this.extendObj[key], "value": []}
|
||||
let add_year_status = false
|
||||
for (const extend_data of data[key]) {
|
||||
if (key === "year") {
|
||||
if (!data[key].includes("2024") && extend_data !== "全部" && !add_year_status) {
|
||||
extend_dic["value"].push({"n": "2024", "v": "2024"})
|
||||
add_year_status = true
|
||||
}
|
||||
}
|
||||
if (!_.isEmpty(extend_data)) {
|
||||
extend_dic["value"].push({"n": extend_data, "v": extend_data})
|
||||
}
|
||||
}
|
||||
if (!_.isEmpty(extend_data)) {
|
||||
extend_dic["value"].push({"n": extend_data, "v": extend_data})
|
||||
}
|
||||
|
||||
}
|
||||
if (extend_dic["value"].length > 1) {
|
||||
extend_list.push(extend_dic)
|
||||
}
|
||||
if (extend_dic["value"].length > 1) {
|
||||
extend_list.push(extend_dic)
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -210,7 +211,6 @@ class TianTianSpider extends Spider {
|
||||
async setPlay(flag, id, flags) {
|
||||
const parsers = this.parseMap[flag];
|
||||
if (flag.indexOf("芒果") > -1 || flag.indexOf("腾讯") > -1 || flag.indexOf("爱奇艺") > -1) {
|
||||
this.danmuStaus = true
|
||||
if (!this.catOpenStatus) {
|
||||
this.danmuUrl = await this.danmuSpider.downloadDanmu("https://dmku.thefilehosting.com/?ac=dm&url=" + id)
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
* @Date : 2024/3/19 18:45
|
||||
* @Email : [email protected]
|
||||
* @Software : Samples
|
||||
* @Desc : 一起看
|
||||
* @Desc : 一起看 (已失效)
|
||||
*/
|
||||
import * as Utils from "../lib/utils.js";
|
||||
import {_, load} from "../lib/cat.js";
|
||||
@@ -35,7 +35,7 @@ class YiQiKanSpider extends Spider {
|
||||
|
||||
|
||||
getName() {
|
||||
return "🛫┃一起看┃🛫"
|
||||
return `🛫┃一起看┃🛫`
|
||||
}
|
||||
|
||||
getAppName() {
|
||||
|
||||
+11
-11
@@ -46,6 +46,17 @@
|
||||
"playerType": 0,
|
||||
"type": 3
|
||||
},
|
||||
{
|
||||
"key": "cntv",
|
||||
"name": "🤵♂️┃中央影视┃🤵♂️",
|
||||
"api": "./js/cntv.js",
|
||||
"timeout": 30,
|
||||
"ext": {
|
||||
"box": "CatOpen"
|
||||
},
|
||||
"playerType": 0,
|
||||
"type": 3
|
||||
},
|
||||
{
|
||||
"key": "kuaikan",
|
||||
"name": "🛥︎┃快看视频┃🛥︎",
|
||||
@@ -215,17 +226,6 @@
|
||||
"playerType": 0,
|
||||
"type": 3
|
||||
},
|
||||
{
|
||||
"key": "yiqikan",
|
||||
"name": "🛫┃一起看┃🛫",
|
||||
"api": "./js/yiqikan.js",
|
||||
"timeout": 30,
|
||||
"ext": {
|
||||
"box": "CatOpen"
|
||||
},
|
||||
"playerType": 0,
|
||||
"type": 3
|
||||
},
|
||||
{
|
||||
"key": "aiyingshi",
|
||||
"name": "🚀┃爱影视┃🚀",
|
||||
|
||||
+12
-12
@@ -45,6 +45,17 @@
|
||||
"playerType": 0,
|
||||
"type": 3
|
||||
},
|
||||
{
|
||||
"key": "cntv",
|
||||
"name": "🤵♂️┃中央影视┃🤵♂️",
|
||||
"api": "./js/cntv.js",
|
||||
"timeout": 30,
|
||||
"ext": {
|
||||
"box": "TVBox"
|
||||
},
|
||||
"playerType": 0,
|
||||
"type": 3
|
||||
},
|
||||
{
|
||||
"key": "kuaikan",
|
||||
"name": "🛥︎┃快看视频┃🛥︎",
|
||||
@@ -214,17 +225,6 @@
|
||||
"playerType": 0,
|
||||
"type": 3
|
||||
},
|
||||
{
|
||||
"key": "yiqikan",
|
||||
"name": "🛫┃一起看┃🛫",
|
||||
"api": "./js/yiqikan.js",
|
||||
"timeout": 30,
|
||||
"ext": {
|
||||
"box": "TVBox"
|
||||
},
|
||||
"playerType": 0,
|
||||
"type": 3
|
||||
},
|
||||
{
|
||||
"key": "aiyingshi",
|
||||
"name": "🚀┃爱影视┃🚀",
|
||||
@@ -721,5 +721,5 @@
|
||||
"logo": "https://epg.112114.xyz/logo/{name}.png"
|
||||
}
|
||||
],
|
||||
"wallpaper": "http://饭太硬.top/深色壁纸/api.php"
|
||||
"wallpaper": "https://api.likepoems.com/img/bing"
|
||||
}
|
||||
BIN
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"spider":"./jar/pg.jar;md5;55187a60bc1295a55499ece1438436d2",
|
||||
"spider":"./jar/pg.jar;md5;8c6e049d99fcce701ee1e02bdaac7992",
|
||||
"lives":[
|
||||
{"name":"live","type":0,"url":"./tvlive.txt","playerType":1,"ua":"okhttp/3.15","epg":"http://epg.112114.xyz/?ch={name}&date={date}","logo":"https://epg.112114.xyz/logo/{name}.png"},
|
||||
{"name":"Ray","type":0,"url":"https://github.moeyy.xyz/https://raw.githubusercontent.com/dxawi/0/main/tvlive.txt","playerType":1,"ua":"okhttp/3.15","epg":"http://epg.112114.xyz/?ch={name}&date={date}","logo":"https://epg.112114.xyz/logo/{name}.png"}
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
var rule={
|
||||
title:'农民影视',
|
||||
//host:'https://www.nmddd.com',
|
||||
host:'https://www.nmdvd.com/',
|
||||
host:'https://m.nmddd.com/',
|
||||
hostJs:'print(HOST);let html=request(HOST,{headers:{"User-Agent":MOBILE_UA}});let src = jsp.pdfh(html,"body&&a:eq(0)&&href");print(src);HOST=src',
|
||||
url:'/vod-list-id-fyfilter.html',
|
||||
// /vod-list-id-2-pg-1-order--by-time-class-0-year-2023-letter--area--lang-.html
|
||||
|
||||
+7
-7
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"author": "春风",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 10; LYA-AL00; HMSCore 6.4.0.312; GMSCore 20.15.16) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 HuaweiBrowser/11.0.4.300 Mobile Safari/537.36",
|
||||
"homeUrl": "https://m.cnmcom.com",
|
||||
"homeUrl": "https://m.nmddd.com",
|
||||
"dcVipFlag": "true",
|
||||
"dcPlayUrl": "true",
|
||||
"cateManual": {
|
||||
@@ -18,7 +18,7 @@
|
||||
"homeVodImg": "//img/@src",
|
||||
"homeVodImgR": "",
|
||||
"homeVodMark": "/div/span[2]/span/text()",
|
||||
"cateUrl": "https://m.cnmcom.com/vod-list-id-{cateId}-pg-{catePg}-order--by-{by}-class-0-year-{year}-letter--area-{area}-lang-.html",
|
||||
"cateUrl": "https://m.nmddd.com/vod-list-id-{cateId}-pg-{catePg}-order--by-{by}-class-0-year-{year}-letter--area-{area}-lang-.html",
|
||||
"cateVodNode": "//ul[@class='resize_list']/li/a",
|
||||
"cateVodName": "/@title",
|
||||
"cateVodId": "/@href",
|
||||
@@ -26,7 +26,7 @@
|
||||
"cateVodImg": "//img/@src",
|
||||
"cateVodImgR": "",
|
||||
"cateVodMark": "/div/span[2]/span/em/text()",
|
||||
"dtUrl": "https://m.cnmcom.com/{vid}",
|
||||
"dtUrl": "https://m.nmddd.com/{vid}",
|
||||
"dtNode": "//body",
|
||||
"dtName": "//section[@class='page-hd']/a/@title",
|
||||
"dtNameR": "",
|
||||
@@ -44,7 +44,7 @@
|
||||
"dtActorR": "",
|
||||
"dtDesc": "//article[@class='detail-con']/p/text()",
|
||||
"dtDescR": "",
|
||||
"dtFromNode": "//div[@class='hd']/ul/li/a",
|
||||
"dtFromNode": "//a[@class='greenBtn']",
|
||||
"dtFromName": "/text()",
|
||||
"dtFromNameR": "",
|
||||
"dtUrlNode": "//div[@class='numList']/ul",
|
||||
@@ -53,9 +53,9 @@
|
||||
"dtUrlIdR": "/(S+).html",
|
||||
"dtUrlName": "/text()",
|
||||
"dtUrlNameR": "",
|
||||
"playUrl": "https://m.cnmcom.com/{playUrl}",
|
||||
"playUrl": "https://m.nmddd.com/{playUrl}",
|
||||
"playUa": "",
|
||||
"searchUrl": "https://m.cnmcom.com/index.php?m=vod-search&wd={wd}",
|
||||
"searchUrl": "https://m.nmddd.com/index.php?m=vod-search&wd={wd}",
|
||||
"scVodNode": "//ul[@class='ulPicTxt clearfix']/li",
|
||||
"scVodName": "//span[@class='sTit']/text()",
|
||||
"scVodId": "//span[@class='sBtn']/a/@href",
|
||||
@@ -307,4 +307,4 @@
|
||||
]}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,6 +23,28 @@ CCTV13,http://39.135.138.60:18890/PLTV/88888910/224/3221225638/index.m3u8
|
||||
CCTV14,http://39.134.66.66/PLTV/88888888/224/3221225674/index.m3u8
|
||||
CCTV16,http://39.135.138.60:18890/TVOD/88888910/224/3221226230/index.m3u8
|
||||
CCTV16,http://39.135.138.60:18890/TVOD/88888910/224/3221226233/index.m3u8
|
||||
CCTV1,video://https://yangshipin.cn/#/tv/home?pid=600001859
|
||||
CCTV2,video://https://yangshipin.cn/#/tv/home?pid=600001800
|
||||
CCTV4,video://https://yangshipin.cn/#/tv/home?pid=600001814
|
||||
CCTV5,video://https://yangshipin.cn/#/tv/home?pid=600001818
|
||||
CCTV5+,video://https://yangshipin.cn/#/tv/home?pid=600001817
|
||||
CCTV7,video://https://yangshipin.cn/#/tv/home?pid=600004092
|
||||
CCTV9,video://https://yangshipin.cn/#/tv/home?pid=600004078
|
||||
CCTV10,video://https://yangshipin.cn/#/tv/home?pid=600001805
|
||||
CCTV11,video://https://yangshipin.cn/#/tv/home?pid=600001806
|
||||
CCTV12,video://https://yangshipin.cn/#/tv/home?pid=600001807
|
||||
CCTV13,video://https://yangshipin.cn/#/tv/home?pid=600001811
|
||||
CCTV14,video://https://yangshipin.cn/#/tv/home?pid=600001809
|
||||
CCTV15,video://https://yangshipin.cn/#/tv/home?pid=600001815
|
||||
CCTV16,video://https://yangshipin.cn/#/tv/home?pid=600098637
|
||||
CCTV17,video://https://yangshipin.cn/#/tv/home?pid=600001810
|
||||
CCTV4k,video://https://yangshipin.cn/#/tv/home?pid=600002264
|
||||
CGTN,video://https://yangshipin.cn/#/tv/home?pid=600014550
|
||||
CGTN外语纪录,video://https://yangshipin.cn/#/tv/home?pid=600084781
|
||||
CGTN法语,video://https://yangshipin.cn/#/tv/home?pid=600084704
|
||||
CGTN俄语,video://https://yangshipin.cn/#/tv/home?pid=600084758
|
||||
CGTN阿拉伯语,video://https://yangshipin.cn/#/tv/home?pid=600084782
|
||||
CGTN西班牙语,video://https://yangshipin.cn/#/tv/home?pid=600002503
|
||||
CCTV1,http://39.134.66.48/PLTV/88888888/224/3221225816/index.m3u8
|
||||
CCTV1,http://39.134.67.226/PLTV/88888888/224/3221225816/index.m3u8
|
||||
CCTV1,http://39.134.65.179/PLTV/88888888/224/3221225816/index.m3u8
|
||||
@@ -156,6 +178,27 @@ CETV1,http://39.134.66.110/PLTV/88888888/224/3221225563/index.m3u8
|
||||
内蒙古卫视,http://39.135.133.157/PLTV/88888888/224/3221225577/index.m3u8
|
||||
甘肃卫视,http://39.135.133.173/PLTV/88888888/224/3221225584/index.m3u8
|
||||
新疆卫视,http://39.135.133.158/PLTV/88888888/224/3221225999/index.m3u8
|
||||
浙江卫视高清,video://https://yangshipin.cn/#/tv/home?pid=600002520
|
||||
湖南卫视高清,video://https://yangshipin.cn/#/tv/home?pid=600002475
|
||||
东方卫视高清,video://https://yangshipin.cn/#/tv/home?pid=600002483
|
||||
江苏卫视高清,video://https://yangshipin.cn/#/tv/home?pid=600002521
|
||||
北京卫视高清,video://https://yangshipin.cn/#/tv/home?pid=600002309
|
||||
江西卫视高清,video://https://yangshipin.cn/#/tv/home?pid=600002503
|
||||
河南卫视高清,video://https://yangshipin.cn/#/tv/home?pid=600002525
|
||||
湖北卫视高清,video://https://yangshipin.cn/#/tv/home?pid=600002508
|
||||
山东卫视高清,video://https://yangshipin.cn/#/tv/home?pid=600002513
|
||||
广东卫视高清,video://https://yangshipin.cn/#/tv/home?pid=600002485
|
||||
广西卫视高清,video://https://yangshipin.cn/#/tv/home?pid=600002509
|
||||
重庆卫视高清,video://https://yangshipin.cn/#/tv/home?pid=600002531
|
||||
河北卫视高清,video://https://yangshipin.cn/#/tv/home?pid=600002493
|
||||
贵州卫视高清,video://https://yangshipin.cn/#/tv/home?pid=600002490
|
||||
安徽卫视高清,video://https://yangshipin.cn/#/tv/home?pid=600002532
|
||||
深圳卫视高清,video://https://yangshipin.cn/#/tv/home?pid=600002481
|
||||
四川卫视高清,video://https://yangshipin.cn/#/tv/home?pid=600002516
|
||||
东南卫视高清,video://https://yangshipin.cn/#/tv/home?pid=600002484
|
||||
海南卫视高清,video://https://yangshipin.cn/#/tv/home?pid=600002506
|
||||
辽宁卫视高清,video://https://yangshipin.cn/#/tv/home?pid=600002505
|
||||
黑龙江卫视高清,video://https://yangshipin.cn/#/tv/home?pid=600002498
|
||||
历年春晚,#genre#
|
||||
春晚83,http://txmov2.a.kwimgs.com/bs3/video-hls/5207287136834522947_hlshd15.m3u8
|
||||
春晚84,https://txmov2.a.kwimgs.com/bs3/video-hls/5229242184269609742_hlshd15.m3u8
|
||||
|
||||
Reference in New Issue
Block a user