From 500edbf5e2b4fba2555fa2c85f11179dc72c1f0b Mon Sep 17 00:00:00 2001 From: gaotianliuyun <58679624+gaotianliuyun@users.noreply.github.com> Date: Tue, 18 Oct 2022 17:05:30 +0800 Subject: [PATCH] Add files via upload --- js.json | 391 +++++++++++++++++++++++++++++++++++---------- js/8号影院.js | 6 +- js/KUBO影视[飞].js | 25 +++ js/cokemv.js | 5 +- js/唐人街影视.js | 24 +++ js/完美看看.js | 9 +- js/尘落影视.js | 44 ++--- js/抓饭体育.js | 56 +++---- js/斗鱼直播.js | 56 +++---- js/爱迪影视.js | 36 ++--- js/蛋蛋赞.js | 4 +- lib/drpy.min.js | 2 +- web.jar | Bin 0 -> 66457 bytes 13 files changed, 469 insertions(+), 189 deletions(-) create mode 100644 js/KUBO影视[飞].js create mode 100644 js/唐人街影视.js create mode 100644 web.jar diff --git a/js.json b/js.json index 3c5f08b3..4883d915 100644 --- a/js.json +++ b/js.json @@ -1,522 +1,529 @@ { - "spider" : "./live.jar", + "spider" : "./web.jar", "sites" : [ { "key" : "drpy_js_360影视", "name" : "360影视[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/360影视.js" }, { "key" : "drpy_js_豆瓣", "name" : "豆瓣[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/豆瓣.js" }, { "key" : "drpy_js_抓饭体育", "name" : "抓饭体育[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/抓饭体育.js" }, { "key" : "drpy_js_斗鱼直播", "name" : "斗鱼直播[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/斗鱼直播.js" }, { "key" : "drpy_js_酷云77", "name" : "酷云77[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/酷云77.js" }, { "key" : "drpy_js_快看", "name" : "快看[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", - "ext" : "./js/快看1.js" + "api" : "./lib/drpy.min.js", + "ext" : "./js/快看.js" }, { "key" : "drpy_js_低端", "name" : "低端[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/ddys.js" }, { "key" : "drpy_js_蛋蛋赞", "name" : "蛋蛋赞[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/蛋蛋赞.js" }, { "key" : "drpy_js_菜狗", "name" : "菜狗[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/菜狗.js" }, { "key" : "drpy_js_奇珍异兽", "name" : "奇珍异兽[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/奇珍异兽.js" }, { "key" : "drpy_js_百忙无果", "name" : "百忙无果[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/百忙无果.js" }, { "key" : "drpy_js_69美剧", "name" : "69美剧[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/69美剧.js" + }, + { + "key" : "drpy_js_唐人街影视", + "name" : "唐人街影视[DRPY]", + "type" : 3, + "api" : "./lib/drpy.min.js", + "ext" : "./js/唐人街影视.js" }, { "key" : "drpy_js_优酷", "name" : "优酷[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/优酷.js" }, { "key" : "drpy_js_真不卡", "name" : "真不卡[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/真不卡.js" }, { "key" : "drpy_js_素白白", "name" : "素白白[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/素白白.js" }, { "key" : "drpy_js_双十电影", "name" : "双十电影[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/双十电影.js" }, { "key" : "drpy_js_TV蜂", "name" : "TV蜂[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/TV蜂.js" }, { "key" : "drpy_js_8号影院", "name" : "8号影院[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/8号影院.js" }, { "key" : "drpy_js_爱迪影视", "name" : "爱迪影视[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/爱迪影视.js" }, { - "key" : "drpy_js_KUBO影视", - "name" : "KUBO影视[DRPY]", + "key" : "drpy_js_KUBO影视[飞]", + "name" : "KUBO影视[飞][DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", - "ext" : "./js/KUBO影视.js" + "api" : "./lib/drpy.min.js", + "ext" : "./js/KUBO影视[飞].js" }, { "key" : "drpy_js_尘落影视", "name" : "尘落影视[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/尘落影视.js" }, { "key" : "drpy_js_短视频", "name" : "短视频[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/短视频.js" }, { "key" : "drpy_js_麦豆", "name" : "麦豆[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/麦豆.js" }, { "key" : "drpy_js_l0l", "name" : "l0l[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/l0l.js" }, { "key" : "drpy_js_LIBVIO", "name" : "LIBVIO[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/LIBVIO.js" }, { "key" : "drpy_js_番茄影视", "name" : "番茄影视[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/番茄影视.js" }, { "key" : "drpy_js_干饭影视", "name" : "干饭影视[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/干饭影视.js" }, { "key" : "drpy_js_喵喵", "name" : "喵喵[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/喵喵.js" }, { "key" : "drpy_js_MXONE", "name" : "MXONE[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/MXONE.js" }, { "key" : "drpy_js_Nike影视", "name" : "Nike影视[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/Nike影视.js" }, { "key" : "drpy_js_TV云播", "name" : "TV云播[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/TV云播.js" }, { "key" : "drpy_js_两个BT", "name" : "两个BT[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/两个BT.js" }, { "key" : "drpy_js_乐猪TV", "name" : "乐猪TV[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/乐猪TV.js" }, { "key" : "drpy_js_剧荒", "name" : "剧荒[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/剧荒.js" }, { "key" : "drpy_js_剧迷", "name" : "剧迷[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/剧迷.js" }, { "key" : "drpy_js_大师兄影视", "name" : "大师兄影视[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/大师兄影视.js" }, { "key" : "drpy_js_天空影视", "name" : "天空影视[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/天空影视.js" }, { "key" : "drpy_js_完美看看", "name" : "完美看看[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/完美看看.js" }, { "key" : "drpy_js_快云影院", "name" : "快云影院[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/快云影院.js" }, { "key" : "drpy_js_爱看影视", "name" : "爱看影视[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/爱看影视.js" }, { "key" : "drpy_js_爱看电影", "name" : "爱看电影[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/爱看电影.js" }, { "key" : "drpy_js_特狗影视", "name" : "特狗影视[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/特狗影视.js" }, { "key" : "drpy_js_皮皮泡", "name" : "皮皮泡[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/皮皮泡.js" }, { "key" : "drpy_js_RP影视", "name" : "RP影视[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/RP影视.js" }, { "key" : "drpy_js_看了么", "name" : "看了么[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/看了么.js" }, { "key" : "drpy_js_胖虎", "name" : "胖虎[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/胖虎影视.js" }, { "key" : "drpy_js_牛马TV", "name" : "牛马TV[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/牛马TV.js" }, { "key" : "drpy_js_人人影视", "name" : "人人影视[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/人人影视.js" }, { "key" : "drpy_js_万能影视", "name" : "万能影视[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/万能影视.js" }, { "key" : "drpy_js_小强迷", "name" : "小强迷[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/小强迷.js" }, { "key" : "drpy_js_玄天", "name" : "玄天[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/玄天.js" }, { "key" : "drpy_js_鸭奈飞", "name" : "鸭奈飞[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/鸭奈飞.js" }, { "key" : "drpy_js_影视工厂", "name" : "影视工厂[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/影视工厂.js" }, { "key" : "drpy_js_在线之家", "name" : "在线之家[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/在线之家.js" }, { "key" : "drpy_js_瓜皮TV", "name" : "瓜皮TV[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/瓜皮TV.js" }, { "key" : "drpy_js_555影视", "name" : "555影视[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/555影视.js" }, { "key" : "drpy_js_蓝光影院", "name" : "蓝光影院[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/蓝光影院.js" }, { "key" : "drpy_js_莫扎兔", "name" : "莫扎兔[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/莫扎兔.js" }, { "key" : "drpy_js_追剧喵", "name" : "追剧喵[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/追剧喵.js" }, { "key" : "drpy_js_1080P", "name" : "1080P[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/1080P.js" }, { "key" : "drpy_js_007影视", "name" : "007影视[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/007影视.js" }, { "key" : "drpy_js_cokemv", "name" : "cokemv[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/cokemv.js" }, { "key" : "drpy_js_大米星球", "name" : "大米星球[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/大米星球.js" }, { "key" : "drpy_js_剧白白", "name" : "剧白白[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/剧白白.js" }, { "key" : "drpy_js_库马伊", "name" : "库马伊[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/库马伊.js" }, { "key" : "drpy_js_看视界", "name" : "看视界[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/看视界.js" }, { "key" : "drpy_js_奇优影院", "name" : "奇优影院[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/奇优影院.js" }, { "key" : "drpy_js_腾云驾雾", "name" : "腾云驾雾[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/腾云驾雾.js" }, { "key" : "drpy_js_凌云影视", "name" : "凌云影视[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/凌云.js" }, { "key" : "drpy_js_麦豆com", "name" : "麦豆com[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/麦豆com.js" }, { "key" : "drpy_js_秋霞", "name" : "秋霞[DRPY]-click", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/秋霞.js" }, { "key" : "drpy_js_兔小贝", "name" : "兔小贝[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/兔小贝.js" }, { "key" : "drpy_js_AnFuns", "name" : "AnFuns[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/AnFuns.js" }, { "key" : "drpy_js_AGE动漫", "name" : "AGE动漫[DRPY]", "type" : 3, - "api" : "./lib/drpy.ym.js", + "api" : "./lib/drpy.min.js", "ext" : "./js/AGE动漫.js" }, { @@ -585,9 +592,14 @@ }], "parses" : [ { - "name" : "解析聚合", + "name" : "Json聚合", "type" : 3, "url" : "Demo" + }, + { + "name" : "Web聚合", + "type" : 3, + "url" : "Web" }, { "name" : "Json并发", @@ -618,6 +630,225 @@ "name" : "荣兴", "type" : 1, "url" : "http://jx.dygfsdy.com/home/api?type=ys&uid=129415&key=acdmoruwxCDEKPZ679&url=" + }, + { + "name" : "xmflv", + "type" : 0, + "url" : "https://jx.xmflv.com/?url=" + }, + { + "name" : "freejson", + "type" : 0, + "url" : "https://h5.freejson.xyz/player/?url=" + }, + { + "name" : "365", + "type" : 0, + "url" : "https://chaxun.truechat365.com/?url=", + "ext" : { + "flag" : [ + "qq", + "腾讯", + "qiyi", + "iqiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "mgtv", + "芒果", + "letv", + "乐视", + "pptv", + "PPTV", + "sohu", + "bilibili", + "哔哩哔哩", + "哔哩"] + } + }, + { + "name" : "parwix稳定", + "type" : 0, + "url" : "https://jx.bozrc.com:4433/player/?url=", + "ext" : { + "flag" : [ + "qq", + "腾讯", + "qiyi", + "iqiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "mgtv", + "芒果", + "letv", + "乐视", + "pptv", + "PPTV", + "sohu", + "bilibili", + "哔哩哔哩", + "哔哩"] + } + }, + { + "name" : "parwix1", + "type" : 0, + "url" : "https://jx.parwix.com:4433/player/?url=", + "ext" : { + "flag" : [ + "qq", + "腾讯", + "qiyi", + "iqiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "mgtv", + "芒果", + "letv", + "乐视", + "pptv", + "PPTV", + "sohu", + "bilibili", + "哔哩哔哩", + "哔哩"] + } + }, + { + "name" : "parwix2", + "type" : 0, + "url" : "https://jx.parwix.com:4433/player/analysis.php?v=", + "ext" : { + "flag" : [ + "qq", + "腾讯", + "qiyi", + "iqiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "mgtv", + "芒果", + "letv", + "乐视", + "pptv", + "PPTV", + "sohu", + "bilibili", + "哔哩哔哩", + "哔哩"] + } + }, + { + "name" : "夜幕", + "type" : 0, + "url" : "https://www.yemu.xyz/?url=", + "ext" : { + "flag" : [ + "qq", + "腾讯", + "qiyi", + "iqiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "mgtv", + "芒果", + "letv", + "乐视", + "pptv", + "PPTV", + "sohu", + "bilibili", + "哔哩哔哩", + "哔哩"] + } + }, + { + "name" : "8090", + "url" : "https://www.8090g.cn/?url=" + }, + { + "name" : "油果", + "type" : 1, + "url" : "http://json.youguo520.top/fufeng/?url=", + "ext" : { + "flag" : [ + "qq", + "腾讯", + "qiyi", + "iqiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "mgtv", + "芒果", + "letv", + "乐视", + "pptv", + "PPTV", + "sohu", + "bilibili", + "哔哩哔哩", + "哔哩"], + "header" : { + "User-Agent" : "Dart/2.14 (dart:io)" + } + } + }, + { + "name" : "懒懒1", + "type" : 1, + "url" : "http://123.57.56.94:9931/lanlan/?url=" + }, + { + "name" : "EXO", + "type" : 0, + "url" : "https://rx.69mj.com/?url=", + "ext" : { + "flag" : [ + "rx", + "qq", + "腾讯", + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "mgtv", + "芒果"] + } + }, + { + "name" : "懒懒2", + "type" : 1, + "url" : "http://lanlan.ckflv.cn/?url=", + "ext" : { + "flag" : [ + "qiyi", + "qq", + "letv", + "sohu", + "youku", + "mgtv", + "bilibili", + "wasu", + "xigua", + "1905"] + } + }, + { + "name" : "parwix", + "type" : 0, + "url" : "https://jx.parwix.com:4433/player/?url=" }], "flags" : [ "youku", diff --git a/js/8号影院.js b/js/8号影院.js index 7f7fc9c3..2378991a 100644 --- a/js/8号影院.js +++ b/js/8号影院.js @@ -3,7 +3,7 @@ title:'8号影院', host:'http://www.8hysw.com', // homeUrl:'/', url:'/frim/fyclass-fypage.html', - searchUrl:'/search.php', + searchUrl:'/search.php?page=fypage&searchword=**&searchtype=', searchable:2,//是否启用全局搜索, quickSearch:0,//是否启用快速搜索, filterable:0,//是否启用分类筛选, @@ -16,7 +16,7 @@ tab_exclude:'本周热门|最近更新', 推荐:'.stui-pannel_bd;.stui-vodlist li;h4&&Text;.lazyload&&data-original;.text-right&&Text;a&&href', double:true, // 推荐内容是否双层定位 一级:'.stui-vodlist.clearfix&&li;a&&title;.lazyload&&data-original;.text-right&&Text;a&&href', -二级:{"title":"h1&&Text;.stui-content__detail&&Text","img":".lazyload&&data-original","desc":".data:eq(0)&&Text;.data:eq(1)&&Text;.data:eq(2)&&Text;.data:eq(3)&&Text","content":".desc&&Text","tabs":".stui-pannel__head.bottom-line.active.clearfix h3","lists":".stui-content__playlist:eq(#id) li"}, -搜索:'*', +二级:{"title":"h1&&Text;.stui-content__detail&&p&&Text","img":".lazyload&&data-original","desc":".data:eq(0)&&Text;.data:eq(1)&&Text;.data:eq(2)&&Text;.data:eq(3)&&Text","content":".desc&&Text","tabs":".stui-pannel__head.bottom-line h3","lists":".stui-content__playlist:eq(#id) li"}, + 搜索:muban.首图2.搜索2, } \ No newline at end of file diff --git a/js/KUBO影视[飞].js b/js/KUBO影视[飞].js new file mode 100644 index 00000000..fa644a15 --- /dev/null +++ b/js/KUBO影视[飞].js @@ -0,0 +1,25 @@ +var rule = { + title:'KUBO影视', + host:'https://123kubo.tv', + // homeUrl:'/', + url:'/show/fyclass/page/fypage.html', + searchUrl:'/search/page/fypage/wd/**.html', + searchable:2,//是否启用全局搜索, + quickSearch:0,//是否启用快速搜索, + filterable:0,//是否启用分类筛选, + headers:{//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent':'MOBILE_UA', + // "Cookie": "searchneed=ok" + }, + class_name:'电影&电视剧&综艺&动漫', + class_url:'1&2&3&4', + //class_parse:'.myui-panel-box&&ul&&li;a&&Text;a&&href;/v/(.*)/', + play_parse:true, + lazy:'', + limit:6, + 推荐:'ul.hl-vod-list;li;a&&title;.hl-item-thumb.hl-lazy&&data-original;.hl-pic-text&&Text;a&&href', + double:true, // 推荐内容是否双层定位 + 一级:'.hl-list-item;a&&title;.hl-item-thumb.hl-lazy&&data-original;.hl-pic-text&&Text;a&&href', + 二级:{"title":".hl-item-thumb.hl-lazy&&title;.hl-full-box&&ul li:eq(6)&&Text","img":".hl-item-thumb.hl-lazy&&data-original","desc":".hl-full-box&&ul&&li:eq(1)&&Text;.hl-full-box&&ul&&li:eq(2)&&Text;.hl-full-box&&ul&&li:eq(3)&&Text","content":".hl-col-xs-12.blurb&&Text","tabs":".hl-plays-from:eq(0) a","lists":".hl-plays-list:eq(#id) li"}, + 搜索:'.hl-item-div;a&&title;.hl-item-thumb&&data-original;.hl-lc-1&&Text;a&&href;.text-muted:eq(-1)&&Text', +} diff --git a/js/cokemv.js b/js/cokemv.js index 1f4a3d2d..9f86fcec 100644 --- a/js/cokemv.js +++ b/js/cokemv.js @@ -1,5 +1,6 @@ -var rule = Object.assign(muban.mxpro,{ +var rule = { title:'cokemv', +模板:'mxpro', host:'https://cokemv.me', class_parse:'.navbar-items li:gt(1):lt(7);a&&Text;a&&href;/(\\d+).html', -}); \ No newline at end of file +} \ No newline at end of file diff --git a/js/唐人街影视.js b/js/唐人街影视.js new file mode 100644 index 00000000..c1c5c50c --- /dev/null +++ b/js/唐人街影视.js @@ -0,0 +1,24 @@ +var rule={ + title:'唐人街影视', + host:'https://www.tangrenjie.tv', + url:'/vod/show/id/fyclass/page/fypage.html', + searchUrl:'/vod/search/page/fypage/wd/**.html', + searchable:2,//是否启用全局搜索, + quickSearch:0,//是否启用快速搜索, + filterable:0,//是否启用分类筛选, + headers:{ + 'User-Agent':'UC_UA', + }, + // class_parse:'.fed-pops-navbar&&ul.fed-part-rows&&a.fed-part-eone:gt(0):lt(5);a&&Text;a&&href;.*/(.*?).html', + //class_parse:'.top_nav&&ul li:gt(0):lt(25);a&&Text;a&&href;.*/(.*?).html', + class_name:'电影&电视剧&综艺&动漫', + class_url:'1&2&3&4', + play_parse:true, + lazy:'', + limit:6, + 推荐:'ul.vodlist.vodlist_wi;li;a&&title;a&&data-original;.pic_text.text_right&&Text;a&&href', + double:true, // 推荐内容是否双层定位 + 一级:'li.vodlist_item;a&&title;a&&data-original;.pic_text.text_right&&Text;a&&href', + 二级:{"title":"h2&&Text;.content_detail.content_min.fl .data_style&&Text","img":".content_thumb .vodlist_thumb&&data-original","desc":".content_detail.content_min.fl li:eq(0)&&Text;.content_detail.content_min.fl li:eq(2)&&Text;.content_detail.content_min.fl li:eq(3)&&Text","content":".content&&Text","tabs":".play_source_tab:eq(0) a","lists":".content_playlist:eq(#id) li"}, + 搜索:'body .searchlist_item;a&&title;.vodlist_thumb&&data-original;.pic_text.text_right&&Text;a&&href;.vodlist_sub&&Text', +} diff --git a/js/完美看看.js b/js/完美看看.js index c8211ceb..a2de524a 100644 --- a/js/完美看看.js +++ b/js/完美看看.js @@ -2,9 +2,8 @@ muban.首图2.二级.tabs = '.stui-pannel__head&&h3'; var rule = Object.assign(muban.首图2,{ title:'完美看看', host:'https://www.wanmeikk.film', +class_parse:'.dropdown&&li;a&&Text;a&&href;.*/(.*?).html', +cate_exclude:'消息|专题', url:'/category/fyclass-fypage.html', -searchUrl:'/vodsearch/**-------------.html', -class_name:'电影&美剧&韩剧&日剧&国产剧&动漫',//静态分类名称拼接 -class_url:'1&2&3&4&5&6',//静态分类标识拼接 -class_parse:'', -}); +searchUrl:'/so/-------------.html?wd=**&submit=', +}); \ No newline at end of file diff --git a/js/尘落影视.js b/js/尘落影视.js index 551ccd53..d8ec9102 100644 --- a/js/尘落影视.js +++ b/js/尘落影视.js @@ -1,23 +1,23 @@ -var rule={ - title:'尘落影视', - host:'http://v.ftixkrv.cn', - url:'/whole/fyclass_______0_addtime_fypage.html', - searchUrl:'/?c=search&wd=**&sort=addtime&order=desc&page=fypage', - searchable:2,//是否启用全局搜索, - quickSearch:0,//是否启用快速搜索, - filterable:0,//是否启用分类筛选, - headers:{//网站的请求头,完整支持所有的,常带ua和cookies - 'User-Agent':'PC_UA', - // "Cookie": "searchneed=ok" - }, - class_name:'电影&电视剧&综艺&动漫', - class_url:'1&2&4&3', - cate_exclude:'全网资源', - play_parse:true, - lazy:'', - limit:6, - 推荐:'.movie-item-in;a&&title;img&&src;em&&Text;a&&href', - 一级:'.movie-item-in;a&&title;img&&src;em&&Text;a&&href', - 二级:{"title":"h1&&Text;.table-striped tr:eq(2)&&Text","img":".img-thumbnail&&src","desc":";;.table-striped tr:eq(3)&&Text;.table-striped tr:eq(1)&&Text;.table-striped tr:eq(0)&&Text","content":".movie-introduce&&Text","tabs":".nav.nav-tabs li a","lists":".tab-pane.active:eq(#id) div a"}, - 搜索:'.movie-item-in;a&&title;img&&src;em&&Text;a&&href', +var rule={ + title:'尘落影视', + host:'http://v.ftixkrv.cn', + url:'/whole/fyclass_______0_addtime_fypage.html', + searchUrl:'/?c=search&wd=**&sort=addtime&order=desc&page=fypage', + searchable:2,//是否启用全局搜索, + quickSearch:0,//是否启用快速搜索, + filterable:0,//是否启用分类筛选, + headers:{//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent':'PC_UA', + // "Cookie": "searchneed=ok" + }, + class_name:'电影&电视剧&综艺&动漫', + class_url:'1&2&4&3', + cate_exclude:'全网资源', + play_parse:true, + lazy:'', + limit:6, + 推荐:'.movie-item-in;a&&title;img&&src;em&&Text;a&&href', + 一级:'.movie-item-in;a&&title;img&&src;em&&Text;a&&href', + 二级:{"title":"h1&&Text;.table-striped tr:eq(2)&&Text","img":".img-thumbnail&&src","desc":";;.table-striped tr:eq(3)&&Text;.table-striped tr:eq(1)&&Text;.table-striped tr:eq(0)&&Text","content":".movie-introduce&&Text","tabs":".nav.nav-tabs li a","lists":".tab-pane.active:eq(#id) div a"}, + 搜索:'.movie-item-in;a&&title;img&&src;em&&Text;a&&href', } \ No newline at end of file diff --git a/js/抓饭体育.js b/js/抓饭体育.js index aefc262a..ea8785b2 100644 --- a/js/抓饭体育.js +++ b/js/抓饭体育.js @@ -1,29 +1,29 @@ -// 道长 drpy仓库 https://gitcode.net/qq_32394351/dr_py -// drpy安卓本地搭建说明 https://gitcode.net/qq_32394351/dr_py/-/blob/master/%E5%AE%89%E5%8D%93%E6%9C%AC%E5%9C%B0%E6%90%AD%E5%BB%BA%E8%AF%B4%E6%98%8E.md -// Pluto Player官方TG https://t.me/PlutoPlayer -// Pluto Player官方TG https://t.me/PlutoPlayerChannel - -var rule = { - title:'抓饭体育', - host:'https://www.zhuafan.tech', - url:'/sports-home/category/fyclass', - class_name:'全部&足球&篮球&羽乒&台球&棒球&户外&搏击&综合&棋盘&电竞&网球&排球&聊天&原声', - class_url:'all&Football&Basketball&Badminton&Billiards&Baseball&Outdoors&Wrestling&Others&Boardgame&Popular&Tennis&Volleyball&Chat&Acoustic', - homeUrl:'/sports-home/category/all',//网站的首页链接,用于分类获取和推荐获取 - detailUrl:'https://m.zhuafan.tech/fyid',//二级详情拼接链接(json格式用) - searchUrl:'/live-search/search/query/data?keyword=**&page=fypage&num=&searchType=all&uid=null&from=pc', - searchable:2, - quickSearch:0, - headers:{ - 'User-Agent':'PC_UA' - }, - limit:6, - timeout:5000, - play_parse:true, - lazy:'', - double:false, - 推荐:'*', - 一级:'json:data;cname;imageUrl;uname;id', - 二级:'*', - 搜索:'json:cObj.cList;*;*;*;_id', +// 道长 drpy仓库 https://gitcode.net/qq_32394351/dr_py +// drpy安卓本地搭建说明 https://gitcode.net/qq_32394351/dr_py/-/blob/master/%E5%AE%89%E5%8D%93%E6%9C%AC%E5%9C%B0%E6%90%AD%E5%BB%BA%E8%AF%B4%E6%98%8E.md +// Pluto Player官方TG https://t.me/PlutoPlayer +// Pluto Player官方TG https://t.me/PlutoPlayerChannel + +var rule = { + title:'抓饭体育', + host:'https://www.zhuafan.tech', + url:'/sports-home/category/fyclass', + class_name:'全部&足球&篮球&羽乒&台球&棒球&户外&搏击&综合&棋盘&电竞&网球&排球&聊天&原声', + class_url:'all&Football&Basketball&Badminton&Billiards&Baseball&Outdoors&Wrestling&Others&Boardgame&Popular&Tennis&Volleyball&Chat&Acoustic', + homeUrl:'/sports-home/category/all',//网站的首页链接,用于分类获取和推荐获取 + detailUrl:'https://m.zhuafan.tech/fyid',//二级详情拼接链接(json格式用) + searchUrl:'/live-search/search/query/data?keyword=**&page=fypage&num=&searchType=all&uid=null&from=pc', + searchable:2, + quickSearch:0, + headers:{ + 'User-Agent':'PC_UA' + }, + limit:6, + timeout:5000, + play_parse:true, + lazy:'', + double:false, + 推荐:'*', + 一级:'json:data;cname;imageUrl;uname;id', + 二级:'*', + 搜索:'json:cObj.cList;*;*;*;_id', } \ No newline at end of file diff --git a/js/斗鱼直播.js b/js/斗鱼直播.js index f35925a8..745a312c 100644 --- a/js/斗鱼直播.js +++ b/js/斗鱼直播.js @@ -1,29 +1,29 @@ -// 道长 drpy仓库 https://gitcode.net/qq_32394351/dr_py -// drpy安卓本地搭建说明 https://gitcode.net/qq_32394351/dr_py/-/blob/master/%E5%AE%89%E5%8D%93%E6%9C%AC%E5%9C%B0%E6%90%AD%E5%BB%BA%E8%AF%B4%E6%98%8E.md -// Pluto Player官方TG https://t.me/PlutoPlayer -// Pluto Player官方TG https://t.me/PlutoPlayerChannel - -var rule = { - title:'斗鱼直播', - host:'https://www.douyu.com', - homeUrl:'/japi/weblist/apinc/recLabelList?',//网站的首页链接,用于分类获取和推荐获取 - url:'/gapi/rkc/directory/mixList/fyclass/fypage', - class_name:'一起看&网游竞技&单机热游&手游休闲&娱乐天地&科技文化&语音互动&语音直播&正能量&颜值&音乐&舞蹈&二次元&户外&美食&互动交友&趣生活&数码科技&文化&科普&社会人文&汽车&纪录片&斗鱼购物&交友&电台&一起玩&音乐之声&正能量&英雄联盟&热门游戏&DOTA2&穿越火线&CFHD&DNF&炉石传说&CS:GO&逆战&lol云顶之弈&魔兽争霸&魔兽怀旧服&网易游戏&守望先锋&DOTA&魔兽世界&天涯明月刀&三国杀&主机游戏&永劫无间&生死狙击2&迷失ARK&艾尔登法环&逃离塔科夫&V Rising&海上狼人杀&怀旧游戏&王者荣耀&和平精英&火影忍者&LOL手游&金铲铲之战&重返帝国&COD手游&哈利波特:魔法觉醒&CF手游&欢乐斗地主&原神&天刀手游&棋牌娱乐&欢乐麻将&新游中心&QQ飞车&阴阳师&热门手游', - class_url:'2_208&1_1&1_15&1_9&1_2&1_11&1_20&1_18&1_13&2_201&2_175&2_1008&2_174&2_124&2_194&2_1555&2_1097&2_134&2_195&2_204&2_1162&2_136&2_514&2_1203&2_1221&2_1556&2_1575&2_910&2_250&2_1&2_270&2_3&2_33&2_1997&2_40&2_2&2_6&2_46&2_917&2_55&2_1055&2_3567&2_148&2_217&2_5&2_59&2_14&2_19&2_1227&2_1781&2_3528&2_3406&2_1024&2_3684&2_3556&2_26&2_181&2_350&2_196&2_1920&2_2556&2_2915&2_767&2_1192&2_178&2_416&2_1223&2_911&2_113&2_451&2_229&2_331&2_240&2_30', - detailUrl:'/fyid',//二级详情拼接链接(json格式用) - searchUrl:'/japi/search/api/searchShow?kw=**&page=fypage&pageSize=20', - searchable:2, - quickSearch:0, - headers:{ - 'User-Agent':'PC_UA' - }, - timeout:5000, - limit:8, - play_parse:true, - lazy:'', - double:true, - 推荐:'json:data.list;room;*;cover;*;*', - 一级:'json:data.rl;rn;rs16;nn;rid', - 二级:'*', - 搜索:'json:data.relateShow;roomName;roomSrc;nickName;*', +// 道长 drpy仓库 https://gitcode.net/qq_32394351/dr_py +// drpy安卓本地搭建说明 https://gitcode.net/qq_32394351/dr_py/-/blob/master/%E5%AE%89%E5%8D%93%E6%9C%AC%E5%9C%B0%E6%90%AD%E5%BB%BA%E8%AF%B4%E6%98%8E.md +// Pluto Player官方TG https://t.me/PlutoPlayer +// Pluto Player官方TG https://t.me/PlutoPlayerChannel + +var rule = { + title:'斗鱼直播', + host:'https://www.douyu.com', + homeUrl:'/japi/weblist/apinc/recLabelList?',//网站的首页链接,用于分类获取和推荐获取 + url:'/gapi/rkc/directory/mixList/fyclass/fypage', + class_name:'一起看&网游竞技&单机热游&手游休闲&娱乐天地&科技文化&语音互动&语音直播&正能量&颜值&音乐&舞蹈&二次元&户外&美食&互动交友&趣生活&数码科技&文化&科普&社会人文&汽车&纪录片&斗鱼购物&交友&电台&一起玩&音乐之声&正能量&英雄联盟&热门游戏&DOTA2&穿越火线&CFHD&DNF&炉石传说&CS:GO&逆战&lol云顶之弈&魔兽争霸&魔兽怀旧服&网易游戏&守望先锋&DOTA&魔兽世界&天涯明月刀&三国杀&主机游戏&永劫无间&生死狙击2&迷失ARK&艾尔登法环&逃离塔科夫&V Rising&海上狼人杀&怀旧游戏&王者荣耀&和平精英&火影忍者&LOL手游&金铲铲之战&重返帝国&COD手游&哈利波特:魔法觉醒&CF手游&欢乐斗地主&原神&天刀手游&棋牌娱乐&欢乐麻将&新游中心&QQ飞车&阴阳师&热门手游', + class_url:'2_208&1_1&1_15&1_9&1_2&1_11&1_20&1_18&1_13&2_201&2_175&2_1008&2_174&2_124&2_194&2_1555&2_1097&2_134&2_195&2_204&2_1162&2_136&2_514&2_1203&2_1221&2_1556&2_1575&2_910&2_250&2_1&2_270&2_3&2_33&2_1997&2_40&2_2&2_6&2_46&2_917&2_55&2_1055&2_3567&2_148&2_217&2_5&2_59&2_14&2_19&2_1227&2_1781&2_3528&2_3406&2_1024&2_3684&2_3556&2_26&2_181&2_350&2_196&2_1920&2_2556&2_2915&2_767&2_1192&2_178&2_416&2_1223&2_911&2_113&2_451&2_229&2_331&2_240&2_30', + detailUrl:'/fyid',//二级详情拼接链接(json格式用) + searchUrl:'/japi/search/api/searchShow?kw=**&page=fypage&pageSize=20', + searchable:2, + quickSearch:0, + headers:{ + 'User-Agent':'PC_UA' + }, + timeout:5000, + limit:8, + play_parse:true, + lazy:'', + double:true, + 推荐:'json:data.list;room;*;cover;*;*', + 一级:'json:data.rl;rn;rs16;nn;rid', + 二级:'*', + 搜索:'json:data.relateShow;roomName;roomSrc;nickName;*', } \ No newline at end of file diff --git a/js/爱迪影视.js b/js/爱迪影视.js index 3a71dffd..cb300567 100644 --- a/js/爱迪影视.js +++ b/js/爱迪影视.js @@ -1,19 +1,19 @@ -var rule={ - title:'爱迪影视', - host:'https://aidi.tv', - url:'/show/fyclass--------fypage---.html', - searchUrl:'/vsearch/-------------.html?wd=**&submit=', - searchable:2, - quickSearch:0, - filterable:0, - headers:{ 'User-Agent':'MOBILE_UA', }, - class_name:'电影&电视剧&综艺&动漫', - class_url:'dianying&lianxuju&zongyi&dongman', - tab_exclude:'app专用|VIP线路', - play_parse:true, - double:true, - 推荐:'body .vodlist.vodlist_wi;li;a&&title;.vodlist_thumb.lazyload&&data-original;.pic-text&&Text;a&&href', - 一级:'.vodlist.vodlist_wi&&li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href', - 二级:{"title":"h2&&Text;.data:eq(1)&&Text","img":".lazyload&&data-original","desc":";.content_min li:eq(1)&&Text;;.content_min li:eq(2)&&Text;.content_min li:eq(3)&&Text;.data:eq(4)&&Text","content":".context.clearfix&&Text","tabs":".play_source_tab&&a","lists":".content_playlist:eq(#id) li"}, - 搜索:'.searchlist_img;a&&title;.vodlist_thumb.lazyload&&data-original;.pic-text&&Text;a&&href', +var rule={ + title:'爱迪影视', + host:'https://aidi.tv', + url:'/show/fyclass--------fypage---.html', + searchUrl:'/vsearch/-------------.html?wd=**&submit=', + searchable:2, + quickSearch:0, + filterable:0, + headers:{ 'User-Agent':'MOBILE_UA', }, + class_name:'电影&电视剧&综艺&动漫', + class_url:'dianying&lianxuju&zongyi&dongman', + tab_exclude:'app专用|VIP线路', + play_parse:true, + double:true, + 推荐:'body .vodlist.vodlist_wi;li;a&&title;.vodlist_thumb.lazyload&&data-original;.pic-text&&Text;a&&href', + 一级:'.vodlist.vodlist_wi&&li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href', + 二级:{"title":"h2&&Text;.data:eq(1)&&Text","img":".lazyload&&data-original","desc":";.content_min li:eq(1)&&Text;;.content_min li:eq(2)&&Text;.content_min li:eq(3)&&Text;.data:eq(4)&&Text","content":".context.clearfix&&Text","tabs":".play_source_tab&&a","lists":".content_playlist:eq(#id) li"}, + 搜索:'.searchlist_img;a&&title;.vodlist_thumb.lazyload&&data-original;.pic-text&&Text;a&&href', } \ No newline at end of file diff --git a/js/蛋蛋赞.js b/js/蛋蛋赞.js index 02690529..e98ce3a2 100644 --- a/js/蛋蛋赞.js +++ b/js/蛋蛋赞.js @@ -3,7 +3,7 @@ var rule={ host:'https://www.dandanzan10.top', // homeUrl:'/', url:'/fyclass/index_fypage.html[/fyclass/index.html]', - //searchUrl:'/search/**/', + searchUrl:'/so/**-**--.html', searchable:2,//是否启用全局搜索, quickSearch:0,//是否启用快速搜索, filterable:0,//是否启用分类筛选, @@ -20,5 +20,5 @@ var rule={ double:true, // 推荐内容是否双层定位 二级:{"title":"h1&&Text;.product-excerpt:eq(2)&&Text","img":".thumb&&src","desc":";;.product-excerpt:eq(3)&&Text;.product-excerpt:eq(1)&&Text;.product-excerpt:eq(0)&&Text","content":".product-excerpt:eq(5)&&Text","tabs":".playlists dl dt","lists":".play-div-oa:eq(#id) li"}, - 搜索:'ul.img-list.clearfix&&li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href', + 搜索:'.lists-content&&ul&&li;*;*;*;*', } \ No newline at end of file diff --git a/lib/drpy.min.js b/lib/drpy.min.js index b8e48a48..06cbab3c 100644 --- a/lib/drpy.min.js +++ b/lib/drpy.min.js @@ -1 +1 @@ -import cheerio from"assets://js/lib/cheerio.min.js";import"assets://js/lib/crypto-js.js";import"assets://js/lib/drT.js";function init_test(){console.log("init_test_start");console.log(RKEY);console.log(JSON.stringify(rule));console.log("init_test_end")}let rule={};const MOBILE_UA="Mozilla/5.0 (Linux; Android 11; M2007J3SC Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045714 Mobile Safari/537.36";const PC_UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36";const UA="Mozilla/5.0";const UC_UA="Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.5.5.1035 Mobile Safari/537.36";const IOS_UA="Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1";const RULE_CK="cookie";const CATE_EXCLUDE="首页|留言|APP|下载|资讯|新闻|动态";const TAB_EXCLUDE="猜你|喜欢|APP|下载|剧情|热播";const OCR_RETRY=3;const OCR_API="http://cms.nokia.press/parse/ocr";if(typeof MY_URL==="undefined"){var MY_URL}var RKEY;var fetch;var print;var log;var rule_fetch_params;var fetch_params;var oheaders;var _pdfh;var _pdfa;var _pd;const DOM_CHECK_ATTR=/(url|src|href|data-original|data-src)$/;const SELECT_REGEX=/:eq|:lt|:gt|#/g;const SELECT_REGEX_A=/:eq|:lt|:gt/g;if(typeof Object.assign!="function"){Object.assign=function(){var target=arguments[0];for(var i=1;ithis.length){return false}else{return this.indexOf(search,start)!==-1}}}if(!Array.prototype.includes){Object.defineProperty(Array.prototype,"includes",{value:function(searchElement,fromIndex){if(this==null){throw new TypeError('"this" is null or not defined')}var o=Object(this);var len=o.length>>>0;if(len===0){return false}var n=fromIndex|0;var k=Math.max(n>=0?n:len-Math.abs(n),0);while(k-1){let sp=parse.split("&&");option=sp[sp.length-1];sp.splice(sp.length-1);if(sp.length>1){for(let i in sp){if(!SELECT_REGEX.test(sp[i])){sp[i]=sp[i]+":eq(0)"}}}else{if(!SELECT_REGEX.test(sp[0])){sp[0]=sp[0]+":eq(0)"}}parse=sp.join(" ")}let result="";const $=eleFind?html.rr:cheerio.load(html);let ret=eleFind?parse==="*=*"||$(html.ele).is(parse)?html.ele:$(html.ele).find(parse):$(parse);if(option){if(option==="Text"){result=$(ret).text()}else if(option==="Html"){result=$(ret).html()}else{result=$(ret).attr(option);if(/style/.test(option.toLowerCase())&&/url\(/.test(result)){try{result=result.match(/url\((.*?)\)/)[1]}catch(e){}}}if(result&&base_url&&DOM_CHECK_ATTR.test(option)){if(/http/.test(result)){result=result.substr(result.indexOf("http"))}else{result=urljoin(base_url,result)}}}else{result=$(ret).toString()}return result},pdfa(html,parse){if(!parse||!parse.trim()){return[]}let eleFind=typeof html==="object";if(parse.indexOf("&&")>-1){let sp=parse.split("&&");for(let i in sp){if(!SELECT_REGEX_A.test(sp[i])&&i=OCR_RETRY){cookie=""}}catch(e){console.log(`第${cnt+1}次验证码提交失败:${e.message}`);if(cnt+1>=OCR_RETRY){cookie=""}}cnt+=1}return cookie}function setItem(k,v){local.set(RKEY,k,v);console.log(`规则${RKEY}设置${k} => ${v}`)}function getItem(k,v){return local.get(RKEY,k)||v}function clearItem(k){local.delete(RKEY,k)}function getHome(url){if(!url){return""}let tmp=url.split("//");url=tmp[0]+"//"+tmp[1].split("/")[0];try{url=decodeURIComponent(url)}catch(e){}return url}function buildUrl(url,obj){obj=obj||{};if(url.indexOf("?")<0){url+="?"}let param_list=[];let keys=Object.keys(obj);keys.forEach(it=>{param_list.push(it+"="+obj[it])});let prs=param_list.join("&");if(keys.length>0&&!url.endsWith("?")){url+="&"}url+=prs;return url}function require(url){eval(request(url))}function request(url,obj,ocr_flag){ocr_flag=ocr_flag||false;if(typeof obj==="undefined"||!obj||obj==={}){if(!fetch_params||!fetch_params.headers){let headers={"User-Agent":MOBILE_UA};if(rule.headers){Object.assign(headers,rule.headers)}fetch_params.headers=headers}if(!fetch_params.headers.Referer){fetch_params.headers.Referer=getHome(url)}obj=fetch_params}else{let headers=obj.headers||{};let keys=Object.keys(headers).map(it=>it.toLowerCase());if(!keys.includes("user-agent")){headers["User-Agent"]=MOBILE_UA}if(!keys.includes("referer")){headers["Referer"]=getHome(url)}obj.headers=headers}if(rule.encoding&&rule.encoding!=="utf-8"&&!ocr_flag){if(!obj.headers.hasOwnProperty("Content-Type")){obj.headers["Content-Type"]="text/html; charset="+rule.encoding}}if(typeof obj.headers.body!="undefined"&&obj.headers.body&&typeof obj.headers.body==="string"){let data={};obj.headers.body.split("&").forEach(it=>{data[it.split("=")[0]]=it.split("=")[1]});obj.data=data;delete obj.headers.body}if(!url){return obj.withHeaders?"{}":""}if(obj.toBase64){obj.buffer=2;delete obj.toBase64}console.log(JSON.stringify(obj.headers));console.log("request:"+url);let res=req(url,obj);let html=res.content||"";if(obj.withHeaders){let htmlWithHeaders=res.headers;htmlWithHeaders.body=html;return JSON.stringify(htmlWithHeaders)}else{return html}}fetch=request;print=function(data){data=data||"";if(typeof data!=="string"){try{data=JSON.stringify(data)}catch(e){console.log("print:"+e.message)}}console.log(data)};log=print;function checkHtml(html,url,obj){if(/\?btwaf=/.test(html)){let btwaf=html.match(/btwaf(.*?)"/)[1];url=url.split("#")[0]+"?btwaf"+btwaf;html=request(url,obj)}return html}function getCode(url,obj){let html=request(url,obj);html=checkHtml(html,url,obj);return html}function getHtml(url){let obj={};if(rule.headers){obj.headers=rule.headers}let cookie=getItem(RULE_CK,"");if(cookie){if(obj.headers&&!Object.keys(obj.headers).map(it=>it.toLowerCase()).includes("cookie")){obj.headers["Cookie"]=cookie}else if(!obj.headers){obj.headers={Cookie:cookie}}}let html=getCode(url,obj);return html}function homeParse(homeObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let classes=[];if(homeObj.class_name&&homeObj.class_url){let names=homeObj.class_name.split("&");let urls=homeObj.class_url.split("&");let cnt=Math.min(names.length,urls.length);for(let i=0;i=3){try{let html=getHtml(homeObj.MY_URL);if(html){homeHtmlCache=html;let list=_pdfa(html,p[0]);if(list&&list.length>0){list.forEach((it,idex)=>{try{let name=_pdfh(it,p[1]);if(homeObj.cate_exclude&&new RegExp(homeObj.cate_exclude).test(name)){return}let url=_pd(it,p[2]);if(p.length>3&&p[3]){let exp=new RegExp(p[3]);url=url.match(exp)[1]}classes.push({type_id:url.trim(),type_name:name.trim()})}catch(e){console.log(`分类列表定位第${idex}个元素正常报错:${e.message}`)}})}}}catch(e){console.log(e.message)}}}classes=classes.filter(it=>!homeObj.cate_exclude||!new RegExp(homeObj.cate_exclude).test(it.type_name));let resp={class:classes};if(homeObj.filter){resp.filters=homeObj.filter}console.log(JSON.stringify(resp));return JSON.stringify(resp)}function getPP(p,pn,pp,ppn){let ps=p[pn]==="*"&&pp.length>ppn?pp[ppn]:p[pn];return ps}function homeVodParse(homeVodObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];MY_URL=homeVodObj.homeUrl;console.log(MY_URL);let p=homeVodObj.推荐;if(p==="*"&&rule.一级){p=rule.一级;homeVodObj.double=false}if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级.split(";");if(p.startsWith("js:")){const TYPE="home";var input=MY_URL;const HOST=rule.host;eval(p.replace("js:",""));d=VODS}else{p=p.split(";");if(!homeVodObj.double&&p.length<5){return"{}"}else if(homeVodObj.double&&p.length<6){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");let html=homeHtmlCache||getHtml(MY_URL);homeHtmlCache=undefined;if(is_json){html=dealJson(html)}try{console.log("double:"+homeVodObj.double);if(homeVodObj.double){let items=_pdfa(html,p0);for(let item of items){let items2=_pdfa(item,p[1]);for(let item2 of items2){try{let p2=getPP(p,2,pp,1);let title=_pdfh(item2,p2);let img="";try{let p3=getPP(p,3,pp,2);img=_pd(item2,p3)}catch(e){}let desc="";try{let p4=getPP(p,4,pp,3);desc=_pdfh(item2,p4)}catch(e){}let p5=getPP(p,5,pp,4);let links=[];for(let _p5 of p5.split("+")){let link=!homeVodObj.detailUrl?_pd(item2,_p5,MY_URL):_pdfh(item2,_p5);links.push(link)}let content;if(p.length>6&&p[6]){let p6=getPP(p,6,pp,5);content=_pdfh(item2,p6)}else{content=""}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:links.join("$")};d.push(vod)}catch(e){console.log("首页列表处理发生错误:"+e.message)}}}}else{let items=_pdfa(html,p0);for(let item of items){try{let p1=getPP(p,1,pp,1);let title=_pdfh(item,p1);let img="";try{let p2=getPP(p,2,pp,2);img=_pd(item,p2,MY_URL)}catch(e){}let desc="";try{let p3=getPP(p,3,pp,3);desc=_pdfh(item,p3)}catch(e){}let p4=getPP(p,4,pp,4);let links=[];for(let _p5 of p4.split("+")){let link=!homeVodObj.detailUrl?_pd(item,_p5,MY_URL):_pdfh(item,_p5);links.push(link)}let content;if(p.length>5&&p[5]){let p5=getPP(p,5,pp,5);content=_pdfh(item,p5)}else{content=""}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:links.join("$")};d.push(vod)}catch(e){}}}}catch(e){}}return JSON.stringify({list:d})}function categoryParse(cateObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let p=cateObj.一级;if(!p||typeof p!=="string"){return"{}"}let d=[];let url=cateObj.url.replaceAll("fyclass",cateObj.tid);if(rule.filter_url){if(!/fyfilter/.test(url)){if(!url.endsWith("&")&&!rule.filter_url.startsWith("&")){url+="&"}url+=rule.filter_url}else{url=url.replace("fyfilter",rule.filter_url)}let fl=cateObj.filter?cateObj.extend:{};let new_url;new_url=cheerio.jinja2(url,{fl:fl});if(/object Object/.test(new_url)){new_url=drT.renderText(url,fl)}url=new_url}if(/fypage/.test(url)){if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1];let cnt_page=url_rep.replaceAll("fypage",cateObj.pg);let cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else{url=url.replaceAll("fypage",cateObj.pg)}}if(cateObj.pg===1&&url.includes("[")&&url.includes("]")){url=url.split("[")[1].split("]")[0]}else if(cateObj.pg>1&&url.includes("[")&&url.includes("]")){url=url.split("[")[0]}MY_URL=url;console.log(MY_URL);p=p.trim();const MY_CATE=cateObj.tid;if(p.startsWith("js:")){var MY_FL=cateObj.extend;const TYPE="cate";var input=MY_URL;const MY_PAGE=cateObj.pg;var desc="";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let _ps=parseTags.getParse(p[0]);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p[0].startsWith("json:");p[0]=p[0].replace(/^(jsp:|json:|jq:)/,"");try{let html=getHtml(MY_URL);if(html){if(is_json){html=dealJson(html)}let list=_pdfa(html,p[0]);list.forEach(it=>{let links=p[4].split("+").map(p4=>{return!rule.detailUrl?_pd(it,p4,MY_URL):_pdfh(it,p4)});let link=links.join("$");let vod_id=rule.detailUrl?MY_CATE+"$"+link:link;d.push({vod_id:vod_id,vod_name:_pdfh(it,p[1]).replace(/\n|\t/g,"").trim(),vod_pic:_pd(it,p[2],MY_URL),vod_remarks:_pdfh(it,p[3]).replace(/\n|\t/g,"").trim()})})}}catch(e){console.log(e.message)}}return d.length<1?"{}":JSON.stringify({page:parseInt(cateObj.pg),pagecount:999,limit:20,total:999,list:d})}function searchParse(searchObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];if(!searchObj.searchUrl){return"{}"}let p=searchObj.搜索==="*"&&rule.一级?rule.一级:searchObj.搜索;if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级.split(";");let url=searchObj.searchUrl.replaceAll("**",searchObj.wd).replaceAll("fypage",searchObj.pg);MY_URL=url;console.log(MY_URL);if(p.startsWith("js:")){const TYPE="search";const MY_PAGE=searchObj.pg;const KEY=searchObj.wd;var input=MY_URL;var detailUrl=rule.detailUrl||"";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");try{let html=getHtml(MY_URL);if(html){if(/系统安全验证|输入验证码/.test(html)){let cookie=verifyCode(MY_URL);if(cookie){console.log(`本次成功过验证,cookie:${cookie}`);setItem(RULE_CK,cookie)}else{console.log(`本次自动过搜索验证失败,cookie:${cookie}`)}html=getHtml(MY_URL)}if(!html.includes(searchObj.wd)){console.log("搜索结果源码未包含关键字,疑似搜索失败,正为您打印结果源码");console.log(html)}if(is_json){html=dealJson(html)}let list=_pdfa(html,p0);list.forEach(it=>{let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let links=p4.split("+").map(_p4=>{return!rule.detailUrl?_pd(it,_p4,MY_URL):_pdfh(it,_p4)});let link=links.join("$");let content;if(p.length>5&&p[5]){let p5=getPP(p,5,pp,5);content=_pdfh(item,p5)}else{content=""}let ob={vod_id:link,vod_name:_pdfh(it,p1).replace(/\n|\t/g,"").trim(),vod_pic:_pd(it,p2,MY_URL),vod_remarks:_pdfh(it,p3).replace(/\n|\t/g,"").trim(),vod_content:content.replace(/\n|\t/g,"").trim()};d.push(ob)})}}catch(e){return"{}"}}return JSON.stringify({page:parseInt(searchObj.pg),pagecount:10,limit:20,total:100,list:d})}function detailParse(detailObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let vod={vod_id:detailObj.orId,vod_name:"片名",vod_pic:"",type_name:"剧情",vod_year:"年份",vod_area:"地区",vod_remarks:"更新信息",vod_actor:"主演",vod_director:"导演",vod_content:"简介"};let p=detailObj.二级;let url=detailObj.url;let detailUrl=detailObj.detailUrl;let fyclass=detailObj.fyclass;let tab_exclude=detailObj.tab_exclude;let html=detailObj.html||"";MY_URL=url;console.log(MY_URL);if(p==="*"){vod.vod_play_from="道长在线";vod.vod_remarks=detailUrl;vod.vod_actor="没有二级,只有一级链接直接嗅探播放";vod.vod_content=MY_URL;vod.vod_play_url="嗅探播放$"+MY_URL}else if(typeof p==="string"&&p.trim().startsWith("js:")){const TYPE="detail";var input=MY_URL;eval(p.trim().replace("js:",""));vod=VOD;console.log(JSON.stringify(vod))}else if(p&&typeof p==="object"){if(!html){html=getHtml(MY_URL)}let _impJQP=true;let _ps;if(p.is_json){_ps=parseTags.json;html=dealJson(html);_impJQP=false}else if(p.is_jsp){_ps=parseTags.jsp}else if(p.is_jq){_ps=parseTags.jq}else{_ps=parseTags.jq}if(_impJQP){let c$=cheerio.load(html);html={rr:c$,ele:c$("html")[0]}}_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;if(p.title){let p1=p.title.split(";");vod.vod_name=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();let type_name=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").replace(/ /g,"").trim():"";vod.type_name=type_name||vod.type_name}if(p.desc){try{let p1=p.desc.split(";");vod.vod_remarks=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();vod.vod_year=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").trim():"";vod.vod_area=p1.length>2?_pdfh(html,p1[2]).replace(/\n|\t/g,"").trim():"";vod.vod_actor=p1.length>3?_pdfh(html,p1[3]).replace(/\n|\t/g,"").trim():"";vod.vod_director=p1.length>4?_pdfh(html,p1[4]).replace(/\n|\t/g,"").trim():""}catch(e){}}if(p.content){try{let p1=p.content.split(";");vod.vod_content=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim()}catch(e){}}if(p.img){try{let p1=p.img.split(";");vod.vod_pic=_pd(html,p1[0],MY_URL)}catch(e){}}let vod_play_from="$$$";let playFrom=[];if(p.重定向&&p.重定向.startsWith("js:")){print("开始执行重定向代码:"+p.重定向);html=eval(p.重定向.replace("js:",""));if(_impJQP){let c$=cheerio.load(html);html={rr:c$,ele:c$("html")[0]}}}if(p.tabs){if(p.tabs.startsWith("js:")){print("开始执行tabs代码:"+p.tabs);if(html&&typeof html!=="string"){html=html.rr(html.ele).toString()}var input=MY_URL;eval(p.tabs.replace("js:",""));playFrom=TABS}else{let p_tab=p.tabs.split(";")[0];console.log(p_tab);let vHeader=_pdfa(html,p_tab);console.log(vHeader.length);for(let v of vHeader){let v_title=_pdfh(v,"body&&Text").trim();console.log(v_title);if(tab_exclude&&new RegExp(tab_exclude).test(v_title)){continue}playFrom.push(v_title)}}console.log(JSON.stringify(playFrom))}else{playFrom=["道长在线"]}vod.vod_play_from=playFrom.join(vod_play_from);let vod_play_url="$$$";let vod_tab_list=[];if(p.lists){if(p.lists.startsWith("js:")){print("开始执行lists代码:"+p.lists);if(html&&typeof html!=="string"){html=html.rr(html.ele).toString()}var input=MY_URL;eval(p.lists.replace("js:",""));vod_play_url=LISTS.map(it=>it.join("#")).join(vod_play_url)}else{for(let i=0;i1?p.tabs.split(";")[1]:"";let p1=p.lists.replaceAll("#idv",tab_name).replaceAll("#id",i);tab_ext=tab_ext.replaceAll("#idv",tab_name).replaceAll("#id",i);console.log(p1);let vodList=[];try{vodList=_pdfa(html,p1);console.log("len(vodList):"+vodList.length)}catch(e){}let new_vod_list=[];let tabName=tab_ext?_pdfh(html,tab_ext):tab_name;console.log(tabName);vodList.forEach(it=>{new_vod_list.push(_pdfh(it,"body&&Text").trim()+"$"+_pd(it,"a&&href",MY_URL))});let vlist=new_vod_list.join("#");vod_tab_list.push(vlist)}vod_play_url=vod_tab_list.join(vod_play_url)}}vod.vod_play_url=vod_play_url}return JSON.stringify({list:[vod]})}function tellIsJx(url){try{let is_vip=!/\.(m3u8|mp4|m4a)$/.test(url.split("?")[0])&&是否正版(url);return is_vip?1:0}catch(e){return 1}}function playParse(playObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));MY_URL=playObj.url;if(!/http/.test(MY_URL)){try{MY_URL=base64Decode(MY_URL)}catch(e){}}MY_URL=decodeURIComponent(MY_URL);var input=MY_URL;let common_play={parse:1,url:input,jx:tellIsJx(input)};let lazy_play;if(!rule.play_parse||!rule.lazy){lazy_play=common_play}else if(rule.play_parse&&rule.lazy&&typeof rule.lazy==="string"){try{let lazy_code=rule.lazy.replace("js:","").trim();print("开始执行js免嗅=>"+lazy_code);eval(lazy_code);lazy_play=typeof input==="object"?input:{parse:1,jx:tellIsJx(input),url:input}}catch(e){print("js免嗅错误:"+e.message);lazy_play=common_play}}else{lazy_play=common_play}console.log(JSON.stringify(lazy_play));return JSON.stringify(lazy_play)}function init(ext){console.log("init");try{if(typeof globalThis.mubanJs==="undefined"){let mubanJs=request("https://gitcode.net/qq_32394351/dr_py/-/raw/master/js/模板.js",{"User-Agent":MOBILE_UA});mubanJs=mubanJs.replace("export default","(function() {return muban;}()) // export default");globalThis.mubanJs=mubanJs}let muban=eval(globalThis.mubanJs);if(typeof ext=="object"){rule=ext;if(rule.template){rule=Object.assign(muban[rule.template],rule)}}else if(typeof ext=="string"){if(ext.startsWith("http")){let js=request(ext,{method:"GET"});if(js){eval(js.replace("var rule","rule"))}}}else{eval(ext.replace("var rule","rule"))}let rule_cate_excludes=(rule.cate_exclude||"").split("|").filter(it=>it.trim());let rule_tab_excludes=(rule.tab_exclude||"").split("|").filter(it=>it.trim());rule_cate_excludes=rule_cate_excludes.concat(CATE_EXCLUDE.split("|").filter(it=>it.trim()));rule_tab_excludes=rule_tab_excludes.concat(TAB_EXCLUDE.split("|").filter(it=>it.trim()));rule.cate_exclude=rule_cate_excludes.join("|");rule.tab_exclude=rule_tab_excludes.join("|");rule.host=(rule.host||"").rstrip("/");rule.url=rule.url||"";rule.double=rule.double||false;rule.homeUrl=rule.homeUrl||"";rule.detailUrl=rule.detailUrl||"";rule.searchUrl=rule.searchUrl||"";rule.homeUrl=rule.host&&rule.homeUrl?urljoin(rule.host,rule.homeUrl):rule.homeUrl||rule.host;rule.detailUrl=rule.host&&rule.detailUrl?urljoin(rule.host,rule.detailUrl):rule.detailUrl;if(rule.url.includes("[")&&rule.url.includes("]")){let u1=rule.url.split("[")[0];let u2=rule.url.split("[")[1].split("]")[0];rule.url=rule.host&&rule.url?urljoin(rule.host,u1)+"["+urljoin(rule.host,u2)+"]":rule.url}else{rule.url=rule.host&&rule.url?urljoin(rule.host,rule.url):rule.url}rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,rule.searchUrl):rule.searchUrl;rule.timeout=rule.timeout||5e3;rule.encoding=rule.编码||rule.encoding||"utf-8";if(rule.headers&&typeof rule.headers==="object"){try{let header_keys=Object.keys(rule.headers);for(let k of header_keys){if(k.toLowerCase()==="user-agent"){let v=rule.headers[k];console.log(v);if(["MOBILE_UA","PC_UA","UC_UA","IOS_UA","UA"].includes(v)){rule.headers[k]=eval(v)}}}}catch(e){console.log("处理headers发生错误:"+e.message)}}rule_fetch_params={headers:rule.headers||false,timeout:rule.timeout,encoding:rule.encoding};oheaders=rule.headers||{};RKEY=typeof key!=="undefined"&&key?key:"drpy_"+(rule.title||rule.host);init_test()}catch(e){console.log("init_test发生错误:"+e.message)}}let homeHtmlCache=undefined;function home(filter){console.log("home");let homeObj={filter:rule.filter||false,MY_URL:rule.homeUrl,class_name:rule.class_name||"",class_url:rule.class_url||"",class_parse:rule.class_parse||"",cate_exclude:rule.cate_exclude};return homeParse(homeObj)}function homeVod(params){let homeVodObj={"推荐":rule.推荐,double:rule.double,homeUrl:rule.homeUrl,detailUrl:rule.detailUrl};return homeVodParse(homeVodObj)}function category(tid,pg,filter,extend){let cateObj={url:rule.url,"一级":rule.一级,tid:tid,pg:parseInt(pg),filter:filter,extend:extend};return categoryParse(cateObj)}function detail(vod_url){let orId=vod_url;let fyclass="";if(vod_url.indexOf("$")>-1){let tmp=vod_url.split("$");fyclass=tmp[0];vod_url=tmp[1]}let detailUrl=vod_url;let url;if(!detailUrl.startsWith("http")&&!detailUrl.includes("/")){url=rule.detailUrl.replaceAll("fyid",detailUrl).replaceAll("fyclass",fyclass)}else if(detailUrl.includes("/")){url=urljoin(rule.homeUrl,detailUrl)}else{url=detailUrl}let detailObj={orId:orId,url:url,"二级":rule.二级,detailUrl:detailUrl,fyclass:fyclass,tab_exclude:rule.tab_exclude};return detailParse(detailObj)}function play(flag,id,flags){let playObj={url:id,flag:flag,flags:flags};return playParse(playObj)}function search(wd,quick){let searchObj={searchUrl:rule.searchUrl,"搜索":rule.搜索,wd:wd,pg:1,quick:quick};return searchParse(searchObj)}function DRPY(){return{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search}}export default{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,DRPY:DRPY}; \ No newline at end of file +import cheerio from"assets://js/lib/cheerio.min.js";import"assets://js/lib/crypto-js.js";import"assets://js/lib/drT.js";function init_test(){console.log("init_test_start");console.log(RKEY);console.log(JSON.stringify(rule));console.log("init_test_end")}let rule={};const MOBILE_UA="Mozilla/5.0 (Linux; Android 11; M2007J3SC Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045714 Mobile Safari/537.36";const PC_UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36";const UA="Mozilla/5.0";const UC_UA="Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.5.5.1035 Mobile Safari/537.36";const IOS_UA="Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1";const RULE_CK="cookie";const CATE_EXCLUDE="首页|留言|APP|下载|资讯|新闻|动态";const TAB_EXCLUDE="猜你|喜欢|APP|下载|剧情|热播";const OCR_RETRY=3;const OCR_API="http://cms.nokia.press/parse/ocr";if(typeof MY_URL==="undefined"){var MY_URL}var RKEY;var fetch;var print;var log;var rule_fetch_params;var fetch_params;var oheaders;var _pdfh;var _pdfa;var _pd;const DOM_CHECK_ATTR=/(url|src|href|data-original|data-src)$/;const SELECT_REGEX=/:eq|:lt|:gt|#/g;const SELECT_REGEX_A=/:eq|:lt|:gt/g;if(typeof Object.assign!="function"){Object.assign=function(){var target=arguments[0];for(var i=1;ithis.length){return false}else{return this.indexOf(search,start)!==-1}}}if(!Array.prototype.includes){Object.defineProperty(Array.prototype,"includes",{value:function(searchElement,fromIndex){if(this==null){throw new TypeError('"this" is null or not defined')}var o=Object(this);var len=o.length>>>0;if(len===0){return false}var n=fromIndex|0;var k=Math.max(n>=0?n:len-Math.abs(n),0);while(k-1){let sp=parse.split("&&");option=sp[sp.length-1];sp.splice(sp.length-1);if(sp.length>1){for(let i in sp){if(!SELECT_REGEX.test(sp[i])){sp[i]=sp[i]+":eq(0)"}}}else{if(!SELECT_REGEX.test(sp[0])){sp[0]=sp[0]+":eq(0)"}}parse=sp.join(" ")}let result="";const $=eleFind?html.rr:cheerio.load(html);let ret=eleFind?parse==="*=*"||$(html.ele).is(parse)?html.ele:$(html.ele).find(parse):$(parse);if(option){if(option==="Text"){result=$(ret).text()}else if(option==="Html"){result=$(ret).html()}else{result=$(ret).attr(option);if(/style/.test(option.toLowerCase())&&/url\(/.test(result)){try{result=result.match(/url\((.*?)\)/)[1]}catch(e){}}}if(result&&base_url&&DOM_CHECK_ATTR.test(option)){if(/http/.test(result)){result=result.substr(result.indexOf("http"))}else{result=urljoin(base_url,result)}}}else{result=$(ret).toString()}return result},pdfa(html,parse){if(!parse||!parse.trim()){return[]}let eleFind=typeof html==="object";if(parse.indexOf("&&")>-1){let sp=parse.split("&&");for(let i in sp){if(!SELECT_REGEX_A.test(sp[i])&&i=OCR_RETRY){cookie=""}}catch(e){console.log(`第${cnt+1}次验证码提交失败:${e.message}`);if(cnt+1>=OCR_RETRY){cookie=""}}cnt+=1}return cookie}function setItem(k,v){local.set(RKEY,k,v);console.log(`规则${RKEY}设置${k} => ${v}`)}function getItem(k,v){return local.get(RKEY,k)||v}function clearItem(k){local.delete(RKEY,k)}function getHome(url){if(!url){return""}let tmp=url.split("//");url=tmp[0]+"//"+tmp[1].split("/")[0];try{url=decodeURIComponent(url)}catch(e){}return url}function buildUrl(url,obj){obj=obj||{};if(url.indexOf("?")<0){url+="?"}let param_list=[];let keys=Object.keys(obj);keys.forEach(it=>{param_list.push(it+"="+obj[it])});let prs=param_list.join("&");if(keys.length>0&&!url.endsWith("?")){url+="&"}url+=prs;return url}function require(url){eval(request(url))}function request(url,obj,ocr_flag){ocr_flag=ocr_flag||false;if(typeof obj==="undefined"||!obj||obj==={}){if(!fetch_params||!fetch_params.headers){let headers={"User-Agent":MOBILE_UA};if(rule.headers){Object.assign(headers,rule.headers)}fetch_params.headers=headers}if(!fetch_params.headers.Referer){fetch_params.headers.Referer=getHome(url)}obj=fetch_params}else{let headers=obj.headers||{};let keys=Object.keys(headers).map(it=>it.toLowerCase());if(!keys.includes("user-agent")){headers["User-Agent"]=MOBILE_UA}if(!keys.includes("referer")){headers["Referer"]=getHome(url)}obj.headers=headers}if(rule.encoding&&rule.encoding!=="utf-8"&&!ocr_flag){if(!obj.headers.hasOwnProperty("Content-Type")){obj.headers["Content-Type"]="text/html; charset="+rule.encoding}}if(typeof obj.headers.body!="undefined"&&obj.headers.body&&typeof obj.headers.body==="string"){let data={};obj.headers.body.split("&").forEach(it=>{data[it.split("=")[0]]=it.split("=")[1]});obj.data=data;delete obj.headers.body}if(!url){return obj.withHeaders?"{}":""}if(obj.toBase64){obj.buffer=2;delete obj.toBase64}console.log(JSON.stringify(obj.headers));console.log("request:"+url);let res=req(url,obj);let html=res.content||"";if(obj.withHeaders){let htmlWithHeaders=res.headers;htmlWithHeaders.body=html;return JSON.stringify(htmlWithHeaders)}else{return html}}fetch=request;print=function(data){data=data||"";if(typeof data!=="string"){try{data=JSON.stringify(data)}catch(e){console.log("print:"+e.message)}}console.log(data)};log=print;function checkHtml(html,url,obj){if(/\?btwaf=/.test(html)){let btwaf=html.match(/btwaf(.*?)"/)[1];url=url.split("#")[0]+"?btwaf"+btwaf;html=request(url,obj)}return html}function getCode(url,obj){let html=request(url,obj);html=checkHtml(html,url,obj);return html}function getHtml(url){let obj={};if(rule.headers){obj.headers=rule.headers}let cookie=getItem(RULE_CK,"");if(cookie){if(obj.headers&&!Object.keys(obj.headers).map(it=>it.toLowerCase()).includes("cookie")){obj.headers["Cookie"]=cookie}else if(!obj.headers){obj.headers={Cookie:cookie}}}let html=getCode(url,obj);return html}function homeParse(homeObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let classes=[];if(homeObj.class_name&&homeObj.class_url){let names=homeObj.class_name.split("&");let urls=homeObj.class_url.split("&");let cnt=Math.min(names.length,urls.length);for(let i=0;i=3){try{let html=getHtml(homeObj.MY_URL);if(html){homeHtmlCache=html;let list=_pdfa(html,p[0]);if(list&&list.length>0){list.forEach((it,idex)=>{try{let name=_pdfh(it,p[1]);if(homeObj.cate_exclude&&new RegExp(homeObj.cate_exclude).test(name)){return}let url=_pd(it,p[2]);if(p.length>3&&p[3]){let exp=new RegExp(p[3]);url=url.match(exp)[1]}classes.push({type_id:url.trim(),type_name:name.trim()})}catch(e){console.log(`分类列表定位第${idex}个元素正常报错:${e.message}`)}})}}}catch(e){console.log(e.message)}}}classes=classes.filter(it=>!homeObj.cate_exclude||!new RegExp(homeObj.cate_exclude).test(it.type_name));let resp={class:classes};if(homeObj.filter){resp.filters=homeObj.filter}console.log(JSON.stringify(resp));return JSON.stringify(resp)}function getPP(p,pn,pp,ppn){let ps=p[pn]==="*"&&pp.length>ppn?pp[ppn]:p[pn];return ps}function homeVodParse(homeVodObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];MY_URL=homeVodObj.homeUrl;console.log(MY_URL);let p=homeVodObj.推荐;if(p==="*"&&rule.一级){p=rule.一级;homeVodObj.double=false}if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级.split(";");if(p.startsWith("js:")){const TYPE="home";var input=MY_URL;const HOST=rule.host;eval(p.replace("js:",""));d=VODS}else{p=p.split(";");if(!homeVodObj.double&&p.length<5){return"{}"}else if(homeVodObj.double&&p.length<6){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");let html=homeHtmlCache||getHtml(MY_URL);homeHtmlCache=undefined;if(is_json){html=dealJson(html)}try{console.log("double:"+homeVodObj.double);if(homeVodObj.double){let items=_pdfa(html,p0);for(let item of items){let items2=_pdfa(item,p[1]);for(let item2 of items2){try{let p2=getPP(p,2,pp,1);let title=_pdfh(item2,p2);let img="";try{let p3=getPP(p,3,pp,2);img=_pd(item2,p3)}catch(e){}let desc="";try{let p4=getPP(p,4,pp,3);desc=_pdfh(item2,p4)}catch(e){}let p5=getPP(p,5,pp,4);let links=[];for(let _p5 of p5.split("+")){let link=!homeVodObj.detailUrl?_pd(item2,_p5,MY_URL):_pdfh(item2,_p5);links.push(link)}let content;if(p.length>6&&p[6]){let p6=getPP(p,6,pp,5);content=_pdfh(item2,p6)}else{content=""}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:links.join("$")};d.push(vod)}catch(e){console.log("首页列表处理发生错误:"+e.message)}}}}else{let items=_pdfa(html,p0);for(let item of items){try{let p1=getPP(p,1,pp,1);let title=_pdfh(item,p1);let img="";try{let p2=getPP(p,2,pp,2);img=_pd(item,p2,MY_URL)}catch(e){}let desc="";try{let p3=getPP(p,3,pp,3);desc=_pdfh(item,p3)}catch(e){}let p4=getPP(p,4,pp,4);let links=[];for(let _p5 of p4.split("+")){let link=!homeVodObj.detailUrl?_pd(item,_p5,MY_URL):_pdfh(item,_p5);links.push(link)}let content;if(p.length>5&&p[5]){let p5=getPP(p,5,pp,5);content=_pdfh(item,p5)}else{content=""}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:links.join("$")};d.push(vod)}catch(e){}}}}catch(e){}}return JSON.stringify({list:d})}function categoryParse(cateObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let p=cateObj.一级;if(!p||typeof p!=="string"){return"{}"}let d=[];let url=cateObj.url.replaceAll("fyclass",cateObj.tid);if(rule.filter_url){if(!/fyfilter/.test(url)){if(!url.endsWith("&")&&!rule.filter_url.startsWith("&")){url+="&"}url+=rule.filter_url}else{url=url.replace("fyfilter",rule.filter_url)}let fl=cateObj.filter?cateObj.extend:{};let new_url;new_url=cheerio.jinja2(url,{fl:fl});if(/object Object/.test(new_url)){new_url=drT.renderText(url,fl)}url=new_url}if(/fypage/.test(url)){if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1];let cnt_page=url_rep.replaceAll("fypage",cateObj.pg);let cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else{url=url.replaceAll("fypage",cateObj.pg)}}if(cateObj.pg===1&&url.includes("[")&&url.includes("]")){url=url.split("[")[1].split("]")[0]}else if(cateObj.pg>1&&url.includes("[")&&url.includes("]")){url=url.split("[")[0]}MY_URL=url;console.log(MY_URL);p=p.trim();const MY_CATE=cateObj.tid;if(p.startsWith("js:")){var MY_FL=cateObj.extend;const TYPE="cate";var input=MY_URL;const MY_PAGE=cateObj.pg;var desc="";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let _ps=parseTags.getParse(p[0]);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p[0].startsWith("json:");p[0]=p[0].replace(/^(jsp:|json:|jq:)/,"");try{let html=getHtml(MY_URL);if(html){if(is_json){html=dealJson(html)}let list=_pdfa(html,p[0]);list.forEach(it=>{let links=p[4].split("+").map(p4=>{return!rule.detailUrl?_pd(it,p4,MY_URL):_pdfh(it,p4)});let link=links.join("$");let vod_id=rule.detailUrl?MY_CATE+"$"+link:link;d.push({vod_id:vod_id,vod_name:_pdfh(it,p[1]).replace(/\n|\t/g,"").trim(),vod_pic:_pd(it,p[2],MY_URL),vod_remarks:_pdfh(it,p[3]).replace(/\n|\t/g,"").trim()})})}}catch(e){console.log(e.message)}}return d.length<1?"{}":JSON.stringify({page:parseInt(cateObj.pg),pagecount:999,limit:20,total:999,list:d})}function searchParse(searchObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];if(!searchObj.searchUrl){return"{}"}let p=searchObj.搜索==="*"&&rule.一级?rule.一级:searchObj.搜索;if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级.split(";");let url=searchObj.searchUrl.replaceAll("**",searchObj.wd).replaceAll("fypage",searchObj.pg);MY_URL=url;console.log(MY_URL);if(p.startsWith("js:")){const TYPE="search";const MY_PAGE=searchObj.pg;const KEY=searchObj.wd;var input=MY_URL;var detailUrl=rule.detailUrl||"";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");try{let html=getHtml(MY_URL);if(html){if(/系统安全验证|输入验证码/.test(html)){let cookie=verifyCode(MY_URL);if(cookie){console.log(`本次成功过验证,cookie:${cookie}`);setItem(RULE_CK,cookie)}else{console.log(`本次自动过搜索验证失败,cookie:${cookie}`)}html=getHtml(MY_URL)}if(!html.includes(searchObj.wd)){console.log("搜索结果源码未包含关键字,疑似搜索失败,正为您打印结果源码");console.log(html)}if(is_json){html=dealJson(html)}let list=_pdfa(html,p0);list.forEach(it=>{let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let links=p4.split("+").map(_p4=>{return!rule.detailUrl?_pd(it,_p4,MY_URL):_pdfh(it,_p4)});let link=links.join("$");let content;if(p.length>5&&p[5]){let p5=getPP(p,5,pp,5);content=_pdfh(it,p5)}else{content=""}let ob={vod_id:link,vod_name:_pdfh(it,p1).replace(/\n|\t/g,"").trim(),vod_pic:_pd(it,p2,MY_URL),vod_remarks:_pdfh(it,p3).replace(/\n|\t/g,"").trim(),vod_content:content.replace(/\n|\t/g,"").trim()};d.push(ob)})}}catch(e){print("搜索发生错误:"+e.message);return"{}"}}return JSON.stringify({page:parseInt(searchObj.pg),pagecount:10,limit:20,total:100,list:d})}function detailParse(detailObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let vod={vod_id:detailObj.orId,vod_name:"片名",vod_pic:"",type_name:"剧情",vod_year:"年份",vod_area:"地区",vod_remarks:"更新信息",vod_actor:"主演",vod_director:"导演",vod_content:"简介"};let p=detailObj.二级;let url=detailObj.url;let detailUrl=detailObj.detailUrl;let fyclass=detailObj.fyclass;let tab_exclude=detailObj.tab_exclude;let html=detailObj.html||"";MY_URL=url;console.log(MY_URL);if(p==="*"){vod.vod_play_from="道长在线";vod.vod_remarks=detailUrl;vod.vod_actor="没有二级,只有一级链接直接嗅探播放";vod.vod_content=MY_URL;vod.vod_play_url="嗅探播放$"+MY_URL}else if(typeof p==="string"&&p.trim().startsWith("js:")){const TYPE="detail";var input=MY_URL;eval(p.trim().replace("js:",""));vod=VOD;console.log(JSON.stringify(vod))}else if(p&&typeof p==="object"){if(!html){html=getHtml(MY_URL)}let _impJQP=true;let _ps;if(p.is_json){_ps=parseTags.json;html=dealJson(html);_impJQP=false}else if(p.is_jsp){_ps=parseTags.jsp}else if(p.is_jq){_ps=parseTags.jq}else{_ps=parseTags.jq}if(_impJQP){let c$=cheerio.load(html);html={rr:c$,ele:c$("html")[0]}}_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;if(p.title){let p1=p.title.split(";");vod.vod_name=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();let type_name=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").replace(/ /g,"").trim():"";vod.type_name=type_name||vod.type_name}if(p.desc){try{let p1=p.desc.split(";");vod.vod_remarks=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();vod.vod_year=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").trim():"";vod.vod_area=p1.length>2?_pdfh(html,p1[2]).replace(/\n|\t/g,"").trim():"";vod.vod_actor=p1.length>3?_pdfh(html,p1[3]).replace(/\n|\t/g,"").trim():"";vod.vod_director=p1.length>4?_pdfh(html,p1[4]).replace(/\n|\t/g,"").trim():""}catch(e){}}if(p.content){try{let p1=p.content.split(";");vod.vod_content=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim()}catch(e){}}if(p.img){try{let p1=p.img.split(";");vod.vod_pic=_pd(html,p1[0],MY_URL)}catch(e){}}let vod_play_from="$$$";let playFrom=[];if(p.重定向&&p.重定向.startsWith("js:")){print("开始执行重定向代码:"+p.重定向);html=eval(p.重定向.replace("js:",""));if(_impJQP){let c$=cheerio.load(html);html={rr:c$,ele:c$("html")[0]}}}if(p.tabs){if(p.tabs.startsWith("js:")){print("开始执行tabs代码:"+p.tabs);if(html&&typeof html!=="string"){html=html.rr(html.ele).toString()}var input=MY_URL;eval(p.tabs.replace("js:",""));playFrom=TABS}else{let p_tab=p.tabs.split(";")[0];console.log(p_tab);let vHeader=_pdfa(html,p_tab);console.log(vHeader.length);for(let v of vHeader){let v_title=_pdfh(v,"body&&Text").trim();console.log(v_title);if(tab_exclude&&new RegExp(tab_exclude).test(v_title)){continue}playFrom.push(v_title)}}console.log(JSON.stringify(playFrom))}else{playFrom=["道长在线"]}vod.vod_play_from=playFrom.join(vod_play_from);let vod_play_url="$$$";let vod_tab_list=[];if(p.lists){if(p.lists.startsWith("js:")){print("开始执行lists代码:"+p.lists);if(html&&typeof html!=="string"){html=html.rr(html.ele).toString()}var input=MY_URL;eval(p.lists.replace("js:",""));vod_play_url=LISTS.map(it=>it.join("#")).join(vod_play_url)}else{for(let i=0;i1?p.tabs.split(";")[1]:"";let p1=p.lists.replaceAll("#idv",tab_name).replaceAll("#id",i);tab_ext=tab_ext.replaceAll("#idv",tab_name).replaceAll("#id",i);console.log(p1);let vodList=[];try{vodList=_pdfa(html,p1);console.log("len(vodList):"+vodList.length)}catch(e){}let new_vod_list=[];let tabName=tab_ext?_pdfh(html,tab_ext):tab_name;console.log(tabName);vodList.forEach(it=>{new_vod_list.push(_pdfh(it,"body&&Text").trim()+"$"+_pd(it,"a&&href",MY_URL))});let vlist=new_vod_list.join("#");vod_tab_list.push(vlist)}vod_play_url=vod_tab_list.join(vod_play_url)}}vod.vod_play_url=vod_play_url}return JSON.stringify({list:[vod]})}function tellIsJx(url){try{let is_vip=!/\.(m3u8|mp4|m4a)$/.test(url.split("?")[0])&&是否正版(url);return is_vip?1:0}catch(e){return 1}}function playParse(playObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));MY_URL=playObj.url;if(!/http/.test(MY_URL)){try{MY_URL=base64Decode(MY_URL)}catch(e){}}MY_URL=decodeURIComponent(MY_URL);var input=MY_URL;let common_play={parse:1,url:input,jx:tellIsJx(input)};let lazy_play;if(!rule.play_parse||!rule.lazy){lazy_play=common_play}else if(rule.play_parse&&rule.lazy&&typeof rule.lazy==="string"){try{let lazy_code=rule.lazy.replace("js:","").trim();print("开始执行js免嗅=>"+lazy_code);eval(lazy_code);lazy_play=typeof input==="object"?input:{parse:1,jx:tellIsJx(input),url:input}}catch(e){print("js免嗅错误:"+e.message);lazy_play=common_play}}else{lazy_play=common_play}console.log(JSON.stringify(lazy_play));return JSON.stringify(lazy_play)}function init(ext){console.log("init");try{if(typeof globalThis.mubanJs==="undefined"){let mubanJs=request("https://gitcode.net/qq_32394351/dr_py/-/raw/master/js/模板.js",{"User-Agent":MOBILE_UA});mubanJs=mubanJs.replace("export default","(function() {return muban;}()) // export default");globalThis.mubanJs=mubanJs}let muban=eval(globalThis.mubanJs);if(typeof ext=="object"){rule=ext;if(rule.模板&&muban.hasOwnProperty(rule.模板)){rule=Object.assign(muban[rule.模板],rule)}}else if(typeof ext=="string"){if(ext.startsWith("http")){let js=request(ext,{method:"GET"});if(js){eval(js.replace("var rule","rule"))}}}else{eval(ext.replace("var rule","rule"))}let rule_cate_excludes=(rule.cate_exclude||"").split("|").filter(it=>it.trim());let rule_tab_excludes=(rule.tab_exclude||"").split("|").filter(it=>it.trim());rule_cate_excludes=rule_cate_excludes.concat(CATE_EXCLUDE.split("|").filter(it=>it.trim()));rule_tab_excludes=rule_tab_excludes.concat(TAB_EXCLUDE.split("|").filter(it=>it.trim()));rule.cate_exclude=rule_cate_excludes.join("|");rule.tab_exclude=rule_tab_excludes.join("|");rule.host=(rule.host||"").rstrip("/");rule.url=rule.url||"";rule.double=rule.double||false;rule.homeUrl=rule.homeUrl||"";rule.detailUrl=rule.detailUrl||"";rule.searchUrl=rule.searchUrl||"";rule.homeUrl=rule.host&&rule.homeUrl?urljoin(rule.host,rule.homeUrl):rule.homeUrl||rule.host;rule.detailUrl=rule.host&&rule.detailUrl?urljoin(rule.host,rule.detailUrl):rule.detailUrl;if(rule.url.includes("[")&&rule.url.includes("]")){let u1=rule.url.split("[")[0];let u2=rule.url.split("[")[1].split("]")[0];rule.url=rule.host&&rule.url?urljoin(rule.host,u1)+"["+urljoin(rule.host,u2)+"]":rule.url}else{rule.url=rule.host&&rule.url?urljoin(rule.host,rule.url):rule.url}rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,rule.searchUrl):rule.searchUrl;rule.timeout=rule.timeout||5e3;rule.encoding=rule.编码||rule.encoding||"utf-8";if(rule.headers&&typeof rule.headers==="object"){try{let header_keys=Object.keys(rule.headers);for(let k of header_keys){if(k.toLowerCase()==="user-agent"){let v=rule.headers[k];console.log(v);if(["MOBILE_UA","PC_UA","UC_UA","IOS_UA","UA"].includes(v)){rule.headers[k]=eval(v)}}}}catch(e){console.log("处理headers发生错误:"+e.message)}}rule_fetch_params={headers:rule.headers||false,timeout:rule.timeout,encoding:rule.encoding};oheaders=rule.headers||{};RKEY=typeof key!=="undefined"&&key?key:"drpy_"+(rule.title||rule.host);init_test()}catch(e){console.log("init_test发生错误:"+e.message)}}let homeHtmlCache=undefined;function home(filter){console.log("home");let homeObj={filter:rule.filter||false,MY_URL:rule.homeUrl,class_name:rule.class_name||"",class_url:rule.class_url||"",class_parse:rule.class_parse||"",cate_exclude:rule.cate_exclude};return homeParse(homeObj)}function homeVod(params){let homeVodObj={"推荐":rule.推荐,double:rule.double,homeUrl:rule.homeUrl,detailUrl:rule.detailUrl};return homeVodParse(homeVodObj)}function category(tid,pg,filter,extend){let cateObj={url:rule.url,"一级":rule.一级,tid:tid,pg:parseInt(pg),filter:filter,extend:extend};return categoryParse(cateObj)}function detail(vod_url){let orId=vod_url;let fyclass="";if(vod_url.indexOf("$")>-1){let tmp=vod_url.split("$");fyclass=tmp[0];vod_url=tmp[1]}let detailUrl=vod_url;let url;if(!detailUrl.startsWith("http")&&!detailUrl.includes("/")){url=rule.detailUrl.replaceAll("fyid",detailUrl).replaceAll("fyclass",fyclass)}else if(detailUrl.includes("/")){url=urljoin(rule.homeUrl,detailUrl)}else{url=detailUrl}let detailObj={orId:orId,url:url,"二级":rule.二级,detailUrl:detailUrl,fyclass:fyclass,tab_exclude:rule.tab_exclude};return detailParse(detailObj)}function play(flag,id,flags){let playObj={url:id,flag:flag,flags:flags};return playParse(playObj)}function search(wd,quick){let searchObj={searchUrl:rule.searchUrl,"搜索":rule.搜索,wd:wd,pg:1,quick:quick};return searchParse(searchObj)}function DRPY(){return{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search}}export default{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,DRPY:DRPY}; \ No newline at end of file diff --git a/web.jar b/web.jar new file mode 100644 index 0000000000000000000000000000000000000000..7a08928ffcf625fc0632753fee0e48c407ca3de9 GIT binary patch literal 66457 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 literal 0 HcmV?d00001