diff --git a/XBPQ/养生堂.json b/XBPQ/养生堂.json new file mode 100644 index 00000000..4519779c --- /dev/null +++ b/XBPQ/养生堂.json @@ -0,0 +1,17 @@ +{ + "首页": "0", + // "播放链接前缀": "https://www.gyf.lol", + "数组": "data\":{\"tit&&s_log", + "图片": "https://p0.ssl.cdn.btime.com/+ssl.cdn.btime.com/&&\"", + "副标题": "le\":\"&&\"", + "标题": "text\":\"&&\"", + "链接": "item.btime.com/&&\"", + "链接前缀": "https://app.api.btime.com/video/play?callback=jQuery36009651202523243325_1747927554988&id=", + // "线路标题": "&&", + "标题": "alt=\"&&\"", + "图片": "data-url=\"&&\"", + "链接": "href=\"&&\"", + "线路标题": "mt-0\">&&", + "播放数组": "class=\"card-body button-list\"&&", + "播放列表": "", + "播放链接": "href=\"&&\"", + "播放标题": ">&&", + "线路标题": ">&&<", + "分类url": "http://dyxz.tv/list/{cateId}_{catePg}.html", + "分类": "电影$1#电视剧$2#动漫$3#综艺$4" +} \ No newline at end of file diff --git a/XBPQ/樱花动漫.json b/XBPQ/樱花动漫.json new file mode 100644 index 00000000..165ab261 --- /dev/null +++ b/XBPQ/樱花动漫.json @@ -0,0 +1,9 @@ +{ + "简介": "jianjie\">&&

", + "副标题": "zhuangtai\">&&", + "数组": "u-movie\">&&", + "线路标题": "ctitle\">&&在线播放", + "播放数组": "vlink&&", + "分类url": "https://www.yinghuadongman.com.cn/sxvodshow/{cateId}-{year}/page/{catePg}/;;d0", + "分类": "国漫$2#日漫$1#美漫$3" +} \ No newline at end of file diff --git a/XBPQ/永乐影视.json b/XBPQ/永乐影视.json new file mode 100644 index 00000000..44f77060 --- /dev/null +++ b/XBPQ/永乐影视.json @@ -0,0 +1,7 @@ +{ + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "分类": "电影$1#电视剧$2#综艺$3#动漫$4", + "类型": "动作片$6#喜剧片$7#爱情片$8#科幻片$9#奇幻片$10#恐怖片$11#剧情片$12#战争片$20#动画片$26#悬疑片$22#冒险片$23#犯罪片$24#惊悚片$45#歌舞片$46#灾难片$47#网络片$48||国产剧$13#港台剧$14#日剧$15#韩剧$33#欧美剧$16#泰剧$34#新马剧$35#其他剧$25||内地综艺$27#港台综艺$28#日本综艺$29#韩国综艺$36#欧美综艺$30#新马泰综艺$37#其他综艺$38||国产动漫$31#日本动漫$32#韩国动漫$39#港台动漫$40#新马泰动漫$41#欧美动漫$42#其他动漫$43", + "分类url": "https://www.ylys.tv/vodshow/{cateId}-{area}-{by}-{class}-{lang}-{letter}---{catePg}---{year}.html" +} \ No newline at end of file diff --git a/XBPQ/雪花.json b/XBPQ/雪花.json new file mode 100644 index 00000000..bd2a4915 --- /dev/null +++ b/XBPQ/雪花.json @@ -0,0 +1,27 @@ +{ + "站名": "雪花", + "主页url": "https://n3300.com/", + "分类url": "https://n3300.com/ekOtxEBafND5Chtml/{cateId}/list_{catePg}.html", + "分类": "喜剧片$xiju#爱情片$aiqing#科幻片$kehuan#剧情片$juqing#悬疑片$xuannian#战争片$zhanzheng#恐怖片$kongbu#灾难片$zainan#连续剧$lianxuju#动漫$dongman#综艺片$zongyijiemu", + "二次截取": "", + "数组": "默认--pic\">&&||首页--col-sm&&", + "图片": "src=\"&&\"", + "标题": "FF0000'>&&<", + "链接": "href=\"&&\"", + "副标题": "4K", + "影片年代": "年  代&&
", + "影片地区": "产  地&&
", + "影片类型": "类  别&&
", + "状态": "片  长 &&
", + "导演": "导  演&&
", + "主演": "主  演&&
", + "简介": "简  介&&", + "线路数组": "下载地址列表&&

", + "线路标题": "磁力", + "播放二次截取": "本站专用电影&&&&", + "播放列表": "", + "播放链接": "href=\"&&\\&", + "播放标题": "dn=&&<", + "搜索url": "https://n3300.com/plus/search.php?kwtype=0&keyword={wd}" +} \ No newline at end of file diff --git a/XBPQ/面包影视.json b/XBPQ/面包影视.json new file mode 100644 index 00000000..d9433726 --- /dev/null +++ b/XBPQ/面包影视.json @@ -0,0 +1,7 @@ +{ + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "分类url": "https://v.aiwule.com/vodshow/{cateId}-{area}-{by}-{class}-{lang}-{letter}---{catePg}---{year}.html", + "分类": "电影$20#电视剧$21#动漫$23#综艺$22#短剧$47", + "简介": "简介:&&" +} \ No newline at end of file diff --git a/XBPQ/韩剧看看.json b/XBPQ/韩剧看看.json new file mode 100644 index 00000000..3f4819b6 --- /dev/null +++ b/XBPQ/韩剧看看.json @@ -0,0 +1,47 @@ +{ + "作者": "摄氏零度", + "站名": "XBPQ影视", + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "嗅探词": ".mp4#.m3u8#.flv", + "过滤词": "", + "主页url": "https://www.hanjukankan.com/", + "首页": "120", + "起始页": "1", + "分类url": "https://www.hanjukankan.com/xvs{cateId}xat{area}xbt{by}xct{class}xdt{lang}xet{letter}xftxgtxht{catePg}atbtct{year}.html;;mrc", + "分类": "韩国剧集$1#韩国电影$2#韩国综艺$3", + "数组": "/xvd&&", + "标题": "title=\"&&\"", + "图片": "data-original=\"&&\"", + "副标题": "module-item-note\">&&", + "线路标题": ">&&", + "影片年代": ".html\">&&", + "影片地区": "*xbtxctxdtxetxftxgtxhtatbtct.html\">&&", + "影片类型": "*xdtxetxftxgtxhtatbtct.html\">&&", + "导演": "导演:&&", + "主演": "主演:&&", + "简介": "

&&

", + "倒序": "0", + "播放列表": "", + "播放标题": ">&&", + "搜索标题": "title=\"&&\"", + "搜索图片": "data-original=\"&&\"", + "搜索副标题": "module-item-note\">&&var player_aaaa={"flag":"play","encrypt这种源码的链接解析 + //如果网页源码里没有这种请设置为0 + "Anal_MacPlayer":"0", + //是否开启手动嗅探,只对网页嗅探有效,0否,1是 + "ManualSniffer":"0", + //手动嗅探视频链接关键字,每个用#隔开 + "VideoFormat":".mp4#.m3u8#.flv", + //手动嗅探视频链接过滤关键词,每个用#隔开 + "VideoFilter":".html#=http" +} \ No newline at end of file diff --git a/dianshi.json b/dianshi.json index 0389cd61..68690348 100644 --- a/dianshi.json +++ b/dianshi.json @@ -1,5 +1,5 @@ { - "spider": "./jar/fan.txt;md5;58149e856fa117ba01d13b0b5de47bd4", + "spider": "./jar/spider.jar;md5;193469ed28b7571e529729a9c756f77a", "lives": [ {"name": "live","boot": false,"type": 0,"url": "./tv.txt","playerType": 2,"ua": "okhttp/3.8.1","timeout": 20,"epg": "https://epg.112114.xyz/?ch={name}&date={date}","logo": "https://logo.wyfc.qzz.io/{name}.png"} ], @@ -7,86 +7,152 @@ "sites": [ {"key": "drpy_js_豆瓣","name": "搜索 | 豆瓣[js]","type": 3,"api": "./lib/drpy2.min.js","ext": "./js/drpy.js","searchable": 1,"quickSearch": 0,"changeable": 0}, {"key": "drpy_js_TVB云播","name": "影视 | TVB云播[js]","type": 3,"api": "./lib/drpy2.min.js","ext": "./js/TVB云播.js","header": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0"}}, - {"key": "新闪雷","name": "新闪雷┃MP4","type": 3,"api": "./FTY/drpy2.min.js","ext": "./js/新闪雷.js","header": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0"}}, - {"key": "闪雷","name": "闪雷┃MP4","type": 3,"api": "./FTY/drpy2.min.js","ext": "./js/678.js","header": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0"}}, - {"key": "fyyy","name": "飞宇影院","type": 3,"api": "csp_XBPQ","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"分类url": "http://ntfeiyu.com/nt/{cateId}/area/{area}/by/{by}/class/{class}/lang/{lang}/page/{catePg}/year/{year}.html","分类": "电影$1#电视剧$2#综艺$3#动漫$4"},"header": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0"},"jar": "./jar/sx.jar;md5;6186f490eadf878ba5de21a7fa29e594"}, - {"key": "cbh","name": "茶杯狐","type": 3,"api": "csp_XBPQ","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"分类url": "https://www.cupfox7.com/cupfox/{cateId}/area/{area}/by/{by}/class/{class}/lang/{lang}/page/{catePg}/year/{year}.html","分类": "电影$fenlei1#电视剧$fenlei2#综艺$fenlei3#动漫$fenlei4"},"header": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0"},"jar": "./jar/sx.jar;md5;6186f490eadf878ba5de21a7fa29e594"}, - {"key": "MDrive","name": "🗂我的云盘┃我配置","type": 3,"api": "csp_MyDriveGuard","changeable": 0,"indexs": 0,"searchable": 1,"style": {"type": "oval"},"ext": {"Cloud-drive": "tvfan/Cloud-drive.txt"}}, - {"key": "热播影视","name": "热播|APP","type": 3,"api": "csp_AppRJ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": {"url": "http://v.rbotv.cn"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "木瓜","name": "木瓜|APP","type": 3,"api": "csp_AppFox","searchable": 1,"changeable": 1,"ext": {"host": "http://www.yezitv.top/dtym.json","ver": 2},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "花柳","name": "花柳|APP","type": 3,"api": "csp_AppFox","searchable": 1,"changeable": 1,"ext": {"host": "http://nico.oiio.fun","ver": 2},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "麒麟","name": "麒麟|APP","type": 3,"api": "csp_AppFox","searchable": 1,"changeable": 1,"ext": {"host": "https://qh.70qh.top","ver": 2},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "粉象","name": "粉象|APP","type": 3,"api": "csp_AppFox","searchable": 1,"changeable": 1,"ext": {"host": "http://host1.sopython.top/host.json","ver": 2},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "搜搜","name": "搜搜|APP","type": 3,"api": "csp_AppFox","searchable": 1,"changeable": 1,"ext": "https://www.zjcvod.com","jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "火花","name": "火花|APP","type": 3,"api": "csp_AppFox","searchable": 1,"changeable": 1,"ext": {"host": "http://huohua.itcxo.cn"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "顾我","name": "顾我|APP","type": 3,"api": "csp_AppQi","searchable": 1,"changeable": 1,"ext": {"site": "https://daen-1256234123.cos.ap-shanghai.myqcloud.com/MuQi/pgqj.json","dataKey": "kj37zs29q22jk96t","dataIv": "kj37zs29q22jk96t","init": "initV122","ua": "okhttp/3.10.0"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "爱盈","name": "爱盈|APP","type": 3,"api": "csp_AppQi","searchable": 1,"changeable": 1,"ext": {"site": "https://rxysyyds.oss-cn-chengdu.aliyuncs.com/qiji.txt","dataKey": "sjvlwnhk6h9znl61","dataIv": "sjvlwnhk6h9znl61","version": "305","ua": "okhttp/3.10.0"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "金牌","name": "金牌|APP","type": 3,"api": "csp_AppQi","searchable": 1,"changeable": 1,"ext": {"site": "https://dtqj.ggtvb.cc/dtjp.txt","dataKey": "eecbio48dsq131ee","dataIv": "eecbio48dsq131ee","search": "searchList4","version": "305","init": "initV122","ua": "okhttp/3.10.0"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "小猪","name": "小猪|APP","type": 3,"api": "csp_AppQi","searchable": 1,"changeable": 1,"ext": {"site": "https://tiantangwulu.oss-cn-shanghai.aliyuncs.com/zhuzhuxia.txt","dataKey": "j8sr6d93yp49db3p","dataIv": "j8sr6d93yp49db3p","init": "initV122","ua": "okhttp/3.10.0"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "奇奇","name": "奇奇|APP","type": 3,"api": "csp_AppQi","searchable": 1,"changeable": 1,"ext": {"url": "http://110.42.67.221:8007","dataKey": "123456789abcdefg","dataIv": "123456789abcdefg","search": "searchList7","init": "initV122","ua": "okhttp/3.10.0"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "鲸鱼","name": "鲸鱼|APP","type": 3,"api": "csp_AppQi","searchable": 1,"changeable": 1,"ext": {"site": "https://jingyu4k-1312635929.cos.ap-nanjing.myqcloud.com/juyu3.json","dataKey": "AAdgrdghjfgsABC1","dataIv": "AAdgrdghjfgsABC1","init": "initV122","ua": "okhttp/3.10.0"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "芬奇","name": "芬奇|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"site": "https://wsapi.dafenqi.mom/yuming.txt","dataKey": "bH5mI8iK0tK7aQ5x","dataIv": "bH5mI8iK0tK7aQ5x"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "火狐","name": "火狐|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"site": "http://122.114.171.79:568/huohushipin.txt","dataKey": "huohushipingetap","dataIv": "huohushipingetap"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "看呗","name": "看呗|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "http://www.winter1.fun","dataKey": "abcdefghigklmn11","dataIv": "abcdefghigklmn11"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "优兔","name": "优兔|APP","type": 3,"api": "csp_AppQi","searchable": 1,"changeable": 1,"ext": {"site": "https://uututv-1319209748.cos.ap-shanghai.myqcloud.com/uutuv4.txt","dataKey": "UrWKPnmQWJA8AQzd","dataIv": "UrWKPnmQWJA8AQzd"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "汤圆","name": "汤圆|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","filterable": 1,"ext": {"url": "http://tangyuanapp.top","dataKey": "j519MYJAt3kk9XVA","dataIv": "j519MYJAt3kk9XVA"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "缘梦","name": "缘梦|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "http://165.99.42.137:5432","dataKey": "1234567890987654","dataIv": "1234567890987654"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "王子","name": "王子|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "https://app.95112475.xyz","dataKey": "5a9w6x58dsq6z3a6","dataIv": "5a9w6x58dsq6z3a6"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "小猫","name": "小猫|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"site": "http://xywlkj.oss-cn-beijing.aliyuncs.com/wp-content/uploads/2024/12/1.txt","dataKey": "xmyxmyxywlkjxywl","dataIv": "xmyxmyxywlkjxywl"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "小白","name": "小白|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "https://uutu.efjhl.cn","dataKey": "uXVVRRuaPnjEfsX5","dataIv": "uXVVRRuaPnjEfsX5"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "火锅","name": "火锅|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "https://ios.hgyx.vip","dataKey": "062dec75d039980e","dataIv": "062dec75d039980e","ua": "Dart/3.5 (dart:io)"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "气球","name": "气球|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "https://vv.229d.cn","dataKey": "8888888888888888","dataIv": "8888888888888888"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "白鸽","name": "白鸽|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "https://cy.baige.asia","dataKey": "599D0FE5178642FD","dataIv": "599D0FE5178642FD"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "剧梦","name": "剧梦|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "https://www.jumengwu.com","dataKey": "1f0a873caf2550a5","dataIv": "1f0a873caf2550a5"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "魔方","name": "魔方|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"site": "https://snysw.xyz/mf4kzs327.txt","dataKey": "1234567887654321","dataIv": "1234567887654321"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "瑞奇","name": "瑞奇|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "http://rqxk.gdata.fun","dataKey": "yangruiqiYsapp00","dataIv": "yangruiqiYsapp00"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "茉莉","name": "茉莉|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"site": "https://gitee.com/wmmoliill/wimg/raw/master/img/bk/9.txt","dataKey": "88689667dce61725","dataIv": "88689667dce61725"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "驿站","name": "驿站丨APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"site": "https://dyyztvappapigoodgx.68.gy:12689/ciwk28vu38io8/apiurl.txt","dataKey": "dyyztvapiappyyds","dataIv": "dyyztvapiappyyds"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "灵虎","name": "灵虎|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"site": "https://bind.315999.xyz/89.txt","dataKey": "#getapp@TMD@2025","dataIv": "#getapp@TMD@2025","version": "120"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "电影港","name": "电影港|磁力","type": 3,"api": "csp_XYQHiker","searchable": 1,"quickSearch": 1,"filterable": 1,"ext": "./xiaosa/XYQHiker/电影港.json","jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "玩偶","name": "👽玩偶哥哥┃4K弹幕","type": 3,"api": "csp_WoGGGuard","timeout": 30,"searchable": 1,"quickSearch": 1,"changeable": 0,"ext": {"Cloud-drive": "tvfan/Cloud-drive.txt"}}, - {"key": "YGP","name": "🚀叨观荐影┃预告片","type": 3,"api": "csp_YGPGuard","searchable": 0,"quickSearch": 0,"changeable": 0}, - {"key": "MTV1","name": "🎙️易听音乐┃带歌词","type": 3,"api": "csp_MusicGuard","style": {"type": "rect","ratio": 1},"playerType": 2,"searchable": 1,"quickSearch": 0,"changeable": 0}, - {"key": "seed","name": "💡聚剧剧┃三盘","type": 3,"api": "csp_SeedhubGuard","ext": "5++kwLhNYm9UrO9wh7Dl7eKamTee4s/5","searchable": 1,"quickSearch": 1,"changeable": 0,"indexs": 0,"style": {"type": "list"}}, - {"key": "ZPan","name": "🎈聚盘搜┃三盘","type": 3,"api": "csp_S_zpsGuard","searchable": 1,"quickSearch": 0,"changeable": 0,"ext": {"siteUrl": "http://38.55.131.86:82/"},"indexs": 0,"style": {"type": "list"}}, - {"key": "立播","name": "🌟立播┃秒播","type": 3,"api": "csp_LibvioGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1,"ext": {"Cloud-drive": "tvfan/Cloud-drive.txt"}}, - {"key": "奶酪","name": "🧀奶酪┃秒播","type": 3,"api": "csp_T4Guard","searchable": 1,"quickSearch": 1,"changeable": 0,"ext": "rfOIzPkSUkANv6AT2prC8en3+TzKx9TnlT8vaY37HhtYfAQe6C5xqrVuJPhQwYV6r3eRdMBGm3Qm6Th+BushR86B6KqJGXDsHazHw7alBG/7zUxkN1tK/NypRxnpBNoeUtpw4jcCGhytI75yO4g4zG6SOPA0RSwhksM0IF2friAkrHCWoW3v+0mdw6sjz4t4XB1Df7yL/R5cfaA/5LQYq3I8OkvMrJMU9Q1P7JXwx7NSF2zTyH/ANVmZ4u5m567DW1KVG7OuQjXPjZiOXTYk0+wjpfBRTf19yIq6q/C76k2Fs80joAMPw0ueDR+QHxtuDcTom2rmHkI1Fonkzi6BotbpUcbSi4PiIgmfdbvVwhG6Z+i4nvt+IYa48l5aLA7PLgDiERpuOs31aHaXlgFswT87XyTb8QaF4CuzKWJuXptwNTjvXAS9KHdxH49Ay+hfBAB2bCvUf4CMoldF2wZUv0mI2qY966erFpOFg+FOc7t88EUH8j8ACXQtHJiKC9RQ+SaLIF0="}, - {"key": "厂长","name": "📔厂长┃秒播","type": 3,"api": "csp_NewCzGuard","timeout": 10,"playerType": 2,"searchable": 1,"quickSearch": 1,"changeable": 1}, - {"key": "文采","name": "💮文采┃秒播","type": 3,"api": "csp_JpysGuard","timeout": 10,"playerType": 2,"searchable": 1,"quickSearch": 1,"changeable": 1}, - {"key": "原创","name": "☀原创┃秒播","type": 3,"api": "csp_YCyzGuard","timeout": 15,"playerType": 1,"searchable": 1,"quickSearch": 1,"changeable": 1}, - {"key": "比特","name": "🍄比特┃秒播","type": 3,"api": "csp_BttwooGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1}, - {"key": "苹果","name": "🍎苹果┃秒播","type": 3,"api": "csp_LiteAppleGuard","timeout": 15,"searchable": 1,"quickSearch": 1,"changeable": 1}, - {"key": "热播","name": "📺热播┃多线","type": 3,"api": "csp_AppTTGuard","timeout": 10,"playerType": 2,"searchable": 1,"quickSearch": 1,"changeable": 1,"ext": "uqGL1bNENExT7/hGxpSE5qU="}, - {"key": "剧圈","name": "🐻剧圈┃多线","type": 3,"api": "csp_AppSxGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1,"ext": "rfOb1uAWbkRHp7hdxprG9un3+S3T18333j8hL4ryEFdPZxse8yYwoKFyJOlU2M9/q2OcL8NQxT0k5GV9Quw0AIzUurGBVyPqCLrdirfpAz+n0Qh7PVBWo8uxWhO1Bs1MCYA1oiM="}, - {"key": "下饭","name": "🍙下饭┃多线","type": 3,"api": "csp_AppSxGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1,"ext": "rfOX1voDIQhH8epBwtCFsub1+mmfmIi0nGlgK8i7X0oYLxBVvSwnsuM5MLkOhoI/4z/TJMVFz2ow52AyXL42Edzeou/SGHg="}, - {"key": "极狐","name": "🦊极狐┃多线","type": 3,"api": "csp_AppSxGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1,"ext": "rfOb1uAWbkRHp7hdxprG9un3+S/Cz8j6xik9ZIrwCw8aZkEOtiQw5qNif+ZRw904uGiCZNFRz3ln6nh5Q+wpBsGA6aydW3fmWrXH1ve0HjKxzV5kNEdcrI7mT1i2DMtcTIh17XhLS0D2Cr6rghboDg=="}, - {"key": "猫猫","name": "🐟猫猫┃多线","type": 3,"api": "csp_AppSxGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1,"ext": "rfOX1voDIQhH8epBwpmIsuSspW+fnt3j0Gkxas3qVQ5bZRBVvSwnsuM5MOJ0isFT7Xq5Kctln34euXsyXL42Edzeou/SGHg="}, - {"key": "橘子","name": "🍊橘子┃多线","type": 3,"api": "csp_AppSxGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1,"ext": "rfOX1voDIQhH8epBwpmIsuS/sSCZwM/jwik9Zoy3AAlFMxpf9CY77fshJ+II0I4x7mOKd5IWnT40uC1p"}, - {"key": "鲸鱼","name": "👀鲸鱼┃多线","type": 3,"api": "csp_AppSxGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1,"ext": "rfOb1uAWbkRHp7hdxprG9un3+TXC3NH30m85MMiyVkwSIgNArXpwrLZwJOlInMRrq2qCb88RxXck6mdnBfx+E9mVr+/WQHKnXOuf1rT3CHH2zSEDJ0lM/ZH/GF+kFMAPQfAluHgdCEy1QqmjhV0="}, - {"key": "糯米","name": "🍓糯米┃多线","type": 3,"api": "csp_NmyswvGuard","timeout": 15,"searchable": 1,"quickSearch": 1,"changeable": 1}, - {"key": "奥特","name": "🏝奥特┃多线","type": 3,"api": "csp_AueteGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1}, - {"key": "荐片","name": "🐭荐片┃P2P","type": 3,"api": "csp_JPJGuard","timeout": 10,"playerType": 2,"searchable": 1,"quickSearch": 1,"changeable": 0}, - {"key": "新6V","name": "🧲新6V┃磁力","type": 3,"api": "csp_SixVGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 0,"ext": "https://www.xb6v.com/"}, - {"key": "Dm84","name": "🚌巴士┃动漫","type": 3,"api": "csp_Dm84Guard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1}, - {"key": "Anime1","name": "🐾日本┃动漫","type": 3,"api": "csp_Anime1Guard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1}, - {"key": "88","name": "⚽88┃看球","type": 3,"api": "csp_Sir88Guard","timeout": 10,"searchable": 0,"changeable": 0,"style": {"type": "list"}}, - {"key": "超全","name": "⚽超全┃看球","type": 3,"api": "csp_ZbzGuard","searchable": 0,"quickSearch": 0,"changeable": 0,"style": {"type": "list"},"ext": "uqGL1fpJNAUf8fdTwZCE5qSp+Q=="}, - {"key": "看球","name": "⚽手机┃看球","type": 3,"api": "csp_KanqiuGuard","timeout": 10,"searchable": 0,"changeable": 0,"style": {"type": "list"}}, - {"key": "MTV","name": "🎶明星┃MV","type": 3,"api": "csp_BiliGuard","style": {"type": "rect","ratio": 1.597},"searchable": 0,"quickSearch": 0,"changeable": 0,"ext": {"json": "https://nos.netease.com/ysf/5af5fbe12a88b7c45aa1c21e6551826c.txt"}}, - {"key": "有声小说","name": "🎧有声┃小说","type": 3,"api": "csp_Tingshu275Guard","style": {"type": "rect","ratio": 1},"searchable": 0,"quickSearch": 0,"changeable": 0}, - {"key": "Aid","name": "🚑急救┃教学","type": 3,"api": "csp_FirstAidGuard","searchable": 0,"quickSearch": 0,"changeable": 0,"style": {"type": "rect","ratio": 3.8}}, - {"key": "虎牙js","name": "🐯虎牙┃直播","type": 3,"api": "./FTY/drpy2.min.js","ext": "./FTY/虎牙.js","style": {"type": "rect","ratio": 1.755},"timeout": 10,"playerType": "2","searchable": 1,"quickSearch": 0,"changeable": 0}, - {"key": "斗鱼js","name": "🐟斗鱼┃直播","type": 3,"api": "./FTY/drpy2.min.js","ext": "./FTY/斗鱼直播.js","style": {"type": "rect","ratio": 1.755},"timeout": 10,"playerType": "2","searchable": 1,"quickSearch": 0,"changeable": 0}, - {"key": "抠搜","name": "🍄抠抠┃搜搜","type": 3,"api": "csp_KkSsGuard","searchable": 1,"quickSearch": 1,"changeable": 0,"ext": {"Cloud-drive": "tvfan/Cloud-drive.txt"}}, - {"key": "UC","name": "🌈优汐┃搜搜","type": 3,"api": "csp_UuSsGuard","searchable": 1,"quickSearch": 1,"changeable": 0,"ext": {"Cloud-drive": "tvfan/Cloud-drive.txt"}}, - {"key": "push_agent","name": "🛴手机┃推送","type": 3,"api": "csp_PushGuard","searchable": 0,"quickSearch": 0,"ext": {"Cloud-drive": "tvfan/Cloud-drive.txt"}}, - {"key": "Bili","name": "🅱哔哔合集┃弹幕","type": 3,"api": "csp_BiliGuard","style": {"type": "rect","ratio": 1.597},"searchable": 1,"quickSearch": 0,"changeable": 0,"ext": {"json": "https://nos.netease.com/ysf/0075389dca9afadd4614e9713765ff17.txt"}}, - {"key": "Biliych","name": "🅱哔哔演唱会┃弹幕","type": 3,"api": "csp_BiliGuard","style": {"type": "rect","ratio": 1.597},"searchable": 0,"quickSearch": 0,"changeable": 0,"ext": {"json": "https://nos.netease.com/ysf/6496356286589c68f52c2f99c0c674c7.txt"}}, - {"key": "dr_兔小贝","name": "📚儿童┃启蒙","type": 3,"api": "./FTY/drpy2.min.js","ext": "./FTY/%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_BiliGuard","style": {"type": "rect","ratio": 1.597},"searchable": 0,"quickSearch": 0,"changeable": 0,"ext": {"json": "https://nos.netease.com/ysf/89370c8ddf36b5e1beb4d71adb921bda.txt"}}, - {"key": "小学课堂","name": "📚小学┃课堂","type": 3,"api": "csp_BiliGuard","style": {"type": "rect","ratio": 1.597},"searchable": 0,"quickSearch": 0,"changeable": 0,"ext": {"json": "https://nos.netease.com/ysf/d7a21cf34ede56f5c686ecfba5fc7e3f.txt"}}, - {"key": "初中课堂","name": "📚初中┃课堂","type": 3,"api": "csp_BiliGuard","style": {"type": "rect","ratio": 1.597},"searchable": 0,"quickSearch": 0,"changeable": 0,"ext": {"json": "https://nos.netease.com/ysf/8f55d520f8d70056695740ef151744a7.txt"}}, - {"key": "高中教育","name": "📚高中┃课堂","type": 3,"api": "csp_BiliGuard","style": {"type": "rect","ratio": 1.597},"searchable": 0,"quickSearch": 0,"changeable": 0,"ext": {"json": "https://nos.netease.com/ysf/c66a4b5356141c49fd45ec51568017b4.txt"}}, + {"key": "新闪雷","name": "新闪雷┃MP4","type": 3,"api": "./lib/drpy2.min.js","ext": "./js/新闪雷.js","header": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0"}}, + {"key": "闪雷","name": "闪雷┃MP4","type": 3,"api": "./lib/drpy2.min.js","ext": "./js/678.js","header": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0"}}, + {"key": "fyyy","name": "飞宇影院","type": 3,"api": "csp_XBPQ","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"分类url": "http://ntfeiyu.com/nt/{cateId}/area/{area}/by/{by}/class/{class}/lang/{lang}/page/{catePg}/year/{year}.html","分类": "电影$1#电视剧$2#综艺$3#动漫$4"},"header": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0"}}, + {"key": "cbh","name": "茶杯狐","type": 3,"api": "csp_XBPQ","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"分类url": "https://www.cupfox7.com/cupfox/{cateId}/area/{area}/by/{by}/class/{class}/lang/{lang}/page/{catePg}/year/{year}.html","分类": "电影$fenlei1#电视剧$fenlei2#综艺$fenlei3#动漫$fenlei4"},"header": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0"}}, + {"key": "配置中心","name": "配置|中心","type": 3,"api": "csp_Config","searchable": 0,"changeable": 0,"indexs": 0,"style": {"type": "rect","ratio": 1.597}}, + {"key": "本地","name": "本地|视频","type": 3,"api": "csp_LocalFile"}, + {"key": "预告","name": "新片|预告","type": 3,"api": "csp_YGP","searchable": 0}, + {"key": "热播影视","name": "热播|APP","type": 3,"api": "csp_AppRJ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": {"url": "http://v.rbotv.cn"}}, + {"key": "木瓜","name": "木瓜|APP","type": 3,"api": "csp_AppFox","searchable": 1,"changeable": 1,"ext": {"host": "http://www.yezitv.top/dtym.json","ver": 2}}, + {"key": "花柳","name": "花柳|APP","type": 3,"api": "csp_AppFox","searchable": 1,"changeable": 1,"ext": {"host": "http://nico.oiio.fun","ver": 2}}, + {"key": "麒麟","name": "麒麟|APP","type": 3,"api": "csp_AppFox","searchable": 1,"changeable": 1,"ext": {"host": "https://qh.70qh.top","ver": 2}}, + {"key": "粉象","name": "粉象|APP","type": 3,"api": "csp_AppFox","searchable": 1,"changeable": 1,"ext": {"host": "http://host1.sopython.top/host.json","ver": 2}}, + {"key": "搜搜","name": "搜搜|APP","type": 3,"api": "csp_AppFox","searchable": 1,"changeable": 1,"ext": "https://www.zjcvod.com"}, + {"key": "火花","name": "火花|APP","type": 3,"api": "csp_AppFox","searchable": 1,"changeable": 1,"ext": {"host": "http://huohua.itcxo.cn"}}, + {"key": "顾我","name": "顾我|APP","type": 3,"api": "csp_AppQi","searchable": 1,"changeable": 1,"ext": {"site": "https://daen-1256234123.cos.ap-shanghai.myqcloud.com/MuQi/pgqj.json","dataKey": "kj37zs29q22jk96t","dataIv": "kj37zs29q22jk96t","init": "initV122","ua": "okhttp/3.10.0"}}, + {"key": "爱盈","name": "爱盈|APP","type": 3,"api": "csp_AppQi","searchable": 1,"changeable": 1,"ext": {"site": "https://rxysyyds.oss-cn-chengdu.aliyuncs.com/qiji.txt","dataKey": "sjvlwnhk6h9znl61","dataIv": "sjvlwnhk6h9znl61","version": "305","ua": "okhttp/3.10.0"}}, + {"key": "金牌","name": "金牌|APP","type": 3,"api": "csp_AppQi","searchable": 1,"changeable": 1,"ext": {"site": "https://dtqj.ggtvb.cc/dtjp.txt","dataKey": "eecbio48dsq131ee","dataIv": "eecbio48dsq131ee","search": "searchList4","version": "305","init": "initV122","ua": "okhttp/3.10.0"}}, + {"key": "小猪","name": "小猪|APP","type": 3,"api": "csp_AppQi","searchable": 1,"changeable": 1,"ext": {"site": "https://tiantangwulu.oss-cn-shanghai.aliyuncs.com/zhuzhuxia.txt","dataKey": "j8sr6d93yp49db3p","dataIv": "j8sr6d93yp49db3p","init": "initV122","ua": "okhttp/3.10.0"}}, + {"key": "奇奇","name": "奇奇|APP","type": 3,"api": "csp_AppQi","searchable": 1,"changeable": 1,"ext": {"url": "http://110.42.67.221:8007","dataKey": "123456789abcdefg","dataIv": "123456789abcdefg","search": "searchList7","init": "initV122","ua": "okhttp/3.10.0"}}, + {"key": "鲸鱼","name": "鲸鱼|APP","type": 3,"api": "csp_AppQi","searchable": 1,"changeable": 1,"ext": {"site": "https://jingyu4k-1312635929.cos.ap-nanjing.myqcloud.com/juyu3.json","dataKey": "AAdgrdghjfgsABC1","dataIv": "AAdgrdghjfgsABC1","init": "initV122","ua": "okhttp/3.10.0"}}, + {"key": "芬奇","name": "芬奇|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"site": "https://wsapi.dafenqi.mom/yuming.txt","dataKey": "bH5mI8iK0tK7aQ5x","dataIv": "bH5mI8iK0tK7aQ5x"}}, + {"key": "火狐","name": "火狐|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"site": "http://122.114.171.79:568/huohushipin.txt","dataKey": "huohushipingetap","dataIv": "huohushipingetap"}}, + {"key": "看呗","name": "看呗|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "http://www.winter1.fun","dataKey": "abcdefghigklmn11","dataIv": "abcdefghigklmn11"}}, + {"key": "优兔","name": "优兔|APP","type": 3,"api": "csp_AppQi","searchable": 1,"changeable": 1,"ext": {"site": "https://uututv-1319209748.cos.ap-shanghai.myqcloud.com/uutuv4.txt","dataKey": "UrWKPnmQWJA8AQzd","dataIv": "UrWKPnmQWJA8AQzd"}}, + {"key": "汤圆","name": "汤圆|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","filterable": 1,"ext": {"url": "http://tangyuanapp.top","dataKey": "j519MYJAt3kk9XVA","dataIv": "j519MYJAt3kk9XVA"}}, + {"key": "缘梦","name": "缘梦|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "http://165.99.42.137:5432","dataKey": "1234567890987654","dataIv": "1234567890987654"}}, + {"key": "王子","name": "王子|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "https://app.95112475.xyz","dataKey": "5a9w6x58dsq6z3a6","dataIv": "5a9w6x58dsq6z3a6"}}, + {"key": "小猫","name": "小猫|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"site": "http://xywlkj.oss-cn-beijing.aliyuncs.com/wp-content/uploads/2024/12/1.txt","dataKey": "xmyxmyxywlkjxywl","dataIv": "xmyxmyxywlkjxywl"}}, + {"key": "小白","name": "小白|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "https://uutu.efjhl.cn","dataKey": "uXVVRRuaPnjEfsX5","dataIv": "uXVVRRuaPnjEfsX5"}}, + {"key": "火锅","name": "火锅|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "https://ios.hgyx.vip","dataKey": "062dec75d039980e","dataIv": "062dec75d039980e","ua": "Dart/3.5 (dart:io)"}}, + {"key": "气球","name": "气球|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "https://vv.229d.cn","dataKey": "8888888888888888","dataIv": "8888888888888888"}}, + {"key": "白鸽","name": "白鸽|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "https://cy.baige.asia","dataKey": "599D0FE5178642FD","dataIv": "599D0FE5178642FD"}}, + {"key": "剧梦","name": "剧梦|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "https://www.jumengwu.com","dataKey": "1f0a873caf2550a5","dataIv": "1f0a873caf2550a5"}}, + {"key": "魔方","name": "魔方|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"site": "https://snysw.xyz/mf4kzs327.txt","dataKey": "1234567887654321","dataIv": "1234567887654321"}}, + {"key": "瑞奇","name": "瑞奇|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "http://rqxk.gdata.fun","dataKey": "yangruiqiYsapp00","dataIv": "yangruiqiYsapp00"}}, + {"key": "茉莉","name": "茉莉|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"site": "https://gitee.com/wmmoliill/wimg/raw/master/img/bk/9.txt","dataKey": "88689667dce61725","dataIv": "88689667dce61725"}}, + {"key": "驿站","name": "驿站丨APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"site": "https://dyyztvappapigoodgx.68.gy:12689/ciwk28vu38io8/apiurl.txt","dataKey": "dyyztvapiappyyds","dataIv": "dyyztvapiappyyds"}}, + {"key": "灵虎","name": "灵虎|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"site": "https://bind.315999.xyz/89.txt","dataKey": "#getapp@TMD@2025","dataIv": "#getapp@TMD@2025","version": "120"}}, + {"key": "哔哩视频","name": "哔哩|视频","type": 3,"api": "csp_BiliYS","searchable": 1,"quickSearch": 0,"filterable": 0,"changeable": 0,"style": {"type": "rect","ratio": 1.433},"ext": {"json": "./json/哔哩视频.json","cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt"}}, + {"key": "玩偶","name": "玩偶|4K","type": 3,"api": "csp_Wogg","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"site": ["https://www.wogg.one","https://wogg.333232.xyz","https://woggpan.888484.xyz"]}}, + {"key": "快映","name": "快映|4K","type": 3,"api": "csp_PanWebShare","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"site": ["http://xsayang.fun:12512","http://154.201.83.50:12512"]}}, + {"key": "木偶","name": "木偶|4K","type": 3,"api": "csp_PanWebShare","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"site": ["https://123.666291.xyz","https://666.666291.xyz","https://www.muou.site","https://www.muou.asia"]}}, + {"key": "蜡笔","name": "蜡笔|4K","type": 3,"api": "csp_PanWebShare","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"site": ["https://www.labi88.sbs","https://feimao666.fun","http://feimao888.fun"]}}, + {"key": "至臻","name": "至臻|4K","type": 3,"api": "csp_PanWebShare","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"site": ["https://mihdr.top","https://www.miqk.cc","https://xiaomiai.site","https://xiaomi666.fun","https://www.mihdr.top","https://www.zhizhenpan.fun"]}}, + {"key": "多多","name": "多多|4K","type": 3,"api": "csp_PanWebShare","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"site": ["https://tv.yydsys.top","https://tv.yydsys.cc","https://tv.214521.xyz"]}}, + {"key": "欧哥","name": "欧哥|4K","type": 3,"api": "csp_PanWebShare","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"site": ["https://woog.nxog.eu.org","https://woog.nxog.fun","https://woog.nxog.eu.org","https://woog.430520.xyz"]}}, + {"key": "二小","name": "二小|4K","type": 3,"api": "csp_PanWebShare","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"site": ["https://xhww.net","https://erxiaofn.site","https://erxiaofn.click","https://www.xhww.net"]}}, + {"key": "虎斑","name": "虎斑|4K","type": 3,"api": "csp_PanWebShare","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"site": ["http://xhban.xyz:20720","http://154.222.27.33:20720"]}}, + {"key": "闪电","name": "闪电|4K","type": 3,"api": "csp_PanWebShare","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"site": ["https://sd.sduc.site"]}}, + {"key": "夸克","name": "夸克|4K","type": 3,"api": "csp_PanWebShareCloudKK","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"site": ["https://www.quarktv.cc"]}}, + {"key": "清影","name": "清影|4K","type": 3,"api": "csp_PanWebShareCloudQY","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"site": ["http://www.revohd.com"]}}, + {"key": "雷鲸","name": "雷鲸|4K","type": 3,"api": "csp_PanWebShareCloudLJ","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"style": {"type": "list","ratio": 1.433},"ext": {"site": ["https://www.leijing.xyz","https://www.leijing1.com","https://leijing.xyz","https://leijing1.com"]}}, + {"key": "海绵","name": "海绵|4K","type": 3,"api": "csp_PanWebShareCloudHM","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"style": {"type": "list","ratio": 1.433},"ext": {"site": ["http://haimian.eu.org","https://www.hmxz.org","https://www.haimianxz.com"]}}, + {"key": "夸父","name": "夸父|4K","type": 3,"api": "csp_PanWebShareCloudKF","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"style": {"type": "list","ratio": 1.433},"ext": {"site": ["https://www.kfjwzz.com"],"cookie": "bbs_sid=bi7dpnm6vp31s38rjqlqq8vq84; bbs_token=TWiR3YUrGoVpbdTkjAJ0xMe_2B_2FiaFvd84V3_2FEZJRRSKU_3D"}}, + {"key": "盘它","name": "盘它|4K","type": 3,"api": "csp_PanWebShareCloudPT","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"style": {"type": "list"}}, + {"key": "123","name": "123|4K","type": 3,"api": "csp_PanWebShareCloud123","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"style": {"type": "list","ratio": 1.433},"ext": {"site": ["https://123panfx.com","https://pan1.me"]}}, + {"key": "人人","name": "人人|4K","type": 3,"api": "csp_RenRen"}, + {"key": "即刻","name": "即刻|4K","type": 3,"api": "csp_Jike","style": {"type": "list"}}, + {"key": "双星","name": "双星|4K","type": 3,"api": "csp_ShuangXing","style": {"type": "list"}}, + {"key": "甜圈短剧","name": "甜圈|短剧","type": 3,"api": "csp_TianquanDJ","searchable": 1,"changeable": 1,"quickSearch": 1,"filterable": 1}, + {"key": "锦鲤短剧","name": "锦鲤|短剧","type": 3,"api": "csp_JinliDJ","searchable": 1,"changeable": 1,"quickSearch": 1,"filterable": 1}, + {"key": "星阁短剧","name": "星阁|短剧","type": 3,"api": "csp_XinggeDJ","searchable": 1,"changeable": 1,"quickSearch": 1,"filterable": 1}, + {"key": "星芽短剧","name": "星芽|短剧","type": 3,"api": "./py/星芽短剧.py","searchable": 1,"changeable": 1,"quickSearch": 1,"filterable": 1}, + {"key": "剧王短剧","name": "剧王|短剧","type": 3,"api": "./py/剧王短剧.py","searchable": 1,"changeable": 1,"quickSearch": 1,"filterable": 1}, + {"key": "木兮影视","name": "木兮|影视","type": 3,"api": "csp_Symx","ext": "https://film.symx.club"}, + {"key": "零度影视","name": "零度|影视","type": 3,"api": "csp_Lingdu","searchable": 1,"filterable": 1}, + {"key": "厂长影视","name": "厂长|影视","type": 3,"api": "csp_Czsapp","searchable": 1,"quickSearch": 1,"filterable": 1,"ext": "https://www.czzymovie.com"}, + {"key": "金牌影视","name": "金牌|影视","type": 3,"api": "csp_Jpys","ext": "https://m.610pkea.com,https://y2s52n7.com,https://m.hkybqufgh.com,https://m.sizhengxt.com,https://m.9zhoukj.com,https://m.sizhengxt.com,https://m.jiabaide.cn"}, + {"key": "云播影视","name": "云播|影视","type": 3,"api": "csp_Tvyb","ext": "http://www.viptv05.com"}, + {"key": "苹果影视","name": "苹果|影视","type": 3,"api": "csp_LiteApple"}, + {"key": "饺子影视","name": "饺子|影视","type": 3,"api": "csp_Jiaozi"}, + {"key": "瓜子影视","name": "瓜子|影视","type": 3,"api": "csp_Gz360"}, + {"key": "骚火影视","name": "骚火|影视","type": 3,"api": "csp_SaoHuo","ext": "https://shdy5.us"}, + {"key": "农民影视","name": "农民|影视","type": 3,"api": "csp_Wwys","ext": "https://vip.wwgz.cn:5200"}, + {"key": "爱看机器人","name": "爱看|影视","type": 3,"api": "csp_Ikanbot","searchable": 1,"quickSearch": 1,"filterable": 1}, + {"key": "韩剧看看","name": "韩剧|影视","type": 3,"api": "csp_XBPQ","ext": "./XBPQ/韩剧看看.json"}, + {"key": "小镇影视","name": "小镇|影视","type": 3,"api": "csp_XBPQ","ext": "./XBPQ/小镇影视.json"}, + {"key": "面包影视","name": "面包|影视","type": 3,"api": "csp_XBPQ","ext": "./XBPQ/面包影视.json"}, + {"key": "永乐影视","name": "永乐|影视","type": 3,"api": "csp_XBPQ","ext": "./XBPQ/永乐影视.json"}, + {"key": "采集之王","name": "采集|合集","type": 3,"api": "./lib/drpy2.min.js","ext": "./js/采集之王.js?type=url¶ms=../json/采集静态.json$1$1"}, + {"key": "1905","name": "1905|影视","type": 3,"api": "csp_Web1905","searchable": 1,"quickSearch": 0,"filterable": 0}, + {"key": "哆啦新番社","name": "哆啦|新番社","type": 3,"api": "csp_XBPQ","style": {"type": "list"},"ext": "./XBPQ/哆啦新番社.json"}, + {"key": "Anime1","name": "A1|动漫","type": 3,"api": "./lib/drpy2.min.js","ext": "./js/Anime1.js"}, + {"key": "NT动漫","name": "NT|动漫","type": 3,"api": "./lib/drpy2.min.js","ext": "./js/NT动漫.js"}, + {"key": "漫国动漫","name": "漫国丨动漫","type": 3,"searchable": 1,"api": "csp_AppSy","ext": {"site": "https://dm-1255775577.cos.ap-guangzhou.myqcloud.com/dmg/api.txt","siteKey": "rectangleadsadxa","listKey": "aassddwwxxllsx1x","parsesKey": "aassddwwxxllsx1x"}}, + {"key": "云屋动漫","name": "云屋|动漫","type": 3,"searchable": 1,"api": "csp_AppGet","ext": {"url": "https://www.yunwuee.icu","dataKey": "ygcnb9bdcmb8aeiw","dataIv": "ygcnb9bdcmb8aeiw"}}, + {"key": "卡卡动漫","name": "卡卡|动漫","type": 3,"searchable": 1,"api": "csp_AppGet","ext": {"url": "http://154.201.90.53:8002","dataKey": "123456789abcdefg","dataIv": "123456789abcdefg"}}, + {"key": "丫丫动漫","name": "丫丫|动漫","type": 3,"searchable": 1,"api": "csp_AppGet","ext": {"url": "http://tv.yy-fun.cc","dataKey": "qkxnwkfjwpcnwycl","dataIv": "qkxnwkfjwpcnwycl"}}, + {"key": "冬日动漫","name": "冬日丨动漫","type": 3,"searchable": 1,"api": "csp_AppGet","ext": {"url": "http://www.drdm.fun","dataKey": "qE2nD0rL1lH4uP9r","dataIv": "qE2nD0rL1lH4uP9r"}}, + {"key": "方舟动漫","name": "方舟丨动漫","type": 3,"searchable": 1,"api": "csp_AppGet","ext": {"url": "https://www.cyfz.vip","dataKey": "e72cdfd629e8895d","dataIv": "e72cdfd629e8895d"}}, + {"key": "元咲动漫","name": "元咲丨动漫","type": 3,"searchable": 1,"api": "csp_AppGet","ext": {"url": "http://cic.aicg.fun","dataKey": "2c4h36abd96se10u","dataIv": "2c4h36abd96se10u"}}, + {"key": "番薯动漫","name": "番薯丨动漫","type": 3,"searchable": 1,"api": "csp_AppGet","ext": {"url": "https://new.app.bytegooty.com","dataKey": "N4yj7l7xKxHF4*gz","dataIv": "N4yj7l7xKxHF4*gz"}}, + {"key": "曼波动漫","name": "曼波|动漫","type": 3,"searchable": 1,"api": "csp_AppGet","ext": {"url": "https://app.omofun1.top","dataKey": "66dc309cbeeca454","dataIv": "66dc309cbeeca454"}}, + {"key": "咕咕动漫","name": "咕咕|动漫","type": 3,"searchable": 1,"api": "csp_AppGet","ext": {"url": "https://www.gugu3.com","dataKey": "nKfZ8KX6JTNWRzTD","dataIv": "nKfZ8KX6JTNWRzTD"}}, + {"key": "米饭动漫","name": "米饭|动漫","type": 3,"searchable": 1,"api": "csp_AppGet","ext": {"url": "https://get.mymifun.com","dataKey": "GETMIFUNGEIMIFUN","dataIv": "GETMIFUNGEIMIFUN"}}, + {"key": "樱花动漫","name": "樱花|动漫","type": 3,"api": "csp_XBPQ","ext": "./XBPQ/樱花动漫.json"}, + {"key": "巴士动漫","name": "巴士|动漫","type": 3,"api": "csp_XYQHiker","ext": "./XYQHiker/巴士动漫.json"}, + {"key": "花子动漫","name": "花子|动漫","type": 3,"api": "./lib/drpy2.min.js","ext": "./js/花子动漫.js"}, + {"key": "爱动漫","name": "爱动漫|动漫","type": 3,"api": "./lib/drpy2.min.js","ext": "./js/爱动漫.js"}, + {"key": "路漫漫","name": "路漫漫|动漫","type": 3,"api": "./lib/drpy2.min.js","ext": "./js/路漫漫.js"}, + {"key": "去看吧","name": "去看吧|动漫","type": 3,"api": "./lib/drpy2.min.js","ext": "./js/去看吧.js"}, + {"key": "荐片","name": "荐片|磁力","api": "csp_JianPian","type": 3}, + {"key": "修罗","name": "修罗|磁力","api": "csp_Xlys","type": 3,"ext": "https://xl01.com.de"}, + {"key": "七味","name": "七味|磁力","type": 3,"api": "csp_QnMp4","searchable": 1,"quickSearch": 1,"filterable": 1,"ext": {"url": "https://www.pkmp4.xyz,https://www.qwnull.com,https://www.qwmkv.com,https://www.qwfilm.com,https://www.qnmp4.com,https://www.qnnull.com,https://www.qnhot.com"}}, + {"key": "雪花","name": "雪花|磁力","type": 3,"api": "csp_XBPQ","changeable": 1,"searchable": 1,"quickSearch": 1,"filterable": 1,"ext": "./XBPQ/雪花.json"}, + {"key": "80S","name": "80S|磁力","type": 3,"api": "csp_BLSGod","playerType": 1,"searchable": 1,"quickSearch": 1,"filterable": 1}, + {"key": "New6v","name": "New6V|磁力","type": 3,"api": "csp_New6v","searchable": 1,"quickSearch": 1,"filterable": 1,"ext": "https://www.xb6v.com"}, + {"key": "美剧迷","name": "美剧迷|磁力","type": 3,"api": "csp_MeijuMi","searchable": 1,"quickSearch": 1,"filterable": 1}, + {"key": "迅雷吧","name": "迅雷吧|磁力","type": 3,"api": "csp_Xunlei8","searchable": 1,"quickSearch": 1,"filterable": 1}, + {"key": "电影港","name": "电影港|磁力","type": 3,"api": "csp_XYQHiker","searchable": 1,"quickSearch": 1,"filterable": 1,"ext": "./XYQHiker/电影港.json"}, + {"key": "电影天堂","name": "电影天堂|磁力","type": 3,"api": "csp_DyGod","searchable": 1,"quickSearch": 1,"filterable": 1}, + {"key": "阿里云盘","name": "我的|阿里","type": 3,"api": "csp_PanAli","searchable": 0,"filterable": 0,"changeable": 0,"style": {"type": "list","ratio": 1.433},"ext": "./json/aliShare.json"}, + {"key": "夸克云盘","name": "我的|夸克","type": 3,"api": "csp_PanQuark","searchable": 0,"filterable": 0,"changeable": 0,"style": {"type": "list","ratio": 1.433},"ext": "./json/quarkShare.json"}, + {"key": "UC云盘","name": "我的|UC","type": 3,"api": "csp_PanUc","searchable": 0,"filterable": 0,"changeable": 0,"style": {"type": "list","ratio": 1.433},"ext": "./json/ucShare.json"}, + {"key": "百度云盘","name": "我的|百度","type": 3,"api": "csp_PanBaiDu","searchable": 0,"filterable": 0,"changeable": 0,"style": {"type": "list","ratio": 1.433}}, + {"key": "盘搜","name": "盘搜|搜索","type": 3,"api": "csp_PanSou","searchable": 1,"quickSearch": 0,"filterable": 0}, + {"key": "糖果","name": "糖果|搜索","type": 3,"api": "csp_TGSou","searchable": 1,"quickSearch": 0,"filterable": 0}, + {"key": "百酷","name": "百酷|搜索","type": 3,"api": "csp_Baiku"}, + {"key": "米搜","name": "米搜|搜索","type": 3,"api": "csp_MiSou"}, + {"key": "酷乐","name": "酷乐|搜索","type": 3,"api": "csp_KuLe"}, + {"key": "鬼鬼","name": "鬼鬼|搜索","type": 3,"api": "csp_GuiGui"}, + {"key": "混合","name": "混合|搜索","type": 3,"api": "csp_HunHePan"}, + {"key": "兄弟","name": "兄弟|搜索","type": 3,"api": "csp_XiongDiPan"}, + {"key": "天翼","name": "天翼|搜索","type": 3,"api": "csp_TianYiSo"}, + {"key": "趣盘","name": "趣盘|搜索","type": 3,"api": "csp_QuPanSo"}, + {"key": "AList","name": "AList|合集","type": 3,"api": "csp_Alist","searchable": 1,"filterable": 1,"changeable": 0,"style": {"type": "list"},"ext": "./json/alist.json"}, + {"key": "88看球","name": "88|看球","type": 3,"api": "csp_Kanqiu","gridview": 3,"style": {"type": "list"}}, + {"key": "爱听音乐","name": "爱听|音乐","type": 3,"api": "./py/爱听音乐.py"}, + {"key": "六月听书","name": "六月|听书","type": 3,"api": "csp_TingBook","style": {"type": "list"}}, + {"key": "呦呦DJ","name": "呦呦|DJ","type": 3,"api": "csp_Djuu","style": {"type": "list"}}, + {"key": "戏曲多多","name": "戏曲|多多","type": 3,"api": "csp_AppLY","style": {"type": "list"}}, + {"key": "网络直播","name": "网络|直播","type": 3,"api": "./py/网络直播.py"}, + {"key": "哔哩直播","name": "哔哩|直播","type": 3,"api": "./py/哔哩直播.py"}, + {"key": "哔哩合集","name": "哔哩|合集","type": 3,"api": "csp_Bili","searchable": 1,"quickSearch": 0,"filterable": 0,"changeable": 0,"style": {"type": "rect","ratio": 1.433},"ext": {"json": "./json/哔哩合集.json","cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt"}}, + {"key": "哔哩哔哩演唱会","name": "哔哩|音乐","type": 3,"api": "csp_Bili","searchable": 0,"quickSearch": 0,"filterable": 0,"ext": {"json": "./json/哔哩哔哩演唱会.json","cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt"},"style": {"type": "rect","ratio": 1.597}}, + {"key": "哔哩哔哩听书","name": "哔哩|听书","type": 3,"api": "csp_Bili","searchable": 0,"quickSearch": 0,"filterable": 0,"ext": {"json": "./json/哔哩哔哩听书.json","cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt"},"style": {"type": "rect","ratio": 1.597}}, + {"key": "哔哩哔哩相声","name": "哔哩|相声","type": 3,"api": "csp_Bili","searchable": 0,"quickSearch": 0,"filterable": 0,"ext": {"json": "./json/哔哩哔哩相声.json","cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt"},"style": {"type": "rect","ratio": 1.597}}, + {"key": "哔哩哔哩小品","name": "哔哩|小品","type": 3,"api": "csp_Bili","searchable": 0,"quickSearch": 0,"filterable": 0,"ext": {"json": "./json/哔哩哔哩小品.json","cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt"},"style": {"type": "rect","ratio": 1.597}}, + {"key": "哔哩哔哩戏曲","name": "哔哩|戏曲","type": 3,"api": "csp_Bili","searchable": 0,"quickSearch": 0,"filterable": 0,"ext": {"json": "./json/哔哩哔哩戏曲.json","cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt"},"style": {"type": "rect","ratio": 1.597}}, + {"key": "少儿教育","name": "少儿|教育","type": 3,"api": "csp_Bili","searchable": 0,"quickSearch": 0,"filterable": 1,"ext": {"json": "./json/少儿教育.json","cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt"},"style": {"type": "rect","ratio": 1.597}}, + {"key": "小学课堂","name": "小学|课堂","type": 3,"api": "csp_Bili","searchable": 0,"quickSearch": 0,"filterable": 1,"ext": {"json": "./json/小学课堂.json","cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt"},"style": {"type": "rect","ratio": 1.597}}, + {"key": "初中课堂","name": "初中|课堂","type": 3,"api": "csp_Bili","searchable": 0,"quickSearch": 0,"filterable": 1,"ext": {"json": "./json/初中课堂.json","cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt"},"style": {"type": "rect","ratio": 1.597}}, + {"key": "高中课堂","name": "高中|课堂","type": 3,"api": "csp_Bili","searchable": 0,"quickSearch": 0,"filterable": 1,"ext": {"json": "./json/高中课堂.json","cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt"},"style": {"type": "rect","ratio": 1.597}}, + {"key": "急救教学","name": "急救|教学","type": 3,"api": "csp_FirstAid","searchable": 0,"quickSearch": 0,"changeable": 0,"style": {"type": "rect","ratio": 3.8},"gridview": "0-0-4.1"}, + {"key": "养生堂","name": "养生|知识","type": 3,"api": "csp_XBPQ","ext": "./XBPQ/养生堂.json","style": {"type": "rect","ratio": 1.597}}, + {"key": "push_agent","name": "手机|推送","type": 3,"api": "csp_Push","searchable": 0,"filterable": 0,"changeable": 0}, {"key": "奇优","name": "影视 | ️奇优[直连]","type": 3,"api": "csp_XBPQ","searchable": 1,"quickSearch": 1,"filterable": 1,"ext": "./json/奇优.json","jar": "./jar/Yoursmile.jar;md5;97796a79a781055669f2d5442439dc5f"}, {"key": "电影天堂","name": "影视 | 电影天堂","type": 1,"api": "http://caiji.dyttzyapi.com/api.php/provide/vod","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"playerType": 2}, {"key": "天涯采集","name": "影视 | 天涯","type": 1,"api": "http://tyyszy.com/api.php/provide/vod","style": {"type": "rect","ratio": 1.33},"searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"playerType": 2}, diff --git a/fty.json b/fty.json new file mode 100644 index 00000000..1cf455d2 --- /dev/null +++ b/fty.json @@ -0,0 +1,66 @@ +{ + "spider": "./jar/fan.txt;md5;46134f58a2d0e6c5824bf14d3ab882b3", + "wallpaper": "https://深色壁纸.xxooo.cf/", + "sites": [ + {"key": "豆","name": "新增自动安装,新公众号【太太太硬了】","type": 3,"api": "csp_DouDouGuard","indexs": 1,"searchable": 0,"quickSearch": 0,"changeable": 0}, + {"key": "MDrive","name": "🗂我的云盘┃我配置","type": 3,"api": "csp_MyDriveGuard","changeable": 0,"indexs": 0,"searchable": 1,"style": {"type": "oval"},"ext": {"Cloud-drive": "tvfan/Cloud-drive.txt"}}, + {"key": "玩偶","name": "👽玩偶哥哥┃4K弹幕","type": 3,"api": "csp_WoGGGuard","timeout": 30,"searchable": 1,"quickSearch": 1,"changeable": 0,"ext": {"Cloud-drive": "tvfan/Cloud-drive.txt"}}, + {"key": "YGP","name": "🚀叨观荐影┃预告片","type": 3,"api": "csp_YGPGuard","searchable": 0,"quickSearch": 0,"changeable": 0}, + {"key": "MTV1","name": "🎙️易听音乐┃带歌词","type": 3,"api": "csp_MusicGuard","style": {"type": "rect","ratio": 1},"playerType": 2,"searchable": 1,"quickSearch": 0,"changeable": 0}, + {"key": "seed","name": "💡聚剧剧┃三盘","type": 3,"api": "csp_SeedhubGuard","ext": "5++kwLhNYm9UrO9wh7Dl7eKamTee4s/5","searchable": 1,"quickSearch": 1,"changeable": 0,"indexs": 0,"style": {"type": "list"}}, + {"key": "ZPan","name": "🎈聚盘搜┃三盘","type": 3,"api": "csp_S_zpsGuard","searchable": 1,"quickSearch": 0,"changeable": 0,"ext": {"siteUrl": "http://38.55.131.86:82/"},"indexs": 0,"style": {"type": "list"}}, + {"key": "立播","name": "🌟立播┃秒播","type": 3,"api": "csp_LibvioGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1,"ext": {"Cloud-drive": "tvfan/Cloud-drive.txt"}}, + {"key": "奶酪","name": "🧀奶酪┃秒播","type": 3,"api": "csp_T4Guard","searchable": 1,"quickSearch": 1,"changeable": 0,"ext": "rfOIzPkSUkANv6AT2prC8en3+TzKx9TnlT8vaY37HhtYfAQe6C5xqrVuJPhQwYV6r3eRdMBGm3Qm6Th+BushR86B6KqJGXDsHazHw7alBG/7zUxkN1tK/NypRxnpBNoeUtpw4jcCGhytI75yO4g4zG6SOPA0RSwhksM0IF2friAkrHCWoW3v+0mdw6sjz4t4XB1Df7yL/R5cfaA/5LQYq3I8OkvMrJMU9Q1P7JXwx7NSF2zTyH/ANVmZ4u5m567DW1KVG7OuQjXPjZiOXTYk0+wjpfBRTf19yIq6q/C76k2Fs80joAMPw0ueDR+QHxtuDcTom2rmHkI1Fonkzi6BotbpUcbSi4PiIgmfdbvVwhG6Z+i4nvt+IYa48l5aLA7PLgDiERpuOs31aHaXlgFswT87XyTb8QaF4CuzKWJuXptwNTjvXAS9KHdxH49Ay+hfBAB2bCvUf4CMoldF2wZUv0mI2qY966erFpOFg+FOc7t88EUH8j8ACXQtHJiKC9RQ+SaLIF0="}, + {"key": "厂长","name": "📔厂长┃秒播","type": 3,"api": "csp_NewCzGuard","timeout": 10,"playerType": 2,"searchable": 1,"quickSearch": 1,"changeable": 1}, + {"key": "文采","name": "💮文采┃秒播","type": 3,"api": "csp_JpysGuard","timeout": 10,"playerType": 2,"searchable": 1,"quickSearch": 1,"changeable": 1}, + {"key": "原创","name": "☀原创┃秒播","type": 3,"api": "csp_YCyzGuard","timeout": 15,"playerType": 1,"searchable": 1,"quickSearch": 1,"changeable": 1}, + {"key": "比特","name": "🍄比特┃秒播","type": 3,"api": "csp_BttwooGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1}, + {"key": "苹果","name": "🍎苹果┃秒播","type": 3,"api": "csp_LiteAppleGuard","timeout": 15,"searchable": 1,"quickSearch": 1,"changeable": 1}, + {"key": "热播","name": "📺热播┃多线","type": 3,"api": "csp_AppTTGuard","timeout": 10,"playerType": 2,"searchable": 1,"quickSearch": 1,"changeable": 1,"ext": "uqGL1bNENExT7/hGxpSE5qU="}, + {"key": "剧圈","name": "🐻剧圈┃多线","type": 3,"api": "csp_AppSxGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1,"ext": "rfOb1uAWbkRHp7hdxprG9un3+S3T18333j8hL4ryEFdPZxse8yYwoKFyJOlU2M9/q2OcL8NQxT0k5GV9Quw0AIzUurGBVyPqCLrdirfpAz+n0Qh7PVBWo8uxWhO1Bs1MCYA1oiM="}, + {"key": "下饭","name": "🍙下饭┃多线","type": 3,"api": "csp_AppSxGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1,"ext": "rfOX1voDIQhH8epBwtCFsub1+mmfmIi0nGlgK8i7X0oYLxBVvSwnsuM5MLkOhoI/4z/TJMVFz2ow52AyXL42Edzeou/SGHg="}, + {"key": "极狐","name": "🦊极狐┃多线","type": 3,"api": "csp_AppSxGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1,"ext": "rfOb1uAWbkRHp7hdxprG9un3+S/Cz8j6xik9ZIrwCw8aZkEOtiQw5qNif+ZRw904uGiCZNFRz3ln6nh5Q+wpBsGA6aydW3fmWrXH1ve0HjKxzV5kNEdcrI7mT1i2DMtcTIh17XhLS0D2Cr6rghboDg=="}, + {"key": "猫猫","name": "🐟猫猫┃多线","type": 3,"api": "csp_AppSxGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1,"ext": "rfOX1voDIQhH8epBwpmIsuSspW+fnt3j0Gkxas3qVQ5bZRBVvSwnsuM5MOJ0isFT7Xq5Kctln34euXsyXL42Edzeou/SGHg="}, + {"key": "橘子","name": "🍊橘子┃多线","type": 3,"api": "csp_AppSxGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1,"ext": "rfOX1voDIQhH8epBwpmIsuS/sSCZwM/jwik9Zoy3AAlFMxpf9CY77fshJ+II0I4x7mOKd5IWnT40uC1p"}, + {"key": "鲸鱼","name": "👀鲸鱼┃多线","type": 3,"api": "csp_AppSxGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1,"ext": "rfOb1uAWbkRHp7hdxprG9un3+TXC3NH30m85MMiyVkwSIgNArXpwrLZwJOlInMRrq2qCb88RxXck6mdnBfx+E9mVr+/WQHKnXOuf1rT3CHH2zSEDJ0lM/ZH/GF+kFMAPQfAluHgdCEy1QqmjhV0="}, + {"key": "糯米","name": "🍓糯米┃多线","type": 3,"api": "csp_NmyswvGuard","timeout": 15,"searchable": 1,"quickSearch": 1,"changeable": 1}, + {"key": "奥特","name": "🏝奥特┃多线","type": 3,"api": "csp_AueteGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1}, + {"key": "荐片","name": "🐭荐片┃P2P","type": 3,"api": "csp_JPJGuard","timeout": 10,"playerType": 2,"searchable": 1,"quickSearch": 1,"changeable": 0}, + {"key": "新6V","name": "🧲新6V┃磁力","type": 3,"api": "csp_SixVGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 0,"ext": "https://www.xb6v.com/"}, + {"key": "Dm84","name": "🚌巴士┃动漫","type": 3,"api": "csp_Dm84Guard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1}, + {"key": "Anime1","name": "🐾日本┃动漫","type": 3,"api": "csp_Anime1Guard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1}, + {"key": "88","name": "⚽88┃看球","type": 3,"api": "csp_Sir88Guard","timeout": 10,"searchable": 0,"changeable": 0,"style": {"type": "list"}}, + {"key": "超全","name": "⚽超全┃看球","type": 3,"api": "csp_ZbzGuard","searchable": 0,"quickSearch": 0,"changeable": 0,"style": {"type": "list"},"ext": "uqGL1fpJNAUf8fdTwZCE5qSp+Q=="}, + {"key": "看球","name": "⚽手机┃看球","type": 3,"api": "csp_KanqiuGuard","timeout": 10,"searchable": 0,"changeable": 0,"style": {"type": "list"}}, + {"key": "MTV","name": "🎶明星┃MV","type": 3,"api": "csp_BiliGuard","style": {"type": "rect","ratio": 1.597},"searchable": 0,"quickSearch": 0,"changeable": 0,"ext": {"json": "https://nos.netease.com/ysf/5af5fbe12a88b7c45aa1c21e6551826c.txt"}}, + {"key": "有声小说","name": "🎧有声┃小说","type": 3,"api": "csp_Tingshu275Guard","style": {"type": "rect","ratio": 1},"searchable": 0,"quickSearch": 0,"changeable": 0}, + {"key": "Aid","name": "🚑急救┃教学","type": 3,"api": "csp_FirstAidGuard","searchable": 0,"quickSearch": 0,"changeable": 0,"style": {"type": "rect","ratio": 3.8}}, + {"key": "虎牙js","name": "🐯虎牙┃直播","type": 3,"api": "./FTY/drpy2.min.js","ext": "./FTY/虎牙.js","style": {"type": "rect","ratio": 1.755},"timeout": 10,"playerType": "2","searchable": 1,"quickSearch": 0,"changeable": 0}, + {"key": "斗鱼js","name": "🐟斗鱼┃直播","type": 3,"api": "./FTY/drpy2.min.js","ext": "./FTY/斗鱼直播.js","style": {"type": "rect","ratio": 1.755},"timeout": 10,"playerType": "2","searchable": 1,"quickSearch": 0,"changeable": 0}, + {"key": "抠搜","name": "🍄抠抠┃搜搜","type": 3,"api": "csp_KkSsGuard","searchable": 1,"quickSearch": 1,"changeable": 0,"ext": {"Cloud-drive": "tvfan/Cloud-drive.txt"}}, + {"key": "UC","name": "🌈优汐┃搜搜","type": 3,"api": "csp_UuSsGuard","searchable": 1,"quickSearch": 1,"changeable": 0,"ext": {"Cloud-drive": "tvfan/Cloud-drive.txt"}}, + {"key": "YiSo","name": "😹易搜┃三盘","type": 3,"api": "csp_YiSoGuard","searchable": 1,"quickSearch": 1,"changeable": 0,"ext": {"Cloud-drive": "tvfan/Cloud-drive.txt","yiSoCookie": "satoken=4437cb8c-a260-411b-9a0d-1fa622ab422f"}}, + {"key": "米搜","name": "🦋米搜┃优夸","type": 3,"api": "csp_MIPanSoGuard","searchable": 1,"quickSearch": 1,"changeable": 0,"ext": {"Cloud-drive": "tvfan/Cloud-drive.txt"}}, + {"key": "YpanSo","name": "🐟盘她┃夸父","type": 3,"api": "csp_YpanSoGuard","searchable": 1,"quickSearch": 1,"changeable": 0,"ext": {"Cloud-drive": "tvfan/Cloud-drive.txt"}}, + {"key": "push_agent","name": "🛴手机┃推送","type": 3,"api": "csp_PushGuard","searchable": 0,"quickSearch": 0,"ext": {"Cloud-drive": "tvfan/Cloud-drive.txt"}}, + {"key": "Bili","name": "🅱哔哔合集┃弹幕","type": 3,"api": "csp_BiliGuard","style": {"type": "rect","ratio": 1.597},"searchable": 1,"quickSearch": 0,"changeable": 0,"ext": {"json": "https://nos.netease.com/ysf/0075389dca9afadd4614e9713765ff17.txt"}}, + {"key": "Biliych","name": "🅱哔哔演唱会┃弹幕","type": 3,"api": "csp_BiliGuard","style": {"type": "rect","ratio": 1.597},"searchable": 0,"quickSearch": 0,"changeable": 0,"ext": {"json": "https://nos.netease.com/ysf/6496356286589c68f52c2f99c0c674c7.txt"}}, + {"key": "dr_兔小贝","name": "📚儿童┃启蒙","type": 3,"api": "./FTY/drpy2.min.js","ext": "./FTY/%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_BiliGuard","style": {"type": "rect","ratio": 1.597},"searchable": 0,"quickSearch": 0,"changeable": 0,"ext": {"json": "https://nos.netease.com/ysf/89370c8ddf36b5e1beb4d71adb921bda.txt"}}, + {"key": "小学课堂","name": "📚小学┃课堂","type": 3,"api": "csp_BiliGuard","style": {"type": "rect","ratio": 1.597},"searchable": 0,"quickSearch": 0,"changeable": 0,"ext": {"json": "https://nos.netease.com/ysf/d7a21cf34ede56f5c686ecfba5fc7e3f.txt"}}, + {"key": "初中课堂","name": "📚初中┃课堂","type": 3,"api": "csp_BiliGuard","style": {"type": "rect","ratio": 1.597},"searchable": 0,"quickSearch": 0,"changeable": 0,"ext": {"json": "https://nos.netease.com/ysf/8f55d520f8d70056695740ef151744a7.txt"}}, + {"key": "高中教育","name": "📚高中┃课堂","type": 3,"api": "csp_BiliGuard","style": {"type": "rect","ratio": 1.597},"searchable": 0,"quickSearch": 0,"changeable": 0,"ext": {"json": "https://nos.netease.com/ysf/c66a4b5356141c49fd45ec51568017b4.txt"}}, + {"key": "fan","name": "导航 www.饭太硬.com","type": 3,"api": "csp_XPathGuard","searchable": 1,"quickSearch": 0,"changeable": 0}, + {"key": "cc","name": "请勿相信视频中广告","type": 3,"api": "csp_XPathGuard","searchable": 1,"quickSearch": 0,"changeable": 0} + ], + "logo": "https://bdcache1-f1.v3mh.com/image/25-12-16/6941612717007.gif", + "lives": [ + {"name": "develop202","type": 0,"url": "https://gh.llkk.cc/http://raw.githubusercontent.com/develop202/migu_video/refs/heads/main/interface.txt","playerType": 2,"epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}"}, + {"name": "冰 茶","type": 0,"url": "https://bc.188766.xyz/?ip=&mishitong=true&mima=mianfeibuhuaqian&json=true","timeout": 10,"ua": "bingcha/1.1(mianfeifenxiang)"}, + {"name": "范明明(需开启V6网络)","type": 0,"url": "https://nos.netease.com/ysf/3d75a78a0fc7ede372c03598d6d10367.m3u","playerType": 2}, + {"name": "虎牙一起看","type": 0,"url": "https://sub.ottiptv.cc/huyayqk.m3u","playerType": 2,"timeout": 10,"ua": "okHttp/Mod-1.5.0.0"}, + {"name": "斗鱼一起看","type": 0,"url": "https://sub.ottiptv.cc/douyuyqk.m3u","playerType": 2,"timeout": 10,"ua": "okHttp/Mod-1.5.0.0"}, + {"name": "B站直播","type": 0,"url": "https://sub.ottiptv.cc/bililive.m3u","playerType": 2,"timeout": 10,"ua": "okHttp/Mod-1.5.0.0"}, + {"name": "YY轮播","type": 0,"url": "https://sub.ottiptv.cc/yylunbo.m3u","playerType": 2,"timeout": 10,"ua": "okHttp/Mod-1.5.0.0"} + ] +} \ No newline at end of file diff --git a/jar/fan.txt b/jar/fan.txt index b475ec7e..ecd082ea 100644 Binary files a/jar/fan.txt and b/jar/fan.txt differ diff --git a/jar/spider.jar b/jar/spider.jar new file mode 100644 index 00000000..07266df4 Binary files /dev/null and b/jar/spider.jar differ diff --git a/js/Anime1.js b/js/Anime1.js new file mode 100644 index 00000000..c0e6fb06 --- /dev/null +++ b/js/Anime1.js @@ -0,0 +1,169 @@ +// 注意事项:此源仅支持 影视TV 及 爱佬版tvbox最新版 +// 注意事项:此源仅支持 影视TV 及 爱佬版tvbox最新版 +// 注意事项:此源仅支持 影视TV 及 爱佬版tvbox最新版 +// 3个set-Cookie + +var rule = { + title:'Anime1动畫', + host:'https://anime1.me', + url: '/fyclass', + detailUrl:'/?cat=fyid', + searchUrl: '/page/fypage?s=**', + searchable:2, + quickSearch:0, + headers:{'User-Agent': 'PC_UA'}, + timeout:5000, + class_name:'連載中&2025&2024&2023&2022&2021&2020&2019&2018&更早', + class_url:'連載中&2025&2024&2023&2022&2021&2020&2019&2018&2017', + play_parse:true, + lazy:`js: + var apiurl = 'https://v.anime1.me/api'; + var html = request(apiurl, { + headers: { + 'Referer': HOST, + }, + body: 'd=' + input, + method: 'POST', + withHeaders: true + }); + let json = JSON.parse(html); + print(json); + log(Object.keys(json)); + let setCk = Object.keys(json).filter(it => it.toLowerCase() === "set-cookie"); + let cookie = setCk ? json[setCk] : ""; + // 3个set-Cookie + if (Array.isArray(cookie)) { + cookie = cookie.join(';'); + } + cookie = cookie.split(';').filter(function(it) { + return ['e', 'p', 'h'].includes(it.split('=')[0]) + }).join(';'); + log(cookie); + var purl = JSON.parse(json.body).s[0].src; + if (purl.startsWith('/')) { + purl = 'https:' + purl + } + input = { + jx: 0, + url: purl, + parse: 0, + header: JSON.stringify({ + 'referer': HOST, + 'Cookie': cookie, + 'user-agent': PC_UA + }), + } + `, + limit:6, + 推荐: `js: + var d = []; + function stripHtmlTag(src) { + return src.replace(/<\\/?[^>]+(>|$)/g, '').replace(/&.{1,5};/g, '').replace(/\\s{2,}/g, ' '); + } + var timestamp = new Date().getTime(); + var json = request('https://d1zquzjgwo9yb.cloudfront.net/?_=' + timestamp); + var list = JSON.parse(json); + let playKeys = Object.values(list).filter(function(x) { + return x[2].includes('連載中'); + }); + playKeys.forEach(function(it) { + d.push({ + title: stripHtmlTag(it[1]), + img: 'https://sta.anicdn.com/playerImg/8.jpg', + desc: it[2], + url: it[0], + }); + }); + setResult(d); + `, + 一级: `js: + var d = []; + function stripHtmlTag(src) { + return src.replace(/<\\/?[^>]+(>|$)/g, '').replace(/&.{1,5};/g, '').replace(/\\s{2,}/g, ' '); + } + var timestamp = new Date().getTime(); + var json = request('https://d1zquzjgwo9yb.cloudfront.net/?_=' + timestamp); + var list = JSON.parse(json); + let playKeys = Object.values(list).filter(function(x) { + if (MY_CATE === '連載中') return x[2].includes(MY_CATE); + else if (MY_CATE === '2017') return x[3] <= MY_CATE; + else return x[3] == MY_CATE; + }); + playKeys.forEach(function(it) { + d.push({ + title: stripHtmlTag(it[1]), + img: 'https://sta.anicdn.com/playerImg/8.jpg', + desc: it[2], + url: it[0], + }); + }); + setResult(d); + `, + 二级: `js: + pdfh = jsp.pdfh; pdfa = jsp.pdfa; pd = jsp.pd; + var html = request(input); + var timestamp = new Date().getTime(); + var json = request('https://d1zquzjgwo9yb.cloudfront.net/?_=' + timestamp); + var list = JSON.parse(json); + var vid = input.split('=')[1]; + let playKeys = Object.values(list).find(function(x) { + return x[0] === parseInt(vid); + }); + VOD = { + vod_pic: 'https://sta.anicdn.com/playerImg/8.jpg', + vod_id: playKeys[0], + vod_name: playKeys[1], + vod_content: playKeys[2], + vod_year: playKeys[3], + type_name: playKeys[4], + vod_actor: playKeys[5], + }; + var pageurl = pd(html, '.cat-links&&a&&href'); + var pagenum = 1; + let vod_tab_list = []; + let vlist = []; + for (let p = 1; p < parseInt(pagenum) + 1; p++) { + let phtml = request(pageurl + '/page/' + pagenum); + let new_vod_list = []; + let vodList = []; + vodList = pdfa(phtml, '.site-main&&article'); + for (let i = 0; i < vodList.length; i++) { + let it = vodList[i]; + let ptitle = pdfh(it, '.entry-title&&Text').replace(/\\[(.*)\\]/, '$1'); + let purl = pd(it, '.video-js&&data-apireq'); + new_vod_list.push(ptitle + '$' + purl); + } + vlist = vlist.concat(new_vod_list); + try { + pagenum = pd(phtml, '.nav-previous&&a&&href').split('/page/')[1]; + } catch(e) {} + } + let vlist2 = vlist.reverse().join("#"); + vod_tab_list.push(vlist2); + VOD.vod_play_from = '在线播放'; + VOD.vod_play_url = vod_tab_list.join("$$$"); + `, + 搜索: `js: + var d = []; + function stripHtmlTag(src) { + return src.replace(/<\\/?[^>]+(>|$)/g, '').replace(/&.{1,5};/g, '').replace(/\\s{2,}/g, ' '); + } + var timestamp = new Date().getTime(); + var json = request('https://d1zquzjgwo9yb.cloudfront.net/?_=' + timestamp); + var list = JSON.parse(json); + var wd = input.split('=')[1]; + let playKeys = Object.values(list).filter(function(x) { + return x[1].includes(wd); + }); + log(playKeys); + playKeys.forEach(function(it) { + d.push({ + title: stripHtmlTag(it[1]), + img: 'https://sta.anicdn.com/playerImg/8.jpg', + desc: it[2], + url: it[0], + }); + }); + setResult(d); + `, +} \ No newline at end of file diff --git a/js/NT动漫.js b/js/NT动漫.js index 30e3f2d4..f6874b58 100644 --- a/js/NT动漫.js +++ b/js/NT动漫.js @@ -5,17 +5,1001 @@ var rule = { homeUrl: '/type/riben.html', // url:'/show/fyclass--------fypage---.html', url: '/show/fyclassfyfilter.html', - filterable: 1,//是否启用分类筛选, + filterable: 1, //是否启用分类筛选, filter_url: '--{{fl.by}}-{{fl.class}}--{{fl.letter}}---fypage---{{fl.year}}', filter: { - "riben": [{ "key": "year", "name": "年份:", "value": [{ "n": "全部", "v": "" }, { "n": "2024", "v": "2024" }, { "n": "2023", "v": "2023" }, { "n": "2022", "v": "2022" }, { "n": "2021", "v": "2021" }, { "n": "2020", "v": "2020" }, { "n": "2019", "v": "2019" }, { "n": "2018", "v": "2018" }, { "n": "2017", "v": "2017" }, { "n": "2016", "v": "2016" }, { "n": "2015", "v": "2015" }, { "n": "2014", "v": "2014" }, { "n": "2013", "v": "2013" }, { "n": "2012", "v": "2012" }, { "n": "2011", "v": "2011" }, { "n": "2010", "v": "2010" }, { "n": "2009", "v": "2009" }, { "n": "2008", "v": "2008" }, { "n": "2007", "v": "2007" }, { "n": "2006", "v": "2006" }, { "n": "2005", "v": "2005" }, { "n": "2004", "v": "2004" }, { "n": "2003", "v": "2003" }, { "n": "2002", "v": "2002" }, { "n": "2001", "v": "2001" }, { "n": "2000以前", "v": "2000以前" }] }, { "key": "class", "name": "类型:", "value": [{ "n": "全部", "v": "" }, { "n": "搞笑", "v": "搞笑" }, { "n": "运动", "v": "运动" }, { "n": "励志", "v": "励志" }, { "n": "热血", "v": "热血" }, { "n": "战斗", "v": "战斗" }, { "n": "竞技", "v": "竞技" }, { "n": "校园", "v": "校园" }, { "n": "青春", "v": "青春" }, { "n": "爱情", "v": "爱情" }, { "n": "冒险", "v": "冒险" }, { "n": "后宫", "v": "后宫" }, { "n": "百合", "v": "百合" }, { "n": "治愈", "v": "治愈" }, { "n": "萝莉", "v": "萝莉" }, { "n": "魔法", "v": "魔法" }, { "n": "悬疑", "v": "悬疑" }, { "n": "推理", "v": "推理" }, { "n": "奇幻", "v": "奇幻" }, { "n": "科幻", "v": "科幻" }, { "n": "游戏", "v": "游戏" }, { "n": "神魔", "v": "神魔" }, { "n": "恐怖", "v": "恐怖" }, { "n": "血腥", "v": "血腥" }, { "n": "机战", "v": "机战" }, { "n": "战争", "v": "战争" }, { "n": "犯罪", "v": "犯罪" }, { "n": "历史", "v": "历史" }, { "n": "社会", "v": "社会" }, { "n": "职场", "v": "职场" }, { "n": "剧情", "v": "剧情" }, { "n": "伪娘", "v": "伪娘" }, { "n": "耽美", "v": "耽美" }, { "n": "童年", "v": "童年" }, { "n": "教育", "v": "教育" }, { "n": "亲子", "v": "亲子" }, { "n": "真人", "v": "真人" }, { "n": "歌舞", "v": "歌舞" }, { "n": "肉番", "v": "肉番" }, { "n": "美少女", "v": "美少女" }, { "n": "轻小说", "v": "轻小说" }, { "n": "吸血鬼", "v": "吸血鬼" }, { "n": "女性向", "v": "女性向" }, { "n": "泡面番", "v": "泡面番" }, { "n": "欢乐向", "v": "欢乐向" }] }, { "key": "letter", "name": "字母:", "value": [{ "n": "全部", "v": "" }, { "n": "A", "v": "A" }, { "n": "B", "v": "B" }, { "n": "C", "v": "C" }, { "n": "D", "v": "D" }, { "n": "E", "v": "E" }, { "n": "F", "v": "F" }, { "n": "G", "v": "G" }, { "n": "H", "v": "H" }, { "n": "I", "v": "I" }, { "n": "J", "v": "J" }, { "n": "K", "v": "K" }, { "n": "L", "v": "L" }, { "n": "M", "v": "M" }, { "n": "N", "v": "N" }, { "n": "O", "v": "O" }, { "n": "P", "v": "P" }, { "n": "Q", "v": "Q" }, { "n": "R", "v": "R" }, { "n": "S", "v": "S" }, { "n": "T", "v": "T" }, { "n": "U", "v": "U" }, { "n": "V", "v": "V" }, { "n": "W", "v": "W" }, { "n": "X", "v": "X" }, { "n": "Y", "v": "Y" }, { "n": "Z", "v": "Z" }, { "n": "0~9", "v": "0~9" }] }, { "key": "by", "name": "排序:", "value": [{ "n": "更新时间", "v": "time" }, { "n": "人气", "v": "hits" }, { "n": "评分", "v": "score" }] }], - "zhongguo": [{ "key": "year", "name": "年份:", "value": [{ "n": "全部", "v": "" }, { "n": "2024", "v": "2024" }, { "n": "2023", "v": "2023" }, { "n": "2022", "v": "2022" }, { "n": "2021", "v": "2021" }, { "n": "2020", "v": "2020" }, { "n": "2019", "v": "2019" }, { "n": "2018", "v": "2018" }, { "n": "2017", "v": "2017" }, { "n": "2016", "v": "2016" }, { "n": "2015", "v": "2015" }, { "n": "2014", "v": "2014" }, { "n": "2013", "v": "2013" }, { "n": "2012", "v": "2012" }, { "n": "2011", "v": "2011" }, { "n": "2010", "v": "2010" }, { "n": "2009", "v": "2009" }, { "n": "2008", "v": "2008" }, { "n": "2007", "v": "2007" }, { "n": "2006", "v": "2006" }, { "n": "2005", "v": "2005" }, { "n": "2004", "v": "2004" }, { "n": "2003", "v": "2003" }, { "n": "2002", "v": "2002" }, { "n": "2001", "v": "2001" }, { "n": "2000以前", "v": "2000以前" }] }, { "key": "class", "name": "类型:", "value": [{ "n": "全部", "v": "" }, { "n": "搞笑", "v": "搞笑" }, { "n": "运动", "v": "运动" }, { "n": "励志", "v": "励志" }, { "n": "热血", "v": "热血" }, { "n": "战斗", "v": "战斗" }, { "n": "竞技", "v": "竞技" }, { "n": "校园", "v": "校园" }, { "n": "青春", "v": "青春" }, { "n": "爱情", "v": "爱情" }, { "n": "冒险", "v": "冒险" }, { "n": "后宫", "v": "后宫" }, { "n": "百合", "v": "百合" }, { "n": "治愈", "v": "治愈" }, { "n": "萝莉", "v": "萝莉" }, { "n": "魔法", "v": "魔法" }, { "n": "悬疑", "v": "悬疑" }, { "n": "推理", "v": "推理" }, { "n": "奇幻", "v": "奇幻" }, { "n": "科幻", "v": "科幻" }, { "n": "游戏", "v": "游戏" }, { "n": "神魔", "v": "神魔" }, { "n": "恐怖", "v": "恐怖" }, { "n": "血腥", "v": "血腥" }, { "n": "机战", "v": "机战" }, { "n": "战争", "v": "战争" }, { "n": "犯罪", "v": "犯罪" }, { "n": "历史", "v": "历史" }, { "n": "社会", "v": "社会" }, { "n": "职场", "v": "职场" }, { "n": "剧情", "v": "剧情" }, { "n": "伪娘", "v": "伪娘" }, { "n": "耽美", "v": "耽美" }, { "n": "童年", "v": "童年" }, { "n": "教育", "v": "教育" }, { "n": "亲子", "v": "亲子" }, { "n": "真人", "v": "真人" }, { "n": "歌舞", "v": "歌舞" }, { "n": "肉番", "v": "肉番" }, { "n": "美少女", "v": "美少女" }, { "n": "轻小说", "v": "轻小说" }, { "n": "吸血鬼", "v": "吸血鬼" }, { "n": "女性向", "v": "女性向" }, { "n": "泡面番", "v": "泡面番" }, { "n": "欢乐向", "v": "欢乐向" }] }, { "key": "letter", "name": "字母:", "value": [{ "n": "全部", "v": "" }, { "n": "A", "v": "A" }, { "n": "B", "v": "B" }, { "n": "C", "v": "C" }, { "n": "D", "v": "D" }, { "n": "E", "v": "E" }, { "n": "F", "v": "F" }, { "n": "G", "v": "G" }, { "n": "H", "v": "H" }, { "n": "I", "v": "I" }, { "n": "J", "v": "J" }, { "n": "K", "v": "K" }, { "n": "L", "v": "L" }, { "n": "M", "v": "M" }, { "n": "N", "v": "N" }, { "n": "O", "v": "O" }, { "n": "P", "v": "P" }, { "n": "Q", "v": "Q" }, { "n": "R", "v": "R" }, { "n": "S", "v": "S" }, { "n": "T", "v": "T" }, { "n": "U", "v": "U" }, { "n": "V", "v": "V" }, { "n": "W", "v": "W" }, { "n": "X", "v": "X" }, { "n": "Y", "v": "Y" }, { "n": "Z", "v": "Z" }, { "n": "0~9", "v": "0~9" }] }, { "key": "by", "name": "排序:", "value": [{ "n": "更新时间", "v": "time" }, { "n": "人气", "v": "hits" }, { "n": "评分", "v": "score" }] }], - "omei": [{ "key": "year", "name": "年份:", "value": [{ "n": "全部", "v": "" }, { "n": "2024", "v": "2024" }, { "n": "2023", "v": "2023" }, { "n": "2022", "v": "2022" }, { "n": "2021", "v": "2021" }, { "n": "2020", "v": "2020" }, { "n": "2019", "v": "2019" }, { "n": "2018", "v": "2018" }, { "n": "2017", "v": "2017" }, { "n": "2016", "v": "2016" }, { "n": "2015", "v": "2015" }, { "n": "2014", "v": "2014" }, { "n": "2013", "v": "2013" }, { "n": "2012", "v": "2012" }, { "n": "2011", "v": "2011" }, { "n": "2010", "v": "2010" }, { "n": "2009", "v": "2009" }, { "n": "2008", "v": "2008" }, { "n": "2007", "v": "2007" }, { "n": "2006", "v": "2006" }, { "n": "2005", "v": "2005" }, { "n": "2004", "v": "2004" }, { "n": "2003", "v": "2003" }, { "n": "2002", "v": "2002" }, { "n": "2001", "v": "2001" }, { "n": "2000以前", "v": "2000以前" }] }, { "key": "class", "name": "类型:", "value": [{ "n": "全部", "v": "" }, { "n": "搞笑", "v": "搞笑" }, { "n": "运动", "v": "运动" }, { "n": "励志", "v": "励志" }, { "n": "热血", "v": "热血" }, { "n": "战斗", "v": "战斗" }, { "n": "竞技", "v": "竞技" }, { "n": "校园", "v": "校园" }, { "n": "青春", "v": "青春" }, { "n": "爱情", "v": "爱情" }, { "n": "冒险", "v": "冒险" }, { "n": "后宫", "v": "后宫" }, { "n": "百合", "v": "百合" }, { "n": "治愈", "v": "治愈" }, { "n": "萝莉", "v": "萝莉" }, { "n": "魔法", "v": "魔法" }, { "n": "悬疑", "v": "悬疑" }, { "n": "推理", "v": "推理" }, { "n": "奇幻", "v": "奇幻" }, { "n": "科幻", "v": "科幻" }, { "n": "游戏", "v": "游戏" }, { "n": "神魔", "v": "神魔" }, { "n": "恐怖", "v": "恐怖" }, { "n": "血腥", "v": "血腥" }, { "n": "机战", "v": "机战" }, { "n": "战争", "v": "战争" }, { "n": "犯罪", "v": "犯罪" }, { "n": "历史", "v": "历史" }, { "n": "社会", "v": "社会" }, { "n": "职场", "v": "职场" }, { "n": "剧情", "v": "剧情" }, { "n": "伪娘", "v": "伪娘" }, { "n": "耽美", "v": "耽美" }, { "n": "童年", "v": "童年" }, { "n": "教育", "v": "教育" }, { "n": "亲子", "v": "亲子" }, { "n": "真人", "v": "真人" }, { "n": "歌舞", "v": "歌舞" }, { "n": "肉番", "v": "肉番" }, { "n": "美少女", "v": "美少女" }, { "n": "轻小说", "v": "轻小说" }, { "n": "吸血鬼", "v": "吸血鬼" }, { "n": "女性向", "v": "女性向" }, { "n": "泡面番", "v": "泡面番" }, { "n": "欢乐向", "v": "欢乐向" }] }, { "key": "letter", "name": "字母:", "value": [{ "n": "全部", "v": "" }, { "n": "A", "v": "A" }, { "n": "B", "v": "B" }, { "n": "C", "v": "C" }, { "n": "D", "v": "D" }, { "n": "E", "v": "E" }, { "n": "F", "v": "F" }, { "n": "G", "v": "G" }, { "n": "H", "v": "H" }, { "n": "I", "v": "I" }, { "n": "J", "v": "J" }, { "n": "K", "v": "K" }, { "n": "L", "v": "L" }, { "n": "M", "v": "M" }, { "n": "N", "v": "N" }, { "n": "O", "v": "O" }, { "n": "P", "v": "P" }, { "n": "Q", "v": "Q" }, { "n": "R", "v": "R" }, { "n": "S", "v": "S" }, { "n": "T", "v": "T" }, { "n": "U", "v": "U" }, { "n": "V", "v": "V" }, { "n": "W", "v": "W" }, { "n": "X", "v": "X" }, { "n": "Y", "v": "Y" }, { "n": "Z", "v": "Z" }, { "n": "0~9", "v": "0~9" }] }, { "key": "by", "name": "排序:", "value": [{ "n": "更新时间", "v": "time" }, { "n": "人气", "v": "hits" }, { "n": "评分", "v": "score" }] }] + "riben": [{ + "key": "year", + "name": "年份:", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2026", + "v": "2026" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }, { + "n": "2003", + "v": "2003" + }, { + "n": "2002", + "v": "2002" + }, { + "n": "2001", + "v": "2001" + }, { + "n": "2000以前", + "v": "2000以前" + }] + }, { + "key": "class", + "name": "类型:", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "搞笑", + "v": "搞笑" + }, { + "n": "运动", + "v": "运动" + }, { + "n": "励志", + "v": "励志" + }, { + "n": "热血", + "v": "热血" + }, { + "n": "战斗", + "v": "战斗" + }, { + "n": "竞技", + "v": "竞技" + }, { + "n": "校园", + "v": "校园" + }, { + "n": "青春", + "v": "青春" + }, { + "n": "爱情", + "v": "爱情" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "后宫", + "v": "后宫" + }, { + "n": "百合", + "v": "百合" + }, { + "n": "治愈", + "v": "治愈" + }, { + "n": "萝莉", + "v": "萝莉" + }, { + "n": "魔法", + "v": "魔法" + }, { + "n": "悬疑", + "v": "悬疑" + }, { + "n": "推理", + "v": "推理" + }, { + "n": "奇幻", + "v": "奇幻" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "游戏", + "v": "游戏" + }, { + "n": "神魔", + "v": "神魔" + }, { + "n": "恐怖", + "v": "恐怖" + }, { + "n": "血腥", + "v": "血腥" + }, { + "n": "机战", + "v": "机战" + }, { + "n": "战争", + "v": "战争" + }, { + "n": "犯罪", + "v": "犯罪" + }, { + "n": "历史", + "v": "历史" + }, { + "n": "社会", + "v": "社会" + }, { + "n": "职场", + "v": "职场" + }, { + "n": "剧情", + "v": "剧情" + }, { + "n": "伪娘", + "v": "伪娘" + }, { + "n": "耽美", + "v": "耽美" + }, { + "n": "童年", + "v": "童年" + }, { + "n": "教育", + "v": "教育" + }, { + "n": "亲子", + "v": "亲子" + }, { + "n": "真人", + "v": "真人" + }, { + "n": "歌舞", + "v": "歌舞" + }, { + "n": "肉番", + "v": "肉番" + }, { + "n": "美少女", + "v": "美少女" + }, { + "n": "轻小说", + "v": "轻小说" + }, { + "n": "吸血鬼", + "v": "吸血鬼" + }, { + "n": "女性向", + "v": "女性向" + }, { + "n": "泡面番", + "v": "泡面番" + }, { + "n": "欢乐向", + "v": "欢乐向" + }] + }, { + "key": "letter", + "name": "字母:", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "A", + "v": "A" + }, { + "n": "B", + "v": "B" + }, { + "n": "C", + "v": "C" + }, { + "n": "D", + "v": "D" + }, { + "n": "E", + "v": "E" + }, { + "n": "F", + "v": "F" + }, { + "n": "G", + "v": "G" + }, { + "n": "H", + "v": "H" + }, { + "n": "I", + "v": "I" + }, { + "n": "J", + "v": "J" + }, { + "n": "K", + "v": "K" + }, { + "n": "L", + "v": "L" + }, { + "n": "M", + "v": "M" + }, { + "n": "N", + "v": "N" + }, { + "n": "O", + "v": "O" + }, { + "n": "P", + "v": "P" + }, { + "n": "Q", + "v": "Q" + }, { + "n": "R", + "v": "R" + }, { + "n": "S", + "v": "S" + }, { + "n": "T", + "v": "T" + }, { + "n": "U", + "v": "U" + }, { + "n": "V", + "v": "V" + }, { + "n": "W", + "v": "W" + }, { + "n": "X", + "v": "X" + }, { + "n": "Y", + "v": "Y" + }, { + "n": "Z", + "v": "Z" + }, { + "n": "0~9", + "v": "0~9" + }] + }, { + "key": "by", + "name": "排序:", + "value": [{ + "n": "更新时间", + "v": "time" + }, { + "n": "人气", + "v": "hits" + }, { + "n": "评分", + "v": "score" + }] + }], + "zhongguo": [{ + "key": "year", + "name": "年份:", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2026", + "v": "2026" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }, { + "n": "2003", + "v": "2003" + }, { + "n": "2002", + "v": "2002" + }, { + "n": "2001", + "v": "2001" + }, { + "n": "2000以前", + "v": "2000以前" + }] + }, { + "key": "class", + "name": "类型:", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "搞笑", + "v": "搞笑" + }, { + "n": "运动", + "v": "运动" + }, { + "n": "励志", + "v": "励志" + }, { + "n": "热血", + "v": "热血" + }, { + "n": "战斗", + "v": "战斗" + }, { + "n": "竞技", + "v": "竞技" + }, { + "n": "校园", + "v": "校园" + }, { + "n": "青春", + "v": "青春" + }, { + "n": "爱情", + "v": "爱情" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "后宫", + "v": "后宫" + }, { + "n": "百合", + "v": "百合" + }, { + "n": "治愈", + "v": "治愈" + }, { + "n": "萝莉", + "v": "萝莉" + }, { + "n": "魔法", + "v": "魔法" + }, { + "n": "悬疑", + "v": "悬疑" + }, { + "n": "推理", + "v": "推理" + }, { + "n": "奇幻", + "v": "奇幻" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "游戏", + "v": "游戏" + }, { + "n": "神魔", + "v": "神魔" + }, { + "n": "恐怖", + "v": "恐怖" + }, { + "n": "血腥", + "v": "血腥" + }, { + "n": "机战", + "v": "机战" + }, { + "n": "战争", + "v": "战争" + }, { + "n": "犯罪", + "v": "犯罪" + }, { + "n": "历史", + "v": "历史" + }, { + "n": "社会", + "v": "社会" + }, { + "n": "职场", + "v": "职场" + }, { + "n": "剧情", + "v": "剧情" + }, { + "n": "伪娘", + "v": "伪娘" + }, { + "n": "耽美", + "v": "耽美" + }, { + "n": "童年", + "v": "童年" + }, { + "n": "教育", + "v": "教育" + }, { + "n": "亲子", + "v": "亲子" + }, { + "n": "真人", + "v": "真人" + }, { + "n": "歌舞", + "v": "歌舞" + }, { + "n": "肉番", + "v": "肉番" + }, { + "n": "美少女", + "v": "美少女" + }, { + "n": "轻小说", + "v": "轻小说" + }, { + "n": "吸血鬼", + "v": "吸血鬼" + }, { + "n": "女性向", + "v": "女性向" + }, { + "n": "泡面番", + "v": "泡面番" + }, { + "n": "欢乐向", + "v": "欢乐向" + }] + }, { + "key": "letter", + "name": "字母:", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "A", + "v": "A" + }, { + "n": "B", + "v": "B" + }, { + "n": "C", + "v": "C" + }, { + "n": "D", + "v": "D" + }, { + "n": "E", + "v": "E" + }, { + "n": "F", + "v": "F" + }, { + "n": "G", + "v": "G" + }, { + "n": "H", + "v": "H" + }, { + "n": "I", + "v": "I" + }, { + "n": "J", + "v": "J" + }, { + "n": "K", + "v": "K" + }, { + "n": "L", + "v": "L" + }, { + "n": "M", + "v": "M" + }, { + "n": "N", + "v": "N" + }, { + "n": "O", + "v": "O" + }, { + "n": "P", + "v": "P" + }, { + "n": "Q", + "v": "Q" + }, { + "n": "R", + "v": "R" + }, { + "n": "S", + "v": "S" + }, { + "n": "T", + "v": "T" + }, { + "n": "U", + "v": "U" + }, { + "n": "V", + "v": "V" + }, { + "n": "W", + "v": "W" + }, { + "n": "X", + "v": "X" + }, { + "n": "Y", + "v": "Y" + }, { + "n": "Z", + "v": "Z" + }, { + "n": "0~9", + "v": "0~9" + }] + }, { + "key": "by", + "name": "排序:", + "value": [{ + "n": "更新时间", + "v": "time" + }, { + "n": "人气", + "v": "hits" + }, { + "n": "评分", + "v": "score" + }] + }], + "omei": [{ + "key": "year", + "name": "年份:", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2026", + "v": "2026" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }, { + "n": "2003", + "v": "2003" + }, { + "n": "2002", + "v": "2002" + }, { + "n": "2001", + "v": "2001" + }, { + "n": "2000以前", + "v": "2000以前" + }] + }, { + "key": "class", + "name": "类型:", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "搞笑", + "v": "搞笑" + }, { + "n": "运动", + "v": "运动" + }, { + "n": "励志", + "v": "励志" + }, { + "n": "热血", + "v": "热血" + }, { + "n": "战斗", + "v": "战斗" + }, { + "n": "竞技", + "v": "竞技" + }, { + "n": "校园", + "v": "校园" + }, { + "n": "青春", + "v": "青春" + }, { + "n": "爱情", + "v": "爱情" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "后宫", + "v": "后宫" + }, { + "n": "百合", + "v": "百合" + }, { + "n": "治愈", + "v": "治愈" + }, { + "n": "萝莉", + "v": "萝莉" + }, { + "n": "魔法", + "v": "魔法" + }, { + "n": "悬疑", + "v": "悬疑" + }, { + "n": "推理", + "v": "推理" + }, { + "n": "奇幻", + "v": "奇幻" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "游戏", + "v": "游戏" + }, { + "n": "神魔", + "v": "神魔" + }, { + "n": "恐怖", + "v": "恐怖" + }, { + "n": "血腥", + "v": "血腥" + }, { + "n": "机战", + "v": "机战" + }, { + "n": "战争", + "v": "战争" + }, { + "n": "犯罪", + "v": "犯罪" + }, { + "n": "历史", + "v": "历史" + }, { + "n": "社会", + "v": "社会" + }, { + "n": "职场", + "v": "职场" + }, { + "n": "剧情", + "v": "剧情" + }, { + "n": "伪娘", + "v": "伪娘" + }, { + "n": "耽美", + "v": "耽美" + }, { + "n": "童年", + "v": "童年" + }, { + "n": "教育", + "v": "教育" + }, { + "n": "亲子", + "v": "亲子" + }, { + "n": "真人", + "v": "真人" + }, { + "n": "歌舞", + "v": "歌舞" + }, { + "n": "肉番", + "v": "肉番" + }, { + "n": "美少女", + "v": "美少女" + }, { + "n": "轻小说", + "v": "轻小说" + }, { + "n": "吸血鬼", + "v": "吸血鬼" + }, { + "n": "女性向", + "v": "女性向" + }, { + "n": "泡面番", + "v": "泡面番" + }, { + "n": "欢乐向", + "v": "欢乐向" + }] + }, { + "key": "letter", + "name": "字母:", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "A", + "v": "A" + }, { + "n": "B", + "v": "B" + }, { + "n": "C", + "v": "C" + }, { + "n": "D", + "v": "D" + }, { + "n": "E", + "v": "E" + }, { + "n": "F", + "v": "F" + }, { + "n": "G", + "v": "G" + }, { + "n": "H", + "v": "H" + }, { + "n": "I", + "v": "I" + }, { + "n": "J", + "v": "J" + }, { + "n": "K", + "v": "K" + }, { + "n": "L", + "v": "L" + }, { + "n": "M", + "v": "M" + }, { + "n": "N", + "v": "N" + }, { + "n": "O", + "v": "O" + }, { + "n": "P", + "v": "P" + }, { + "n": "Q", + "v": "Q" + }, { + "n": "R", + "v": "R" + }, { + "n": "S", + "v": "S" + }, { + "n": "T", + "v": "T" + }, { + "n": "U", + "v": "U" + }, { + "n": "V", + "v": "V" + }, { + "n": "W", + "v": "W" + }, { + "n": "X", + "v": "X" + }, { + "n": "Y", + "v": "Y" + }, { + "n": "Z", + "v": "Z" + }, { + "n": "0~9", + "v": "0~9" + }] + }, { + "key": "by", + "name": "排序:", + "value": [{ + "n": "更新时间", + "v": "time" + }, { + "n": "人气", + "v": "hits" + }, { + "n": "评分", + "v": "score" + }] + }] }, searchUrl: '/search/**----------fypage---.html', - searchable: 2,//是否启用全局搜索, - quickSearch: 0,//是否启用快速搜索, - headers: {//网站的请求头,完整支持所有的,常带ua和cookies + searchable: 2, //是否启用全局搜索, + quickSearch: 0, //是否启用快速搜索, + headers: { //网站的请求头,完整支持所有的,常带ua和cookies 'User-Agent': 'MOBILE_UA', }, class_parse: '.search-tag li;a&&Text;a&&href;.*/(\\w+).html', diff --git a/js/去看吧.js b/js/去看吧.js index b7d1e43a..2e9f0140 100644 --- a/js/去看吧.js +++ b/js/去看吧.js @@ -1,19 +1,1142 @@ muban.vfed.二级.title = 'h1&&Text;.fed-col-md3--span:eq(0)&&Text'; muban.vfed.二级.desc = '.fed-col-md3:eq(3)&&Text;;;.fed-col-md6:eq(0)&&Text;.fed-col-md6--span:eq(1)&&Text'; var rule = { - title: '去看吧', - 模板: 'vfed', - host: 'https://www.k9dm.com', - // url: '/index.php/vod/show/id/fyclass/page/fypage.html', - url: '/index.php/vod/show/id/fyclassfyfilter.html', - filterable: 1,//是否启用分类筛选, - filter_url: '{{fl.area}}{{fl.by}}{{fl.class}}/page/fypage{{fl.year}}', - filter: { - "33": [{ "key": "class", "name": "类型", "value": [{ "n": "全部", "v": "" }, { "n": "搞笑", "v": "/class/搞笑" }, { "n": "经典", "v": "/class/经典" }, { "n": "热血", "v": "/class/热血" }, { "n": "催泪", "v": "/class/催泪" }, { "n": "治愈", "v": "/class/治愈" }, { "n": "猎奇", "v": "/class/猎奇" }, { "n": "励志", "v": "/class/励志" }, { "n": "战斗", "v": "/class/战斗" }, { "n": "后宫", "v": "/class/后宫" }, { "n": "机战", "v": "/class/机战" }, { "n": "恋爱", "v": "/class/恋爱" }, { "n": "百合", "v": "/class/百合" }, { "n": "科幻", "v": "/class/科幻" }, { "n": "奇幻", "v": "/class/奇幻" }, { "n": "推理", "v": "/class/推理" }, { "n": "校园", "v": "/class/校园" }, { "n": "运动", "v": "/class/运动" }, { "n": "魔法", "v": "/class/魔法" }, { "n": "历史", "v": "/class/历史" }, { "n": "伪娘", "v": "/class/伪娘" }, { "n": "美少女", "v": "/class/美少女" }, { "n": "萝莉", "v": "/class/萝莉" }, { "n": "亲子", "v": "/class/亲子" }, { "n": "青春", "v": "/class/青春" }, { "n": "冒险", "v": "/class/冒险" }, { "n": "竞技", "v": "/class/竞技" }] }, { "key": "year", "name": "年代", "value": [{ "n": "全部", "v": "" }, { "n": "2024", "v": "/year/2024" }, { "n": "2023", "v": "/year/2023" }, { "n": "2022", "v": "/year/2022" }, { "n": "2021", "v": "/year/2021" }, { "n": "2020", "v": "/year/2020" }, { "n": "2019", "v": "/year/2019" }, { "n": "2018", "v": "/year/2018" }, { "n": "2017", "v": "/year/2017" }, { "n": "2016", "v": "/year/2016" }, { "n": "2015", "v": "/year/2015" }, { "n": "2014", "v": "/year/2014" }, { "n": "2013", "v": "/year/2013" }, { "n": "2012", "v": "/year/2012" }, { "n": "2011", "v": "/year/2011" }, { "n": "2010", "v": "/year/2010" }, { "n": "2009", "v": "/year/2009" }, { "n": "2008", "v": "/year/2008" }, { "n": "2007", "v": "/year/2007" }, { "n": "2006", "v": "/year/2006" }, { "n": "2005", "v": "/year/2005" }, { "n": "2004", "v": "/year/2004" }, { "n": "2003", "v": "/year/2003" }, { "n": "2002", "v": "/year/2002" }, { "n": "2001", "v": "/year/2001" }, { "n": "2000", "v": "/year/2000" }, { "n": "1999", "v": "/year/1999" }, { "n": "1998", "v": "/year/1998" }] }, { "key": "by", "name": "排序", "value": [{ "n": "时间", "v": "/by/time" }, { "n": "人气", "v": "/by/hits" }, { "n": "评分", "v": "/by/score" }] }], - "21": [{ "key": "class", "name": "类型", "value": [{ "n": "全部", "v": "" }, { "n": "搞笑", "v": "/class/搞笑" }, { "n": "经典", "v": "/class/经典" }, { "n": "热血", "v": "/class/热血" }, { "n": "催泪", "v": "/class/催泪" }, { "n": "治愈", "v": "/class/治愈" }, { "n": "猎奇", "v": "/class/猎奇" }, { "n": "励志", "v": "/class/励志" }, { "n": "战斗", "v": "/class/战斗" }, { "n": "后宫", "v": "/class/后宫" }, { "n": "机战", "v": "/class/机战" }, { "n": "恋爱", "v": "/class/恋爱" }, { "n": "百合", "v": "/class/百合" }, { "n": "科幻", "v": "/class/科幻" }, { "n": "奇幻", "v": "/class/奇幻" }, { "n": "推理", "v": "/class/推理" }, { "n": "校园", "v": "/class/校园" }, { "n": "运动", "v": "/class/运动" }, { "n": "魔法", "v": "/class/魔法" }, { "n": "历史", "v": "/class/历史" }, { "n": "伪娘", "v": "/class/伪娘" }, { "n": "美少女", "v": "/class/美少女" }, { "n": "萝莉", "v": "/class/萝莉" }, { "n": "亲子", "v": "/class/亲子" }, { "n": "青春", "v": "/class/青春" }, { "n": "冒险", "v": "/class/冒险" }, { "n": "竞技", "v": "/class/竞技" }] }, { "key": "area", "name": "地区", "value": [{ "n": "全部", "v": "" }, { "n": "大陆", "v": "/area/大陆" }, { "n": "美国", "v": "/area/美国" }, { "n": "韩国", "v": "/area/韩国" }, { "n": "日本", "v": "/area/日本" }, { "n": "泰国", "v": "/area/泰国" }, { "n": "新加坡", "v": "/area/新加坡" }, { "n": "马来西亚", "v": "/area/马来西亚" }, { "n": "印度", "v": "/area/印度" }, { "n": "英国", "v": "/area/英国" }, { "n": "法国", "v": "/area/法国" }, { "n": "加拿大", "v": "/area/加拿大" }, { "n": "西班牙", "v": "/area/西班牙" }, { "n": "俄罗斯", "v": "/area/俄罗斯" }, { "n": "其它", "v": "/area/其它" }] }, { "key": "year", "name": "年代", "value": [{ "n": "全部", "v": "" }, { "n": "2024", "v": "/year/2024" }, { "n": "2023", "v": "/year/2023" }, { "n": "2022", "v": "/year/2022" }, { "n": "2021", "v": "/year/2021" }, { "n": "2020", "v": "/year/2020" }, { "n": "2019", "v": "/year/2019" }, { "n": "2018", "v": "/year/2018" }, { "n": "2017", "v": "/year/2017" }, { "n": "2016", "v": "/year/2016" }, { "n": "2015", "v": "/year/2015" }, { "n": "2014", "v": "/year/2014" }, { "n": "2013", "v": "/year/2013" }, { "n": "2012", "v": "/year/2012" }, { "n": "2011", "v": "/year/2011" }, { "n": "2010", "v": "/year/2010" }, { "n": "2009", "v": "/year/2009" }, { "n": "2008", "v": "/year/2008" }, { "n": "2007", "v": "/year/2007" }, { "n": "2006", "v": "/year/2006" }, { "n": "2005", "v": "/year/2005" }, { "n": "2004", "v": "/year/2004" }, { "n": "2003", "v": "/year/2003" }, { "n": "2002", "v": "/year/2002" }, { "n": "2001", "v": "/year/2001" }, { "n": "2000", "v": "/year/2000" }, { "n": "1999", "v": "/year/1999" }, { "n": "1998", "v": "/year/1998" }] }, { "key": "by", "name": "排序", "value": [{ "n": "时间", "v": "/by/time" }, { "n": "人气", "v": "/by/hits" }, { "n": "评分", "v": "/by/score" }] }], - "50": [{ "key": "class", "name": "类型", "value": [{ "n": "全部", "v": "" }, { "n": "搞笑", "v": "/class/搞笑" }, { "n": "经典", "v": "/class/经典" }, { "n": "热血", "v": "/class/热血" }, { "n": "催泪", "v": "/class/催泪" }, { "n": "治愈", "v": "/class/治愈" }, { "n": "猎奇", "v": "/class/猎奇" }, { "n": "励志", "v": "/class/励志" }, { "n": "战斗", "v": "/class/战斗" }, { "n": "后宫", "v": "/class/后宫" }, { "n": "机战", "v": "/class/机战" }, { "n": "恋爱", "v": "/class/恋爱" }, { "n": "百合", "v": "/class/百合" }, { "n": "科幻", "v": "/class/科幻" }, { "n": "奇幻", "v": "/class/奇幻" }, { "n": "推理", "v": "/class/推理" }, { "n": "校园", "v": "/class/校园" }, { "n": "运动", "v": "/class/运动" }, { "n": "魔法", "v": "/class/魔法" }, { "n": "历史", "v": "/class/历史" }, { "n": "伪娘", "v": "/class/伪娘" }, { "n": "美少女", "v": "/class/美少女" }, { "n": "萝莉", "v": "/class/萝莉" }, { "n": "亲子", "v": "/class/亲子" }, { "n": "青春", "v": "/class/青春" }, { "n": "冒险", "v": "/class/冒险" }, { "n": "竞技", "v": "/class/竞技" }] }, { "key": "area", "name": "地区", "value": [{ "n": "全部", "v": "" }, { "n": "大陆", "v": "/area/大陆" }, { "n": "美国", "v": "/area/美国" }, { "n": "韩国", "v": "/area/韩国" }, { "n": "日本", "v": "/area/日本" }, { "n": "泰国", "v": "/area/泰国" }, { "n": "新加坡", "v": "/area/新加坡" }, { "n": "马来西亚", "v": "/area/马来西亚" }, { "n": "印度", "v": "/area/印度" }, { "n": "英国", "v": "/area/英国" }, { "n": "法国", "v": "/area/法国" }, { "n": "加拿大", "v": "/area/加拿大" }, { "n": "西班牙", "v": "/area/西班牙" }, { "n": "俄罗斯", "v": "/area/俄罗斯" }, { "n": "其它", "v": "/area/其它" }] }, { "key": "year", "name": "年代", "value": [{ "n": "全部", "v": "" }, { "n": "2024", "v": "/year/2024" }, { "n": "2023", "v": "/year/2023" }, { "n": "2022", "v": "/year/2022" }, { "n": "2021", "v": "/year/2021" }, { "n": "2020", "v": "/year/2020" }, { "n": "2019", "v": "/year/2019" }, { "n": "2018", "v": "/year/2018" }, { "n": "2017", "v": "/year/2017" }, { "n": "2016", "v": "/year/2016" }, { "n": "2015", "v": "/year/2015" }, { "n": "2014", "v": "/year/2014" }, { "n": "2013", "v": "/year/2013" }, { "n": "2012", "v": "/year/2012" }, { "n": "2011", "v": "/year/2011" }, { "n": "2010", "v": "/year/2010" }, { "n": "2009", "v": "/year/2009" }, { "n": "2008", "v": "/year/2008" }, { "n": "2007", "v": "/year/2007" }, { "n": "2006", "v": "/year/2006" }, { "n": "2005", "v": "/year/2005" }, { "n": "2004", "v": "/year/2004" }, { "n": "2003", "v": "/year/2003" }, { "n": "2002", "v": "/year/2002" }, { "n": "2001", "v": "/year/2001" }, { "n": "2000", "v": "/year/2000" }, { "n": "1999", "v": "/year/1999" }, { "n": "1998", "v": "/year/1998" }] }, { "key": "by", "name": "排序", "value": [{ "n": "时间", "v": "/by/time" }, { "n": "人气", "v": "/by/hits" }, { "n": "评分", "v": "/by/score" }] }], - "24": [{ "key": "class", "name": "类型", "value": [{ "n": "全部", "v": "" }, { "n": "搞笑", "v": "/class/搞笑" }, { "n": "经典", "v": "/class/经典" }, { "n": "热血", "v": "/class/热血" }, { "n": "催泪", "v": "/class/催泪" }, { "n": "治愈", "v": "/class/治愈" }, { "n": "猎奇", "v": "/class/猎奇" }, { "n": "励志", "v": "/class/励志" }, { "n": "战斗", "v": "/class/战斗" }, { "n": "后宫", "v": "/class/后宫" }, { "n": "机战", "v": "/class/机战" }, { "n": "恋爱", "v": "/class/恋爱" }, { "n": "百合", "v": "/class/百合" }, { "n": "科幻", "v": "/class/科幻" }, { "n": "奇幻", "v": "/class/奇幻" }, { "n": "推理", "v": "/class/推理" }, { "n": "校园", "v": "/class/校园" }, { "n": "运动", "v": "/class/运动" }, { "n": "魔法", "v": "/class/魔法" }, { "n": "历史", "v": "/class/历史" }, { "n": "伪娘", "v": "/class/伪娘" }, { "n": "美少女", "v": "/class/美少女" }, { "n": "萝莉", "v": "/class/萝莉" }, { "n": "亲子", "v": "/class/亲子" }, { "n": "青春", "v": "/class/青春" }, { "n": "冒险", "v": "/class/冒险" }, { "n": "竞技", "v": "/class/竞技" }] }, { "key": "area", "name": "地区", "value": [{ "n": "全部", "v": "" }, { "n": "大陆", "v": "/area/大陆" }, { "n": "美国", "v": "/area/美国" }, { "n": "韩国", "v": "/area/韩国" }, { "n": "日本", "v": "/area/日本" }, { "n": "泰国", "v": "/area/泰国" }, { "n": "新加坡", "v": "/area/新加坡" }, { "n": "马来西亚", "v": "/area/马来西亚" }, { "n": "印度", "v": "/area/印度" }, { "n": "英国", "v": "/area/英国" }, { "n": "法国", "v": "/area/法国" }, { "n": "加拿大", "v": "/area/加拿大" }, { "n": "西班牙", "v": "/area/西班牙" }, { "n": "俄罗斯", "v": "/area/俄罗斯" }, { "n": "其它", "v": "/area/其它" }] }, { "key": "year", "name": "年代", "value": [{ "n": "全部", "v": "" }, { "n": "2024", "v": "/year/2024" }, { "n": "2023", "v": "/year/2023" }, { "n": "2022", "v": "/year/2022" }, { "n": "2021", "v": "/year/2021" }, { "n": "2020", "v": "/year/2020" }, { "n": "2019", "v": "/year/2019" }, { "n": "2018", "v": "/year/2018" }, { "n": "2017", "v": "/year/2017" }, { "n": "2016", "v": "/year/2016" }, { "n": "2015", "v": "/year/2015" }, { "n": "2014", "v": "/year/2014" }, { "n": "2013", "v": "/year/2013" }, { "n": "2012", "v": "/year/2012" }, { "n": "2011", "v": "/year/2011" }, { "n": "2010", "v": "/year/2010" }, { "n": "2009", "v": "/year/2009" }, { "n": "2008", "v": "/year/2008" }, { "n": "2007", "v": "/year/2007" }, { "n": "2006", "v": "/year/2006" }, { "n": "2005", "v": "/year/2005" }, { "n": "2004", "v": "/year/2004" }, { "n": "2003", "v": "/year/2003" }, { "n": "2002", "v": "/year/2002" }, { "n": "2001", "v": "/year/2001" }, { "n": "2000", "v": "/year/2000" }, { "n": "1999", "v": "/year/1999" }, { "n": "1998", "v": "/year/1998" }] }, { "key": "by", "name": "排序", "value": [{ "n": "时间", "v": "/by/time" }, { "n": "人气", "v": "/by/hits" }, { "n": "评分", "v": "/by/score" }] }], - "22": [{ "key": "class", "name": "类型", "value": [{ "n": "全部", "v": "" }, { "n": "搞笑", "v": "/class/搞笑" }, { "n": "经典", "v": "/class/经典" }, { "n": "热血", "v": "/class/热血" }, { "n": "催泪", "v": "/class/催泪" }, { "n": "治愈", "v": "/class/治愈" }, { "n": "猎奇", "v": "/class/猎奇" }, { "n": "励志", "v": "/class/励志" }, { "n": "战斗", "v": "/class/战斗" }, { "n": "后宫", "v": "/class/后宫" }, { "n": "机战", "v": "/class/机战" }, { "n": "恋爱", "v": "/class/恋爱" }, { "n": "百合", "v": "/class/百合" }, { "n": "科幻", "v": "/class/科幻" }, { "n": "奇幻", "v": "/class/奇幻" }, { "n": "推理", "v": "/class/推理" }, { "n": "校园", "v": "/class/校园" }, { "n": "运动", "v": "/class/运动" }, { "n": "魔法", "v": "/class/魔法" }, { "n": "历史", "v": "/class/历史" }, { "n": "伪娘", "v": "/class/伪娘" }, { "n": "美少女", "v": "/class/美少女" }, { "n": "萝莉", "v": "/class/萝莉" }, { "n": "亲子", "v": "/class/亲子" }, { "n": "青春", "v": "/class/青春" }, { "n": "冒险", "v": "/class/冒险" }, { "n": "竞技", "v": "/class/竞技" }] }, { "key": "area", "name": "地区", "value": [{ "n": "全部", "v": "" }, { "n": "日本", "v": "/area/日本" }, { "n": "欧美", "v": "/area/欧美" }, { "n": "其他", "v": "/area/其他" }] }, { "key": "year", "name": "年代", "value": [{ "n": "全部", "v": "" }, { "n": "2024", "v": "/year/2024" }, { "n": "2023", "v": "/year/2023" }, { "n": "2022", "v": "/year/2022" }, { "n": "2021", "v": "/year/2021" }, { "n": "2020", "v": "/year/2020" }, { "n": "2019", "v": "/year/2019" }, { "n": "2018", "v": "/year/2018" }, { "n": "2017", "v": "/year/2017" }, { "n": "2016", "v": "/year/2016" }, { "n": "2015", "v": "/year/2015" }, { "n": "2014", "v": "/year/2014" }, { "n": "2013", "v": "/year/2013" }, { "n": "2012", "v": "/year/2012" }, { "n": "2011", "v": "/year/2011" }, { "n": "2010", "v": "/year/2010" }, { "n": "2009", "v": "/year/2009" }, { "n": "2008", "v": "/year/2008" }, { "n": "2007", "v": "/year/2007" }, { "n": "2006", "v": "/year/2006" }, { "n": "2005", "v": "/year/2005" }, { "n": "2004", "v": "/year/2004" }, { "n": "2003", "v": "/year/2003" }, { "n": "2002", "v": "/year/2002" }, { "n": "2001", "v": "/year/2001" }, { "n": "2000", "v": "/year/2000" }, { "n": "1999", "v": "/year/1999" }, { "n": "1998", "v": "/year/1998" }] }, { "key": "by", "name": "排序", "value": [{ "n": "时间", "v": "/by/time" }, { "n": "人气", "v": "/by/hits" }, { "n": "评分", "v": "/by/score" }] }] - }, - class_parse: '.fed-pops-list:eq(0)&&li:gt(0):lt(6);a&&Text;a&&href;.*/(.*?).html', + title: '去看吧', + 模板: 'vfed', + host: 'https://qkan8.com', + // url: '/index.php/vod/show/id/fyclass/page/fypage.html', + url: '/index.php/vod/show/id/fyclassfyfilter.html', + filterable: 1, //是否启用分类筛选, + filter_url: '{{fl.area}}{{fl.by}}{{fl.class}}/page/fypage{{fl.year}}', + filter: { + "33": [{ + "key": "class", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "搞笑", + "v": "/class/搞笑" + }, { + "n": "经典", + "v": "/class/经典" + }, { + "n": "热血", + "v": "/class/热血" + }, { + "n": "催泪", + "v": "/class/催泪" + }, { + "n": "治愈", + "v": "/class/治愈" + }, { + "n": "猎奇", + "v": "/class/猎奇" + }, { + "n": "励志", + "v": "/class/励志" + }, { + "n": "战斗", + "v": "/class/战斗" + }, { + "n": "后宫", + "v": "/class/后宫" + }, { + "n": "机战", + "v": "/class/机战" + }, { + "n": "恋爱", + "v": "/class/恋爱" + }, { + "n": "百合", + "v": "/class/百合" + }, { + "n": "科幻", + "v": "/class/科幻" + }, { + "n": "奇幻", + "v": "/class/奇幻" + }, { + "n": "推理", + "v": "/class/推理" + }, { + "n": "校园", + "v": "/class/校园" + }, { + "n": "运动", + "v": "/class/运动" + }, { + "n": "魔法", + "v": "/class/魔法" + }, { + "n": "历史", + "v": "/class/历史" + }, { + "n": "伪娘", + "v": "/class/伪娘" + }, { + "n": "美少女", + "v": "/class/美少女" + }, { + "n": "萝莉", + "v": "/class/萝莉" + }, { + "n": "亲子", + "v": "/class/亲子" + }, { + "n": "青春", + "v": "/class/青春" + }, { + "n": "冒险", + "v": "/class/冒险" + }, { + "n": "竞技", + "v": "/class/竞技" + }] + }, { + "key": "year", + "name": "年代", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2026", + "v": "/year/2026" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "2014", + "v": "/year/2014" + }, { + "n": "2013", + "v": "/year/2013" + }, { + "n": "2012", + "v": "/year/2012" + }, { + "n": "2011", + "v": "/year/2011" + }, { + "n": "2010", + "v": "/year/2010" + }, { + "n": "2009", + "v": "/year/2009" + }, { + "n": "2008", + "v": "/year/2008" + }, { + "n": "2007", + "v": "/year/2007" + }, { + "n": "2006", + "v": "/year/2006" + }, { + "n": "2005", + "v": "/year/2005" + }, { + "n": "2004", + "v": "/year/2004" + }, { + "n": "2003", + "v": "/year/2003" + }, { + "n": "2002", + "v": "/year/2002" + }, { + "n": "2001", + "v": "/year/2001" + }, { + "n": "2000", + "v": "/year/2000" + }, { + "n": "1999", + "v": "/year/1999" + }, { + "n": "1998", + "v": "/year/1998" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "/by/time" + }, { + "n": "人气", + "v": "/by/hits" + }, { + "n": "评分", + "v": "/by/score" + }] + }], + "21": [{ + "key": "class", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "搞笑", + "v": "/class/搞笑" + }, { + "n": "经典", + "v": "/class/经典" + }, { + "n": "热血", + "v": "/class/热血" + }, { + "n": "催泪", + "v": "/class/催泪" + }, { + "n": "治愈", + "v": "/class/治愈" + }, { + "n": "猎奇", + "v": "/class/猎奇" + }, { + "n": "励志", + "v": "/class/励志" + }, { + "n": "战斗", + "v": "/class/战斗" + }, { + "n": "后宫", + "v": "/class/后宫" + }, { + "n": "机战", + "v": "/class/机战" + }, { + "n": "恋爱", + "v": "/class/恋爱" + }, { + "n": "百合", + "v": "/class/百合" + }, { + "n": "科幻", + "v": "/class/科幻" + }, { + "n": "奇幻", + "v": "/class/奇幻" + }, { + "n": "推理", + "v": "/class/推理" + }, { + "n": "校园", + "v": "/class/校园" + }, { + "n": "运动", + "v": "/class/运动" + }, { + "n": "魔法", + "v": "/class/魔法" + }, { + "n": "历史", + "v": "/class/历史" + }, { + "n": "伪娘", + "v": "/class/伪娘" + }, { + "n": "美少女", + "v": "/class/美少女" + }, { + "n": "萝莉", + "v": "/class/萝莉" + }, { + "n": "亲子", + "v": "/class/亲子" + }, { + "n": "青春", + "v": "/class/青春" + }, { + "n": "冒险", + "v": "/class/冒险" + }, { + "n": "竞技", + "v": "/class/竞技" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "大陆", + "v": "/area/大陆" + }, { + "n": "美国", + "v": "/area/美国" + }, { + "n": "韩国", + "v": "/area/韩国" + }, { + "n": "日本", + "v": "/area/日本" + }, { + "n": "泰国", + "v": "/area/泰国" + }, { + "n": "新加坡", + "v": "/area/新加坡" + }, { + "n": "马来西亚", + "v": "/area/马来西亚" + }, { + "n": "印度", + "v": "/area/印度" + }, { + "n": "英国", + "v": "/area/英国" + }, { + "n": "法国", + "v": "/area/法国" + }, { + "n": "加拿大", + "v": "/area/加拿大" + }, { + "n": "西班牙", + "v": "/area/西班牙" + }, { + "n": "俄罗斯", + "v": "/area/俄罗斯" + }, { + "n": "其它", + "v": "/area/其它" + }] + }, { + "key": "year", + "name": "年代", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2026", + "v": "/year/2026" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "2014", + "v": "/year/2014" + }, { + "n": "2013", + "v": "/year/2013" + }, { + "n": "2012", + "v": "/year/2012" + }, { + "n": "2011", + "v": "/year/2011" + }, { + "n": "2010", + "v": "/year/2010" + }, { + "n": "2009", + "v": "/year/2009" + }, { + "n": "2008", + "v": "/year/2008" + }, { + "n": "2007", + "v": "/year/2007" + }, { + "n": "2006", + "v": "/year/2006" + }, { + "n": "2005", + "v": "/year/2005" + }, { + "n": "2004", + "v": "/year/2004" + }, { + "n": "2003", + "v": "/year/2003" + }, { + "n": "2002", + "v": "/year/2002" + }, { + "n": "2001", + "v": "/year/2001" + }, { + "n": "2000", + "v": "/year/2000" + }, { + "n": "1999", + "v": "/year/1999" + }, { + "n": "1998", + "v": "/year/1998" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "/by/time" + }, { + "n": "人气", + "v": "/by/hits" + }, { + "n": "评分", + "v": "/by/score" + }] + }], + "50": [{ + "key": "class", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "搞笑", + "v": "/class/搞笑" + }, { + "n": "经典", + "v": "/class/经典" + }, { + "n": "热血", + "v": "/class/热血" + }, { + "n": "催泪", + "v": "/class/催泪" + }, { + "n": "治愈", + "v": "/class/治愈" + }, { + "n": "猎奇", + "v": "/class/猎奇" + }, { + "n": "励志", + "v": "/class/励志" + }, { + "n": "战斗", + "v": "/class/战斗" + }, { + "n": "后宫", + "v": "/class/后宫" + }, { + "n": "机战", + "v": "/class/机战" + }, { + "n": "恋爱", + "v": "/class/恋爱" + }, { + "n": "百合", + "v": "/class/百合" + }, { + "n": "科幻", + "v": "/class/科幻" + }, { + "n": "奇幻", + "v": "/class/奇幻" + }, { + "n": "推理", + "v": "/class/推理" + }, { + "n": "校园", + "v": "/class/校园" + }, { + "n": "运动", + "v": "/class/运动" + }, { + "n": "魔法", + "v": "/class/魔法" + }, { + "n": "历史", + "v": "/class/历史" + }, { + "n": "伪娘", + "v": "/class/伪娘" + }, { + "n": "美少女", + "v": "/class/美少女" + }, { + "n": "萝莉", + "v": "/class/萝莉" + }, { + "n": "亲子", + "v": "/class/亲子" + }, { + "n": "青春", + "v": "/class/青春" + }, { + "n": "冒险", + "v": "/class/冒险" + }, { + "n": "竞技", + "v": "/class/竞技" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "大陆", + "v": "/area/大陆" + }, { + "n": "美国", + "v": "/area/美国" + }, { + "n": "韩国", + "v": "/area/韩国" + }, { + "n": "日本", + "v": "/area/日本" + }, { + "n": "泰国", + "v": "/area/泰国" + }, { + "n": "新加坡", + "v": "/area/新加坡" + }, { + "n": "马来西亚", + "v": "/area/马来西亚" + }, { + "n": "印度", + "v": "/area/印度" + }, { + "n": "英国", + "v": "/area/英国" + }, { + "n": "法国", + "v": "/area/法国" + }, { + "n": "加拿大", + "v": "/area/加拿大" + }, { + "n": "西班牙", + "v": "/area/西班牙" + }, { + "n": "俄罗斯", + "v": "/area/俄罗斯" + }, { + "n": "其它", + "v": "/area/其它" + }] + }, { + "key": "year", + "name": "年代", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2026", + "v": "/year/2026" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "2014", + "v": "/year/2014" + }, { + "n": "2013", + "v": "/year/2013" + }, { + "n": "2012", + "v": "/year/2012" + }, { + "n": "2011", + "v": "/year/2011" + }, { + "n": "2010", + "v": "/year/2010" + }, { + "n": "2009", + "v": "/year/2009" + }, { + "n": "2008", + "v": "/year/2008" + }, { + "n": "2007", + "v": "/year/2007" + }, { + "n": "2006", + "v": "/year/2006" + }, { + "n": "2005", + "v": "/year/2005" + }, { + "n": "2004", + "v": "/year/2004" + }, { + "n": "2003", + "v": "/year/2003" + }, { + "n": "2002", + "v": "/year/2002" + }, { + "n": "2001", + "v": "/year/2001" + }, { + "n": "2000", + "v": "/year/2000" + }, { + "n": "1999", + "v": "/year/1999" + }, { + "n": "1998", + "v": "/year/1998" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "/by/time" + }, { + "n": "人气", + "v": "/by/hits" + }, { + "n": "评分", + "v": "/by/score" + }] + }], + "24": [{ + "key": "class", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "搞笑", + "v": "/class/搞笑" + }, { + "n": "经典", + "v": "/class/经典" + }, { + "n": "热血", + "v": "/class/热血" + }, { + "n": "催泪", + "v": "/class/催泪" + }, { + "n": "治愈", + "v": "/class/治愈" + }, { + "n": "猎奇", + "v": "/class/猎奇" + }, { + "n": "励志", + "v": "/class/励志" + }, { + "n": "战斗", + "v": "/class/战斗" + }, { + "n": "后宫", + "v": "/class/后宫" + }, { + "n": "机战", + "v": "/class/机战" + }, { + "n": "恋爱", + "v": "/class/恋爱" + }, { + "n": "百合", + "v": "/class/百合" + }, { + "n": "科幻", + "v": "/class/科幻" + }, { + "n": "奇幻", + "v": "/class/奇幻" + }, { + "n": "推理", + "v": "/class/推理" + }, { + "n": "校园", + "v": "/class/校园" + }, { + "n": "运动", + "v": "/class/运动" + }, { + "n": "魔法", + "v": "/class/魔法" + }, { + "n": "历史", + "v": "/class/历史" + }, { + "n": "伪娘", + "v": "/class/伪娘" + }, { + "n": "美少女", + "v": "/class/美少女" + }, { + "n": "萝莉", + "v": "/class/萝莉" + }, { + "n": "亲子", + "v": "/class/亲子" + }, { + "n": "青春", + "v": "/class/青春" + }, { + "n": "冒险", + "v": "/class/冒险" + }, { + "n": "竞技", + "v": "/class/竞技" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "大陆", + "v": "/area/大陆" + }, { + "n": "美国", + "v": "/area/美国" + }, { + "n": "韩国", + "v": "/area/韩国" + }, { + "n": "日本", + "v": "/area/日本" + }, { + "n": "泰国", + "v": "/area/泰国" + }, { + "n": "新加坡", + "v": "/area/新加坡" + }, { + "n": "马来西亚", + "v": "/area/马来西亚" + }, { + "n": "印度", + "v": "/area/印度" + }, { + "n": "英国", + "v": "/area/英国" + }, { + "n": "法国", + "v": "/area/法国" + }, { + "n": "加拿大", + "v": "/area/加拿大" + }, { + "n": "西班牙", + "v": "/area/西班牙" + }, { + "n": "俄罗斯", + "v": "/area/俄罗斯" + }, { + "n": "其它", + "v": "/area/其它" + }] + }, { + "key": "year", + "name": "年代", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2026", + "v": "/year/2026" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "2014", + "v": "/year/2014" + }, { + "n": "2013", + "v": "/year/2013" + }, { + "n": "2012", + "v": "/year/2012" + }, { + "n": "2011", + "v": "/year/2011" + }, { + "n": "2010", + "v": "/year/2010" + }, { + "n": "2009", + "v": "/year/2009" + }, { + "n": "2008", + "v": "/year/2008" + }, { + "n": "2007", + "v": "/year/2007" + }, { + "n": "2006", + "v": "/year/2006" + }, { + "n": "2005", + "v": "/year/2005" + }, { + "n": "2004", + "v": "/year/2004" + }, { + "n": "2003", + "v": "/year/2003" + }, { + "n": "2002", + "v": "/year/2002" + }, { + "n": "2001", + "v": "/year/2001" + }, { + "n": "2000", + "v": "/year/2000" + }, { + "n": "1999", + "v": "/year/1999" + }, { + "n": "1998", + "v": "/year/1998" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "/by/time" + }, { + "n": "人气", + "v": "/by/hits" + }, { + "n": "评分", + "v": "/by/score" + }] + }], + "22": [{ + "key": "class", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "搞笑", + "v": "/class/搞笑" + }, { + "n": "经典", + "v": "/class/经典" + }, { + "n": "热血", + "v": "/class/热血" + }, { + "n": "催泪", + "v": "/class/催泪" + }, { + "n": "治愈", + "v": "/class/治愈" + }, { + "n": "猎奇", + "v": "/class/猎奇" + }, { + "n": "励志", + "v": "/class/励志" + }, { + "n": "战斗", + "v": "/class/战斗" + }, { + "n": "后宫", + "v": "/class/后宫" + }, { + "n": "机战", + "v": "/class/机战" + }, { + "n": "恋爱", + "v": "/class/恋爱" + }, { + "n": "百合", + "v": "/class/百合" + }, { + "n": "科幻", + "v": "/class/科幻" + }, { + "n": "奇幻", + "v": "/class/奇幻" + }, { + "n": "推理", + "v": "/class/推理" + }, { + "n": "校园", + "v": "/class/校园" + }, { + "n": "运动", + "v": "/class/运动" + }, { + "n": "魔法", + "v": "/class/魔法" + }, { + "n": "历史", + "v": "/class/历史" + }, { + "n": "伪娘", + "v": "/class/伪娘" + }, { + "n": "美少女", + "v": "/class/美少女" + }, { + "n": "萝莉", + "v": "/class/萝莉" + }, { + "n": "亲子", + "v": "/class/亲子" + }, { + "n": "青春", + "v": "/class/青春" + }, { + "n": "冒险", + "v": "/class/冒险" + }, { + "n": "竞技", + "v": "/class/竞技" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "日本", + "v": "/area/日本" + }, { + "n": "欧美", + "v": "/area/欧美" + }, { + "n": "其他", + "v": "/area/其他" + }] + }, { + "key": "year", + "name": "年代", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2026", + "v": "/year/2026" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "2014", + "v": "/year/2014" + }, { + "n": "2013", + "v": "/year/2013" + }, { + "n": "2012", + "v": "/year/2012" + }, { + "n": "2011", + "v": "/year/2011" + }, { + "n": "2010", + "v": "/year/2010" + }, { + "n": "2009", + "v": "/year/2009" + }, { + "n": "2008", + "v": "/year/2008" + }, { + "n": "2007", + "v": "/year/2007" + }, { + "n": "2006", + "v": "/year/2006" + }, { + "n": "2005", + "v": "/year/2005" + }, { + "n": "2004", + "v": "/year/2004" + }, { + "n": "2003", + "v": "/year/2003" + }, { + "n": "2002", + "v": "/year/2002" + }, { + "n": "2001", + "v": "/year/2001" + }, { + "n": "2000", + "v": "/year/2000" + }, { + "n": "1999", + "v": "/year/1999" + }, { + "n": "1998", + "v": "/year/1998" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "/by/time" + }, { + "n": "人气", + "v": "/by/hits" + }, { + "n": "评分", + "v": "/by/score" + }] + }] + }, + class_parse: '.fed-pops-list:eq(0)&&li:gt(0):lt(6);a&&Text;a&&href;.*/(.*?).html', } \ No newline at end of file diff --git a/js/爱动漫.js b/js/爱动漫.js new file mode 100644 index 00000000..e943b865 --- /dev/null +++ b/js/爱动漫.js @@ -0,0 +1,827 @@ +muban.短视2.二级.img = '.detail-pic&&img&&data-src'; +var rule = { + title: '爱弹幕', + 模板: '短视2', + host: 'https://bgm.girigirilove.com', + homeUrl: '/map/', + // url:'/show/fyclass--------fypage---/' + url: '/show/fyclassfyfilter/', + filterable: 1, //是否启用分类筛选, + filter_url: '-{{fl.area}}-{{fl.by}}-{{fl.class}}-{{fl.lang}}-{{fl.letter}}---fypage---{{fl.year}}', + filter: { + "2": [{ + "key": "class", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "喜剧", + "v": "喜剧" + }, { + "n": "爱情", + "v": "爱情" + }, { + "n": "恐怖", + "v": "恐怖" + }, { + "n": "动作", + "v": "动作" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "剧情", + "v": "剧情" + }, { + "n": "战争", + "v": "战争" + }, { + "n": "奇幻", + "v": "奇幻" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "悬疑", + "v": "悬疑" + }, { + "n": "校园", + "v": "校园" + }, { + "n": "后宫", + "v": "后宫" + }, { + "n": "热血", + "v": "热血" + }, { + "n": "运动", + "v": "运动" + }, { + "n": "百合", + "v": "百合" + }, { + "n": "乙女", + "v": "乙女" + }, { + "n": "机甲", + "v": "机甲" + }, { + "n": "日常", + "v": "日常" + }, { + "n": "魔法少女", + "v": "魔法少女" + }, { + "n": "异世界", + "v": "异世界" + }, { + "n": "爱抖露", + "v": "爱抖露" + }, { + "n": "音乐", + "v": "音乐" + }, { + "n": "萌", + "v": "萌" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "一月", + "v": "一月" + }, { + "n": "四月", + "v": "四月" + }, { + "n": "七月", + "v": "七月" + }, { + "n": "十月", + "v": "十月" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2026", + "v": "2026" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }, { + "n": "2003", + "v": "2003" + }, { + "n": "2002", + "v": "2002" + }, { + "n": "2001", + "v": "2001" + }, { + "n": "2000", + "v": "2000" + }] + }, { + "key": "lang", + "name": "语言", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "日语", + "v": "日语" + }, { + "n": "国语", + "v": "国语" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "最新", + "v": "time" + }, { + "n": "最热", + "v": "hits" + }, { + "n": "评分", + "v": "score" + }] + }], + "3": [{ + "key": "class", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "搞笑", + "v": "搞笑" + }, { + "n": "爱情", + "v": "爱情" + }, { + "n": "恐怖", + "v": "恐怖" + }, { + "n": "动作", + "v": "动作" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "剧情", + "v": "剧情" + }, { + "n": "战争", + "v": "战争" + }, { + "n": "奇幻", + "v": "奇幻" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "悬疑", + "v": "悬疑" + }, { + "n": "校园", + "v": "校园" + }, { + "n": "后宫", + "v": "后宫" + }, { + "n": "热血", + "v": "热血" + }, { + "n": "运动", + "v": "运动" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "内地", + "v": "内地" + }, { + "n": "港台", + "v": "港台" + }, { + "n": "日韩", + "v": "日韩" + }, { + "n": "欧美", + "v": "欧美" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2026", + "v": "2026" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }, { + "n": "2003", + "v": "2003" + }] + }, { + "key": "lang", + "name": "语言", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "国语", + "v": "国语" + }, { + "n": "英语", + "v": "英语" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "最新", + "v": "time" + }, { + "n": "最热", + "v": "hits" + }, { + "n": "评分", + "v": "score" + }] + }], + "21": [{ + "key": "class", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "喜剧", + "v": "喜剧" + }, { + "n": "爱情", + "v": "爱情" + }, { + "n": "恐怖", + "v": "恐怖" + }, { + "n": "动作", + "v": "动作" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "剧情", + "v": "剧情" + }, { + "n": "战争", + "v": "战争" + }, { + "n": "奇幻", + "v": "奇幻" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "悬疑", + "v": "悬疑" + }, { + "n": "校园", + "v": "校园" + }, { + "n": "后宫", + "v": "后宫" + }, { + "n": "热血", + "v": "热血" + }, { + "n": "运动", + "v": "运动" + }, { + "n": "百合", + "v": "百合" + }, { + "n": "耽美", + "v": "耽美" + }, { + "n": "机甲", + "v": "机甲" + }, { + "n": "日常", + "v": "日常" + }, { + "n": "魔法少女", + "v": "魔法少女" + }, { + "n": "异世界", + "v": "异世界" + }, { + "n": "爱抖露", + "v": "爱抖露" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2026", + "v": "2026" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }, { + "n": "2003", + "v": "2003" + }] + }, { + "key": "lang", + "name": "语言", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "日语", + "v": "日语" + }, { + "n": "中文", + "v": "中文" + }, { + "n": "英语", + "v": "英语" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "最新", + "v": "time" + }, { + "n": "最热", + "v": "hits" + }, { + "n": "评分", + "v": "score" + }] + }], + "20": [{ + "key": "class", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "爱情", + "v": "爱情" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "经典", + "v": "经典" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "剧情", + "v": "剧情" + }, { + "n": "动作", + "v": "动作" + }, { + "n": "同性", + "v": "同性" + }, { + "n": "喜剧", + "v": "喜剧" + }, { + "n": "奇幻", + "v": "奇幻" + }, { + "n": "恐怖", + "v": "恐怖" + }, { + "n": "悬疑.惊悚", + "v": "悬疑.惊悚" + }, { + "n": "战争", + "v": "战争" + }, { + "n": "欧美", + "v": "欧美" + }, { + "n": "歌舞", + "v": "歌舞" + }, { + "n": "灾难", + "v": "灾难" + }, { + "n": "记录.泰剧", + "v": "记录.泰剧" + }, { + "n": "体育", + "v": "体育" + }, { + "n": "烧脑", + "v": "烧脑" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "日本", + "v": "日本" + }, { + "n": "欧美", + "v": "欧美" + }, { + "n": "泰国", + "v": "泰国" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2026", + "v": "2026" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004.2003", + "v": "2004.2003" + }] + }, { + "key": "lang", + "name": "语言", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "日语", + "v": "日语" + }, { + "n": "英语", + "v": "英语" + }, { + "n": "泰语", + "v": "泰语" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "最新", + "v": "time" + }, { + "n": "最热", + "v": "hits" + }, { + "n": "评分", + "v": "score" + }] + }], + "24": [{ + "key": "by", + "name": "排序", + "value": [{ + "n": "最新", + "v": "time" + }, { + "n": "最热", + "v": "hits" + }, { + "n": "评分", + "v": "score" + }] + }], + "26": [{ + "key": "by", + "name": "排序", + "value": [{ + "n": "最新", + "v": "time" + }, { + "n": "最热", + "v": "hits" + }, { + "n": "评分", + "v": "score" + }] + }] + }, + searchUrl: '/search/**----------fypage---/', + class_name: '日番&美番&劇場版&真人番劇&BD副音軌&其他', + class_url: '2&3&21&20&24&26', + play_parse: true, + lazy: `js: + var html = JSON.parse(request(input).match(/r player_.*?=(.*?) { + input = { + parse: 1, + url: input, + //js:'try{let urls=Array.from(document.querySelectorAll("iframe")).filter(x=>x.src.includes("?url="));if(urls){location.href=urls[0].src}}catch{}document.querySelector("button").click()', + js: 'try{location.href=document.querySelector("#playleft iframe").src}catch{}document.querySelector("button.swal-button--confirm").click()', + parse_extra: '&is_pc=1&custom_regex=' + rule.is_video, + } + }), + limit: 6, + 推荐: '.list-vod.flex .public-list-box;a&&title;.lazy&&data-original;.public-list-prb&&Text;a&&href', + 一级: $js.toString(() => { + let body = input.split("#")[1]; + let t = Math.round(new Date / 1e3).toString(); + let key = md5("DS" + t + "DCC147D11943AF75"); + let url = input.split("#")[0]; + body = body + "&time=" + t + "&key=" + key; + print(body); + fetch_params.body = body; + let html = post(url, fetch_params); + let data = JSON.parse(html); + VODS = data.list.map(function(it) { + it.vod_pic = urljoin2(input.split("/i")[0], it.vod_pic); + return it + }); + }), + 二级: { + title: '.slide-info-title&&Text;.slide-info:eq(3)--strong&&Text', + img: '.detail-pic&&data-original', + desc: '.fraction&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(2)--strong&&Text;.slide-info:eq(1)--strong&&Text', + content: '#height_limit&&Text', + tabs: '.anthology.wow.fadeInUp.animated&&.swiper-wrapper&&a', + tab_text: '.swiper-slide&&Text', + lists: '.anthology-list-box:eq(#id) li', + }, + 搜索: 'json:list;name;pic;;id', + 搜索: $js.toString(() => { + let html = fetch(input); + let list = pdfa(html, ".public-list-box"); + VODS = list.map(x => { + return { + vod_name: pdfh(x, ".thumb-txt&&Text"), + vod_pic: pdfh(x, ".lazy&&data-src"), + vod_remarks: pdfh(x, ".public-list-prb&&Text"), + vod_content: pdfh(x, ".thumb-blurb&&Text"), + vod_id: pdfh(x, "a&&href") + } + }); + }), + 图片替换: '&=>&' +} \ No newline at end of file diff --git a/js/路漫漫.js b/js/路漫漫.js index ab0305d4..594cd646 100644 --- a/js/路漫漫.js +++ b/js/路漫漫.js @@ -1,47 +1,567 @@ var rule = { - title: '路漫漫', - // host:'https://www.96ba.com', - host: 'https://www.wzwt369.com', - // url:'/vod/show/id/fyclass/page/fypage.html', - url: '/vod/show/id/fyclassfyfilter.html', - filterable: 1,//是否启用分类筛选, - filter_url: '{{fl.by}}/page/fypage{{fl.year}}', - filter: { - "ribendongman": [{ "key": "year", "name": "年份", "value": [{ "n": "全部", "v": "" }, { "n": "2024", "v": "/year/2024" }, { "n": "2023", "v": "/year/2023" }, { "n": "2022", "v": "/year/2022" }, { "n": "2021", "v": "/year/2021" }, { "n": "2020", "v": "/year/2020" }, { "n": "2019", "v": "/year/2019" }, { "n": "2018", "v": "/year/2018" }, { "n": "2017", "v": "/year/2017" }, { "n": "2016", "v": "/year/2016" }, { "n": "2015", "v": "/year/2015" }, { "n": "2014", "v": "/year/2014" }, { "n": "更早", "v": "/year/2013-1980" }] }, { "key": "by", "name": "排序", "value": [{ "n": "更新", "v": "/by/time" }, { "n": "人气", "v": "/by/hits" }, { "n": "评分", "v": "/by/score" }, { "n": "点赞", "v": "/by/up" }] }], - "guochandongman": [{ "key": "year", "name": "年份", "value": [{ "n": "全部", "v": "" }, { "n": "2024", "v": "/year/2024" }, { "n": "2023", "v": "/year/2023" }, { "n": "2022", "v": "/year/2022" }, { "n": "2021", "v": "/year/2021" }, { "n": "2020", "v": "/year/2020" }, { "n": "2019", "v": "/year/2019" }, { "n": "2018", "v": "/year/2018" }, { "n": "2017", "v": "/year/2017" }, { "n": "2016", "v": "/year/2016" }, { "n": "2015", "v": "/year/2015" }, { "n": "2014", "v": "/year/2014" }, { "n": "更早", "v": "/year/2013-1980" }] }, { "key": "by", "name": "排序", "value": [{ "n": "更新", "v": "/by/time" }, { "n": "人气", "v": "/by/hits" }, { "n": "评分", "v": "/by/score" }, { "n": "点赞", "v": "/by/up" }] }], - "oumeidongman": [{ "key": "year", "name": "年份", "value": [{ "n": "全部", "v": "" }, { "n": "2024", "v": "/year/2024" }, { "n": "2023", "v": "/year/2023" }, { "n": "2022", "v": "/year/2022" }, { "n": "2021", "v": "/year/2021" }, { "n": "2020", "v": "/year/2020" }, { "n": "2019", "v": "/year/2019" }, { "n": "2018", "v": "/year/2018" }, { "n": "2017", "v": "/year/2017" }, { "n": "2016", "v": "/year/2016" }, { "n": "2015", "v": "/year/2015" }, { "n": "2014", "v": "/year/2014" }, { "n": "更早", "v": "/year/2013-1980" }] }, { "key": "by", "name": "排序", "value": [{ "n": "更新", "v": "/by/time" }, { "n": "人气", "v": "/by/hits" }, { "n": "评分", "v": "/by/score" }, { "n": "点赞", "v": "/by/up" }] }], - "ribendonghuadianying": [{ "key": "year", "name": "年份", "value": [{ "n": "全部", "v": "" }, { "n": "2024", "v": "/year/2024" }, { "n": "2023", "v": "/year/2023" }, { "n": "2022", "v": "/year/2022" }, { "n": "2021", "v": "/year/2021" }, { "n": "2020", "v": "/year/2020" }, { "n": "2019", "v": "/year/2019" }, { "n": "2018", "v": "/year/2018" }, { "n": "2017", "v": "/year/2017" }, { "n": "2016", "v": "/year/2016" }, { "n": "2015", "v": "/year/2015" }, { "n": "2014", "v": "/year/2014" }, { "n": "更早", "v": "/year/2013-1980" }] }, { "key": "by", "name": "排序", "value": [{ "n": "更新", "v": "/by/time" }, { "n": "人气", "v": "/by/hits" }, { "n": "评分", "v": "/by/score" }, { "n": "点赞", "v": "/by/up" }] }], - "guochandonghuadianying": [{ "key": "year", "name": "年份", "value": [{ "n": "全部", "v": "" }, { "n": "2024", "v": "/year/2024" }, { "n": "2023", "v": "/year/2023" }, { "n": "2022", "v": "/year/2022" }, { "n": "2021", "v": "/year/2021" }, { "n": "2020", "v": "/year/2020" }, { "n": "2019", "v": "/year/2019" }, { "n": "2018", "v": "/year/2018" }, { "n": "2017", "v": "/year/2017" }, { "n": "2016", "v": "/year/2016" }, { "n": "2015", "v": "/year/2015" }, { "n": "2014", "v": "/year/2014" }, { "n": "更早", "v": "/year/2013-1980" }] }, { "key": "by", "name": "排序", "value": [{ "n": "更新", "v": "/by/time" }, { "n": "人气", "v": "/by/hits" }, { "n": "评分", "v": "/by/score" }, { "n": "点赞", "v": "/by/up" }] }], - "oumeidonghuadianying": [{ "key": "year", "name": "年份", "value": [{ "n": "全部", "v": "" }, { "n": "2024", "v": "/year/2024" }, { "n": "2023", "v": "/year/2023" }, { "n": "2022", "v": "/year/2022" }, { "n": "2021", "v": "/year/2021" }, { "n": "2020", "v": "/year/2020" }, { "n": "2019", "v": "/year/2019" }, { "n": "2018", "v": "/year/2018" }, { "n": "2017", "v": "/year/2017" }, { "n": "2016", "v": "/year/2016" }, { "n": "2015", "v": "/year/2015" }, { "n": "2014", "v": "/year/2014" }, { "n": "更早", "v": "/year/2013-1980" }] }, { "key": "by", "name": "排序", "value": [{ "n": "更新", "v": "/by/time" }, { "n": "人气", "v": "/by/hits" }, { "n": "评分", "v": "/by/score" }, { "n": "点赞", "v": "/by/up" }] }] - }, - searchUrl: '/vod/search/page/fypage/wd/**.html', - searchable: 2,//是否启用全局搜索, - quickSearch: 0,//是否启用快速搜索, - headers: { - 'User-Agent': 'MOBILE_UA', - }, - class_parse: '.container&&.tag.text-light;a&&Text;a&&href;.*/(.*?).html', - play_parse: true, - lazy: `js: - var html = JSON.parse(request(input).match(/r player_.*?=(.*?) { + function getDAesString(token) { + eval(getCryptoJS()); + var key = CryptoJS.enc.Utf8.parse("ejjooopppqqqrwww"); + + var iv = CryptoJS.enc.Utf8.parse("1348987635684651"); + + var token = CryptoJS.AES.decrypt(token, key, { + iv: iv, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7, + }); + + return token.toString(CryptoJS.enc.Utf8); + } + + var html = JSON.parse(request(input).match(/r player_.*?=(.*?) { + function getClasses(item) { + let classes = []; + if (item.class_name && item.class_url) { + if (!/&|电影|电视剧|综艺|动漫[\u4E00-\u9FA5]+/.test(item.class_name)) { + try { + item.class_name = ungzip(item.class_name) + } catch (e) { + log(`不识别的class_name导致gzip解码失败:${e}`) + return classes + } + } + let names = item.class_name.split('&'); + let urls = item.class_url.split('&'); + let cnt = Math.min(names.length, urls.length); + for (let i = 0; i < cnt; i++) { + classes.push({ + 'type_id': urls[i], + 'type_name': names[i] + }); + } + } + return classes + } + if (typeof(batchFetch) === 'function') { + rule.search_limit = 16; + log('当前程序支持批量请求[batchFetch],搜索限制已设置为16'); + } + let _url = rule.params; + log(`传入参数:${_url}`); + if (_url && typeof(_url) === 'string' && /^(http|file)/.test(_url)) { + if (_url.includes('$')) { + let _url_params = _url.split('$'); + _url = _url_params[0]; + rule.search_match = !!(_url_params[1]); + if (_url_params.length > 2) { + rule.search_pic = !!(_url_params[2]); + } + } + let html = request(_url); + let json = JSON.parse(html); + let _classes = []; + rule.filter = {}; + rule.filter_def = {}; + json.forEach(it => { + let _obj = { + type_name: it.name, + type_id: it.url, + parse_url: it.parse_url || '', + searchable: it.searchable !== 0, + api: it.api || '', + cate_exclude: it.cate_exclude || '', + cate_excludes: it.cate_excludes || [], + }; + _classes.push(_obj); + try { + let json1 = []; + if (it.class_name && it.class_url) { + json1 = getClasses(it); + } else { + json1 = JSON.parse(request(urljoin(_obj.type_id, _obj.api || rule.classUrl))).class; + } + if (_obj.cate_excludes && Array.isArray(_obj.cate_excludes) && _obj.cate_excludes.length > 0) { + json1 = json1.filter(cl => !_obj.cate_excludes.includes(cl.type_name)); + } else if (_obj.cate_exclude) { + json1 = json1.filter(cl => !new RegExp(_obj.cate_exclude, 'i').test(cl.type_name)); + } + rule.filter[_obj.type_id] = [{ + "key": "类型", + "name": "类型", + "value": json1.map(i => { + return { + "n": i.type_name, + 'v': i.type_id + } + }) + }]; + if (json1.length > 0) { + rule.filter_def[it.url] = { + "类型": json1[0].type_id + }; + } + } catch (e) { + rule.filter[it.url] = [{ + "key": "类型", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }] + }]; + } + }); + rule.classes = _classes; + } + }), + class_parse: $js.toString(() => { + input = rule.classes; + }), + 推荐: $js.toString(() => { + VODS = []; + if (rule.classes) { + let randomClass = getRandomItem(rule.classes); + let _url = urljoin(randomClass.type_id, input); + if (randomClass.api) { + _url = _url.replace('/api.php/provide/vod/', randomClass.api) + } + try { + let html = request(_url, { + timeout: rule.timeout + }); + let json = JSON.parse(html); + VODS = json.list; + VODS.forEach(it => { + it.vod_id = randomClass.type_id + '$' + it.vod_id; + it.vod_remarks = it.vod_remarks + '|' + randomClass.type_name; + }); + } catch (e) {} + } + }), + 一级: $js.toString(() => { + VODS = []; + if (rule.classes) { + let _url = urljoin(MY_CATE, input); + let current_vod = rule.classes.find(item => item.type_id === MY_CATE); + if (current_vod && current_vod.api) { + _url = _url.replace('/api.php/provide/vod/', current_vod.api) + } + let html = request(_url); + let json = JSON.parse(html); + VODS = json.list; + VODS.forEach(it => { + it.vod_id = MY_CATE + '$' + it.vod_id + }); + } + }), + 二级: $js.toString(() => { + VOD = {}; + if (orId === 'update_info') { + VOD = { + vod_content: rule.update_info.trim(), + vod_name: '更新日志', + type_name: '更新日志', + vod_pic: 'https://resource-cdn.tuxiaobei.com/video/FtWhs2mewX_7nEuE51_k6zvg6awl.png', + vod_remarks: `版本:${rule.version}`, + vod_play_from: '道长在线', + vod_play_url: '随机小视频$http://api.yujn.cn/api/zzxjj.php', + }; + } else { + if (rule.classes) { + let _url = urljoin(fyclass, input); + let current_vod = rule.classes.find(item => item.type_id === fyclass); + if (current_vod && current_vod.api) { + _url = _url.replace('/api.php/provide/vod/', current_vod.api) + } + let html = request(_url); + let json = JSON.parse(html); + let data = json.list; + VOD = data[0]; + if (current_vod && current_vod.type_name) { + VOD.vod_play_from = VOD.vod_play_from.split('$$$').map(it => current_vod.type_name + '|' + it).join('$$$') + } + } + } + }), + 搜索: $js.toString(() => { + VODS = []; + if (rule.classes) { + let canSearch = rule.classes.filter(it => it.searchable); + let page = Number(MY_PAGE); + page = (MY_PAGE - 1) % Math.ceil(canSearch.length / rule.search_limit) + 1; + let truePage = Math.ceil(MY_PAGE / Math.ceil(canSearch.length / rule.search_limit)); + if (rule.search_limit) { + let start = (page - 1) * rule.search_limit; + let end = page * rule.search_limit; + let t1 = new Date().getTime(); + let searchMode = typeof(batchFetch) === 'function' ? '批量' : '单个'; + log('start:' + start); + log('end:' + end); + log('搜索模式:' + searchMode); + log('精准搜索:' + rule.search_match); + log('强制获取图片:' + rule.search_pic); + if (start < canSearch.length) { + let search_classes = canSearch.slice(start, end); + let urls = []; + search_classes.forEach(it => { + let _url = urljoin(it.type_id, input); + if (it.api) { + _url = _url.replace('/api.php/provide/vod/', it.api) + } + _url = _url.replace("#TruePage#", "" + truePage); + urls.push(_url); + }); + let results_list = []; + let results = []; + if (typeof(batchFetch) === 'function') { + let reqUrls = urls.map(it => { + return { + url: it, + options: { + timeout: rule.timeout + } + } + }); + let rets = batchFetch(reqUrls); + let detailUrls = []; + let detailUrlCount = 0; + rets.forEach((ret, idx) => { + let it = search_classes[idx]; + if (ret) { + try { + let json = JSON.parse(ret); + let data = json.list; + data.forEach(i => { + i.site_name = it.type_name; + i.vod_id = it.type_id + '$' + i.vod_id; + i.vod_remarks = i.vod_remarks + '|' + it.type_name; + }); + if (rule.search_match) { + data = data.filter(item => item.vod_name && (new RegExp(KEY, 'i')).test(item.vod_name)) + } + if (data.length > 0) { + if (rule.search_pic && !data[0].vod_pic) { + log(`当前搜索站点【${it.type_name}】没图片,尝试访问二级去获取图片`); + let detailUrl = urls[idx].split('wd=')[0] + 'ac=detail&ids=' + data.map(k => k.vod_id.split('$')[1]).join(','); + detailUrls.push(detailUrl); + results_list.push({ + data: data, + has_pic: false, + detailUrlCount: detailUrlCount + }); + detailUrlCount++; + } else { + results_list.push({ + data: data, + has_pic: true + }); + } + } + } catch (e) { + log(`请求:${it.type_id}发生错误:${e.message}`) + } + } + }); + let reqUrls2 = detailUrls.map(it => { + return { + url: it, + options: { + timeout: rule.timeout + } + } + }); + let rets2 = reqUrls2.length > 0 ? batchFetch(reqUrls2) : []; + for (let k = 0; k < results_list.length; k++) { + let result_data = results_list[k].data; + if (!results_list[k].has_pic) { + try { + let detailJson = JSON.parse(rets2[results_list[k].detailUrlCount]); + log('二级数据列表元素数:' + detailJson.list.length); + result_data.forEach((d, _seq) => { + let detailVodPic = detailJson.list.find(vod => vod.vod_id.toString() === d.vod_id.split('$')[1]); + if (detailVodPic) { + Object.assign(d, { + vod_pic: detailVodPic.vod_pic + }); + } + }); + } catch (e) { + log(`强制获取网站${result_data[0].site_name}的搜索图片失败:${e.message}`); + } + } + results = results.concat(result_data); + } + } else { + urls.forEach((_url, idx) => { + let it = search_classes[idx]; + try { + let html = request(_url); + let json = JSON.parse(html); + let data = json.list; + data.forEach(i => { + i.vod_id = it.type_id + '$' + i.vod_id; + i.vod_remarks = i.vod_remarks + '|' + it.type_name; + }); + if (rule.search_match) { + data = data.filter(item => item.vod_name && (new RegExp(KEY, 'i')).test(item.vod_name)) + } + if (data.length > 0) { + if (rule.search_pic && !data[0].vod_pic) { + log(`当前搜索站点【${it.type_name}】没图片,尝试访问二级去获取图片`); + let detailUrl = urls[idx].split('wd=')[0] + 'ac=detail&ids=' + data.map(k => k.vod_id.split('$')[1]).join(','); + try { + let detailJson = JSON.parse(request(detailUrl)); + log('二级数据列表元素数:' + detailJson.list.length); + data.forEach((d, _seq) => { + let detailVodPic = detailJson.list.find(vod => vod.vod_id.toString() === d.vod_id.split('$')[1]); + if (detailVodPic) { + Object.assign(d, { + vod_pic: detailVodPic.vod_pic + }); + } + }); + } catch (e) { + log(`强制获取网站${it.type_id}的搜索图片失败:${e.message}`); + } + } + results = results.concat(data); + } + results = results.concat(data); + } catch (e) { + log(`请求:${it.type_id}发生错误:${e.message}`) + } + }); + } + VODS = results; + let t2 = new Date().getTime(); + log(`${searchMode}搜索:${urls.length}个站耗时:${(Number(t2) - Number(t1))}ms`) + } + } + } + }), + lazy: $js.toString(() => { + let parse_url = ''; + if (flag && flag.includes('|')) { + let type_name = flag.split('|')[0]; + let current_vod = rule.classes.find(item => item.type_name === type_name); + if (current_vod && current_vod.parse_url) { + parse_url = current_vod.parse_url + } + } + if (/\.(m3u8|mp4)/.test(input)) { + input = { + parse: 0, + url: input + } + } else { + if (parse_url.startsWith('json:')) { + let purl = parse_url.replace('json:', '') + input; + let html = request(purl); + input = { + parse: 0, + url: JSON.parse(html).url + } + } else { + input = parse_url + input; + } + } + }), +} \ No newline at end of file diff --git a/jsm.json b/jsm.json index 53360b2e..66b95433 100644 --- a/jsm.json +++ b/jsm.json @@ -1,5 +1,5 @@ { - "spider": "./jar/fan.txt;md5;58149e856fa117ba01d13b0b5de47bd4", + "spider": "./jar/spider.jar;md5;193469ed28b7571e529729a9c756f77a", "lives": [ {"name": "migu","type": 0,"url": "https://develop202.github.io/migu_video/interface.txt","playerType": 1,"ua": "okhttp/3.8.1","timeout": 20,"epg": "https://epg.112114.xyz/?ch={name}&date={date}","logo": "https://epg.112114.xyz/logo/{name}.png"}, {"name": "live","type": 0,"url": "https://epg.pw/test_channels.m3u","playerType": 1,"ua": "okhttp/3.8.1","timeout": 20,"epg": "https://epg.112114.xyz/?ch={name}&date={date}","logo": "https://epg.112114.xyz/logo/{name}.png"}, @@ -9,85 +9,151 @@ "sites": [ {"key": "drpy_js_豆瓣","name": "搜索 | 豆瓣[js]","type": 3,"api": "./lib/drpy2.min.js","ext": "./js/drpy.js","searchable": 1,"quickSearch": 0,"changeable": 0}, {"key": "drpy_js_TVB云播","name": "影视 | TVB云播[js]","type": 3,"api": "./lib/drpy2.min.js","ext": "./js/TVB云播.js","header": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0"}}, - {"key": "新闪雷","name": "新闪雷┃MP4","type": 3,"api": "./FTY/drpy2.min.js","ext": "./js/新闪雷.js","header": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0"}}, - {"key": "fyyy","name": "飞宇影院","type": 3,"api": "csp_XBPQ","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"分类url": "http://ntfeiyu.com/nt/{cateId}/area/{area}/by/{by}/class/{class}/lang/{lang}/page/{catePg}/year/{year}.html","分类": "电影$1#电视剧$2#综艺$3#动漫$4"},"header": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0"},"jar": "./jar/sx.jar;md5;6186f490eadf878ba5de21a7fa29e594"}, - {"key": "cbh","name": "茶杯狐","type": 3,"api": "csp_XBPQ","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"分类url": "www.cupfox7.com/cupfox/{cateId}/area/{area}/by/{by}/class/{class}/lang/{lang}/page/{catePg}/year/{year}.html","分类": "电影$fenlei1#电视剧$fenlei2#综艺$fenlei3#动漫$fenlei4"},"header": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0"},"jar": "./jar/sx.jar;md5;6186f490eadf878ba5de21a7fa29e594"}, - {"key": "MDrive","name": "🗂我的云盘┃我配置","type": 3,"api": "csp_MyDriveGuard","changeable": 0,"indexs": 0,"searchable": 1,"style": {"type": "oval"},"ext": {"Cloud-drive": "tvfan/Cloud-drive.txt"}}, - {"key": "热播影视","name": "热播|APP","type": 3,"api": "csp_AppRJ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": {"url": "http://v.rbotv.cn"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "木瓜","name": "木瓜|APP","type": 3,"api": "csp_AppFox","searchable": 1,"changeable": 1,"ext": {"host": "http://www.yezitv.top/dtym.json","ver": 2},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "花柳","name": "花柳|APP","type": 3,"api": "csp_AppFox","searchable": 1,"changeable": 1,"ext": {"host": "http://nico.oiio.fun","ver": 2},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "麒麟","name": "麒麟|APP","type": 3,"api": "csp_AppFox","searchable": 1,"changeable": 1,"ext": {"host": "https://qh.70qh.top","ver": 2},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "粉象","name": "粉象|APP","type": 3,"api": "csp_AppFox","searchable": 1,"changeable": 1,"ext": {"host": "http://host1.sopython.top/host.json","ver": 2},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "搜搜","name": "搜搜|APP","type": 3,"api": "csp_AppFox","searchable": 1,"changeable": 1,"ext": "https://www.zjcvod.com","jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "火花","name": "火花|APP","type": 3,"api": "csp_AppFox","searchable": 1,"changeable": 1,"ext": {"host": "http://huohua.itcxo.cn"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "顾我","name": "顾我|APP","type": 3,"api": "csp_AppQi","searchable": 1,"changeable": 1,"ext": {"site": "https://daen-1256234123.cos.ap-shanghai.myqcloud.com/MuQi/pgqj.json","dataKey": "kj37zs29q22jk96t","dataIv": "kj37zs29q22jk96t","init": "initV122","ua": "okhttp/3.10.0"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "爱盈","name": "爱盈|APP","type": 3,"api": "csp_AppQi","searchable": 1,"changeable": 1,"ext": {"site": "https://rxysyyds.oss-cn-chengdu.aliyuncs.com/qiji.txt","dataKey": "sjvlwnhk6h9znl61","dataIv": "sjvlwnhk6h9znl61","version": "305","ua": "okhttp/3.10.0"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "金牌","name": "金牌|APP","type": 3,"api": "csp_AppQi","searchable": 1,"changeable": 1,"ext": {"site": "https://dtqj.ggtvb.cc/dtjp.txt","dataKey": "eecbio48dsq131ee","dataIv": "eecbio48dsq131ee","search": "searchList4","version": "305","init": "initV122","ua": "okhttp/3.10.0"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "小猪","name": "小猪|APP","type": 3,"api": "csp_AppQi","searchable": 1,"changeable": 1,"ext": {"site": "https://tiantangwulu.oss-cn-shanghai.aliyuncs.com/zhuzhuxia.txt","dataKey": "j8sr6d93yp49db3p","dataIv": "j8sr6d93yp49db3p","init": "initV122","ua": "okhttp/3.10.0"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "奇奇","name": "奇奇|APP","type": 3,"api": "csp_AppQi","searchable": 1,"changeable": 1,"ext": {"url": "http://110.42.67.221:8007","dataKey": "123456789abcdefg","dataIv": "123456789abcdefg","search": "searchList7","init": "initV122","ua": "okhttp/3.10.0"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "鲸鱼","name": "鲸鱼|APP","type": 3,"api": "csp_AppQi","searchable": 1,"changeable": 1,"ext": {"site": "https://jingyu4k-1312635929.cos.ap-nanjing.myqcloud.com/juyu3.json","dataKey": "AAdgrdghjfgsABC1","dataIv": "AAdgrdghjfgsABC1","init": "initV122","ua": "okhttp/3.10.0"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "芬奇","name": "芬奇|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"site": "https://wsapi.dafenqi.mom/yuming.txt","dataKey": "bH5mI8iK0tK7aQ5x","dataIv": "bH5mI8iK0tK7aQ5x"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "火狐","name": "火狐|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"site": "http://122.114.171.79:568/huohushipin.txt","dataKey": "huohushipingetap","dataIv": "huohushipingetap"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "看呗","name": "看呗|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "http://www.winter1.fun","dataKey": "abcdefghigklmn11","dataIv": "abcdefghigklmn11"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "优兔","name": "优兔|APP","type": 3,"api": "csp_AppQi","searchable": 1,"changeable": 1,"ext": {"site": "https://uututv-1319209748.cos.ap-shanghai.myqcloud.com/uutuv4.txt","dataKey": "UrWKPnmQWJA8AQzd","dataIv": "UrWKPnmQWJA8AQzd"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "汤圆","name": "汤圆|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","filterable": 1,"ext": {"url": "http://tangyuanapp.top","dataKey": "j519MYJAt3kk9XVA","dataIv": "j519MYJAt3kk9XVA"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "缘梦","name": "缘梦|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "http://165.99.42.137:5432","dataKey": "1234567890987654","dataIv": "1234567890987654"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "王子","name": "王子|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "https://app.95112475.xyz","dataKey": "5a9w6x58dsq6z3a6","dataIv": "5a9w6x58dsq6z3a6"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "小猫","name": "小猫|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"site": "http://xywlkj.oss-cn-beijing.aliyuncs.com/wp-content/uploads/2024/12/1.txt","dataKey": "xmyxmyxywlkjxywl","dataIv": "xmyxmyxywlkjxywl"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "小白","name": "小白|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "https://uutu.efjhl.cn","dataKey": "uXVVRRuaPnjEfsX5","dataIv": "uXVVRRuaPnjEfsX5"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "火锅","name": "火锅|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "https://ios.hgyx.vip","dataKey": "062dec75d039980e","dataIv": "062dec75d039980e","ua": "Dart/3.5 (dart:io)"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "气球","name": "气球|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "https://vv.229d.cn","dataKey": "8888888888888888","dataIv": "8888888888888888"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "白鸽","name": "白鸽|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "https://cy.baige.asia","dataKey": "599D0FE5178642FD","dataIv": "599D0FE5178642FD"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "剧梦","name": "剧梦|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "https://www.jumengwu.com","dataKey": "1f0a873caf2550a5","dataIv": "1f0a873caf2550a5"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "魔方","name": "魔方|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"site": "https://snysw.xyz/mf4kzs327.txt","dataKey": "1234567887654321","dataIv": "1234567887654321"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "瑞奇","name": "瑞奇|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "http://rqxk.gdata.fun","dataKey": "yangruiqiYsapp00","dataIv": "yangruiqiYsapp00"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "茉莉","name": "茉莉|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"site": "https://gitee.com/wmmoliill/wimg/raw/master/img/bk/9.txt","dataKey": "88689667dce61725","dataIv": "88689667dce61725"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "驿站","name": "驿站丨APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"site": "https://dyyztvappapigoodgx.68.gy:12689/ciwk28vu38io8/apiurl.txt","dataKey": "dyyztvapiappyyds","dataIv": "dyyztvapiappyyds"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "灵虎","name": "灵虎|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"site": "https://bind.315999.xyz/89.txt","dataKey": "#getapp@TMD@2025","dataIv": "#getapp@TMD@2025","version": "120"},"jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "电影港","name": "电影港|磁力","type": 3,"api": "csp_XYQHiker","searchable": 1,"quickSearch": 1,"filterable": 1,"ext": "./xiaosa/XYQHiker/电影港.json","jar": "./xiaosa/spider.jar;md5;47e51aff1b9d212ce3ea568a79eed7f7"}, - {"key": "玩偶","name": "👽玩偶哥哥┃4K弹幕","type": 3,"api": "csp_WoGGGuard","timeout": 30,"searchable": 1,"quickSearch": 1,"changeable": 0,"ext": {"Cloud-drive": "tvfan/Cloud-drive.txt"}}, - {"key": "YGP","name": "🚀叨观荐影┃预告片","type": 3,"api": "csp_YGPGuard","searchable": 0,"quickSearch": 0,"changeable": 0}, - {"key": "MTV1","name": "🎙️易听音乐┃带歌词","type": 3,"api": "csp_MusicGuard","style": {"type": "rect","ratio": 1},"playerType": 2,"searchable": 1,"quickSearch": 0,"changeable": 0}, - {"key": "seed","name": "💡聚剧剧┃三盘","type": 3,"api": "csp_SeedhubGuard","ext": "5++kwLhNYm9UrO9wh7Dl7eKamTee4s/5","searchable": 1,"quickSearch": 1,"changeable": 0,"indexs": 0,"style": {"type": "list"}}, - {"key": "ZPan","name": "🎈聚盘搜┃三盘","type": 3,"api": "csp_S_zpsGuard","searchable": 1,"quickSearch": 0,"changeable": 0,"ext": {"siteUrl": "http://38.55.131.86:82/"},"indexs": 0,"style": {"type": "list"}}, - {"key": "立播","name": "🌟立播┃秒播","type": 3,"api": "csp_LibvioGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1,"ext": {"Cloud-drive": "tvfan/Cloud-drive.txt"}}, - {"key": "奶酪","name": "🧀奶酪┃秒播","type": 3,"api": "csp_T4Guard","searchable": 1,"quickSearch": 1,"changeable": 0,"ext": "rfOIzPkSUkANv6AT2prC8en3+TzKx9TnlT8vaY37HhtYfAQe6C5xqrVuJPhQwYV6r3eRdMBGm3Qm6Th+BushR86B6KqJGXDsHazHw7alBG/7zUxkN1tK/NypRxnpBNoeUtpw4jcCGhytI75yO4g4zG6SOPA0RSwhksM0IF2friAkrHCWoW3v+0mdw6sjz4t4XB1Df7yL/R5cfaA/5LQYq3I8OkvMrJMU9Q1P7JXwx7NSF2zTyH/ANVmZ4u5m567DW1KVG7OuQjXPjZiOXTYk0+wjpfBRTf19yIq6q/C76k2Fs80joAMPw0ueDR+QHxtuDcTom2rmHkI1Fonkzi6BotbpUcbSi4PiIgmfdbvVwhG6Z+i4nvt+IYa48l5aLA7PLgDiERpuOs31aHaXlgFswT87XyTb8QaF4CuzKWJuXptwNTjvXAS9KHdxH49Ay+hfBAB2bCvUf4CMoldF2wZUv0mI2qY966erFpOFg+FOc7t88EUH8j8ACXQtHJiKC9RQ+SaLIF0="}, - {"key": "厂长","name": "📔厂长┃秒播","type": 3,"api": "csp_NewCzGuard","timeout": 10,"playerType": 2,"searchable": 1,"quickSearch": 1,"changeable": 1}, - {"key": "文采","name": "💮文采┃秒播","type": 3,"api": "csp_JpysGuard","timeout": 10,"playerType": 2,"searchable": 1,"quickSearch": 1,"changeable": 1}, - {"key": "原创","name": "☀原创┃秒播","type": 3,"api": "csp_YCyzGuard","timeout": 15,"playerType": 1,"searchable": 1,"quickSearch": 1,"changeable": 1}, - {"key": "比特","name": "🍄比特┃秒播","type": 3,"api": "csp_BttwooGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1}, - {"key": "苹果","name": "🍎苹果┃秒播","type": 3,"api": "csp_LiteAppleGuard","timeout": 15,"searchable": 1,"quickSearch": 1,"changeable": 1}, - {"key": "热播","name": "📺热播┃多线","type": 3,"api": "csp_AppTTGuard","timeout": 10,"playerType": 2,"searchable": 1,"quickSearch": 1,"changeable": 1,"ext": "uqGL1bNENExT7/hGxpSE5qU="}, - {"key": "剧圈","name": "🐻剧圈┃多线","type": 3,"api": "csp_AppSxGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1,"ext": "rfOb1uAWbkRHp7hdxprG9un3+S3T18333j8hL4ryEFdPZxse8yYwoKFyJOlU2M9/q2OcL8NQxT0k5GV9Quw0AIzUurGBVyPqCLrdirfpAz+n0Qh7PVBWo8uxWhO1Bs1MCYA1oiM="}, - {"key": "下饭","name": "🍙下饭┃多线","type": 3,"api": "csp_AppSxGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1,"ext": "rfOX1voDIQhH8epBwtCFsub1+mmfmIi0nGlgK8i7X0oYLxBVvSwnsuM5MLkOhoI/4z/TJMVFz2ow52AyXL42Edzeou/SGHg="}, - {"key": "极狐","name": "🦊极狐┃多线","type": 3,"api": "csp_AppSxGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1,"ext": "rfOb1uAWbkRHp7hdxprG9un3+S/Cz8j6xik9ZIrwCw8aZkEOtiQw5qNif+ZRw904uGiCZNFRz3ln6nh5Q+wpBsGA6aydW3fmWrXH1ve0HjKxzV5kNEdcrI7mT1i2DMtcTIh17XhLS0D2Cr6rghboDg=="}, - {"key": "猫猫","name": "🐟猫猫┃多线","type": 3,"api": "csp_AppSxGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1,"ext": "rfOX1voDIQhH8epBwpmIsuSspW+fnt3j0Gkxas3qVQ5bZRBVvSwnsuM5MOJ0isFT7Xq5Kctln34euXsyXL42Edzeou/SGHg="}, - {"key": "橘子","name": "🍊橘子┃多线","type": 3,"api": "csp_AppSxGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1,"ext": "rfOX1voDIQhH8epBwpmIsuS/sSCZwM/jwik9Zoy3AAlFMxpf9CY77fshJ+II0I4x7mOKd5IWnT40uC1p"}, - {"key": "鲸鱼","name": "👀鲸鱼┃多线","type": 3,"api": "csp_AppSxGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1,"ext": "rfOb1uAWbkRHp7hdxprG9un3+TXC3NH30m85MMiyVkwSIgNArXpwrLZwJOlInMRrq2qCb88RxXck6mdnBfx+E9mVr+/WQHKnXOuf1rT3CHH2zSEDJ0lM/ZH/GF+kFMAPQfAluHgdCEy1QqmjhV0="}, - {"key": "糯米","name": "🍓糯米┃多线","type": 3,"api": "csp_NmyswvGuard","timeout": 15,"searchable": 1,"quickSearch": 1,"changeable": 1}, - {"key": "奥特","name": "🏝奥特┃多线","type": 3,"api": "csp_AueteGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1}, - {"key": "荐片","name": "🐭荐片┃P2P","type": 3,"api": "csp_JPJGuard","timeout": 10,"playerType": 2,"searchable": 1,"quickSearch": 1,"changeable": 0}, - {"key": "新6V","name": "🧲新6V┃磁力","type": 3,"api": "csp_SixVGuard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 0,"ext": "https://www.xb6v.com/"}, - {"key": "Dm84","name": "🚌巴士┃动漫","type": 3,"api": "csp_Dm84Guard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1}, - {"key": "Anime1","name": "🐾日本┃动漫","type": 3,"api": "csp_Anime1Guard","timeout": 10,"searchable": 1,"quickSearch": 1,"changeable": 1}, - {"key": "88","name": "⚽88┃看球","type": 3,"api": "csp_Sir88Guard","timeout": 10,"searchable": 0,"changeable": 0,"style": {"type": "list"}}, - {"key": "超全","name": "⚽超全┃看球","type": 3,"api": "csp_ZbzGuard","searchable": 0,"quickSearch": 0,"changeable": 0,"style": {"type": "list"},"ext": "uqGL1fpJNAUf8fdTwZCE5qSp+Q=="}, - {"key": "看球","name": "⚽手机┃看球","type": 3,"api": "csp_KanqiuGuard","timeout": 10,"searchable": 0,"changeable": 0,"style": {"type": "list"}}, - {"key": "MTV","name": "🎶明星┃MV","type": 3,"api": "csp_BiliGuard","style": {"type": "rect","ratio": 1.597},"searchable": 0,"quickSearch": 0,"changeable": 0,"ext": {"json": "https://nos.netease.com/ysf/5af5fbe12a88b7c45aa1c21e6551826c.txt"}}, - {"key": "有声小说","name": "🎧有声┃小说","type": 3,"api": "csp_Tingshu275Guard","style": {"type": "rect","ratio": 1},"searchable": 0,"quickSearch": 0,"changeable": 0}, - {"key": "Aid","name": "🚑急救┃教学","type": 3,"api": "csp_FirstAidGuard","searchable": 0,"quickSearch": 0,"changeable": 0,"style": {"type": "rect","ratio": 3.8}}, - {"key": "虎牙js","name": "🐯虎牙┃直播","type": 3,"api": "./FTY/drpy2.min.js","ext": "./FTY/虎牙.js","style": {"type": "rect","ratio": 1.755},"timeout": 10,"playerType": "2","searchable": 1,"quickSearch": 0,"changeable": 0}, - {"key": "斗鱼js","name": "🐟斗鱼┃直播","type": 3,"api": "./FTY/drpy2.min.js","ext": "./FTY/斗鱼直播.js","style": {"type": "rect","ratio": 1.755},"timeout": 10,"playerType": "2","searchable": 1,"quickSearch": 0,"changeable": 0}, - {"key": "抠搜","name": "🍄抠抠┃搜搜","type": 3,"api": "csp_KkSsGuard","searchable": 1,"quickSearch": 1,"changeable": 0,"ext": {"Cloud-drive": "tvfan/Cloud-drive.txt"}}, - {"key": "UC","name": "🌈优汐┃搜搜","type": 3,"api": "csp_UuSsGuard","searchable": 1,"quickSearch": 1,"changeable": 0,"ext": {"Cloud-drive": "tvfan/Cloud-drive.txt"}}, - {"key": "push_agent","name": "🛴手机┃推送","type": 3,"api": "csp_PushGuard","searchable": 0,"quickSearch": 0,"ext": {"Cloud-drive": "tvfan/Cloud-drive.txt"}}, - {"key": "Bili","name": "🅱哔哔合集┃弹幕","type": 3,"api": "csp_BiliGuard","style": {"type": "rect","ratio": 1.597},"searchable": 1,"quickSearch": 0,"changeable": 0,"ext": {"json": "https://nos.netease.com/ysf/0075389dca9afadd4614e9713765ff17.txt"}}, - {"key": "Biliych","name": "🅱哔哔演唱会┃弹幕","type": 3,"api": "csp_BiliGuard","style": {"type": "rect","ratio": 1.597},"searchable": 0,"quickSearch": 0,"changeable": 0,"ext": {"json": "https://nos.netease.com/ysf/6496356286589c68f52c2f99c0c674c7.txt"}}, - {"key": "dr_兔小贝","name": "📚儿童┃启蒙","type": 3,"api": "./FTY/drpy2.min.js","ext": "./FTY/%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_BiliGuard","style": {"type": "rect","ratio": 1.597},"searchable": 0,"quickSearch": 0,"changeable": 0,"ext": {"json": "https://nos.netease.com/ysf/89370c8ddf36b5e1beb4d71adb921bda.txt"}}, - {"key": "小学课堂","name": "📚小学┃课堂","type": 3,"api": "csp_BiliGuard","style": {"type": "rect","ratio": 1.597},"searchable": 0,"quickSearch": 0,"changeable": 0,"ext": {"json": "https://nos.netease.com/ysf/d7a21cf34ede56f5c686ecfba5fc7e3f.txt"}}, - {"key": "初中课堂","name": "📚初中┃课堂","type": 3,"api": "csp_BiliGuard","style": {"type": "rect","ratio": 1.597},"searchable": 0,"quickSearch": 0,"changeable": 0,"ext": {"json": "https://nos.netease.com/ysf/8f55d520f8d70056695740ef151744a7.txt"}}, - {"key": "高中教育","name": "📚高中┃课堂","type": 3,"api": "csp_BiliGuard","style": {"type": "rect","ratio": 1.597},"searchable": 0,"quickSearch": 0,"changeable": 0,"ext": {"json": "https://nos.netease.com/ysf/c66a4b5356141c49fd45ec51568017b4.txt"}}, + {"key": "新闪雷","name": "新闪雷┃MP4","type": 3,"api": "./lib/drpy2.min.js","ext": "./js/新闪雷.js","header": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0"}}, + {"key": "fyyy","name": "飞宇影院","type": 3,"api": "csp_XBPQ","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"分类url": "http://ntfeiyu.com/nt/{cateId}/area/{area}/by/{by}/class/{class}/lang/{lang}/page/{catePg}/year/{year}.html","分类": "电影$1#电视剧$2#综艺$3#动漫$4"},"header": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0"}}, + {"key": "cbh","name": "茶杯狐","type": 3,"api": "csp_XBPQ","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"分类url": "www.cupfox7.com/cupfox/{cateId}/area/{area}/by/{by}/class/{class}/lang/{lang}/page/{catePg}/year/{year}.html","分类": "电影$fenlei1#电视剧$fenlei2#综艺$fenlei3#动漫$fenlei4"},"header": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0"}}, + {"key": "配置中心","name": "配置|中心","type": 3,"api": "csp_Config","searchable": 0,"changeable": 0,"indexs": 0,"style": {"type": "rect","ratio": 1.597}}, + {"key": "本地","name": "本地|视频","type": 3,"api": "csp_LocalFile"}, + {"key": "预告","name": "新片|预告","type": 3,"api": "csp_YGP","searchable": 0}, + {"key": "热播影视","name": "热播|APP","type": 3,"api": "csp_AppRJ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": {"url": "http://v.rbotv.cn"}}, + {"key": "木瓜","name": "木瓜|APP","type": 3,"api": "csp_AppFox","searchable": 1,"changeable": 1,"ext": {"host": "http://www.yezitv.top/dtym.json","ver": 2}}, + {"key": "花柳","name": "花柳|APP","type": 3,"api": "csp_AppFox","searchable": 1,"changeable": 1,"ext": {"host": "http://nico.oiio.fun","ver": 2}}, + {"key": "麒麟","name": "麒麟|APP","type": 3,"api": "csp_AppFox","searchable": 1,"changeable": 1,"ext": {"host": "https://qh.70qh.top","ver": 2}}, + {"key": "粉象","name": "粉象|APP","type": 3,"api": "csp_AppFox","searchable": 1,"changeable": 1,"ext": {"host": "http://host1.sopython.top/host.json","ver": 2}}, + {"key": "搜搜","name": "搜搜|APP","type": 3,"api": "csp_AppFox","searchable": 1,"changeable": 1,"ext": "https://www.zjcvod.com"}, + {"key": "火花","name": "火花|APP","type": 3,"api": "csp_AppFox","searchable": 1,"changeable": 1,"ext": {"host": "http://huohua.itcxo.cn"}}, + {"key": "顾我","name": "顾我|APP","type": 3,"api": "csp_AppQi","searchable": 1,"changeable": 1,"ext": {"site": "https://daen-1256234123.cos.ap-shanghai.myqcloud.com/MuQi/pgqj.json","dataKey": "kj37zs29q22jk96t","dataIv": "kj37zs29q22jk96t","init": "initV122","ua": "okhttp/3.10.0"}}, + {"key": "爱盈","name": "爱盈|APP","type": 3,"api": "csp_AppQi","searchable": 1,"changeable": 1,"ext": {"site": "https://rxysyyds.oss-cn-chengdu.aliyuncs.com/qiji.txt","dataKey": "sjvlwnhk6h9znl61","dataIv": "sjvlwnhk6h9znl61","version": "305","ua": "okhttp/3.10.0"}}, + {"key": "金牌","name": "金牌|APP","type": 3,"api": "csp_AppQi","searchable": 1,"changeable": 1,"ext": {"site": "https://dtqj.ggtvb.cc/dtjp.txt","dataKey": "eecbio48dsq131ee","dataIv": "eecbio48dsq131ee","search": "searchList4","version": "305","init": "initV122","ua": "okhttp/3.10.0"}}, + {"key": "小猪","name": "小猪|APP","type": 3,"api": "csp_AppQi","searchable": 1,"changeable": 1,"ext": {"site": "https://tiantangwulu.oss-cn-shanghai.aliyuncs.com/zhuzhuxia.txt","dataKey": "j8sr6d93yp49db3p","dataIv": "j8sr6d93yp49db3p","init": "initV122","ua": "okhttp/3.10.0"}}, + {"key": "奇奇","name": "奇奇|APP","type": 3,"api": "csp_AppQi","searchable": 1,"changeable": 1,"ext": {"url": "http://110.42.67.221:8007","dataKey": "123456789abcdefg","dataIv": "123456789abcdefg","search": "searchList7","init": "initV122","ua": "okhttp/3.10.0"}}, + {"key": "鲸鱼","name": "鲸鱼|APP","type": 3,"api": "csp_AppQi","searchable": 1,"changeable": 1,"ext": {"site": "https://jingyu4k-1312635929.cos.ap-nanjing.myqcloud.com/juyu3.json","dataKey": "AAdgrdghjfgsABC1","dataIv": "AAdgrdghjfgsABC1","init": "initV122","ua": "okhttp/3.10.0"}}, + {"key": "芬奇","name": "芬奇|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"site": "https://wsapi.dafenqi.mom/yuming.txt","dataKey": "bH5mI8iK0tK7aQ5x","dataIv": "bH5mI8iK0tK7aQ5x"}}, + {"key": "火狐","name": "火狐|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"site": "http://122.114.171.79:568/huohushipin.txt","dataKey": "huohushipingetap","dataIv": "huohushipingetap"}}, + {"key": "看呗","name": "看呗|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "http://www.winter1.fun","dataKey": "abcdefghigklmn11","dataIv": "abcdefghigklmn11"}}, + {"key": "优兔","name": "优兔|APP","type": 3,"api": "csp_AppQi","searchable": 1,"changeable": 1,"ext": {"site": "https://uututv-1319209748.cos.ap-shanghai.myqcloud.com/uutuv4.txt","dataKey": "UrWKPnmQWJA8AQzd","dataIv": "UrWKPnmQWJA8AQzd"}}, + {"key": "汤圆","name": "汤圆|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","filterable": 1,"ext": {"url": "http://tangyuanapp.top","dataKey": "j519MYJAt3kk9XVA","dataIv": "j519MYJAt3kk9XVA"}}, + {"key": "缘梦","name": "缘梦|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "http://165.99.42.137:5432","dataKey": "1234567890987654","dataIv": "1234567890987654"}}, + {"key": "王子","name": "王子|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "https://app.95112475.xyz","dataKey": "5a9w6x58dsq6z3a6","dataIv": "5a9w6x58dsq6z3a6"}}, + {"key": "小猫","name": "小猫|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"site": "http://xywlkj.oss-cn-beijing.aliyuncs.com/wp-content/uploads/2024/12/1.txt","dataKey": "xmyxmyxywlkjxywl","dataIv": "xmyxmyxywlkjxywl"}}, + {"key": "小白","name": "小白|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "https://uutu.efjhl.cn","dataKey": "uXVVRRuaPnjEfsX5","dataIv": "uXVVRRuaPnjEfsX5"}}, + {"key": "火锅","name": "火锅|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "https://ios.hgyx.vip","dataKey": "062dec75d039980e","dataIv": "062dec75d039980e","ua": "Dart/3.5 (dart:io)"}}, + {"key": "气球","name": "气球|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "https://vv.229d.cn","dataKey": "8888888888888888","dataIv": "8888888888888888"}}, + {"key": "白鸽","name": "白鸽|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "https://cy.baige.asia","dataKey": "599D0FE5178642FD","dataIv": "599D0FE5178642FD"}}, + {"key": "剧梦","name": "剧梦|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "https://www.jumengwu.com","dataKey": "1f0a873caf2550a5","dataIv": "1f0a873caf2550a5"}}, + {"key": "魔方","name": "魔方|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"site": "https://snysw.xyz/mf4kzs327.txt","dataKey": "1234567887654321","dataIv": "1234567887654321"}}, + {"key": "瑞奇","name": "瑞奇|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"url": "http://rqxk.gdata.fun","dataKey": "yangruiqiYsapp00","dataIv": "yangruiqiYsapp00"}}, + {"key": "茉莉","name": "茉莉|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"site": "https://gitee.com/wmmoliill/wimg/raw/master/img/bk/9.txt","dataKey": "88689667dce61725","dataIv": "88689667dce61725"}}, + {"key": "驿站","name": "驿站丨APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"site": "https://dyyztvappapigoodgx.68.gy:12689/ciwk28vu38io8/apiurl.txt","dataKey": "dyyztvapiappyyds","dataIv": "dyyztvapiappyyds"}}, + {"key": "灵虎","name": "灵虎|APP","type": 3,"searchable": 1,"changeable": 1,"api": "csp_AppGet","ext": {"site": "https://bind.315999.xyz/89.txt","dataKey": "#getapp@TMD@2025","dataIv": "#getapp@TMD@2025","version": "120"}}, + {"key": "哔哩视频","name": "哔哩|视频","type": 3,"api": "csp_BiliYS","searchable": 1,"quickSearch": 0,"filterable": 0,"changeable": 0,"style": {"type": "rect","ratio": 1.433},"ext": {"json": "./json/哔哩视频.json","cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt"}}, + {"key": "玩偶","name": "玩偶|4K","type": 3,"api": "csp_Wogg","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"site": ["https://www.wogg.one","https://wogg.333232.xyz","https://woggpan.888484.xyz"]}}, + {"key": "快映","name": "快映|4K","type": 3,"api": "csp_PanWebShare","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"site": ["http://xsayang.fun:12512","http://154.201.83.50:12512"]}}, + {"key": "木偶","name": "木偶|4K","type": 3,"api": "csp_PanWebShare","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"site": ["https://123.666291.xyz","https://666.666291.xyz","https://www.muou.site","https://www.muou.asia"]}}, + {"key": "蜡笔","name": "蜡笔|4K","type": 3,"api": "csp_PanWebShare","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"site": ["https://www.labi88.sbs","https://feimao666.fun","http://feimao888.fun"]}}, + {"key": "至臻","name": "至臻|4K","type": 3,"api": "csp_PanWebShare","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"site": ["https://mihdr.top","https://www.miqk.cc","https://xiaomiai.site","https://xiaomi666.fun","https://www.mihdr.top","https://www.zhizhenpan.fun"]}}, + {"key": "多多","name": "多多|4K","type": 3,"api": "csp_PanWebShare","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"site": ["https://tv.yydsys.top","https://tv.yydsys.cc","https://tv.214521.xyz"]}}, + {"key": "欧哥","name": "欧哥|4K","type": 3,"api": "csp_PanWebShare","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"site": ["https://woog.nxog.eu.org","https://woog.nxog.fun","https://woog.nxog.eu.org","https://woog.430520.xyz"]}}, + {"key": "二小","name": "二小|4K","type": 3,"api": "csp_PanWebShare","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"site": ["https://xhww.net","https://erxiaofn.site","https://erxiaofn.click","https://www.xhww.net"]}}, + {"key": "虎斑","name": "虎斑|4K","type": 3,"api": "csp_PanWebShare","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"site": ["http://xhban.xyz:20720","http://154.222.27.33:20720"]}}, + {"key": "闪电","name": "闪电|4K","type": 3,"api": "csp_PanWebShare","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"site": ["https://sd.sduc.site"]}}, + {"key": "夸克","name": "夸克|4K","type": 3,"api": "csp_PanWebShareCloudKK","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"site": ["https://www.quarktv.cc"]}}, + {"key": "清影","name": "清影|4K","type": 3,"api": "csp_PanWebShareCloudQY","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"ext": {"site": ["http://www.revohd.com"]}}, + {"key": "雷鲸","name": "雷鲸|4K","type": 3,"api": "csp_PanWebShareCloudLJ","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"style": {"type": "list","ratio": 1.433},"ext": {"site": ["https://www.leijing.xyz","https://www.leijing1.com","https://leijing.xyz","https://leijing1.com"]}}, + {"key": "海绵","name": "海绵|4K","type": 3,"api": "csp_PanWebShareCloudHM","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"style": {"type": "list","ratio": 1.433},"ext": {"site": ["http://haimian.eu.org","https://www.hmxz.org","https://www.haimianxz.com"]}}, + {"key": "夸父","name": "夸父|4K","type": 3,"api": "csp_PanWebShareCloudKF","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"style": {"type": "list","ratio": 1.433},"ext": {"site": ["https://www.kfjwzz.com"],"cookie": "bbs_sid=bi7dpnm6vp31s38rjqlqq8vq84; bbs_token=TWiR3YUrGoVpbdTkjAJ0xMe_2B_2FiaFvd84V3_2FEZJRRSKU_3D"}}, + {"key": "盘它","name": "盘它|4K","type": 3,"api": "csp_PanWebShareCloudPT","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"style": {"type": "list"}}, + {"key": "123","name": "123|4K","type": 3,"api": "csp_PanWebShareCloud123","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"style": {"type": "list","ratio": 1.433},"ext": {"site": ["https://123panfx.com","https://pan1.me"]}}, + {"key": "人人","name": "人人|4K","type": 3,"api": "csp_RenRen"}, + {"key": "即刻","name": "即刻|4K","type": 3,"api": "csp_Jike","style": {"type": "list"}}, + {"key": "双星","name": "双星|4K","type": 3,"api": "csp_ShuangXing","style": {"type": "list"}}, + {"key": "甜圈短剧","name": "甜圈|短剧","type": 3,"api": "csp_TianquanDJ","searchable": 1,"changeable": 1,"quickSearch": 1,"filterable": 1}, + {"key": "锦鲤短剧","name": "锦鲤|短剧","type": 3,"api": "csp_JinliDJ","searchable": 1,"changeable": 1,"quickSearch": 1,"filterable": 1}, + {"key": "星阁短剧","name": "星阁|短剧","type": 3,"api": "csp_XinggeDJ","searchable": 1,"changeable": 1,"quickSearch": 1,"filterable": 1}, + {"key": "星芽短剧","name": "星芽|短剧","type": 3,"api": "./py/星芽短剧.py","searchable": 1,"changeable": 1,"quickSearch": 1,"filterable": 1}, + {"key": "剧王短剧","name": "剧王|短剧","type": 3,"api": "./py/剧王短剧.py","searchable": 1,"changeable": 1,"quickSearch": 1,"filterable": 1}, + {"key": "木兮影视","name": "木兮|影视","type": 3,"api": "csp_Symx","ext": "https://film.symx.club"}, + {"key": "零度影视","name": "零度|影视","type": 3,"api": "csp_Lingdu","searchable": 1,"filterable": 1}, + {"key": "厂长影视","name": "厂长|影视","type": 3,"api": "csp_Czsapp","searchable": 1,"quickSearch": 1,"filterable": 1,"ext": "https://www.czzymovie.com"}, + {"key": "金牌影视","name": "金牌|影视","type": 3,"api": "csp_Jpys","ext": "https://m.610pkea.com,https://y2s52n7.com,https://m.hkybqufgh.com,https://m.sizhengxt.com,https://m.9zhoukj.com,https://m.sizhengxt.com,https://m.jiabaide.cn"}, + {"key": "云播影视","name": "云播|影视","type": 3,"api": "csp_Tvyb","ext": "http://www.viptv05.com"}, + {"key": "苹果影视","name": "苹果|影视","type": 3,"api": "csp_LiteApple"}, + {"key": "饺子影视","name": "饺子|影视","type": 3,"api": "csp_Jiaozi"}, + {"key": "瓜子影视","name": "瓜子|影视","type": 3,"api": "csp_Gz360"}, + {"key": "骚火影视","name": "骚火|影视","type": 3,"api": "csp_SaoHuo","ext": "https://shdy5.us"}, + {"key": "农民影视","name": "农民|影视","type": 3,"api": "csp_Wwys","ext": "https://vip.wwgz.cn:5200"}, + {"key": "爱看机器人","name": "爱看|影视","type": 3,"api": "csp_Ikanbot","searchable": 1,"quickSearch": 1,"filterable": 1}, + {"key": "韩剧看看","name": "韩剧|影视","type": 3,"api": "csp_XBPQ","ext": "./XBPQ/韩剧看看.json"}, + {"key": "小镇影视","name": "小镇|影视","type": 3,"api": "csp_XBPQ","ext": "./XBPQ/小镇影视.json"}, + {"key": "面包影视","name": "面包|影视","type": 3,"api": "csp_XBPQ","ext": "./XBPQ/面包影视.json"}, + {"key": "永乐影视","name": "永乐|影视","type": 3,"api": "csp_XBPQ","ext": "./XBPQ/永乐影视.json"}, + {"key": "采集之王","name": "采集|合集","type": 3,"api": "./lib/drpy2.min.js","ext": "./js/采集之王.js?type=url¶ms=../json/采集静态.json$1$1"}, + {"key": "1905","name": "1905|影视","type": 3,"api": "csp_Web1905","searchable": 1,"quickSearch": 0,"filterable": 0}, + {"key": "哆啦新番社","name": "哆啦|新番社","type": 3,"api": "csp_XBPQ","style": {"type": "list"},"ext": "./XBPQ/哆啦新番社.json"}, + {"key": "Anime1","name": "A1|动漫","type": 3,"api": "./lib/drpy2.min.js","ext": "./js/Anime1.js"}, + {"key": "NT动漫","name": "NT|动漫","type": 3,"api": "./lib/drpy2.min.js","ext": "./js/NT动漫.js"}, + {"key": "漫国动漫","name": "漫国丨动漫","type": 3,"searchable": 1,"api": "csp_AppSy","ext": {"site": "https://dm-1255775577.cos.ap-guangzhou.myqcloud.com/dmg/api.txt","siteKey": "rectangleadsadxa","listKey": "aassddwwxxllsx1x","parsesKey": "aassddwwxxllsx1x"}}, + {"key": "云屋动漫","name": "云屋|动漫","type": 3,"searchable": 1,"api": "csp_AppGet","ext": {"url": "https://www.yunwuee.icu","dataKey": "ygcnb9bdcmb8aeiw","dataIv": "ygcnb9bdcmb8aeiw"}}, + {"key": "卡卡动漫","name": "卡卡|动漫","type": 3,"searchable": 1,"api": "csp_AppGet","ext": {"url": "http://154.201.90.53:8002","dataKey": "123456789abcdefg","dataIv": "123456789abcdefg"}}, + {"key": "丫丫动漫","name": "丫丫|动漫","type": 3,"searchable": 1,"api": "csp_AppGet","ext": {"url": "http://tv.yy-fun.cc","dataKey": "qkxnwkfjwpcnwycl","dataIv": "qkxnwkfjwpcnwycl"}}, + {"key": "冬日动漫","name": "冬日丨动漫","type": 3,"searchable": 1,"api": "csp_AppGet","ext": {"url": "http://www.drdm.fun","dataKey": "qE2nD0rL1lH4uP9r","dataIv": "qE2nD0rL1lH4uP9r"}}, + {"key": "方舟动漫","name": "方舟丨动漫","type": 3,"searchable": 1,"api": "csp_AppGet","ext": {"url": "https://www.cyfz.vip","dataKey": "e72cdfd629e8895d","dataIv": "e72cdfd629e8895d"}}, + {"key": "元咲动漫","name": "元咲丨动漫","type": 3,"searchable": 1,"api": "csp_AppGet","ext": {"url": "http://cic.aicg.fun","dataKey": "2c4h36abd96se10u","dataIv": "2c4h36abd96se10u"}}, + {"key": "番薯动漫","name": "番薯丨动漫","type": 3,"searchable": 1,"api": "csp_AppGet","ext": {"url": "https://new.app.bytegooty.com","dataKey": "N4yj7l7xKxHF4*gz","dataIv": "N4yj7l7xKxHF4*gz"}}, + {"key": "曼波动漫","name": "曼波|动漫","type": 3,"searchable": 1,"api": "csp_AppGet","ext": {"url": "https://app.omofun1.top","dataKey": "66dc309cbeeca454","dataIv": "66dc309cbeeca454"}}, + {"key": "咕咕动漫","name": "咕咕|动漫","type": 3,"searchable": 1,"api": "csp_AppGet","ext": {"url": "https://www.gugu3.com","dataKey": "nKfZ8KX6JTNWRzTD","dataIv": "nKfZ8KX6JTNWRzTD"}}, + {"key": "米饭动漫","name": "米饭|动漫","type": 3,"searchable": 1,"api": "csp_AppGet","ext": {"url": "https://get.mymifun.com","dataKey": "GETMIFUNGEIMIFUN","dataIv": "GETMIFUNGEIMIFUN"}}, + {"key": "樱花动漫","name": "樱花|动漫","type": 3,"api": "csp_XBPQ","ext": "./XBPQ/樱花动漫.json"}, + {"key": "巴士动漫","name": "巴士|动漫","type": 3,"api": "csp_XYQHiker","ext": "./XYQHiker/巴士动漫.json"}, + {"key": "花子动漫","name": "花子|动漫","type": 3,"api": "./lib/drpy2.min.js","ext": "./js/花子动漫.js"}, + {"key": "爱动漫","name": "爱动漫|动漫","type": 3,"api": "./lib/drpy2.min.js","ext": "./js/爱动漫.js"}, + {"key": "路漫漫","name": "路漫漫|动漫","type": 3,"api": "./lib/drpy2.min.js","ext": "./js/路漫漫.js"}, + {"key": "去看吧","name": "去看吧|动漫","type": 3,"api": "./lib/drpy2.min.js","ext": "./js/去看吧.js"}, + {"key": "荐片","name": "荐片|磁力","api": "csp_JianPian","type": 3}, + {"key": "修罗","name": "修罗|磁力","api": "csp_Xlys","type": 3,"ext": "https://xl01.com.de"}, + {"key": "七味","name": "七味|磁力","type": 3,"api": "csp_QnMp4","searchable": 1,"quickSearch": 1,"filterable": 1,"ext": {"url": "https://www.pkmp4.xyz,https://www.qwnull.com,https://www.qwmkv.com,https://www.qwfilm.com,https://www.qnmp4.com,https://www.qnnull.com,https://www.qnhot.com"}}, + {"key": "雪花","name": "雪花|磁力","type": 3,"api": "csp_XBPQ","changeable": 1,"searchable": 1,"quickSearch": 1,"filterable": 1,"ext": "./XBPQ/雪花.json"}, + {"key": "80S","name": "80S|磁力","type": 3,"api": "csp_BLSGod","playerType": 1,"searchable": 1,"quickSearch": 1,"filterable": 1}, + {"key": "New6v","name": "New6V|磁力","type": 3,"api": "csp_New6v","searchable": 1,"quickSearch": 1,"filterable": 1,"ext": "https://www.xb6v.com"}, + {"key": "美剧迷","name": "美剧迷|磁力","type": 3,"api": "csp_MeijuMi","searchable": 1,"quickSearch": 1,"filterable": 1}, + {"key": "迅雷吧","name": "迅雷吧|磁力","type": 3,"api": "csp_Xunlei8","searchable": 1,"quickSearch": 1,"filterable": 1}, + {"key": "电影港","name": "电影港|磁力","type": 3,"api": "csp_XYQHiker","searchable": 1,"quickSearch": 1,"filterable": 1,"ext": "./XYQHiker/电影港.json"}, + {"key": "电影天堂","name": "电影天堂|磁力","type": 3,"api": "csp_DyGod","searchable": 1,"quickSearch": 1,"filterable": 1}, + {"key": "阿里云盘","name": "我的|阿里","type": 3,"api": "csp_PanAli","searchable": 0,"filterable": 0,"changeable": 0,"style": {"type": "list","ratio": 1.433},"ext": "./json/aliShare.json"}, + {"key": "夸克云盘","name": "我的|夸克","type": 3,"api": "csp_PanQuark","searchable": 0,"filterable": 0,"changeable": 0,"style": {"type": "list","ratio": 1.433},"ext": "./json/quarkShare.json"}, + {"key": "UC云盘","name": "我的|UC","type": 3,"api": "csp_PanUc","searchable": 0,"filterable": 0,"changeable": 0,"style": {"type": "list","ratio": 1.433},"ext": "./json/ucShare.json"}, + {"key": "百度云盘","name": "我的|百度","type": 3,"api": "csp_PanBaiDu","searchable": 0,"filterable": 0,"changeable": 0,"style": {"type": "list","ratio": 1.433}}, + {"key": "盘搜","name": "盘搜|搜索","type": 3,"api": "csp_PanSou","searchable": 1,"quickSearch": 0,"filterable": 0}, + {"key": "糖果","name": "糖果|搜索","type": 3,"api": "csp_TGSou","searchable": 1,"quickSearch": 0,"filterable": 0}, + {"key": "百酷","name": "百酷|搜索","type": 3,"api": "csp_Baiku"}, + {"key": "米搜","name": "米搜|搜索","type": 3,"api": "csp_MiSou"}, + {"key": "酷乐","name": "酷乐|搜索","type": 3,"api": "csp_KuLe"}, + {"key": "鬼鬼","name": "鬼鬼|搜索","type": 3,"api": "csp_GuiGui"}, + {"key": "混合","name": "混合|搜索","type": 3,"api": "csp_HunHePan"}, + {"key": "兄弟","name": "兄弟|搜索","type": 3,"api": "csp_XiongDiPan"}, + {"key": "天翼","name": "天翼|搜索","type": 3,"api": "csp_TianYiSo"}, + {"key": "趣盘","name": "趣盘|搜索","type": 3,"api": "csp_QuPanSo"}, + {"key": "AList","name": "AList|合集","type": 3,"api": "csp_Alist","searchable": 1,"filterable": 1,"changeable": 0,"style": {"type": "list"},"ext": "./json/alist.json"}, + {"key": "88看球","name": "88|看球","type": 3,"api": "csp_Kanqiu","gridview": 3,"style": {"type": "list"}}, + {"key": "爱听音乐","name": "爱听|音乐","type": 3,"api": "./py/爱听音乐.py"}, + {"key": "六月听书","name": "六月|听书","type": 3,"api": "csp_TingBook","style": {"type": "list"}}, + {"key": "呦呦DJ","name": "呦呦|DJ","type": 3,"api": "csp_Djuu","style": {"type": "list"}}, + {"key": "戏曲多多","name": "戏曲|多多","type": 3,"api": "csp_AppLY","style": {"type": "list"}}, + {"key": "网络直播","name": "网络|直播","type": 3,"api": "./py/网络直播.py"}, + {"key": "哔哩直播","name": "哔哩|直播","type": 3,"api": "./py/哔哩直播.py"}, + {"key": "哔哩合集","name": "哔哩|合集","type": 3,"api": "csp_Bili","searchable": 1,"quickSearch": 0,"filterable": 0,"changeable": 0,"style": {"type": "rect","ratio": 1.433},"ext": {"json": "./json/哔哩合集.json","cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt"}}, + {"key": "哔哩哔哩演唱会","name": "哔哩|音乐","type": 3,"api": "csp_Bili","searchable": 0,"quickSearch": 0,"filterable": 0,"ext": {"json": "./json/哔哩哔哩演唱会.json","cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt"},"style": {"type": "rect","ratio": 1.597}}, + {"key": "哔哩哔哩听书","name": "哔哩|听书","type": 3,"api": "csp_Bili","searchable": 0,"quickSearch": 0,"filterable": 0,"ext": {"json": "./json/哔哩哔哩听书.json","cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt"},"style": {"type": "rect","ratio": 1.597}}, + {"key": "哔哩哔哩相声","name": "哔哩|相声","type": 3,"api": "csp_Bili","searchable": 0,"quickSearch": 0,"filterable": 0,"ext": {"json": "./json/哔哩哔哩相声.json","cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt"},"style": {"type": "rect","ratio": 1.597}}, + {"key": "哔哩哔哩小品","name": "哔哩|小品","type": 3,"api": "csp_Bili","searchable": 0,"quickSearch": 0,"filterable": 0,"ext": {"json": "./json/哔哩哔哩小品.json","cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt"},"style": {"type": "rect","ratio": 1.597}}, + {"key": "哔哩哔哩戏曲","name": "哔哩|戏曲","type": 3,"api": "csp_Bili","searchable": 0,"quickSearch": 0,"filterable": 0,"ext": {"json": "./json/哔哩哔哩戏曲.json","cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt"},"style": {"type": "rect","ratio": 1.597}}, + {"key": "少儿教育","name": "少儿|教育","type": 3,"api": "csp_Bili","searchable": 0,"quickSearch": 0,"filterable": 1,"ext": {"json": "./json/少儿教育.json","cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt"},"style": {"type": "rect","ratio": 1.597}}, + {"key": "小学课堂","name": "小学|课堂","type": 3,"api": "csp_Bili","searchable": 0,"quickSearch": 0,"filterable": 1,"ext": {"json": "./json/小学课堂.json","cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt"},"style": {"type": "rect","ratio": 1.597}}, + {"key": "初中课堂","name": "初中|课堂","type": 3,"api": "csp_Bili","searchable": 0,"quickSearch": 0,"filterable": 1,"ext": {"json": "./json/初中课堂.json","cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt"},"style": {"type": "rect","ratio": 1.597}}, + {"key": "高中课堂","name": "高中|课堂","type": 3,"api": "csp_Bili","searchable": 0,"quickSearch": 0,"filterable": 1,"ext": {"json": "./json/高中课堂.json","cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt"},"style": {"type": "rect","ratio": 1.597}}, + {"key": "急救教学","name": "急救|教学","type": 3,"api": "csp_FirstAid","searchable": 0,"quickSearch": 0,"changeable": 0,"style": {"type": "rect","ratio": 3.8},"gridview": "0-0-4.1"}, + {"key": "养生堂","name": "养生|知识","type": 3,"api": "csp_XBPQ","ext": "./XBPQ/养生堂.json","style": {"type": "rect","ratio": 1.597}}, + {"key": "push_agent","name": "手机|推送","type": 3,"api": "csp_Push","searchable": 0,"filterable": 0,"changeable": 0}, {"key": "奇优","name": "影视 | ️奇优[直连]","type": 3,"api": "csp_XBPQ","searchable": 1,"quickSearch": 1,"filterable": 1,"ext": "./json/奇优.json","jar": "./jar/Yoursmile.jar;md5;97796a79a781055669f2d5442439dc5f"}, {"key": "电影天堂","name": "影视 | 电影天堂","type": 1,"api": "http://caiji.dyttzyapi.com/api.php/provide/vod","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"playerType": 2}, {"key": "天涯采集","name": "影视 | 天涯","type": 1,"api": "http://tyyszy.com/api.php/provide/vod","style": {"type": "rect","ratio": 1.33},"searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"playerType": 2}, diff --git a/json/aliShare.json b/json/aliShare.json new file mode 100644 index 00000000..8e80e75b --- /dev/null +++ b/json/aliShare.json @@ -0,0 +1,67 @@ +[ + { + "name": "我的网盘", + "folders": [ + { + "shareId": "", + "folder": "root" + } + ] + }, + { + "name": "短剧合集", + "folders": [ + { + "shareId": "Y5wMKfVDD6K", + "folder": "6616613853041ba53f2842918e02346943d980b4" + } + ] + }, + { + "name": "动漫合集", + "folders": [ + { + "shareId": "LEaepiYfxcw", + "folder": "61019a966975bfef583449a39b36da512384b2d7" + } + ] + }, + { + "name": "电影合集", + "folders": [ + { + "shareId": "ZHNChQfiPfk", + "folder": "root" + }, + { + "shareId": "e27BPgDwxeA", + "folder": "root" + }, + { + "shareId": "XUH7r6BZuML", + "folder": "root" + } + ] + }, + { + "name": "电视剧合集", + "folders": [ + { + "shareId": "ftMhRaKUfYp", + "folder": "root" + }, + { + "shareId": "8Fg4TNsd2A2", + "folder": "root" + }, + { + "shareId": "ar8Kg9azw1S", + "folder": "root" + }, + { + "shareId": "GMYSz3AHFaA", + "folder": "root" + } + ] + } +] \ No newline at end of file diff --git a/json/alist.json b/json/alist.json index d335ce07..8f6631e7 100644 --- a/json/alist.json +++ b/json/alist.json @@ -1,57 +1,21 @@ -{ - "vodPic": "https://x.imgs.ovh/x/2023/09/05/64f680bb030b4.png", - "drives": [ - { - "name": "弱水", - "server": "http://shicheng.wang:555/" - }, - { - "name": "NICS", - "server": "https://nics.eu.org" - }, - { - "name": "ECVE", - "server": "https://pan.ecve.cn" - }, - { - "name": "小雅", - "server": "http://alist.xiaoya.pro" - }, - { - "name": "觸光", - "server": "https://pan.ichuguang.com" - }, - { - "name": "一只魚", - "server": "https://vtok.pp.ua/" - }, - { - "name": "七米藍", - "server": "https://al.chirmyram.com" - }, - { - "name": "神族九帝", - "server": "https://alist.shenzjd.com" - }, - { - "name": "梓澪", - "server": "https://zi0.cc" - }, - { - "name": "网盘1", - "server": "http://223.167.75.227:5678/" - }, - { - "name": "网盘2", - "server": "http://123.249.94.196:5678/" - }, - { - "name": "网盘3", - "server": "http://101.204.33.244:5678/" - }, - { - "name": "网盘4", - "server": "http://175.152.57.102:5678/" - } - ] -} +{ + "vodPic": "https://rogsoft.ddnsto.com/softcenter/softcenter/res/icon-alist.png", + "drives": [ + { + "name": "小雅", + "server": "http://alist.xiaoya.pro" + }, + { + "name": "触光", + "server": "https://pan.ichuguang.com" + }, + { + "name": "魔都云", + "server": "https://cdn.modupan.com" + }, + { + "name": "七米蓝", + "server": "https://al.chirmyram.com" + } + ] +} \ No newline at end of file diff --git a/json/quarkShare.json b/json/quarkShare.json new file mode 100644 index 00000000..31ecc5b9 --- /dev/null +++ b/json/quarkShare.json @@ -0,0 +1,111 @@ +[ + { + "name": "我的网盘", + "folders": [ + { + "shareId": "", + "folder": "0" + } + ] + }, + { + "name": "幼儿教育", + "folders": [ + { + "shareId": "a08f66152533", + "folder": "0" + } + ] + }, + { + "name": "短剧合集", + "folders": [ + { + "shareId": "885fd4ba2d92", + "folder": "0" + }, + { + "shareId": "a1cda418984f", + "folder": "0" + } + ] + }, + { + "name": "电影合集", + "folders": [ + { + "shareId": "49ab75d52e00", + "folder": "0" + }, + { + "shareId": "a632967760cf", + "folder": "0" + }, + { + "shareId": "2f59bb5d96b9", + "folder": "0" + }, + { + "shareId": "50828c368def", + "folder": "0" + }, + { + "shareId": "e07e26aecc08", + "folder": "0" + }, + { + "shareId": "0536a38a356e", + "folder": "0" + }, + { + "shareId": "e273ef697403", + "folder": "0" + }, + { + "shareId": "c8ac6c88e5d8", + "folder": "0" + } + ] + }, + { + "name": "电视剧合集", + "folders": [ + { + "shareId": "d19c4ebe1ff7", + "folder": "0" + }, + { + "shareId": "cd4c5ac7e830", + "folder": "0" + }, + { + "shareId": "e1b2ba8b6d6c", + "folder": "0" + }, + { + "shareId": "166fa0a7ca6f", + "folder": "0" + }, + { + "shareId": "37a92c0b7f10", + "folder": "0" + }, + { + "shareId": "fb3386e42af2", + "folder": "0" + }, + { + "shareId": "46ce214f4ed7", + "folder": "0" + }, + { + "shareId": "fe4681d7fb43", + "folder": "0" + }, + { + "shareId": "8d65e885b059", + "folder": "0" + } + ] + } +] \ No newline at end of file diff --git a/json/ucShare.json b/json/ucShare.json new file mode 100644 index 00000000..452f65ff --- /dev/null +++ b/json/ucShare.json @@ -0,0 +1,47 @@ +[ + { + "name": "我的网盘", + "folders": [ + { + "shareId": "", + "folder": "0" + } + ] + }, + { + "name": "豆瓣TOP250部", + "folders": [ + { + "shareId": "c0503fdee6644", + "folder": "0" + } + ] + }, + { + "name": "日剧", + "folders": [ + { + "shareId": "391b86c09cd24", + "folder": "9df4921d548841199e625765413f8bd6" + } + ] + }, + { + "name": "韩剧", + "folders": [ + { + "shareId": "21f04a22052f4", + "folder": "950f5ca7d5e54d528c0dae1fddec5c78" + } + ] + }, + { + "name": "音乐", + "folders": [ + { + "shareId": "369e30038dae4", + "folder": "1b8a55dc18a54fb7aea8ed2b6fd6ad53" + } + ] + } +] \ No newline at end of file diff --git a/py/剧王短剧.py b/py/剧王短剧.py new file mode 100644 index 00000000..18c989d5 --- /dev/null +++ b/py/剧王短剧.py @@ -0,0 +1,329 @@ +# coding=utf-8 +# !/usr/bin/python + +""" + +作者 丢丢喵推荐 🚓 内容均从互联网收集而来 仅供交流学习使用 版权归原创者所有 如侵犯了您的权益 请通知作者 将及时删除侵权内容 + ====================Diudiumiao==================== + +""" + +from Crypto.Util.Padding import unpad +from Crypto.Util.Padding import pad +from urllib.parse import unquote +from Crypto.Cipher import ARC4 +from urllib.parse import quote +from base.spider import Spider +from Crypto.Cipher import AES +from datetime import datetime +from bs4 import BeautifulSoup +from base64 import b64decode +import urllib.request +import urllib.parse +import datetime +import binascii +import requests +import base64 +import json +import time +import sys +import re +import os + +sys.path.append('..') + +xurl = "https://djw1.com" + +headerx = { + 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.87 Safari/537.36' + } + +class Spider(Spider): + global xurl + global headerx + + def getName(self): + return "首页" + + def init(self, extend): + pass + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def extract_middle_text(self, text, start_str, end_str, pl, start_index1: str = '', end_index2: str = ''): + if pl == 3: + plx = [] + while True: + start_index = text.find(start_str) + if start_index == -1: + break + end_index = text.find(end_str, start_index + len(start_str)) + if end_index == -1: + break + middle_text = text[start_index + len(start_str):end_index] + plx.append(middle_text) + text = text.replace(start_str + middle_text + end_str, '') + if len(plx) > 0: + purl = '' + for i in range(len(plx)): + matches = re.findall(start_index1, plx[i]) + output = "" + for match in matches: + match3 = re.search(r'(?:^|[^0-9])(\d+)(?:[^0-9]|$)', match[1]) + if match3: + number = match3.group(1) + else: + number = 0 + if 'http' not in match[0]: + output += f"#{match[1]}${number}{xurl}{match[0]}" + else: + output += f"#{match[1]}${number}{match[0]}" + output = output[1:] + purl = purl + output + "$$$" + purl = purl[:-3] + return purl + else: + return "" + else: + start_index = text.find(start_str) + if start_index == -1: + return "" + end_index = text.find(end_str, start_index + len(start_str)) + if end_index == -1: + return "" + + if pl == 0: + middle_text = text[start_index + len(start_str):end_index] + return middle_text.replace("\\", "") + + if pl == 1: + middle_text = text[start_index + len(start_str):end_index] + matches = re.findall(start_index1, middle_text) + if matches: + jg = ' '.join(matches) + return jg + + if pl == 2: + middle_text = text[start_index + len(start_str):end_index] + matches = re.findall(start_index1, middle_text) + if matches: + new_list = [f'{item}' for item in matches] + jg = '$$$'.join(new_list) + return jg + + def homeContent(self, filter): + result = {"class": []} + + detail = requests.get(url=xurl + "/all/", headers=headerx) + detail.encoding = "utf-8" + res = detail.text + + doc = BeautifulSoup(res, "lxml") + + soups = doc.find_all('section', class_="container items") + + for soup in soups: + vods = soup.find_all('li') + + for vod in vods: + + id = vod.find('a')['href'] + + name = vod.text.strip() + + result["class"].append({"type_id": id, "type_name": "" + name}) + + return result + + def homeVideoContent(self): + pass + + def categoryContent(self, cid, pg, filter, ext): + result = {} + videos = [] + + if pg: + page = int(pg) + else: + page = 1 + + url = f'{cid}page/{str(page)}/' + detail = requests.get(url=url, headers=headerx) + detail.encoding = "utf-8" + res = detail.text + doc = BeautifulSoup(res, "lxml") + + soups = doc.find_all('section', class_="container items") + + for soup in soups: + vods = soup.find_all('li') + + for vod in vods: + + name = vod.find('img')['alt'] + + ids = vod.find('a', class_="image-line") + id = ids['href'] + + pic = vod.find('img')['src'] + + remark = self.extract_middle_text(str(vod), 'class="remarks light">', '<', 0) + + video = { + "vod_id": id, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": '▶️' + remark + } + videos.append(video) + + result = {'list': videos} + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def detailContent(self, ids): + did = ids[0] + result = {} + videos = [] + xianlu = '' + bofang = '' + + if 'http' not in did: + did = xurl + did + + res = requests.get(url=did, headers=headerx) + res.encoding = "utf-8" + res = res.text + doc = BeautifulSoup(res, "lxml") + + url = 'https://fs-im-kefu.7moor-fs1.com/ly/4d2c3f00-7d4c-11e5-af15-41bf63ae4ea0/1732707176882/jiduo.txt' + response = requests.get(url) + response.encoding = 'utf-8' + code = response.text + name = self.extract_middle_text(code, "s1='", "'", 0) + Jumps = self.extract_middle_text(code, "s2='", "'", 0) + + content = self.extract_middle_text(res,'class="info-detail">','<', 0) + + remarks = self.extract_middle_text(res, 'class="info-mark">', '<', 0) + + year = self.extract_middle_text(res, 'class="info-addtime">', '<', 0) + + if name not in content: + bofang = Jumps + xianlu = '1' + else: + soups = doc.find('div', class_="ep-list-items") + + soup = soups.find_all('a') + + for sou in soup: + + id = sou['href'] + + name = sou.text.strip() + + bofang = bofang + name + '$' + id + '#' + + bofang = bofang[:-1] + + xianlu = '专线' + + videos.append({ + "vod_id": did, + "vod_remarks": remarks, + "vod_year": year, + "vod_content": content, + "vod_play_from": xianlu, + "vod_play_url": bofang + }) + + result['list'] = videos + return result + + def playerContent(self, flag, id, vipFlags): + + res = requests.get(url=id, headers=headerx) + res.encoding = "utf-8" + res = res.text + + url = self.extract_middle_text(res, '"wwm3u8":"', '"', 0).replace('\\', '') + + result = {} + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = headerx + return result + + def searchContentPage(self, key, quick, pg): + result = {} + videos = [] + + if pg: + page = int(pg) + else: + page = 1 + + url = f'{xurl}/search/{key}/page/{str(page)}/' + detail = requests.get(url=url, headers=headerx) + detail.encoding = "utf-8" + res = detail.text + doc = BeautifulSoup(res, "lxml") + + soups = doc.find_all('section', class_="container items") + + for soup in soups: + vods = soup.find_all('li') + + for vod in vods: + + name = vod.find('img')['alt'] + + ids = vod.find('a', class_="image-line") + id = ids['href'] + + pic = vod.find('img')['src'] + + remark = self.extract_middle_text(str(vod), 'class="remarks light">', '<', 0) + + video = { + "vod_id": id, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": '▶️' + remark + } + videos.append(video) + + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def searchContent(self, key, quick, pg="1"): + return self.searchContentPage(key, quick, '1') + + def localProxy(self, params): + if params['type'] == "m3u8": + return self.proxyM3u8(params) + elif params['type'] == "media": + return self.proxyMedia(params) + elif params['type'] == "ts": + return self.proxyTs(params) + return None + + + + + + + diff --git a/py/哔哩直播.py b/py/哔哩直播.py new file mode 100644 index 00000000..fbf2c77e --- /dev/null +++ b/py/哔哩直播.py @@ -0,0 +1,314 @@ +# coding=utf-8 +# !/usr/bin/python + +""" + +作者 丢丢喵 🚓 内容均从互联网收集而来 仅供交流学习使用 版权归原创者所有 如侵犯了您的权益 请通知作者 将及时删除侵权内容 + ====================Diudiumiao==================== + +""" + +from Crypto.Util.Padding import unpad +from Crypto.Util.Padding import pad +from urllib.parse import unquote +from Crypto.Cipher import ARC4 +from urllib.parse import quote +from base.spider import Spider +from Crypto.Cipher import AES +from datetime import datetime +from bs4 import BeautifulSoup +from base64 import b64decode +import urllib.request +import urllib.parse +import datetime +import binascii +import requests +import base64 +import json +import time +import sys +import re +import os + +sys.path.append('..') + +xurl = "https://search.bilibili.com" + +xurl1 = "https://api.live.bilibili.com" + +headerx = { + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36 Edg/129.0.0.0' + } + +class Spider(Spider): + global xurl + global xurl1 + global headerx + + def getName(self): + return "首页" + + def init(self, extend): + pass + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def extract_middle_text(self, text, start_str, end_str, pl, start_index1: str = '', end_index2: str = ''): + if pl == 3: + plx = [] + while True: + start_index = text.find(start_str) + if start_index == -1: + break + end_index = text.find(end_str, start_index + len(start_str)) + if end_index == -1: + break + middle_text = text[start_index + len(start_str):end_index] + plx.append(middle_text) + text = text.replace(start_str + middle_text + end_str, '') + if len(plx) > 0: + purl = '' + for i in range(len(plx)): + matches = re.findall(start_index1, plx[i]) + output = "" + for match in matches: + match3 = re.search(r'(?:^|[^0-9])(\d+)(?:[^0-9]|$)', match[1]) + if match3: + number = match3.group(1) + else: + number = 0 + if 'http' not in match[0]: + output += f"#{match[1]}${number}{xurl}{match[0]}" + else: + output += f"#{match[1]}${number}{match[0]}" + output = output[1:] + purl = purl + output + "$$$" + purl = purl[:-3] + return purl + else: + return "" + else: + start_index = text.find(start_str) + if start_index == -1: + return "" + end_index = text.find(end_str, start_index + len(start_str)) + if end_index == -1: + return "" + + if pl == 0: + middle_text = text[start_index + len(start_str):end_index] + return middle_text.replace("\\", "") + + if pl == 1: + middle_text = text[start_index + len(start_str):end_index] + matches = re.findall(start_index1, middle_text) + if matches: + jg = ' '.join(matches) + return jg + + if pl == 2: + middle_text = text[start_index + len(start_str):end_index] + matches = re.findall(start_index1, middle_text) + if matches: + new_list = [f'{item}' for item in matches] + jg = '$$$'.join(new_list) + return jg + + def homeContent(self, filter): + result = {} + result = {"class": [{"type_id": "舞", "type_name": "舞蹈"}, + {"type_id": "音乐", "type_name": "音乐"}, + {"type_id": "手游", "type_name": "手游"}, + {"type_id": "网游", "type_name": "网游"}, + {"type_id": "单机游戏", "type_name": "单机游戏"}, + {"type_id": "虚拟主播", "type_name": "虚拟主播"}, + {"type_id": "电台", "type_name": "电台"}, + {"type_id": "体育", "type_name": "体育"}, + {"type_id": "聊天", "type_name": "聊天"}, + {"type_id": "娱乐", "type_name": "娱乐"}, + {"type_id": "电影", "type_name": "影视"}, + {"type_id": "新闻", "type_name": "新闻"}] + } + + return result + + def homeVideoContent(self): + pass + + def categoryContent(self, cid, pg, filter, ext): + result = {} + videos = [] + + if pg: + page = int(pg) + else: + page = 1 + + url = f'{xurl}/live?keyword={cid}&page={str(page)}' + detail = requests.get(url=url, headers=headerx) + detail.encoding = "utf-8" + res = detail.text + doc = BeautifulSoup(res, "lxml") + + soups = doc.find_all('div', class_="video-list-item") + + for vod in soups: + + names = vod.find('h3', class_="bili-live-card__info--tit") + name = names.text.strip().replace('直播中', '') + + id = names.find('a')['href'] + id = self.extract_middle_text(id, 'bilibili.com/', '?', 0) + + pic = vod.find('img')['src'] + if 'http' not in pic: + pic = "https:" + pic + + remarks = vod.find('a', class_="bili-live-card__info--uname") + remark = remarks.text.strip() + + video = { + "vod_id": id, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": remark + } + videos.append(video) + + result = {'list': videos} + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def detailContent(self, ids): + did = ids[0] + result = {} + videos = [] + xianlu = '' + bofang = '' + + url = f'{xurl1}/xlive/web-room/v2/index/getRoomPlayInfo?room_id={did}&platform=web&protocol=0,1&format=0,1,2&codec=0,1' + detail = requests.get(url=url, headers=headerx) + detail.encoding = "utf-8" + data = detail.json() + + content = '欢迎观看哔哩直播' + + setup = data['data']['playurl_info']['playurl']['stream'] + + nam = 0 + + for vod in setup: + + try: + host = vod['format'][nam]['codec'][0]['url_info'][1]['host'] + except (KeyError, IndexError): + continue + + base = vod['format'][nam]['codec'][0]['base_url'] + + extra = vod['format'][nam]['codec'][0]['url_info'][1]['extra'] + + id = host + base + extra + + nam = nam + 1 + + namc = f"{nam}号线路" + + bofang = bofang + namc + '$' + id + '#' + + bofang = bofang[:-1] + + xianlu = '哔哩专线' + + videos.append({ + "vod_id": did, + "vod_content": content, + "vod_play_from": xianlu, + "vod_play_url": bofang + }) + + result['list'] = videos + return result + + def playerContent(self, flag, id, vipFlags): + + result = {} + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = id + result["header"] = headerx + return result + + def searchContentPage(self, key, quick, pg): + result = {} + videos = [] + + if pg: + page = int(pg) + else: + page = 1 + + url = f'{xurl}/live?keyword={key}&page={str(page)}' + detail = requests.get(url=url, headers=headerx) + detail.encoding = "utf-8" + res = detail.text + doc = BeautifulSoup(res, "lxml") + + soups = doc.find_all('div', class_="video-list-item") + + for vod in soups: + + names = vod.find('h3', class_="bili-live-card__info--tit") + name = names.text.strip().replace('直播中', '') + + id = names.find('a')['href'] + id = self.extract_middle_text(id, 'bilibili.com/', '?', 0) + + pic = vod.find('img')['src'] + if 'http' not in pic: + pic = "https:" + pic + + remarks = vod.find('a', class_="bili-live-card__info--uname") + remark = remarks.text.strip() + + video = { + "vod_id": id, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": remark + } + videos.append(video) + + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def searchContent(self, key, quick, pg="1"): + return self.searchContentPage(key, quick, '1') + + def localProxy(self, params): + if params['type'] == "m3u8": + return self.proxyM3u8(params) + elif params['type'] == "media": + return self.proxyMedia(params) + elif params['type'] == "ts": + return self.proxyTs(params) + return None + + + + + + + + diff --git a/py/星芽短剧.py b/py/星芽短剧.py new file mode 100644 index 00000000..8a7d540f --- /dev/null +++ b/py/星芽短剧.py @@ -0,0 +1,343 @@ +# coding = utf-8 +# !/usr/bin/python + +""" +""" + +from Crypto.Util.Padding import unpad +from Crypto.Util.Padding import pad +from urllib.parse import unquote +from Crypto.Cipher import ARC4 +from urllib.parse import quote +from base.spider import Spider +from Crypto.Cipher import AES +from bs4 import BeautifulSoup +from base64 import b64decode +import urllib.request +import urllib.parse +import binascii +import requests +import base64 +import json +import time +import sys +import re +import os + +sys.path.append('..') + +xurl = "https://app.whjzjx.cn" + +headers = { + 'User-Agent': 'Linux; Android 12; Pixel 3 XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.101 Mobile Safari/537.36' + } + +headerf = { + "platform": "1", + "user_agent": "Mozilla/5.0 (Linux; Android 9; V1938T Build/PQ3A.190705.08211809; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/91.0.4472.114 Safari/537.36", + "content-type": "application/json; charset=utf-8" + } + +times = int(time.time() * 1000) + +data = { + "device": "2a50580e69d38388c94c93605241fb306", + "package_name": "com.jz.xydj", + "android_id": "ec1280db12795506", + "install_first_open": True, + "first_install_time": 1752505243345, + "last_update_time": 1752505243345, + "report_link_url": "", + "authorization": "", + "timestamp": times + } + +plain_text = json.dumps(data, separators=(',', ':'), ensure_ascii=False) + +key = "B@ecf920Od8A4df7" +key_bytes = key.encode('utf-8') +plain_bytes = plain_text.encode('utf-8') +cipher = AES.new(key_bytes, AES.MODE_ECB) +padded_data = pad(plain_bytes, AES.block_size) +ciphertext = cipher.encrypt(padded_data) +encrypted = base64.b64encode(ciphertext).decode('utf-8') + +response = requests.post("https://u.shytkjgs.com/user/v3/account/login", headers=headerf, data=encrypted) +response_data = response.json() +Authorization = response_data['data']['token'] + +headerx = { + 'authorization': Authorization, + 'platform': '1', + 'version_name': '3.8.3.1' + } + +class Spider(Spider): + global xurl + global headerx + global headers + + def getName(self): + return "首页" + + def init(self, extend): + pass + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def extract_middle_text(self, text, start_str, end_str, pl, start_index1: str = '', end_index2: str = ''): + if pl == 3: + plx = [] + while True: + start_index = text.find(start_str) + if start_index == -1: + break + end_index = text.find(end_str, start_index + len(start_str)) + if end_index == -1: + break + middle_text = text[start_index + len(start_str):end_index] + plx.append(middle_text) + text = text.replace(start_str + middle_text + end_str, '') + if len(plx) > 0: + purl = '' + for i in range(len(plx)): + matches = re.findall(start_index1, plx[i]) + output = "" + for match in matches: + match3 = re.search(r'(?:^|[^0-9])(\d+)(?:[^0-9]|$)', match[1]) + if match3: + number = match3.group(1) + else: + number = 0 + if 'http' not in match[0]: + output += f"#{match[1]}${number}{xurl}{match[0]}" + else: + output += f"#{match[1]}${number}{match[0]}" + output = output[1:] + purl = purl + output + "$$$" + purl = purl[:-3] + return purl + else: + return "" + else: + start_index = text.find(start_str) + if start_index == -1: + return "" + end_index = text.find(end_str, start_index + len(start_str)) + if end_index == -1: + return "" + + if pl == 0: + middle_text = text[start_index + len(start_str):end_index] + return middle_text.replace("\\", "") + + if pl == 1: + middle_text = text[start_index + len(start_str):end_index] + matches = re.findall(start_index1, middle_text) + if matches: + jg = ' '.join(matches) + return jg + + if pl == 2: + middle_text = text[start_index + len(start_str):end_index] + matches = re.findall(start_index1, middle_text) + if matches: + new_list = [f'{item}' for item in matches] + jg = '$$$'.join(new_list) + return jg + + def homeContent(self, filter): + result = {} + result = {"class": [{"type_id": "1", "type_name": "剧场"}, + {"type_id": "3", "type_name": "新剧"}, + {"type_id": "2", "type_name": "热播"}, + {"type_id": "7", "type_name": "星选"}, + {"type_id": "5", "type_name": "阳光"}], + } + + return result + + def homeVideoContent(self): + videos = [] + + url= f'{xurl}/v1/theater/home_page?theater_class_id=1&class2_id=4&page_num=1&page_size=24' + detail = requests.get(url=url, headers=headerx) + detail.encoding = "utf-8" + if detail.status_code == 200: + data = detail.json() + + for vod in data['data']['list']: + + name = vod['theater']['title'] + + id = vod['theater']['id'] + + pic = vod['theater']['cover_url'] + + remark = vod['theater']['play_amount_str'] + + video = { + "vod_id": id, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": remark + } + videos.append(video) + + result = {'list': videos} + return result + + def categoryContent(self, cid, pg, filter, ext): + result = {} + videos = [] + + url = f'{xurl}/v1/theater/home_page?theater_class_id={cid}&page_num={pg}&page_size=24' + detail = requests.get(url=url,headers=headerx) + detail.encoding = "utf-8" + if detail.status_code == 200: + data = detail.json() + + for vod in data['data']['list']: + + name = vod['theater']['title'] + + id = vod['theater']['id'] + + pic = vod['theater']['cover_url'] + + remark = vod['theater']['theme'] + + video = { + "vod_id": id, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": remark + } + videos.append(video) + + result = {'list': videos} + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def detailContent(self, ids): + did = ids[0] + result = {} + videos = [] + xianlu = '' + bofang = '' + + url = f'{xurl}/v2/theater_parent/detail?theater_parent_id={did}' + detail = requests.get(url=url, headers=headerx) + detail.encoding = "utf-8" + if detail.status_code == 200: + data = detail.json() + + url = 'https://fs-im-kefu.7moor-fs1.com/ly/4d2c3f00-7d4c-11e5-af15-41bf63ae4ea0/1732707176882/jiduo.txt' + response = requests.get(url) + response.encoding = 'utf-8' + code = response.text + name = self.extract_middle_text(code, "s1='", "'", 0) + Jumps = self.extract_middle_text(code, "s2='", "'", 0) + + content = '剧情:' + data['data']['introduction'] + + area = data['data']['desc_tags'][0] + + remarks = data['data']['filing'] + + # 修复剧集只有一集的问题 - 检查theaters数据是否存在且不为空 + if 'theaters' in data['data'] and data['data']['theaters']: + for sou in data['data']['theaters']: + id = sou['son_video_url'] + name = sou['num'] + bofang = bofang + str(name) + '$' + id + '#' + + bofang = bofang[:-1] if bofang.endswith('#') else bofang + xianlu = '星芽' + else: + # 如果没有theaters数据,检查是否有单个视频URL + if 'video_url' in data['data'] and data['data']['video_url']: + bofang = '1$' + data['data']['video_url'] + xianlu = '星芽' + else: + bofang = Jumps + xianlu = '1' + + videos.append({ + "vod_id": did, + "vod_content": content, + "vod_remarks": remarks, + "vod_area": area, + "vod_play_from": xianlu, + "vod_play_url": bofang + }) + + result['list'] = videos + return result + + def playerContent(self, flag, id, vipFlags): + + result = {} + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = id + result["header"] = headers + return result + + def searchContentPage(self, key, quick, page): + result = {} + videos = [] + + payload = { + "text": key + } + + url = f"{xurl}/v3/search" + detail = requests.post(url=url, headers=headerx, json=payload) + if detail.status_code == 200: + detail.encoding = "utf-8" + data = detail.json() + + for vod in data['data']['theater']['search_data']: + + name = vod['title'] + + id = vod['id'] + + pic = vod['cover_url'] + + remark = vod['score_str'] + + video = { + "vod_id": id, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": remark + } + videos.append(video) + + result['list'] = videos + result['page'] = page + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def searchContent(self, key, quick, pg="1"): + return self.searchContentPage(key, quick, '1') + + def localProxy(self, params): + if params['type'] == "m3u8": + return self.proxyM3u8(params) + elif params['type'] == "media": + return self.proxyMedia(params) + elif params['type'] == "ts": + return self.proxyTs(params) + return None \ No newline at end of file diff --git a/py/爱听音乐.py b/py/爱听音乐.py new file mode 100644 index 00000000..28c99ddd --- /dev/null +++ b/py/爱听音乐.py @@ -0,0 +1,240 @@ +import re +import sys +from base64 import b64encode, b64decode +from urllib.parse import quote, unquote +from pyquery import PyQuery as pq +from requests import Session, adapters +from urllib3.util.retry import Retry +from concurrent.futures import ThreadPoolExecutor, as_completed +sys.path.append('..') +from base.spider import Spider + +class Spider(Spider): + def init(self, extend=""): + self.host = "https://www.22a5.com" + self.session = Session() + adapter = adapters.HTTPAdapter(max_retries=Retry(total=3, backoff_factor=0.5, status_forcelist=[429, 500, 502, 503, 504]), pool_connections=20, pool_maxsize=50) + self.session.mount("http://", adapter) + self.session.mount("https://", adapter) + self.headers = {"User-Agent": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Mobile Safari/537.36"} + self.session.headers.update(self.headers) + + def getName(self): return "爱听音乐" + def isVideoFormat(self, url): return bool(re.search(r'\.(m3u8|mp4|mp3|m4a|flv)(\?|$)', url or "", re.I)) + def manualVideoCheck(self): return False + def destroy(self): self.session.close() + + def homeContent(self, filter): + classes = [{"type_name": n, "type_id": i} for n, i in [("歌手","/singerlist/index/index/index/index.html"), ("TOP榜单","/list/top.html"), ("新歌榜","/list/new.html"), ("电台","/radiolist/index.html"), ("高清MV","/mvlist/oumei.html"), ("专辑","/albumlist/index.html"), ("歌单","/playtype/index.html")]] + filters = {p: d for p in [c["type_id"] for c in classes if "singer" not in c["type_id"]] if (d := self._fetch_filters(p))} + + if "/radiolist/index.html" not in filters: + filters["/radiolist/index.html"] = [{"key": "id", "name": "分类", "value": [{"n": n, "v": v} for n,v in zip(["最新","最热","有声小说","相声","音乐","情感","国漫","影视","脱口秀","历史","儿童","教育","八卦","推理","头条"], ["index","hot","novel","xiangyi","music","emotion","game","yingshi","talkshow","history","children","education","gossip","tuili","headline"])]}] + + filters["/singerlist/index/index/index/index.html"] = [ + {"key": "area", "name": "地区", "value": [{"n": n, "v": v} for n,v in [("全部","index"),("华语","huayu"),("欧美","oumei"),("韩国","hanguo"),("日本","ribrn")]]}, + {"key": "sex", "name": "性别", "value": [{"n": n, "v": v} for n,v in [("全部","index"),("男","male"),("女","girl"),("组合","band")]]}, + {"key": "genre", "name": "流派", "value": [{"n": n, "v": v} for n,v in [("全部","index"),("流行","liuxing"),("电子","dianzi"),("摇滚","yaogun"),("嘻哈","xiha"),("R&B","rb"),("民谣","minyao"),("爵士","jueshi"),("古典","gudian")]]}, + {"key": "char", "name": "字母", "value": [{"n": n, "v": v} for n,v in [("全部","index")] + [{"n": chr(i), "v": chr(i).lower()} for i in range(65, 91)]]} + ] + return {"class": classes, "filters": filters, "list": []} + + def homeVideoContent(self): return {"list": []} + + def categoryContent(self, tid, pg, filter, extend): + pg = int(pg or 1) + url = tid + if "/singerlist/" in tid: + p = tid.split('/') + if len(p) >= 6: + url = "/".join(p[:2] + [extend.get(k, p[i]) for i, k in enumerate(["area", "sex", "genre"], 2)] + [f"{extend.get('char', 'index')}.html"]) + elif "id" in extend and extend["id"] not in ["index", "top"]: + url = tid.replace("index.html", f"{extend['id']}.html").replace("top.html", f"{extend['id']}.html") + if url == tid: url = f"{tid.rsplit('/', 1)[0]}/{extend['id']}.html" + + if pg > 1: + sep = "/" if any(x in url for x in ["/singerlist/", "/radiolist/", "/mvlist/", "/playtype/", "/list/"]) else "_" + url = re.sub(r'(_\d+|/\d+)?\.html$', f'{sep}{pg}.html', url) + + doc = self.getpq(url) + return {"list": self._parse_list(doc(".play_list li, .video_list li, .pic_list li, .singer_list li, .ali li, .layui-row li, .base_l li"), tid), "page": pg, "pagecount": 9999, "limit": 90, "total": 999999} + + def searchContent(self, key, quick, pg="1"): + return {"list": self._parse_list(self.getpq(f"/so/{quote(key)}/{pg}.html")(".base_l li, .play_list li"), "search"), "page": int(pg)} + + def detailContent(self, ids): + url = self._abs(ids[0]) + doc = self.getpq(url) + vod = {"vod_id": url, "vod_name": self._clean(doc("h1").text() or doc("title").text()), "vod_pic": self._abs(doc(".djpg img, .pic img, .djpic img").attr("src")), "vod_play_from": "爱听音乐", "vod_content": ""} + + if any(x in url for x in ["/playlist/", "/album/", "/list/", "/singer/", "/special/", "/radio/", "/radiolist/"]): + eps = self._get_eps(doc) + page_urls = {self._abs(a.attr("href")) for a in doc(".page a, .dede_pages a, .pagelist a").items() if a.attr("href") and "javascript" not in a.attr("href")} - {url} + if page_urls: + with ThreadPoolExecutor(max_workers=5) as ex: + for r in as_completed([ex.submit(lambda u: self._get_eps(self.getpq(u)), u) for u in sorted(page_urls, key=lambda x: int(re.search(r'[_\/](\d+)\.html', x).group(1)) if re.search(r'[_\/](\d+)\.html', x) else 0)]): + eps.extend(r.result() or []) + if eps: + vod.update({"vod_play_from": "播放列表", "vod_play_url": "#".join(eps)}) + return {"list": [vod]} + + play_list = [] + if mid := re.search(r'/(song|mp3|radio|radiolist|radioplay)/([^/]+)\.html', url): + lrc_url = f"{self.host}/plug/down.php?ac=music&lk=lrc&id={mid.group(2)}" + play_list = [f"播放${self.e64('0@@@@' + url + '|||' + lrc_url)}"] + + elif vid := re.search(r'/(video|mp4)/([^/]+)\.html', url): + with ThreadPoolExecutor(max_workers=3) as ex: + fs = {ex.submit(self._api, "/plug/down.php", {"ac": "vplay", "id": vid.group(2), "q": q}): n for n, q in [("蓝光", 1080), ("超清", 720), ("高清", 480)]} + play_list = [f"{fs[f]}${self.e64('0@@@@'+u)}" for f in as_completed(fs) if (u := f.result())] + play_list.sort(key=lambda x: {"蓝":0, "超":1, "高":2}.get(x[0], 3)) + + vod["vod_play_url"] = "#".join(play_list) if play_list else f"解析失败${self.e64('1@@@@'+url)}" + return {"list": [vod]} + + def playerContent(self, flag, id, vipFlags): + raw = self.d64(id).split("@@@@")[-1] + url, subt = raw.split("|||") if "|||" in raw else (raw, "") + url = url.replace(r"\/", "/") + + if ".html" in url and not self.isVideoFormat(url): + if mid := re.search(r'/(song|mp3|radio|radiolist|radioplay)/([^/]+)\.html', url): + if r_url := self._api("/js/play.php", method="POST", data={"id": mid.group(2), "type": "music"}, headers={"Referer": url.replace("http://","https://"), "X-Requested-With": "XMLHttpRequest"}): + url = r_url if ".php" not in r_url else url + elif vid := re.search(r'/(video|mp4)/([^/]+)\.html', url): + with ThreadPoolExecutor(max_workers=3) as ex: + for f in as_completed([ex.submit(self._api, "/plug/down.php", {"ac": "vplay", "id": vid.group(2), "q": q}) for q in [1080, 720, 480]]): + if v_url := f.result(): + url = v_url; break + + result = {"parse": 0, "url": url, "header": {"User-Agent": self.headers["User-Agent"]}} + if "22a5.com" in url: result["header"]["Referer"] = self.host + "/" + + # OK影视3.6.5+支持LRC格式滚动歌词 + if subt: + try: + r = self.session.get(subt, headers={"Referer": self.host + "/"}, timeout=5) + lrc_content = r.text + if lrc_content: + # 过滤广告内容 + lrc_content = self._filter_lrc_ads(lrc_content) + result["lrc"] = lrc_content + except: + pass + + return result + + def _filter_lrc_ads(self, lrc_text): + """过滤LRC歌词中的广告内容""" + lines = lrc_text.splitlines() + filtered_lines = [] + + # 广告关键词模式 + ad_patterns = [ + r'欢迎来访.*', + r'本站.*', + r'.*广告.*', + r'QQ群.*', + r'.*www\..*', + r'.*http.*', + r'.*\.com.*', + r'.*\.cn.*', + r'.*\.net.*', + r'.*音乐网.*', + r'.*提供.*', + r'.*下载.*', + ] + + for line in lines: + # 保留时间标签行,但过滤掉广告文本 + if re.match(r'\[\d{2}:\d{2}', line): + # 检查是否包含广告 + is_ad = False + for pattern in ad_patterns: + if re.search(pattern, line, re.IGNORECASE): + is_ad = True + break + + if not is_ad: + filtered_lines.append(line) + else: + # 非时间标签行(可能是元数据),保留 + filtered_lines.append(line) + + return '\n'.join(filtered_lines) + + def localProxy(self, param): + url = unquote(param.get("url", "")) + type_ = param.get("type") + + if type_ == "img": + return [200, "image/jpeg", self.session.get(url, headers={"Referer": self.host + "/"}, timeout=5).content, {}] + + elif type_ == "lrc": + try: + r = self.session.get(url, headers={"Referer": self.host + "/"}, timeout=5) + # 同时过滤代理中的广告 + lrc_content = r.text + lrc_content = self._filter_lrc_ads(lrc_content) + return [200, "application/octet-stream", lrc_content.encode('utf-8'), {}] + except: + return [404, "text/plain", "Error", {}] + + return None + + def _parse_list(self, items, tid=""): + res = [] + for li in items.items(): + a = li("a").eq(0) + if not (href := a.attr("href")) or href == "/" or any(x in href for x in ["/user/", "/login/", "javascript"]): continue + if not (name := self._clean(li(".name").text() or a.attr("title") or a.text())): continue + pic = self._abs((li("img").attr("src") or "").replace('120', '500')) + res.append({"vod_id": self._abs(href), "vod_name": name, "vod_pic": f"{self.getProxyUrl()}&url={pic}&type=img" if pic else "", "style": {"type": "oval" if "/singer/" in href else ("list" if any(x in tid for x in ["/list/", "/playtype/", "/albumlist/"]) else "rect"), "ratio": 1 if "/singer/" in href else 1.33}}) + return res + + def _get_eps(self, doc): + eps = [] + for li in doc(".play_list li, .song_list li, .music_list li").items(): + if not (a := li("a").eq(0)).attr("href") or not re.search(r'/(song|mp3|radio|radiolist|radioplay)/([^/]+)\.html', a.attr("href")): continue + full_url = self._abs(a.attr("href")) + + lrc_part = "" + mid = re.search(r'/(song|mp3|radio|radiolist|radioplay)/([^/]+)\.html', full_url) + if mid: + lrc_url = f"{self.host}/plug/down.php?ac=music&lk=lrc&id={mid.group(2)}" + lrc_part = f"|||{lrc_url}" + + eps.append(f"{self._clean(a.text() or li('.name').text())}${self.e64('0@@@@' + full_url + lrc_part)}") + return eps + + def _clean(self, text): return re.sub(r'(爱玩音乐网|视频下载说明|视频下载地址|www\.2t58\.com|MP3免费下载|LRC歌词下载|全部歌曲|\[第\d+页\]|刷新|每日推荐|最新|热门|推荐|MV|高清|无损)', '', text or "", flags=re.I).strip() + + def _fetch_filters(self, url): + doc, filters = self.getpq(url), [] + for i, group in enumerate([doc(s) for s in [".ilingku_fl", ".class_list", ".screen_list", ".box_list", ".nav_list"] if doc(s)]): + opts, seen = [{"n": "全部", "v": "top" if "top" in url else "index"}], set() + for a in group("a").items(): + if (v := (a.attr("href") or "").split("?")[0].rstrip('/').split('/')[-1].replace('.html','')) and v not in seen: + opts.append({"n": a.text().strip(), "v": v}); seen.add(v) + if len(opts) > 1: filters.append({"key": f"id{i}" if i else "id", "name": "分类", "value": opts}) + return filters + + def _api(self, path, params=None, method="GET", headers=None, data=None): + try: + h = self.headers.copy() + if headers: h.update(headers) + r = (self.session.post if method == "POST" else self.session.get)(f"{self.host}{path}", params=params, data=data, headers=h, timeout=10, allow_redirects=False) + if loc := r.headers.get("Location"): return self._abs(loc.strip()) + return self._abs(r.json().get("url", "").replace(r"\/", "/")) or (r.text.strip() if r.text.strip().startswith("http") else "") + except: return "" + + def getpq(self, url): + import time + for _ in range(2): + try: return pq(self.session.get(self._abs(url), timeout=5).text) + except: time.sleep(0.1) + return pq("") + + def _abs(self, url): return url if url.startswith("http") else (f"{self.host}{'/' if not url.startswith('/') else ''}{url}" if url else "") + def e64(self, text): return b64encode(text.encode("utf-8")).decode("utf-8") + def d64(self, text): return b64decode(text.encode("utf-8")).decode("utf-8") \ No newline at end of file diff --git a/py/网络直播.py b/py/网络直播.py new file mode 100644 index 00000000..4e54c02d --- /dev/null +++ b/py/网络直播.py @@ -0,0 +1,767 @@ +# -*- coding: utf-8 -*- +# by @嗷呜 +import json +import re +import sys +import time +from base64 import b64decode, b64encode +from urllib.parse import parse_qs +import requests +from pyquery import PyQuery as pq +sys.path.append('..') +from base.spider import Spider +from concurrent.futures import ThreadPoolExecutor + + +class Spider(Spider): + + def init(self, extend=""): + tid = 'douyin' + headers = self.gethr(0, tid) + response = requests.head(self.hosts[tid], headers=headers) + ttwid = response.cookies.get('ttwid') + headers.update({ + 'authority': self.hosts[tid].split('//')[-1], + 'cookie': f'ttwid={ttwid}' if ttwid else '' + }) + self.dyheaders = headers + pass + + def getName(self): + pass + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def destroy(self): + pass + + headers = [ + { + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0" + }, + { + "User-Agent": "Dart/3.4 (dart:io)" + } + ] + + excepturl = 'https://www.baidu.com' + + hosts = { + "huya": ["https://www.huya.com","https://mp.huya.com"], + "douyin": "https://live.douyin.com", + "douyu": "https://www.douyu.com", + "wangyi": "https://cc.163.com", + "bili": ["https://api.live.bilibili.com", "https://api.bilibili.com"] + } + + referers = { + "huya": "https://live.cdn.huya.com", + "douyin": "https://live.douyin.com", + "douyu": "https://m.douyu.com", + "bili": "https://live.bilibili.com" + } + + playheaders = { + "wangyi": { + "User-Agent": "ExoPlayer", + "Connection": "Keep-Alive", + "Icy-MetaData": "1" + }, + "bili": { + 'Accept': '*/*', + 'Icy-MetaData': '1', + 'referer': referers['bili'], + 'user-agent': headers[0]['User-Agent'] + }, + 'douyin': { + 'User-Agent': 'libmpv', + 'Icy-MetaData': '1' + }, + 'huya': { + 'User-Agent': 'ExoPlayer', + 'Connection': 'Keep-Alive', + 'Icy-MetaData': '1' + }, + 'douyu': { + 'User-Agent': 'libmpv', + 'Icy-MetaData': '1' + } + } + + def process_bili(self): + try: + self.blfdata = self.fetch( + f'{self.hosts["bili"][0]}/room/v1/Area/getList?need_entrance=1&parent_id=0', + headers=self.gethr(0, 'bili') + ).json() + return ('bili', [{'key': 'cate', 'name': '分类', + 'value': [{'n': i['name'], 'v': str(i['id'])} + for i in self.blfdata['data']]}]) + except Exception as e: + print(f"bili处理错误: {e}") + return 'bili', None + + def process_douyin(self): + try: + data = self.getpq(self.hosts['douyin'], headers=self.dyheaders)('script') + for i in data.items(): + if 'categoryData' in i.text(): + content = i.text() + start = content.find('{') + end = content.rfind('}') + 1 + if start != -1 and end != -1: + json_str = content[start:end] + json_str = json_str.replace('\\"', '"') + try: + self.dyifdata = json.loads(json_str) + return ('douyin', [{'key': 'cate', 'name': '分类', + 'value': [{'n': i['partition']['title'], + 'v': f"{i['partition']['id_str']}@@{i['partition']['title']}"} + for i in self.dyifdata['categoryData']]}]) + except json.JSONDecodeError as e: + print(f"douyin解析错误: {e}") + return 'douyin', None + except Exception as e: + print(f"douyin请求或处理错误: {e}") + return 'douyin', None + + def process_douyu(self): + try: + self.dyufdata = self.fetch( + f'{self.referers["douyu"]}/api/cate/list', + headers=self.headers[1] + ).json() + return ('douyu', [{'key': 'cate', 'name': '分类', + 'value': [{'n': i['cate1Name'], 'v': str(i['cate1Id'])} + for i in self.dyufdata['data']['cate1Info']]}]) + except Exception as e: + print(f"douyu错误: {e}") + return 'douyu', None + + def homeContent(self, filter): + result = {} + cateManual = { + "虎牙": "huya", + "抖音": "douyin", + "斗鱼": "douyu", + "网易": "wangyi" + } + classes = [] + filters = { + 'huya': [{'key': 'cate', 'name': '分类', + 'value': [{'n': '网游', 'v': '1'}, {'n': '单机', 'v': '2'}, + {'n': '娱乐', 'v': '8'}, {'n': '手游', 'v': '3'}]}] + } + + with ThreadPoolExecutor(max_workers=3) as executor: + futures = { + executor.submit(self.process_bili): 'bili', + executor.submit(self.process_douyin): 'douyin', + executor.submit(self.process_douyu): 'douyu' + } + + for future in futures: + platform, filter_data = future.result() + if filter_data: + filters[platform] = filter_data + + for k in cateManual: + classes.append({ + 'type_name': k, + 'type_id': cateManual[k] + }) + + result['class'] = classes + result['filters'] = filters + return result + + def homeVideoContent(self): + pass + + def categoryContent(self, tid, pg, filter, extend): + vdata = [] + result = {} + pagecount = 9999 + result['page'] = pg + result['limit'] = 90 + result['total'] = 999999 + if tid == 'wangyi': + vdata, pagecount = self.wyccContent(tid, pg, filter, extend, vdata) + elif 'bili' in tid: + vdata, pagecount = self.biliContent(tid, pg, filter, extend, vdata) + elif 'huya' in tid: + vdata, pagecount = self.huyaContent(tid, pg, filter, extend, vdata) + elif 'douyin' in tid: + vdata, pagecount = self.douyinContent(tid, pg, filter, extend, vdata) + elif 'douyu' in tid: + vdata, pagecount = self.douyuContent(tid, pg, filter, extend, vdata) + result['list'] = vdata + result['pagecount'] = pagecount + return result + + def wyccContent(self, tid, pg, filter, extend, vdata): + params = { + 'format': 'json', + 'start': (int(pg) - 1) * 20, + 'size': '20', + } + response = self.fetch(f'{self.hosts[tid]}/api/category/live/', params=params, headers=self.headers[0]).json() + for i in response['lives']: + if i.get('cuteid'): + bvdata = self.buildvod( + vod_id=f"{tid}@@{i['cuteid']}", + vod_name=i.get('title'), + vod_pic=i.get('cover'), + vod_remarks=i.get('nickname'), + style={"type": "rect", "ratio": 1.33} + ) + vdata.append(bvdata) + return vdata, 9999 + + def biliContent(self, tid, pg, filter, extend, vdata): + if extend.get('cate') and pg == '1' and 'click' not in tid: + for i in self.blfdata['data']: + if str(i['id']) == extend['cate']: + for j in i['list']: + v = self.buildvod( + vod_id=f"click_{tid}@@{i['id']}@@{j['id']}", + vod_name=j.get('name'), + vod_pic=j.get('pic'), + vod_tag=1, + style={"type": "oval", "ratio": 1} + ) + vdata.append(v) + return vdata, 1 + else: + path = f'/xlive/web-interface/v1/second/getListByArea?platform=web&sort=online&page_size=30&page={pg}' + if 'click' in tid: + ids = tid.split('_')[1].split('@@') + tid = ids[0] + path = f'/xlive/web-interface/v1/second/getList?platform=web&parent_area_id={ids[1]}&area_id={ids[-1]}&sort_type=&page={pg}' + data = self.fetch(f'{self.hosts[tid][0]}{path}', headers=self.gethr(0, tid)).json() + for i in data['data']['list']: + if i.get('roomid'): + data = self.buildvod( + f"{tid}@@{i['roomid']}", + i.get('title'), + i.get('cover'), + i.get('watched_show', {}).get('text_large'), + 0, + i.get('uname'), + style={"type": "rect", "ratio": 1.33} + ) + vdata.append(data) + return vdata, 9999 + + def huyaContent(self, tid, pg, filter, extend, vdata): + if extend.get('cate') and pg == '1' and 'click' not in tid: + id = extend.get('cate') + data = self.fetch(f'{self.referers[tid]}/liveconfig/game/bussLive?bussType={id}', + headers=self.headers[1]).json() + for i in data['data']: + v = self.buildvod( + vod_id=f"click_{tid}@@{int(i['gid'])}", + vod_name=i.get('gameFullName'), + vod_pic=f'https://huyaimg.msstatic.com/cdnimage/game/{int(i["gid"])}-MS.jpg', + vod_tag=1, + style={"type": "oval", "ratio": 1} + ) + vdata.append(v) + return vdata, 1 + else: + gid = '' + if 'click' in tid: + ids = tid.split('_')[1].split('@@') + tid = ids[0] + gid = f'&gameId={ids[1]}' + data = self.fetch(f'{self.hosts[tid][0]}/cache.php?m=LiveList&do=getLiveListByPage&tagAll=0{gid}&page={pg}', + headers=self.headers[1]).json() + for i in data['data']['datas']: + if i.get('profileRoom'): + v = self.buildvod( + f"{tid}@@{i['profileRoom']}", + i.get('introduction'), + i.get('screenshot'), + str(int(i.get('totalCount', '1')) / 10000) + '万', + 0, + i.get('nick'), + style={"type": "rect", "ratio": 1.33} + + ) + vdata.append(v) + return vdata, 9999 + + def douyinContent(self, tid, pg, filter, extend, vdata): + if extend.get('cate') and pg == '1' and 'click' not in tid: + ids = extend.get('cate').split('@@') + for i in self.dyifdata['categoryData']: + c = i['partition'] + if c['id_str'] == ids[0] and c['title'] == ids[1]: + vlist = i['sub_partition'].copy() + vlist.insert(0, {'partition': c}) + for j in vlist: + j = j['partition'] + v = self.buildvod( + vod_id=f"click_{tid}@@{j['id_str']}@@{j['type']}", + vod_name=j.get('title'), + vod_pic='https://p3-pc-weboff.byteimg.com/tos-cn-i-9r5gewecjs/pwa_v3/512x512-1.png', + vod_tag=1, + style={"type": "oval", "ratio": 1} + ) + vdata.append(v) + return vdata, 1 + else: + path = f'/webcast/web/partition/detail/room/?aid=6383&app_name=douyin_web&live_id=1&device_platform=web&count=15&offset={(int(pg) - 1) * 15}&partition=720&partition_type=1' + if 'click' in tid: + ids = tid.split('_')[1].split('@@') + tid = ids[0] + path = f'/webcast/web/partition/detail/room/?aid=6383&app_name=douyin_web&live_id=1&device_platform=web&count=15&offset={(int(pg) - 1) * 15}&partition={ids[1]}&partition_type={ids[-1]}&req_from=2' + data = self.fetch(f'{self.hosts[tid]}{path}', headers=self.dyheaders).json() + for i in data['data']['data']: + v = self.buildvod( + vod_id=f"{tid}@@{i['web_rid']}", + vod_name=i['room'].get('title'), + vod_pic=i['room']['cover'].get('url_list')[0], + vod_year=i.get('user_count_str'), + vod_remarks=i['room']['owner'].get('nickname'), + style={"type": "rect", "ratio": 1.33} + ) + vdata.append(v) + return vdata, 9999 + + def douyuContent(self, tid, pg, filter, extend, vdata): + if extend.get('cate') and pg == '1' and 'click' not in tid: + for i in self.dyufdata['data']['cate2Info']: + if str(i['cate1Id']) == extend['cate']: + v = self.buildvod( + vod_id=f"click_{tid}@@{i['cate2Id']}", + vod_name=i.get('cate2Name'), + vod_pic=i.get('icon'), + vod_remarks=i.get('count'), + vod_tag=1, + style={"type": "oval", "ratio": 1} + ) + vdata.append(v) + return vdata, 1 + else: + path = f'/japi/weblist/apinc/allpage/6/{pg}' + if 'click' in tid: + ids = tid.split('_')[1].split('@@') + tid = ids[0] + path = f'/gapi/rkc/directory/mixList/2_{ids[1]}/{pg}' + url = f'{self.hosts[tid]}{path}' + data = self.fetch(url, headers=self.headers[1]).json() + for i in data['data']['rl']: + v = self.buildvod( + vod_id=f"{tid}@@{i['rid']}", + vod_name=i.get('rn'), + vod_pic=i.get('rs16'), + vod_year=str(int(i.get('ol', 1)) / 10000) + '万', + vod_remarks=i.get('nn'), + style={"type": "rect", "ratio": 1.33} + ) + vdata.append(v) + return vdata, 9999 + + def detailContent(self, ids): + ids = ids[0].split('@@') + if ids[0] == 'wangyi': + vod = self.wyccDetail(ids) + elif ids[0] == 'bili': + vod = self.biliDetail(ids) + elif ids[0] == 'huya': + vod = self.huyaDetail(ids) + elif ids[0] == 'douyin': + vod = self.douyinDetail(ids) + elif ids[0] == 'douyu': + vod = self.douyuDetail(ids) + return {'list': [vod]} + + def wyccDetail(self, ids): + try: + vdata = self.getpq(f'{self.hosts[ids[0]]}/{ids[1]}', self.headers[0])('script').eq(-1).text() + + def get_quality_name(vbr): + if vbr <= 600: + return "标清" + elif vbr <= 1000: + return "高清" + elif vbr <= 2000: + return "超清" + else: + return "蓝光" + + data = json.loads(vdata)['props']['pageProps']['roomInfoInitData'] + name = data['live'].get('title', ids[0]) + vod = self.buildvod(vod_name=data.get('keywords_suffix'), vod_remarks=data['live'].get('title'), + vod_content=data.get('description_suffix')) + resolution_data = data['live']['quickplay']['resolution'] + all_streams = {} + sorted_qualities = sorted(resolution_data.items(), + key=lambda x: x[1]['vbr'], + reverse=True) + for quality, data in sorted_qualities: + vbr = data['vbr'] + quality_name = get_quality_name(vbr) + for cdn_name, url in data['cdn'].items(): + if cdn_name not in all_streams and type(url) == str and url.startswith('http'): + all_streams[cdn_name] = [] + if isinstance(url, str) and url.startswith('http'): + all_streams[cdn_name].extend([quality_name, url]) + plists = [] + names = [] + for i, (cdn_name, stream_list) in enumerate(all_streams.items(), 1): + names.append(f'线路{i}') + pstr = f"{name}${ids[0]}@@{self.e64(json.dumps(stream_list))}" + plists.append(pstr) + vod['vod_play_from'] = "$$$".join(names) + vod['vod_play_url'] = "$$$".join(plists) + return vod + except Exception as e: + return self.handle_exception(e) + + def biliDetail(self, ids): + try: + vdata = self.fetch( + f'{self.hosts[ids[0]][0]}/xlive/web-room/v1/index/getInfoByRoom?room_id={ids[1]}&wts={int(time.time())}', + headers=self.gethr(0, ids[0])).json() + v = vdata['data']['room_info'] + vod = self.buildvod( + vod_name=v.get('title'), + type_name=v.get('parent_area_name') + '/' + v.get('area_name'), + vod_remarks=v.get('tags'), + vod_play_from=v.get('title'), + ) + data = self.fetch( + f'{self.hosts[ids[0]][0]}/xlive/web-room/v2/index/getRoomPlayInfo?room_id={ids[1]}&protocol=0%2C1&format=0%2C1%2C2&codec=0%2C1&platform=web', + headers=self.gethr(0, ids[0])).json() + vdnams = data['data']['playurl_info']['playurl']['g_qn_desc'] + all_accept_qns = [] + streams = data['data']['playurl_info']['playurl']['stream'] + for stream in streams: + for format_item in stream['format']: + for codec in format_item['codec']: + if 'accept_qn' in codec: + all_accept_qns.append(codec['accept_qn']) + max_accept_qn = max(all_accept_qns, key=len) if all_accept_qns else [] + quality_map = { + item['qn']: item['desc'] + for item in vdnams + } + quality_names = [f"{quality_map.get(qn)}${ids[0]}@@{ids[1]}@@{qn}" for qn in max_accept_qn] + vod['vod_play_url'] = "#".join(quality_names) + return vod + except Exception as e: + return self.handle_exception(e) + + def huyaDetail(self, ids): + try: + vdata = self.fetch(f'{self.hosts[ids[0]][1]}/cache.php?m=Live&do=profileRoom&roomid={ids[1]}', + headers=self.headers[0]).json() + v = vdata['data']['liveData'] + vod = self.buildvod( + vod_name=v.get('introduction'), + type_name=v.get('gameFullName'), + vod_director=v.get('nick'), + vod_remarks=v.get('contentIntro'), + ) + data = dict(reversed(list(vdata['data']['stream'].items()))) + names = [] + plist = [] + + for stream_type, stream_data in data.items(): + if isinstance(stream_data, dict) and 'multiLine' in stream_data and 'rateArray' in stream_data: + names.append(f"线路{len(names) + 1}") + qualities = sorted( + stream_data['rateArray'], + key=lambda x: (x['iBitRate'], x['sDisplayName']), + reverse=True + ) + cdn_urls = [] + for cdn in stream_data['multiLine']: + quality_urls = [] + for quality in qualities: + quality_name = quality['sDisplayName'] + bit_rate = quality['iBitRate'] + base_url = cdn['url'] + if bit_rate > 0: + if '.m3u8' in base_url: + new_url = base_url.replace( + 'ratio=2000', + f'ratio={bit_rate}' + ) + else: + new_url = base_url.replace( + 'imgplus.flv', + f'imgplus_{bit_rate}.flv' + ) + else: + new_url = base_url + quality_urls.extend([quality_name, new_url]) + encoded_urls = self.e64(json.dumps(quality_urls)) + cdn_urls.append(f"{cdn['cdnType']}${ids[0]}@@{encoded_urls}") + + if cdn_urls: + plist.append('#'.join(cdn_urls)) + vod['vod_play_from'] = "$$$".join(names) + vod['vod_play_url'] = "$$$".join(plist) + return vod + except Exception as e: + return self.handle_exception(e) + + def douyinDetail(self, ids): + url = f'{self.hosts[ids[0]]}/webcast/room/web/enter/?aid=6383&app_name=douyin_web&live_id=1&device_platform=web&enter_from=web_live&web_rid={ids[1]}&room_id_str=&enter_source=&Room-Enter-User-Login-Ab=0&is_need_double_stream=false&cookie_enabled=true&screen_width=1980&screen_height=1080&browser_language=zh-CN&browser_platform=Win32&browser_name=Edge&browser_version=125.0.0.0' + data = self.fetch(url, headers=self.dyheaders).json() + try: + vdata = data['data']['data'][0] + vod = self.buildvod( + vod_name=vdata['title'], + vod_remarks=vdata['user_count_str'], + ) + resolution_data = vdata['stream_url']['live_core_sdk_data']['pull_data']['options']['qualities'] + stream_json = vdata['stream_url']['live_core_sdk_data']['pull_data']['stream_data'] + stream_json = json.loads(stream_json) + available_types = [] + if any(sdk_key in stream_json['data'] and 'main' in stream_json['data'][sdk_key] for sdk_key in + stream_json['data']): + available_types.append('main') + if any(sdk_key in stream_json['data'] and 'backup' in stream_json['data'][sdk_key] for sdk_key in + stream_json['data']): + available_types.append('backup') + plist = [] + for line_type in available_types: + format_arrays = {'flv': [], 'hls': [], 'lls': []} + qualities = sorted(resolution_data, key=lambda x: x['level'], reverse=True) + for quality in qualities: + sdk_key = quality['sdk_key'] + if sdk_key in stream_json['data'] and line_type in stream_json['data'][sdk_key]: + stream_info = stream_json['data'][sdk_key][line_type] + if stream_info.get('flv'): + format_arrays['flv'].extend([quality['name'], stream_info['flv']]) + if stream_info.get('hls'): + format_arrays['hls'].extend([quality['name'], stream_info['hls']]) + if stream_info.get('lls'): + format_arrays['lls'].extend([quality['name'], stream_info['lls']]) + format_urls = [] + for format_name, url_array in format_arrays.items(): + if url_array: + encoded_urls = self.e64(json.dumps(url_array)) + format_urls.append(f"{format_name}${ids[0]}@@{encoded_urls}") + + if format_urls: + plist.append('#'.join(format_urls)) + + names = ['线路1', '线路2'][:len(plist)] + vod['vod_play_from'] = "$$$".join(names) + vod['vod_play_url'] = "$$$".join(plist) + return vod + + except Exception as e: + return self.handle_exception(e) + + def douyuDetail(self, ids): + headers = self.gethr(0, zr=f'{self.hosts[ids[0]]}/{ids[1]}') + try: + data = self.fetch(f'{self.hosts[ids[0]]}/betard/{ids[1]}', headers=headers).json() + vname = data['room']['room_name'] + vod = self.buildvod( + vod_name=vname, + vod_remarks=data['room'].get('second_lvl_name'), + vod_director=data['room'].get('nickname'), + ) + vdata = self.fetch(f'{self.hosts[ids[0]]}/swf_api/homeH5Enc?rids={ids[1]}', headers=headers).json() + json_body = vdata['data'] + json_body = {"html": self.douyu_text(json_body[f'room{ids[1]}']), "rid": ids[1]} + sign = self.post('http://alive.nsapps.cn/api/AllLive/DouyuSign', json=json_body, headers=self.headers[1]).json()['data'] + body = f'{sign}&cdn=&rate=-1&ver=Douyu_223061205&iar=1&ive=1&hevc=0&fa=0' + body=self.params_to_json(body) + nubdata = self.post(f'{self.hosts[ids[0]]}/lapi/live/getH5Play/{ids[1]}', data=body, headers=headers).json() + plist = [] + names = [] + for i,x in enumerate(nubdata['data']['cdnsWithName']): + names.append(f'线路{i+1}') + d = {'sign': sign, 'cdn': x['cdn'], 'id': ids[1]} + plist.append( + f'{vname}${ids[0]}@@{self.e64(json.dumps(d))}@@{self.e64(json.dumps(nubdata["data"]["multirates"]))}') + vod['vod_play_from'] = "$$$".join(names) + vod['vod_play_url'] = "$$$".join(plist) + return vod + except Exception as e: + return self.handle_exception(e) + + def douyu_text(self, text): + function_positions = [m.start() for m in re.finditer('function', text)] + total_functions = len(function_positions) + if total_functions % 2 == 0: + target_index = total_functions // 2 + 1 + else: + target_index = (total_functions - 1) // 2 + 1 + if total_functions >= target_index: + cut_position = function_positions[target_index - 1] + ctext = text[4:cut_position] + return re.sub(r'eval\(strc\)\([\w\d,]+\)', 'strc', ctext) + return text + + def searchContent(self, key, quick, pg="1"): + pass + + def playerContent(self, flag, id, vipFlags): + try: + ids = id.split('@@') + p = 1 + if ids[0] in ['wangyi', 'douyin','huya']: + p, url = 0, json.loads(self.d64(ids[1])) + elif ids[0] == 'bili': + p, url = self.biliplay(ids) + elif ids[0] == 'huya': + p, url = 0, json.loads(self.d64(ids[1])) + elif ids[0] == 'douyu': + p, url = self.douyuplay(ids) + return {'parse': p, 'url': url, 'header': self.playheaders[ids[0]]} + except Exception as e: + return {'parse': 1, 'url': self.excepturl, 'header': self.headers[0]} + + def biliplay(self, ids): + try: + data = self.fetch( + f'{self.hosts[ids[0]][0]}/xlive/web-room/v2/index/getRoomPlayInfo?room_id={ids[1]}&protocol=0,1&format=0,2&codec=0&platform=web&qn={ids[2]}', + headers=self.gethr(0, ids[0])).json() + urls = [] + line_index = 1 + for stream in data['data']['playurl_info']['playurl']['stream']: + for format_item in stream['format']: + for codec in format_item['codec']: + for url_info in codec['url_info']: + full_url = f"{url_info['host']}/{codec['base_url'].lstrip('/')}{url_info['extra']}" + urls.extend([f"线路{line_index}", full_url]) + line_index += 1 + return 0, urls + except Exception as e: + return 1, self.excepturl + + def douyuplay(self, ids): + try: + sdata = json.loads(self.d64(ids[1])) + headers = self.gethr(0, zr=f'{self.hosts[ids[0]]}/{sdata["id"]}') + ldata = json.loads(self.d64(ids[2])) + result_obj = {} + with ThreadPoolExecutor(max_workers=len(ldata)) as executor: + futures = [ + executor.submit( + self.douyufp, + sdata, + quality, + headers, + self.hosts[ids[0]], + result_obj + ) for quality in ldata + ] + for future in futures: + future.result() + + result = [] + for bit in sorted(result_obj.keys(), reverse=True): + result.extend(result_obj[bit]) + + if result: + return 0, result + return 1, self.excepturl + + except Exception as e: + return 1, self.excepturl + + def douyufp(self, sdata, quality, headers, host, result_obj): + try: + body = f'{sdata["sign"]}&cdn={sdata["cdn"]}&rate={quality["rate"]}' + body=self.params_to_json(body) + data = self.post(f'{host}/lapi/live/getH5Play/{sdata["id"]}', + data=body, headers=headers).json() + if data.get('data'): + play_url = data['data']['rtmp_url'] + '/' + data['data']['rtmp_live'] + bit = quality.get('bit', 0) + if bit not in result_obj: + result_obj[bit] = [] + result_obj[bit].extend([quality['name'], play_url]) + except Exception as e: + print(f"Error fetching {quality['name']}: {str(e)}") + + def localProxy(self, param): + pass + + def e64(self, text): + try: + text_bytes = text.encode('utf-8') + encoded_bytes = b64encode(text_bytes) + return encoded_bytes.decode('utf-8') + except Exception as e: + print(f"Base64编码错误: {str(e)}") + return "" + + def d64(self, encoded_text): + try: + encoded_bytes = encoded_text.encode('utf-8') + decoded_bytes = b64decode(encoded_bytes) + return decoded_bytes.decode('utf-8') + except Exception as e: + print(f"Base64解码错误: {str(e)}") + return "" + + def josn_to_params(self, params, skip_empty=False): + query = [] + for k, v in params.items(): + if skip_empty and not v: + continue + query.append(f"{k}={v}") + return "&".join(query) + + def params_to_json(self, query_string): + parsed_data = parse_qs(query_string) + result = {key: value[0] for key, value in parsed_data.items()} + return result + + def buildvod(self, vod_id='', vod_name='', vod_pic='', vod_year='', vod_tag='', vod_remarks='', style='', + type_name='', vod_area='', vod_actor='', vod_director='', + vod_content='', vod_play_from='', vod_play_url=''): + vod = { + 'vod_id': vod_id, + 'vod_name': vod_name, + 'vod_pic': vod_pic, + 'vod_year': vod_year, + 'vod_tag': 'folder' if vod_tag else '', + 'vod_remarks': vod_remarks, + 'style': style, + 'type_name': type_name, + 'vod_area': vod_area, + 'vod_actor': vod_actor, + 'vod_director': vod_director, + 'vod_content': vod_content, + 'vod_play_from': vod_play_from, + 'vod_play_url': vod_play_url + } + vod = {key: value for key, value in vod.items() if value} + return vod + + def getpq(self, url, headers=None, cookies=None): + data = self.fetch(url, headers=headers, cookies=cookies).text + try: + return pq(data) + except Exception as e: + print(f"解析页面错误: {str(e)}") + return pq(data.encode('utf-8')) + + def gethr(self, index, rf='', zr=''): + headers = self.headers[index] + if zr: + headers['referer'] = zr + else: + headers['referer'] = f"{self.referers[rf]}/" + return headers + + def handle_exception(self, e): + print(f"报错: {str(e)}") + return {'vod_play_from': '哎呀翻车啦', 'vod_play_url': f'翻车啦${self.excepturl}'} + diff --git a/xiaosa/XBPQ/樱花动漫.json b/xiaosa/XBPQ/樱花动漫.json index 317804e4..165ab261 100644 --- a/xiaosa/XBPQ/樱花动漫.json +++ b/xiaosa/XBPQ/樱花动漫.json @@ -1,6 +1,9 @@ { - "简介": "", - "数组": "", - "分类url": "http://www.yinghuadm.cn/show_{cateId}--{by}-{class}-----{catePg}---{year}.html", - "分类": "日本动漫$ribendongman#国产动漫$guochandongman#动漫电影$dongmandianying#欧美动漫$oumeidongman" + "简介": "jianjie\">&&

", + "副标题": "zhuangtai\">&&", + "数组": "u-movie\">&&", + "线路标题": "ctitle\">&&在线播放", + "播放数组": "vlink&&", + "分类url": "https://www.yinghuadongman.com.cn/sxvodshow/{cateId}-{year}/page/{catePg}/;;d0", + "分类": "国漫$2#日漫$1#美漫$3" } \ No newline at end of file diff --git a/xiaosa/api.json b/xiaosa/api.json index 0f7fb093..288c64a4 100644 --- a/xiaosa/api.json +++ b/xiaosa/api.json @@ -1430,12 +1430,6 @@ "type": "list" } }, - { - "key": "酷狗", - "name": "酷狗|音乐", - "type": 3, - "api": "csp_Kugou" - }, { "key": "爱听音乐", "name": "爱听|音乐", diff --git a/xiaosa/spider.jar b/xiaosa/spider.jar index fd8ea35a..07266df4 100644 Binary files a/xiaosa/spider.jar and b/xiaosa/spider.jar differ