Compare commits

..

14 Commits

Author SHA1 Message Date
xmbjm
e7e81b3273
Add files via upload 2025-02-22 11:20:44 +08:00
xmbjm
a164d662fa
Add files via upload 2025-02-22 11:18:33 +08:00
xmbjm
392d8e9e75
Add files via upload 2025-02-21 18:22:51 +08:00
xmbjm
a42bb6ba40
Add files via upload 2025-02-21 18:21:12 +08:00
xmbjm
490131fb96
Add files via upload 2025-02-21 18:19:50 +08:00
xmbjm
bbe9c0b43c
Add files via upload 2025-02-20 18:06:12 +08:00
xmbjm
568092b8e5
Add files via upload 2025-02-20 18:04:18 +08:00
xmbjm
9520a5284e
Add files via upload 2025-02-19 10:54:44 +08:00
xmbjm
e3d420f661
Add files via upload 2025-02-19 10:51:36 +08:00
xmbjm
920694b37a
Add files via upload 2025-02-18 09:03:35 +08:00
xmbjm
6dbc7ca494
Add files via upload 2025-02-18 09:02:06 +08:00
xmbjm
b26de78431
Add files via upload 2025-02-17 16:19:09 +08:00
xmbjm
de9b49557a
Add files via upload 2025-02-17 16:17:03 +08:00
xmbjm
9e8718f6cf
Add files via upload 2025-02-17 16:14:59 +08:00
43 changed files with 28663 additions and 1198 deletions

1425
ITV.txt

File diff suppressed because it is too large Load Diff

View File

@ -140,7 +140,7 @@ var rule = {
}
let vlist2 = vlist.reverse().join("#");
vod_tab_list.push(vlist2);
VOD.vod_play_from = '道长在线';
VOD.vod_play_from = '在线播放';
VOD.vod_play_url = vod_tab_list.join("$$$");
`,
搜索: `js:

48
JS/huyazhibo.js Normal file

File diff suppressed because one or more lines are too long

View File

@ -1 +1,843 @@
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
var rule = {
title: '360影视[官]',
host: 'https://www.360kan.com',
homeUrl: 'https://api.web.360kan.com/v1/rank?cat=2&size=9',
detailUrl: 'https://api.web.360kan.com/v1/detail?cat=fyclass&id=fyid',
searchUrl: 'https://api.so.360kan.com/index?force_v=1&kw=**&from=&pageno=fypage&v_ap=1&tab=all',
url: 'https://api.web.360kan.com/v1/fyfilter&size=35&pageno=fypage&callback=',
filterable: 1,
filter_url: 'filter/list?catid=fyclass&rank={{fl.排序}}&cat={{fl.类型}}&year={{fl.年代}}&area={{fl.地区}}',
filter: {
"1": [{
"key": "类型",
"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": "其他"
}]
}, {
"key": "地区",
"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": "其他"
}]
}, {
"key": "年代",
"name": "年代",
"value": [{
"n": "全部",
"v": ""
}, {
"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": "2010",
"v": "2010"
}, {
"n": "2009",
"v": "2009"
}, {
"n": "2008",
"v": "2008"
}, {
"n": "2007",
"v": "2007"
}, {
"n": "更早",
"v": "lt_year"
}]
}, {
"key": "排序",
"name": "排序",
"value": [{
"n": "最近热映",
"v": "rankhot"
}, {
"n": "最近上映",
"v": "ranklatest"
}, {
"n": "最受好评",
"v": "rankpoint"
}]
}],
"2": [{
"key": "类型",
"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": "地区",
"name": "地区",
"value": [{
"n": "全部",
"v": ""
}, {
"n": "内地",
"v": "内地"
}, {
"n": "中国香港",
"v": "香港"
}, {
"n": "中国台湾",
"v": "台湾"
}, {
"n": "泰国",
"v": "泰国"
}, {
"n": "日本",
"v": "日本"
}, {
"n": "韩国",
"v": "韩国"
}, {
"n": "美国",
"v": "美国"
}, {
"n": "英国",
"v": "英国"
}, {
"n": "新加坡",
"v": "新加坡"
}]
}, {
"key": "年代",
"name": "年代",
"value": [{
"n": "全部",
"v": ""
}, {
"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": "2010",
"v": "2010"
}, {
"n": "2009",
"v": "2009"
}, {
"n": "2008",
"v": "2008"
}, {
"n": "2007",
"v": "2007"
}, {
"n": "更早",
"v": "lt_year"
}]
}, {
"key": "排序",
"name": "排序",
"value": [{
"n": "最近热映",
"v": "rankhot"
}, {
"n": "最近上映",
"v": "ranklatest"
}, {
"n": "最受好评",
"v": "rankpoint"
}]
}],
"3": [{
"key": "类型",
"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": "其他"
}]
}, {
"key": "地区",
"name": "地区",
"value": [{
"n": "全部",
"v": ""
}, {
"n": "内地",
"v": "大陆"
}, {
"n": "中国香港",
"v": "香港"
}, {
"n": "中国台湾",
"v": "台湾"
}, {
"n": "日本",
"v": "日本"
}, {
"n": "欧美",
"v": "欧美"
}]
}, {
"key": "排序",
"name": "排序",
"value": [{
"n": "最近热映",
"v": "rankhot"
}, {
"n": "最近上映",
"v": "ranklatest"
}]
}],
"4": [{
"key": "类型",
"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": "OVA版",
"v": "OVA版"
}, {
"n": "TV版",
"v": "TV版"
}, {
"n": "新番动画",
"v": "新番动画"
}, {
"n": "完结动画",
"v": "完结动画"
}]
}, {
"key": "地区",
"name": "地区",
"value": [{
"n": "全部",
"v": ""
}, {
"n": "内地",
"v": "大陆"
}, {
"n": "日本",
"v": "日本"
}, {
"n": "美国",
"v": "美国"
}]
}, {
"key": "年代",
"name": "年代",
"value": [{
"n": "全部",
"v": ""
}, {
"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": "更早",
"v": "更早"
}]
}, {
"key": "排序",
"name": "排序",
"value": [{
"n": "最近热映",
"v": "rankhot"
}, {
"n": "最近上映",
"v": "ranklatest"
}]
}]
},
filter_def: {},
headers: {
'User-Agent': 'MOBILE_UA'
},
timeout: 5000,
class_name: '电视剧&电影&综艺&动漫',
class_url: '2&1&3&4',
limit: 5,
multi: 1,
searchable: 2,
play_parse: true,
lazy: $js.toString(() => {
try {
let api = "" + input.split("?")[0];
console.log(api);
let response = fetch(api, {
method: 'get',
headers: {
'User-Agent': 'okhttp/3.14.9',
'Content-Type': 'application/x-www-form-urlencoded'
}
});
let bata = JSON.parse(response);
if (bata.url.includes("qq,qiyi,imgo,youku,leshi,bilibili1,m1905")) {
input = {
parse: 0,
url: bata.url,
jx: 0,
danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0]
};
} else {
input = {
parse: 0,
url: input.split("?")[0],
jx: 1,
danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0]
};
}
} catch {
input = {
parse: 0,
url: input.split("?")[0],
jx: 1,
danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0]
};
}
}),
// 疑似t4专用的
// lazy:'js:input={parse: 1, playUrl: "", jx: 1, url: input.split("?")[0]}',
// 手动调用解析请求json的url,此lazy不方便
// lazy:'js:input="https://cache.json.icu/home/api?type=ys&uid=292796&key=fnoryABDEFJNPQV269&url="+input.split("?")[0];log(input);let html=JSON.parse(request(input));log(html);input=html.url||input',
推荐: 'json:data;title;cover;comment;cat+ent_id;description',
一级: 'json:data.movies;title;cover;pubdate;id;description',
二级: '',
二级: $js.toString(() => {
let html = JSON.parse(fetch(input, fetch_params));
let data = html.data;
let tilte = data.title;
let img = data.cdncover;
let vod_type = data.moviecategory.join(",");
let area = data.area.join(",");
let director = data.director.join(",");
let actor = data.actor.join(",");
let content = data.description;
let base_vod = {
vod_id: input,
vod_name: tilte,
type_name: vod_type,
vod_actor: actor,
vod_director: director,
vod_content: content,
vod_remarks: area,
vod_pic: urljoin2(input, img)
};
let delta = 50;
let vod_play = {};
let sites = data.playlink_sites;
sites.forEach(function(site) {
let playList = "";
let vodItems = [];
print(data)
if (data.allupinfo) {
let total = parseInt(data.allupinfo[site]);
print(total)
for (let j = 1; j < total; j += delta) {
let end = Math.min(total, j + delta - 1);
print(end)
let url2 = buildUrl(input, {
start: j,
end: end,
site: site
});
let vod_data = JSON.parse(fetch(url2), fetch_params).data;
if (vod_data != null) {
if (vod_data.allepidetail) {
vod_data = vod_data.allepidetail[site];
vod_data.forEach(function(item, index) {
vodItems.push((item.playlink_num || "") + "$" + urlDeal(item.url || ""))
})
} else {
vod_data = vod_data.defaultepisode;
vod_data.forEach(function(item, index) {
vodItems.push((item.period || "") + (item.name || "") + "$" + urlDeal(item.url) || "")
})
}
}
}
} else {
let item = data.playlinksdetail[site];
vodItems.push((item.sort || "") + "$" + urlDeal(item.default_url || ""))
}
if (vodItems.length > 0) {
playList = vodItems.join("#")
}
if (playList.length < 1) {
return
}
vod_play[site] = playList
});
let tabs = Object.keys(vod_play);
let playUrls = [];
for (let id in tabs) {
print("id:" + id);
playUrls.push(vod_play[tabs[id]])
}
if (tabs.length > 0) {
let vod_play_from = tabs.join("$$$");
let vod_play_url = playUrls.join("$$$");
base_vod.vod_play_from = vod_play_from;
base_vod.vod_play_url = vod_play_url
}
VOD = base_vod;
}),
搜索: 'json:data.longData.rows;titleTxt||titlealias;cover;cat_name;cat_id+en_id;description',
}

View File

@ -0,0 +1 @@
Ly8g5pCc57Si6aqM6K+BCnZhciBydWxlID0gewogICAg57G75Z6LOiAn5ZCs5LmmJywKICAgIHRpdGxlOiAn5Lit5Y2O5ZCs5Lmm572RJywKICAgIGhvc3Q6ICdodHRwczovL3d3dy50aW5nc2h1Y24uY29tJywKICAgIHVybDogJy9saXN0L2Z5Y2xhc3MtZnlwYWdlLmh0bWwnLAogICAgc2VhcmNoVXJsOiAnL3NlYXJjaC5waHA/cGFnZT1meXBhZ2Ujc2VhcmNod29yZD0qKiZzZWFyY2h0eXBlPTtwb3N0JywKICAgIHNlYXJjaGFibGU6IDIsCiAgICBxdWlja1NlYXJjaDogMCwKICAgIGhlYWRlcnM6IHsKICAgICAgICAnVXNlci1BZ2VudCc6ICdQQ19VQScKICAgIH0sCiAgICB0aW1lb3V0OiA1MDAwLAogICAgY2xhc3NfcGFyc2U6ICcjbmV3c19uYXYmJmxpOmhhcyhhKTthJiZUZXh0O2EmJmhyZWY7LiovKFxcZCspLmh0bWwnLAogICAgcGxheV9wYXJzZTogdHJ1ZSwKICAgIC8vICBsYXp5OidqczppbnB1dD1pbnB1dC5yZXBsYWNlKCJ3d3ciLCJtIiknLAogICAgbGF6eTogJGpzLnRvU3RyaW5nKCgpID0+IHsKICAgICAgICBsZXQgdXJsID0gaW5wdXQ7CiAgICAgICAgaWYgKC9tM3U4fG1wNHxtcDN8YWNjfG00YXx3bWF8YWFjLy50ZXN0KHVybCkpIHsKICAgICAgICAgICAgaW5wdXQgPSB7CiAgICAgICAgICAgICAgICBqeDogMCwKICAgICAgICAgICAgICAgIHVybDogdXJsLAogICAgICAgICAgICAgICAgcGFyc2U6IDAKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlucHV0ID0gaW5wdXR1cmwKICAgICAgICB9CiAgICB9KSwKICAgIGxpbWl0OiA2LAogICAg5Zu+54mH5p2l5rqQOiAnQFJlZmVyZXI9aHR0cHM6Ly93d3cudGluZ3NodWNuLmNvbScsCiAgICDmjqjojZA6ICcubGF5b3V0X3JpZ2h0OmVxKDEpJiZsaTsqOyo7ZW0mJlRleHQ7KicsCiAgICDkuIDnuqc6ICcubGlzdEJveCYmbGk7aW1nJiZhbHQ7aW1nJiZzcmM7cDplcSgwKSYmc3BhbiYmVGV4dDthJiZocmVmJywKICAgIOS6jOe6pzogewogICAgICAgIHRpdGxlOiAnaDMmJlRleHQ7LndlYnppX3RvcCYmbGk6ZXEoNCkmJlRleHQnLAogICAgICAgIGltZzogJy5waWMmJmltZyYmc3JjJywKICAgICAgICBkZXNjOiAnLndlYnppX3RvcCYmbGk6ZXEoMSkmJnNwYW4mJlRleHQ7Ozsud2ViemlfdG9wJiZsaTplcSgzKSYmVGV4dDsud2ViemlfdG9wJiZsaTplcSgyKSYmVGV4dCcsCiAgICAgICAgY29udGVudDogJyNpZERJVi0tYSYmVGV4dCcsCiAgICAgICAgdGFiczogJy5jb250ZW50X2pydG9wOmVxKDApJiZsaScsCiAgICAgICAgbGlzdHM6ICcudmlkZW91cmw6ZXEoI2lkKSYmbGknCiAgICB9LAogICAg5pCc57SiOiAnKicsCn0=

File diff suppressed because one or more lines are too long

27
JS/六月听书.js Normal file
View File

@ -0,0 +1,27 @@
var rule = {
title: '六月听书',
host: 'http://m.6yueting.com',
url: '/ys/fyclass/o2/pfypage',
searchUrl: '/search/index/search?content=**&type=1&pageNum=fypage&pageSize=40',
searchable: 2,
quickSearch: 0,
filterable:0,//是否启用分类筛选,
headers:{'User-Agent':'MOBILE_UA'},
class_name:'全部分类&玄幻奇幻&修真武侠&恐怖灵异&古今言情&都市言情&穿越重生&粤语古仔&网游小说&通俗文学&历史纪实&军事&悬疑推理&ebc5系列&官场商战&儿童读物&广播剧&外文原版&评书大全&相声小品&百家讲坛&健康养生&教材&期刊头条&戏曲&脱口秀',
class_url:'t0&t1&t2&t3&t4&t28&t5&t6&t7&t11&t12&t13&t14&t18&t15&t16&t17&t22&t8&t9&t10&t20&t21&t23&t24&t27',
play_parse:true,
lazy:'',
limit:6,
图片来源:'@Referer=http://m.6yueting.com/@User-Agent=MOBILE_UA',
推荐:'*',
一级: '.list-wrapper&&.item-link;h2--span&&Text;img&&src;.status&&Text;a&&href',
二级:{
"title":".book-title&&Text;.text:eq(0)&&Text",
"img":".img&&src",
"desc":".text:eq(3)&&Text;;;.text:eq(1)&&Text;.text:eq(2)&&Text",
"content":".book-intro&&Text",
"tabs":".operate-bar&&.total-num",
"lists":".book-list:eq(#id)&&.list-item"
},
搜索:'js:let d=[];let MY_HOME="http://m.6yueting.com";let html=request(input);html=JSON.parse(html);let list=html.data.content;list.forEach(function(it){d.push({title:it.name.replace(/<.*?>/g,""),img:"http://img.6yueting.com:20001/"+it.coverUrlLocal,url:MY_HOME+"/list/"+it.code,desc:it.cdate,content:it.descXx.replace(/&nbsp;/g,"")})});setResult(d);',
}

51
JS/博看听书.js Normal file
View File

@ -0,0 +1,51 @@
var rule = {
title: '博看听书',
host: 'https://api.bookan.com.cn',
homeUrl: '/voice/book/list?instance_id=25304&page=1&category_id=1305&num=24',
url: '/voice/book/list?instance_id=25304&page=fypage&category_id=fyclass&num=24',
detailUrl: '/voice/album/units?album_id=fyid&page=1&num=200&order=1',
searchUrl: 'https://es.bookan.com.cn/api/v3/voice/book?instanceId=25304&keyword=**&pageNum=fypage&limitNum=20',
searchable: 2,
quickSearch: 0,
class_name: '少年读物&儿童文学&国学经典&文艺少年&育儿心经&心理哲学&青春励志&历史小说&故事会&音乐戏剧&相声评书',
class_url: '1305&1304&1320&1306&1309&1310&1307&1312&1303&1317&1319',
headers: {'User-Agent': 'MOBILE_UA'},
推荐: '*',
一级: 'json:data.list;name;cover;extra.author;id',
二级: `js:
let d = [];
VOD = {
vod_url: input,
vod_name: "",
vod_actor: "",
vod_year: "",
vod_director: ""
};
let playlists = [];
let data = JSON.parse(request(input)).data;
VOD.vod_name = data.list[0].id;
VOD.vod_actor = "▶️创建于" + data.list[0].created_at;
VOD.vod_year = data.list[0].created_at.split("-")[0];
VOD.vod_director = "▶️更新于" + data.list[0].updated_at;
let total = data.total;
playlists = data.list;
if (total > 200) {
for (let i = 2; i < total / 200 + 1; i++) {
let listUrl = input.split("&")[0] + "&page=" + i + "&num=200&order=1";
let data = JSON.parse(request(listUrl)).data;
playlists = playlists.concat(data.list)
}
}
playlists.forEach(function(it) {
d.push({
title: it.title,
url: it.file
})
});
VOD.vod_play_from = "bookan";
VOD.vod_play_url = d.map(function(it) {
return it.title + "$" + it.url
}).join("#");
`,
搜索: '*',
}

211
JS/央视大全.js Normal file
View File

@ -0,0 +1,211 @@
var rule = {
title:'央视频',
host:'https://api.cntv.cn',
homeUrl: '/lanmu/columnSearch?&fl=&fc=&cid=&p=1&n=500&serviceId=tvcctv&t=json',
url:'/list/getVideoAlbumList?fyfilter&area=&letter=&n=24&serviceId=tvcctv&t=json',
searchUrl:'',
searchable:0,
quickSearch:0,
class_name: '栏目大全&特别节目&纪录片&电视剧&动画片',
class_url: '栏目大全&特别节目&纪录片&电视剧&动画片',
filterable: 1,
filter_url: 'channel={{fl.channel}}&sc={{fl.sc}}&year={{fl.year}}',
filter: {
"纪录片":[
{"key":"channel","name":"频道","value":[{"n":"全部","v":""},{"n":"CCTV-1综合","v":"CCTV-1综合,CCTV-1高清,CCTV-1综合高清"},{"n":"CCTV-2财经","v":"CCTV-2财经,CCTV-2高清,CCTV-2财经高清"},{"n":"CCTV-3综艺","v":"CCTV-3综艺,CCTV-3高清,CCTV-3综艺高清"},{"n":"CCTV-4中文国际","v":"CCTV-4中文国际,CCTV-4高清,CCTV-4中文国际(亚)高清"},{"n":"CCTV-5体育","v":"CCTV-5体育,CCTV-5高清,CCTV-5体育高清"},{"n":"CCTV-6电影","v":"CCTV-6电影,CCTV-6高清,CCTV-6电影高清"},{"n":"CCTV-7国防军事","v":"CCTV-7国防军事,CCTV-7高清,CCTV-7国防军事高清"},{"n":"CCTV-8电视剧","v":"CCTV-8电视剧,CCTV-8高清,CCTV-8电视剧高清"},{"n":"CCTV-9纪录","v":"CCTV-9纪录,CCTV-9高清,CCTV-9纪录高清"},{"n":"CCTV-10科教","v":"CCTV-10科教,CCTV-10高清,CCTV-10科教高清"},{"n":"CCTV-11戏曲","v":"CCTV-11戏曲,CCTV-11高清,CCTV-11戏曲高清"},{"n":"CCTV-12社会与法","v":"CCTV-12社会与法,CCTV-12高清,CCTV-12社会与法高清"},{"n":"CCTV-13新闻","v":"CCTV-13新闻,CCTV-13高清,CCTV-13新闻高清"},{"n":"CCTV-14少儿","v":"CCTV-14少儿,CCTV-14高清,CCTV-14少儿高清"},{"n":"CCTV-15音乐","v":"CCTV-15音乐,CCTV-15高清,CCTV-15音乐高清"},{"n":"CCTV-17农业农村","v":"CCTV-17农业农村,高清,高清"}]},
{"key":"sc","name":"类型","value":[{"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":"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"}]},
],
"特别节目":[
{"key":"channel","name":"频道","value":[{"n":"全部","v":""},{"n":"CCTV-1综合","v":"CCTV-1综合,CCTV-1高清,CCTV-1综合高清"},{"n":"CCTV-2财经","v":"CCTV-2财经,CCTV-2高清,CCTV-2财经高清"},{"n":"CCTV-3综艺","v":"CCTV-3综艺,CCTV-3高清,CCTV-3综艺高清"},{"n":"CCTV-4中文国际","v":"CCTV-4中文国际,CCTV-4高清,CCTV-4中文国际(亚)高清"},{"n":"CCTV-5体育","v":"CCTV-5体育,CCTV-5高清,CCTV-5体育高清"},{"n":"CCTV-6电影","v":"CCTV-6电影,CCTV-6高清,CCTV-6电影高清"},{"n":"CCTV-7国防军事","v":"CCTV-7国防军事,CCTV-7高清,CCTV-7国防军事高清"},{"n":"CCTV-8电视剧","v":"CCTV-8电视剧,CCTV-8高清,CCTV-8电视剧高清"},{"n":"CCTV-9纪录","v":"CCTV-9纪录,CCTV-9高清,CCTV-9纪录高清"},{"n":"CCTV-10科教","v":"CCTV-10科教,CCTV-10高清,CCTV-10科教高清"},{"n":"CCTV-11戏曲","v":"CCTV-11戏曲,CCTV-11高清,CCTV-11戏曲高清"},{"n":"CCTV-12社会与法","v":"CCTV-12社会与法,CCTV-12高清,CCTV-12社会与法高清"},{"n":"CCTV-13新闻","v":"CCTV-13新闻,CCTV-13高清,CCTV-13新闻高清"},{"n":"CCTV-14少儿","v":"CCTV-14少儿,CCTV-14高清,CCTV-14少儿高清"},{"n":"CCTV-15音乐","v":"CCTV-15音乐,CCTV-15高清,CCTV-15音乐高清"},{"n":"CCTV-17农业农村","v":"CCTV-17农业农村,高清,高清"}]},
{"key":"sc","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":"其他"}]},
],
"电视剧":[
{"key":"sc","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":"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"},{"n":"1999","v":"1999"},{"n":"1998","v":"1998"},{"n":"1997","v":"1997"}]},
],
},
headers:{
'User-Agent':'PC_UA'
},
timeout:10000,
play_parse:true,
lazy: $js.toString(() => {
let id = input.split("|")[0];
let k4 = input.split("|")[1];
let fc = input.split("|")[2];
if (k4 === '7' && fc!== '体育'){
input = 'https://hls.cntv.myhwcdn.cn/asp/hls/850/0303000a/3/default/' + id + '/850.m3u8';
} else {
input = 'https://hls.cntv.myhwcdn.cn/asp/hls/850/0303000a/3/default/' + id + '/850.m3u8';
}
//https://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid='+input
}),
//海阔
/*
lazy: $js.toString(() => {
input=JSON.parse(request('https://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid='+input)).hls_url;
id = input.split('/')[9];
input = 'https://hls.cntv.myalicdn.com//asp/hls/2000/0303000a/3/default/' + id + '/2000.m3u8';
}),
*/
//影视
//lazy: $js.toString(() => {
//input=JSON.parse(request('https://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid='+input)).hls_url.replaceAll('main','2000')
//.replaceAll('cntv.lxdns','cntv.myalicdn').replaceAll('n.cn','n.com').replaceAll('myhwcdn','myalicdn').replaceAll('kcdnvip','myalicdn').replaceAll('newcntv.qcloudcdn','cntv.myalicdn')
//;
//}),
limit:6,
double:false,
推荐: $js.toString(() => {
var d = [];
var list = JSON.parse(request(input)).response.docs;
list.forEach(it => {
// 一级标题
let title1 = it.column_name;
// 一级描述
let desc1 = it.channel_name;
// 一级图片URL
let picUrl1 = it.column_logo;
// 一级URLid 地区 类型 标题 演员 年份 频道 简介 图片 更新至)
let url1 = it.lastVIDE.videoSharedCode + '|' + '' + '|' + it.column_firstclass + '|' + it.column_name + '|' + '' + '|' + it.column_playdate + '|' + it.channel_name + '|' + it.column_brief + '|' + it.column_logo + '|' + '' + '|' + it.lastVIDE.videoTitle;
d.push({
desc : desc1,
title : title1,
pic_url : picUrl1,
url : url1
})
})
setResult(d);
}),
一级: $js.toString(() => {
var d = [];
if(MY_CATE==='栏目大全') {
var list = JSON.parse(request(HOST+'/lanmu/columnSearch?&fl=&fc=&cid=&p='+MY_PAGE+'&n=500&serviceId=tvcctv&t=json')).response.docs;
list.forEach(it => {
// 一级标题
let title1 = it.column_name;
// 一级描述
let desc1 = it.channel_name;
// 一级图片URL
let picUrl1 = it.column_logo;
// 一级URLid 地区 类型 标题 演员 年份 频道 简介 图片 更新至)
let url1 = it.lastVIDE.videoSharedCode + '|' + '' + '|' + it.column_firstclass + '|' + it.column_name + '|' + '' + '|' + it.column_playdate + '|' + it.channel_name + '|' + it.column_brief + '|' + it.column_logo + '|' + '' + '|' + it.lastVIDE.videoTitle;
d.push({
desc : desc1,
title : title1,
pic_url : picUrl1,
url : url1
})
})
}
else {
var channelMap = {
"特别节目": "CHAL1460955953877151",
"纪录片": "CHAL1460955924871139",
"电视剧": "CHAL1460955853485115",
"动画片": "CHAL1460955899450127",
};
var list = JSON.parse(request(input+'&channelid='+channelMap[MY_CATE]+'&fc='+MY_CATE+'&p='+MY_PAGE)).data.list;
list.forEach(it => {
// 一级标题
let title1 = it.title;
// 一级描述
let desc1 = it.sc + ((typeof it.year==='undefined' || it.year==='')?'':('•'+it.year)) + ((typeof it.count==='undefined' || it.count==='')?'':('•共' + it.count + '集'));
// 一级图片URL
let picUrl1 = it.image;
// 一级URLid 地区 类型 标题 演员 年份 频道 简介 图片 集数)
let url1 = it.id + '|' + it.area + '|' + it.sc + '|' + it.title + '|' + it.actors + '|' + it.year + '|' + it.channel + '|' + it.brief + '|' + it.image + '|' + it.count + '|' + '' + '|' + MY_CATE;
d.push({
desc : desc1,
title : title1,
pic_url : picUrl1,
url : url1
})
})
}
setResult(d);
}),
二级: $js.toString(() => {
let info = input.split("|");
VOD = {
vod_id: info[0],
vod_name: info[3],
vod_pic: info[8],
type_name: info[2]==='undefined'?'':info[2],
vod_year: info[5]==='undefined'?'':info[5],
vod_area: info[1]==='undefined'?'':info[1],
vod_remarks: info[9]===''?('更新至'+info[10]):('共'+info[9]+'集'),
vod_director: info[6]==='undefined'?'':info[6],
vod_actor: info[4]==='undefined'?'':info[4],
vod_content: info[7]==='undefined'?'':info[7],
};
var modeMap = {
"特别节目": "0",
"纪录片": "0",
"电视剧": "0",
"动画片": "1",
};
var ctid = info[0].replace('https://api.cntv.cn/lanmu/','');
var link = 'https://api.cntv.cn/NewVideo/getVideoListByAlbumIdNew?id='+ctid+'&serviceId=tvcctv&p=1&n=100&mode='+modeMap[info[11]]+'&pub=1';
var html = JSON.parse(request(link));
var playUrls;
if(html.errcode==='1001'){
var guid = info[0].replace('https://api.cntv.cn/lanmu/','');
var link1 = 'https://api.cntv.cn/video/videoinfoByGuid?guid='+guid+'&serviceId=tvcctv';
ctid = JSON.parse(request(link1)).ctid.replace('https://api.cntv.cn/lanmu/','');
var link2 = 'https://api.cntv.cn/NewVideo/getVideoListByColumn?id='+ctid+'&d=&p=1&n=100&sort=desc&mode=0&serviceId=tvcctv&t=json';
playUrls = JSON.parse(request(link2)).data.list;
} else {
playUrls = html.data.list;
// 获取更多数据,暂不需要
var flag = '';
if(playUrls===''){
flag = 'true';
}
var page = 1;
while(flag===''){
page = page+1;
var burl = 'https://api.cntv.cn/NewVideo/getVideoListByAlbumIdNew?id='+ctid+'&serviceId=tvcctv&p='+page+'&n=100&mode='+modeMap[info[11]]+'&pub=1';
var list = JSON.parse(request(burl)).data.list;
if (list.length!==0){
list.forEach(it => {
playUrls.push(it);
})
continue;
}else{
flag='true';
break;
}
}
}
let playFrom = [];
let playList = [];
playFrom.append('央视频');
playUrls.forEach(it => {
playList.append(playUrls.map(function(it) {
return it.title + "$" + it.guid
}).join("#"))
});
// 最后封装所有线路
let vod_play_from = playFrom.join('$$$');
let vod_play_url = playList.join('$$$');
VOD['vod_play_from'] = vod_play_from;
VOD['vod_play_url'] = vod_play_url;
}),
搜索:'',
}

97
JS/央视少儿.js Normal file
View File

@ -0,0 +1,97 @@
var rule = {
title:'央视频',
host:'https://api.cntv.cn',
homeUrl: '/lanmu/columnSearch?&fl=&fc=&cid=&p=1&n=500&serviceId=tvcctv&t=json',
// url:'/list/getVideoAlbumList?fyfilter&area=&letter=&n=24&serviceId=tvcctv&t=json',
url: '/NewVideo/getVideoListByColumn?id=fyclass&n=10&sort=desc&p=fypage&mode=0&serviceId=tvcctv',
searchUrl:'',
searchable:0,
quickSearch:0,
class_name: '周末动画片&快乐体验&小小智慧树&智力快车&音乐快递&英雄出少年&快乐大巴&动漫世界&新闻袋袋裤&大风车&七巧板&大手牵小手&智慧树&动感特区&动画大放映&看我 72 变&快乐童行&风车剧场',
class_url:'TOPC1451559836238828&TOPC1451559479171411&TOPC1451559205464876&TOPC1451559756374759&TOPC1451559666055645&TOPC1451559695702690&TOPC1451559161446811&TOPC1451559448233349&TOPC1451559603261584&TOPC1451558929123462&TOPC1451559569040502&TOPC1451558967135492&TOPC1451447359806385&TOPC1451559378830189&TOPC1451559025546574&TOPC1451559131256781&TOPC1628144739712839&TOPC1573528152700717',
filterable: 1,
headers:{
'User-Agent':'PC_UA'
},
timeout:10000,
play_parse:true,
limit:6,
double:false,
/*
推荐: $js.toString(() => {
var d = [];
var list = JSON.parse(request(input)).response.docs;
list.forEach(it => {
// 一级标题
let title1 = it.column_name;
// 一级描述
let desc1 = it.channel_name;
// 一级图片URL
let picUrl1 = it.column_logo;
// 一级URLid 地区 类型 标题 演员 年份 频道 简介 图片 更新至)
let url1 = it.lastVIDE.videoSharedCode + '|' + '' + '|' + it.column_firstclass + '|' + it.column_name + '|' + '' + '|' + it.column_playdate + '|' + it.channel_name + '|' + it.column_brief + '|' + it.column_logo + '|' + '' + '|' + it.lastVIDE.videoTitle;
d.push({
desc : desc1,
title : title1,
pic_url : picUrl1,
url : url1
})
})
setResult(d);
}),
*/
一级: $js.toString(() => {
var d = [];
var list = JSON.parse(request(input)).data.list;
list.forEach(it => {
//一级id
let guid1 = it.guid;
// 一级标题
let title1 = it.title
// 一级描述
let desc1 = it.time;
// 一级图片URL
let picUrl1 = it.image;
// 一级URLid 地区 类型 标题 演员 年份 频道 简介 图片 集数)
let url1 =it.guid + '|' + it.id + '|' + it.time + '|' + it.title + '|' + it.length + '|' + it.image + '|' + it.focus_date + '|' + it.brief + '|' + it.url + '|' + '' + '|' + MY_CATE;
d.push({
desc : desc1,
title : title1,
pic_url : picUrl1,
guid : guid1,
url : url1
})
})
setResult(d);
}),
二级 : $js.toString(() => {
let info = input.split("|");
let guid = info[0].replaceAll('https://api.cntv.cn/lanmu/', '');
VOD = {
vod_id: info[1],
vod_name: info[3],
vod_pic: info[5],
type_name: info[2],
vod_year: info[2],
vod_area: info[1],
vod_remarks: 'ƪ(˘⌣˘)ʃ拾光',
vod_director: 'ƪ(˘⌣˘)ʃ拾光',
vod_actor: 'ƪ(˘⌣˘)ʃ拾光',
vod_content: info[7],
vod_play_from: '央视频',
//https://hls.cntv.myalicdn.com//asp/hls/2000/0303000a/3/default/https://api.cntv.cn/lanmu/1a01871d6d5f4d4bbe82b9c62650f100/2000.m3u8
vod_play_url: '立即播放$https://hls.cntv.myhwcdn.cn/asp/hls/850/0303000a/3/default/' + guid + '/850.m3u8'
};
}),
搜索:'',
}

94
JS/央视新闻.js Normal file
View File

@ -0,0 +1,94 @@
var rule = {
title:'央视频',
host:'https://api.cntv.cn',
homeUrl: '/lanmu/columnSearch?&fl=&fc=&cid=&p=1&n=500&serviceId=tvcctv&t=json',
// url:'/list/getVideoAlbumList?fyfilter&area=&letter=&n=24&serviceId=tvcctv&t=json',
url: '/NewVideo/getVideoListByColumn?id=fyclass&n=10&sort=desc&p=fypage&mode=0&serviceId=tvcctv',
searchUrl:'',
searchable:0,
quickSearch:0,
class_name: '焦点访谈&每周质量报告&午夜新闻&新闻调查&新闻周刊&面对面&法治在线&新闻30分&新闻1+1&军情时间到&国际时讯&新闻直播间&朝闻天下&世界周刊&高端访谈&环球视线&共同关注&24小时&东方时空',
class_url:'TOPC1451558976694518&TOPC1451558650605123&TOPC1451558779639282&TOPC1451558819463311&TOPC1451559180488841&TOPC1451559038345600&TOPC1451558590627940&TOPC1451559097947700&TOPC1451559066181661&TOPC1462504102545692&TOPC1451558887804404&TOPC1451559129520755&TOPC1451558496100826&TOPC1451558687534149&TOPC1665739007799851&TOPC1451558926200436&TOPC1451558858788377&TOPC1451558428005729&TOPC1451558532019883',
filterable: 1,
headers:{
'User-Agent':'PC_UA'
},
timeout:10000,
play_parse:true,
limit:6,
double:false,
/*
推荐: $js.toString(() => {
var d = [];
var list = JSON.parse(request(input)).response.docs;
list.forEach(it => {
// 一级标题
let title1 = it.column_name;
// 一级描述
let desc1 = it.channel_name;
// 一级图片URL
let picUrl1 = it.column_logo;
// 一级URLid 地区 类型 标题 演员 年份 频道 简介 图片 更新至)
let url1 = it.lastVIDE.videoSharedCode + '|' + '' + '|' + it.column_firstclass + '|' + it.column_name + '|' + '' + '|' + it.column_playdate + '|' + it.channel_name + '|' + it.column_brief + '|' + it.column_logo + '|' + '' + '|' + it.lastVIDE.videoTitle;
d.push({
desc : desc1,
title : title1,
pic_url : picUrl1,
url : url1
})
})
setResult(d);
}),
*/
一级: $js.toString(() => {
var d = [];
var list = JSON.parse(request(input)).data.list;
list.forEach(it => {
//一级id
let guid1 = it.guid;
// 一级标题
let title1 = it.title
// 一级描述
let desc1 = it.time;
// 一级图片URL
let picUrl1 = it.image;
// 一级URLid 地区 类型 标题 演员 年份 频道 简介 图片 集数)
let url1 =it.guid + '|' + it.id + '|' + it.time + '|' + it.title + '|' + it.length + '|' + it.image + '|' + it.focus_date + '|' + it.brief + '|' + it.url + '|' + '' + '|' + MY_CATE;
d.push({
desc : desc1,
title : title1,
pic_url : picUrl1,
guid : guid1,
url : url1
})
})
setResult(d);
}),
二级 : $js.toString(() => {
let info = input.split("|");
let guid = info[0].replaceAll('https://api.cntv.cn/lanmu/', '');
VOD = {
vod_id: info[1],
vod_name: info[3],
vod_pic: info[5],
type_name: info[2],
vod_year: info[2],
vod_area: info[1],
vod_remarks: 'ƪ(˘⌣˘)ʃ拾光',
vod_director: 'ƪ(˘⌣˘)ʃ拾光',
vod_actor: 'ƪ(˘⌣˘)ʃ拾光',
vod_content: info[7],
vod_play_from: '央视频',
vod_play_url: '立即播放$https://hls.cntv.myhwcdn.cn/asp/hls/850/0303000a/3/default/' + guid + '/850.m3u8'
};
}),
搜索:'',
}

96
JS/央视经济.js Normal file
View File

@ -0,0 +1,96 @@
var rule = {
title:'央视频',
host:'https://api.cntv.cn',
homeUrl: '/lanmu/columnSearch?&fl=&fc=&cid=&p=1&n=500&serviceId=tvcctv&t=json',
// url:'/list/getVideoAlbumList?fyfilter&area=&letter=&n=24&serviceId=tvcctv&t=json',
url: '/NewVideo/getVideoListByColumn?id=fyclass&n=10&sort=desc&p=fypage&mode=0&serviceId=tvcctv',
searchUrl:'',
searchable:0,
quickSearch:0,
class_name: '对话&经济半小时&经济信息联播&第一时间&消费主张&欢乐大猜想&创业英雄汇&生财有道&职场健康课&一锤定音&回家吃饭&央视财经评论&中国经济大讲堂&正点财经&天下财经&生活家&魅力中国城',
class_url: 'TOPC1451530382483536&TOPC1451533652476962&TOPC1451533782742171&TOPC1451530259915198&TOPC1451534775834896&TOPC1672292475106944&TOPC1451529684665516&TOPC1451534118159896&TOPC1467078494968390&TOPC1451538759798817&TOPC1451532939300997&TOPC1451538686034772&TOPC1514182710380601&TOPC1453100395512779&TOPC1451531385787654&TOPC1593419181674791&TOPC1499160712571517',
filterable: 1,
headers:{
'User-Agent':'PC_UA'
},
timeout:10000,
play_parse:true,
limit:6,
double:false,
/*
推荐: $js.toString(() => {
var d = [];
var list = JSON.parse(request(input)).response.docs;
list.forEach(it => {
// 一级标题
let title1 = it.column_name;
// 一级描述
let desc1 = it.channel_name;
// 一级图片URL
let picUrl1 = it.column_logo;
// 一级URLid 地区 类型 标题 演员 年份 频道 简介 图片 更新至)
let url1 = it.lastVIDE.videoSharedCode + '|' + '' + '|' + it.column_firstclass + '|' + it.column_name + '|' + '' + '|' + it.column_playdate + '|' + it.channel_name + '|' + it.column_brief + '|' + it.column_logo + '|' + '' + '|' + it.lastVIDE.videoTitle;
d.push({
desc : desc1,
title : title1,
pic_url : picUrl1,
url : url1
})
})
setResult(d);
}),
*/
一级: $js.toString(() => {
var d = [];
var list = JSON.parse(request(input)).data.list;
list.forEach(it => {
//一级id
let guid1 = it.guid;
// 一级标题
let title1 = it.title
// 一级描述
let desc1 = it.time;
// 一级图片URL
let picUrl1 = it.image;
// 一级URLid 地区 类型 标题 演员 年份 频道 简介 图片 集数)
let url1 =it.guid + '|' + it.id + '|' + it.time + '|' + it.title + '|' + it.length + '|' + it.image + '|' + it.focus_date + '|' + it.brief + '|' + it.url + '|' + '' + '|' + MY_CATE;
d.push({
desc : desc1,
title : title1,
pic_url : picUrl1,
guid : guid1,
url : url1
})
})
setResult(d);
}),
二级 : $js.toString(() => {
let info = input.split("|");
let guid = info[0].replaceAll('https://api.cntv.cn/lanmu/', '');
VOD = {
vod_id: info[1],
vod_name: info[3],
vod_pic: info[5],
type_name: info[2],
vod_year: info[2],
vod_area: info[1],
vod_remarks: 'ƪ(˘⌣˘)ʃ拾光',
vod_director: 'ƪ(˘⌣˘)ʃ拾光',
vod_actor: 'ƪ(˘⌣˘)ʃ拾光',
vod_content: info[7],
vod_play_from: '央视频',
vod_play_url: '立即播放$https://hls.cntv.myhwcdn.cn/asp/hls/850/0303000a/3/default/' + guid + '/850.m3u8'
};
}),
搜索:'',
}

97
JS/央视综合.js Normal file
View File

@ -0,0 +1,97 @@
var rule = {
title:'央视频',
host:'https://api.cntv.cn',
homeUrl: '/lanmu/columnSearch?&fl=&fc=&cid=&p=1&n=500&serviceId=tvcctv&t=json',
// url:'/list/getVideoAlbumList?fyfilter&area=&letter=&n=24&serviceId=tvcctv&t=json',
url: '/NewVideo/getVideoListByColumn?id=fyclass&n=10&sort=desc&p=fypage&mode=0&serviceId=tvcctv',
searchUrl:'',
searchable:0,
quickSearch:0,
class_name: '动画大放映&第一动画乐园&健康之路&走进科学&探索·发现&动物世界&人与自然&自然传奇&地理·中国&远方的家&跟着书本去旅行&百家讲坛&空中剧院&体坛快讯&新闻联播&焦点访谈&今日说法&等着我&新闻直播间&海峡两岸&天网&今日关注&高端访谈&开讲啦&故事里的中国&对话&面对面&是真的吗&星光大道&精彩音乐汇&音乐厅&民歌·中国&中国电影报道&星推荐&方圆剧阵&正大综艺&第一时间&开门大吉&开讲啦&共同关注&军事报道&新闻调查&新闻 30 分&新闻 1+1&今日亚洲&新闻直播间&24 小时&中国新闻&午夜新闻&朝闻天下&晚间新闻&新闻周刊&经济半小时&经济大讲堂&正点财经&生活圈&生活提示&东方时空&经济信息联播&今日环球&一线',
class_url:'TOPC1451559025546574&TOPC1451378857272262&TOPC1451557646802924&TOPC1451558190239536&TOPC1451557893544236&TOPC1451378967257534&TOPC1451525103989666&TOPC1451558150787467&TOPC1451557421544786&TOPC1451541349400938&TOPC1575253587571324&TOPC1451557052519584&TOPC1451558856402351&TOPC1451550970356385&TOPC1451528971114112&TOPC1451558976694518&TOPC1451464665008914&TOPC1451378757637200&TOPC1451559129520755&TOPC1451540328102649&TOPC1451530382483536&TOPC1451540389082713&TOPC1665739007799851&TOPC1451464884159276&TOPC1451464884159276&TOPC1514182710380601&TOPC1451559038345600&TOPC1451534366388377&TOPC1451467630488780&TOPC1451541414450906&TOPC1451534421925242&TOPC1451541994820527&TOPC1451354597100320&TOPC1451469943519994&TOPC1571217727564820&TOPC1650782829200997&TOPC1451530259915198&TOPC1451465894294259&TOPC1451464884159276&TOPC1451558858788377&TOPC1451527941788652&TOPC1451558819463311&TOPC1451559097947700&TOPC1451559066181661&TOPC1451540448405749&TOPC1451559129520755&TOPC1451558428005729&TOPC1451539894330405&TOPC1451558779639282&TOPC1451558496100826&TOPC1451528792881669&TOPC1451559180488841&TOPC1601362002656197&TOPC1451533652476962&TOPC1453100395512779&TOPC1451546588784893&TOPC1451526037568184&TOPC1451558532019883&TOPC1451533782742171&TOPC1571034705435323&TOPC1451543462858283',
filterable: 1,
headers:{
'User-Agent':'PC_UA'
},
timeout:10000,
play_parse:true,
limit:6,
double:false,
/*
推荐: $js.toString(() => {
var d = [];
var list = JSON.parse(request(input)).response.docs;
list.forEach(it => {
// 一级标题
let title1 = it.column_name;
// 一级描述
let desc1 = it.channel_name;
// 一级图片URL
let picUrl1 = it.column_logo;
// 一级URLid 地区 类型 标题 演员 年份 频道 简介 图片 更新至)
let url1 = it.lastVIDE.videoSharedCode + '|' + '' + '|' + it.column_firstclass + '|' + it.column_name + '|' + '' + '|' + it.column_playdate + '|' + it.channel_name + '|' + it.column_brief + '|' + it.column_logo + '|' + '' + '|' + it.lastVIDE.videoTitle;
d.push({
desc : desc1,
title : title1,
pic_url : picUrl1,
url : url1
})
})
setResult(d);
}),
*/
一级: $js.toString(() => {
var d = [];
var list = JSON.parse(request(input)).data.list;
list.forEach(it => {
//一级id
let guid1 = it.guid;
// 一级标题
let title1 = it.title
// 一级描述
let desc1 = it.time;
// 一级图片URL
let picUrl1 = it.image;
// 一级URLid 地区 类型 标题 演员 年份 频道 简介 图片 集数)
let url1 =it.guid + '|' + it.id + '|' + it.time + '|' + it.title + '|' + it.length + '|' + it.image + '|' + it.focus_date + '|' + it.brief + '|' + it.url + '|' + '' + '|' + MY_CATE;
d.push({
desc : desc1,
title : title1,
pic_url : picUrl1,
guid : guid1,
url : url1
})
})
setResult(d);
}),
二级 : $js.toString(() => {
let info = input.split("|");
let guid = info[0].replaceAll('https://api.cntv.cn/lanmu/', '');
VOD = {
vod_id: info[1],
vod_name: info[3],
vod_pic: info[5],
type_name: info[2],
vod_year: info[2],
vod_area: info[1],
vod_remarks: 'ƪ(˘⌣˘)ʃ拾光',
vod_director: 'ƪ(˘⌣˘)ʃ拾光',
vod_actor: 'ƪ(˘⌣˘)ʃ拾光',
vod_content: info[7],
vod_play_from: '央视频',
vod_play_url: '立即播放$https://hls.cntv.myhwcdn.cn/asp/hls/850/0303000a/3/default/' + guid + '/850.m3u8'
};
}),
搜索:'',
}

View File

@ -1 +1,209 @@
H4sIAAAAAAAAA+1YbU/cRhD+zq9wrujsI4d9d1ACF10rAgQpKgWVlygkFBl7787gt3j33tJclSoNUqI25UPbD1VUqW+CqlKTSKmU0lT9Mzmg/6Kza/u89l0g5EOVqLUgsWdnZ2fmmZmdoWI6G6q5VDWwXF13MBFKglglxC0qSrOJXbnZtKoycVxFPD9QVz1hC7WAZcprucS5tCgjW5MvqBiNjcqu6mEkpeZmr4zML100Vq25xursXGHu8vLoaqVUSmV8AUb91fdXImUnZxbXp5FG5YC8cs3WiOHYUsPx9Izw0YAAD/FawRt96Nl6d0NXAZAjB2S2OUstzHL76GPUi/CbjdEsR0fFSA79lKcuTMWZXFXXDbvC8QFFXtjS8LmIsQ2Whe+aYwMGgUJIX0JNqm3wDTgsEg/kSTH/LZPyOCfCKAvSmZiETMIcUvWchmCjhjDjeY4npY52f+g83O7s3D/85tPO9p3Or78/f7p/+PN+ihPb7r55iNQ8O66kz9cWNJVoVUFC/JHUJsdEMood9uPjoyc/FVNZAXGHBKLtmmkGEgfaPbDP2MfCToFGdqBbEupgoT/USZhPhPgYeAd4ZAOzulpFQAIDGMhbWHf0PG8ayQpuJbTNRESoEsukHB66XkOYSH7anhVE1TVkt+oqFURU16Vfhq2jpkJaLrpomAR5K47+noGJyBu94eitYiJAVA+pRUHs3Nn7+/aeGA/pFlK9F63Rk9YNvSiQZBpUwJFuJU7FjkdA0sGDWwdfP0pIMlXq1v6naKaKcbQYRWjEVkWqjjyctEtcxsgbnqwgm4ggwNmilU4ZkfOj8kTiEHHKsQnwDS+BTZQZXGoaEN6AidIcbjQaw2XHs4ZrngmwQmTofRURLUSqjk4FLMwvLvk87SzUploY9yGmAOmlxfn3gzrIUI6Hj8TVPLYu6ypRMzSEEgFk6JgPIfjsF0BlBLl6cviAvGkgGWYsbHy7QrNeQ8/3i2swhYUnOIQrv7FUPRkNv0R71PdxphfCE+0KNnG3Uj+NKNFWLUgZdgpFVA5pcS4PWaq3hZOMATnOq2rE8ZKcjBjn0w0P9WMN6XFuzQcryRyQ47yuqbbWy55jAahinyVAlK74eEBVZLEfivVZTChfMsA/o0LoSnXVhDQSSu9wHo3z09OEsyWBccqUhLx1wy47Mq7CHQhhPzg4KEYXkM8HimDulMQJvacAPztEpggxoSL823smixO6/jFbl9m+4KsXao4x/HyLU5VvG/qqw5mWuIgoO60ainKw8+Dwyfd8+cAY5MTu1tjNesrigeG20Ko9l84bWT2gW6BtA2jX0HvvPXrHsVTOv3ppCeDpX0h8wKB7Ovh2hwdss9mMF/usAMZlBVYthM3aphHipwxBcyilzo3mx98uTIyNpM6USmL3S8yE5gZqsDkAwyCAc7KlmqZMNFPWHEupeE7NzStzuZwCP+MTylTdmb0wq2vzC+rk5HKzPjndWLWNlZXChjZ6bky23NEwbttDCnuhTaqhy5ioHsGXDVKV2Glihm8cAz3iKDCvxbxMH1Y6DB1CkdoeW9psFoVcNpG9tqVu1YrdUSefG5FHxuRCISfnx8aKE+MKqW84TeVGlUb1uyCzRBNRTG9a7CXMx/QmZt/Uy+wbYqQUeTQKhLCbjWwXSiUh97LW5k5lbf51sfbVe1aoQQvU9De/ajAE18EyilgfGLmJRgJC5iWqB18feipJWCzonnDyMp0KW+VEsekNZLH64iG4NzQkKddspZKFKzjDka4FpGivRYc8hMPBVGbfkpIC9VPFlHT1w9Ta2UxKCXaweTTccvNmuPtqfg1SoMRmPT4NjhUu9Ehv84UzktKbN8zZ0dnRQqI+/KvZ0qZFnf1ZxKuZqNsZEoOYiE44j7443L4XxGoVUiZqnHTWki+zjqncMvSA7N+3PnloKCDWAi42OMUY1Q16TsEnXa8Z2tYio3drSJnNjT5b4CQmJehPxcMvf+v8+TgN/x3tbnfu7qYP/3h2dHc/3bm3d/DsF5Hf4WuRTxfSI+nRYIW1KwFWdCTyqaZ6A9JocBNHc7KU6MH8dtqltwd4zbDdGpExpCyRoGXi/xhCV4ADLkmJcV/NrWX9fTQIgrdC921kLYyrIBEP7u8dfb5zgjYsofzWno7vUi4Lpf18bHmjZ1xgeQp5BjeqhWydtbbRHsrfbUEN0qcDld0arkpxYhdtg8j+aJHtWQ+CK+CIzxRdt1mVLodraL0MOsJalyMYN2JMfHfKv2NEPkC4ZhJJT3j6+dNbh/u7p/Q0wzcrzF1ZX5icnfnf56f1+f5nJ/ucv0VSR49uHz386vlf3x188rCQgrrGEEg4PkII5lopyaEovETuuqLPyvw0Lf1sQOE19QeVl48ONsb0HH1cVPgV8T8SEooSxzWBQv+Iaf8Dat5J+i0YAAA=
globalThis.h_ost = 'http://xxsp.xxmh.top/';
var key = CryptoJS.enc.Base64.parse("MGY3OTFiZmMwZGM2MWU4Zg==");
var iv = CryptoJS.enc.Base64.parse("MGY3OTFiZmMwZGM2MWU4Zg==");
globalThis.AES_Decrypt = function(word) {
try {
var decrypt = CryptoJS.AES.decrypt(word, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7,
});
const decryptedText = decrypt.toString(CryptoJS.enc.Utf8);
if (!decryptedText) {
throw new Error("解密后的内容为空");
}
return decryptedText;
} catch (e) {
console.error("解密失败:", e);
return null;
}
};
globalThis.AES_Encrypt = function(word) {
var encrypted = CryptoJS.AES.encrypt(word, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
return encrypted.toString();
};
globalThis.vod1 = function(t, pg) {
let html1 = request(h_ost + 'api.php/getappapi.index/typeFilterVodList', {
body: {
area: '全部',
year: '全部',
type_id: t,
page: pg,
sort: '最新',
lang: '全部',
class: '全部'
},
headers: {
'User-Agent': 'okhttp/3.14.9',
'Content-Type': 'application/x-www-form-urlencoded'
},
'method': 'POST'
}, true);
let html = JSON.parse(html1);
return (AES_Decrypt(html.data));
}
globalThis.vodids = function(ids) {
let html1 = fetch(h_ost + 'api.php/getappapi.index/vodDetail', {
method: 'POST',
headers: {
'User-Agent': 'okhttp/3.14.9',
'Content-Type': 'application/x-www-form-urlencoded'
},
body: {
vod_id: ids,
}
});
let html = JSON.parse(html1);
const rdata = JSON.parse(AES_Decrypt(html.data));
const data = {
vod_id: ids,
vod_name: rdata.vod.vod_name,
vod_remarks: rdata.vod.vod_remarks,
vod_actor: rdata.vod.vod_actor,
vod_director: rdata.vod.vod_director,
vod_content: rdata.vod.vod_content,
vod_play_from: '',
vod_play_url: ''
};
rdata.vod_play_list.forEach((value) => {
data.vod_play_from += value.player_info.show + '$$$';
value.urls.forEach((v) => {
data.vod_play_url += v.name + '$' + value.player_info.parse + '~' + v.url + '~' + rdata.vod.vod_name + '~' + v.name + '#';
});
data.vod_play_url += '$$$';
});
return data;
}
//搜索
globalThis.ssvod = function(wd) {
var html1 = fetch(h_ost + 'api.php/getappapi.index/searchList', {
method: 'POST',
headers: {
'User-Agent': 'okhttp/3.14.9',
'Content-Type': 'application/x-www-form-urlencoded'
},
body: {
keywords: wd,
typepage_id: 1,
}
});
let html = JSON.parse(html1);
return AES_Decrypt(html.data);
}
//解析
globalThis.jxx = function(id, url, name, juji) {
/* if("741852963"!=='741852963'){
return 'https://s0.mall.tcl.com/group1/M00/00/89/CvoGBGdcOPaAAUxvADwZniVV2bc476.mp4';
}*/
if (id.startsWith('http')) {
return {
parse: 1,
url: id + url,
jx: 0,
danmaku: 'http://103.45.162.207:25252/hbdm.php?key=7894561232&id=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
};
}
if (id == 0) {
return {
parse: 0,
url: id + url,
jx: 1,
danmaku: 'http://103.45.162.207:25252/hbdm.php?key=7894561232&id=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
};
}
let html1 = request(h_ost + 'api.php/getappapi.index/vodParse', {
method: 'POST',
headers: {
'User-Agent': 'okhttp/3.14.9',
'Content-Type': 'application/x-www-form-urlencoded'
},
body: {
parse_api: id,
url: AES_Encrypt(url),
}
});
let html = AES_Decrypt(JSON.parse(html1).data);
console.log(html);
let decry = html.replace(/\n/g, '').replace(/\\/g, '');
let matches = decry.match(/"url":"([^"]+)"/);
if (!matches || matches[1] === null) {
matches = decry.match(/"url": "([^"]+)"/);
}
return {
parse: 0,
url: matches[1],
jx: 0,
danmaku: 'http://103.45.162.207:25252/hbdm.php?key=7894561232&id=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
};
}
var rule = {
title: '小熊',
host: '',
detailUrl: 'fyid',
searchUrl: '**',
url: 'fyclass',
searchable: 2,
quickSearch: 1,
filterable: 0,
class_name: '电影&电视剧&综艺&动漫',
class_url: '1&2&3&4',
play_parse: true,
lazy: $js.toString(() => {
const parts = input.split('~');
input = jxx(parts[0], parts[1], parts[2], parts[3]);
}),
推荐: $js.toString(() => {
let data = vod1(0, 0);
let bata = JSON.parse(data).recommend_list;
bata.forEach(it => {
d.push({
url: it.vod_id,
title: it.vod_name,
img: it.vod_pic,
desc: it.vod_remarks
});
});
setResult(d);
}),
一级: $js.toString(() => {
let data = vod1(input, MY_PAGE);
let bata = JSON.parse(data).recommend_list;
bata.forEach(it => {
d.push({
url: it.vod_id,
title: it.vod_name,
img: it.vod_pic,
desc: it.vod_remarks
});
});
setResult(d);
}),
二级: $js.toString(() => {
console.log("调试信息2" + input);
let data = vodids(input);
//console.log(data);
VOD = data;
}),
搜索: $js.toString(() => {
let data = ssvod(input);
let bata = JSON.parse(data).search_list;
bata.forEach(it => {
d.push({
url: it.vod_id,
title: it.vod_name,
img: it.vod_pic,
desc: it.vod_remarks
});
});
// console.log(data);
setResult(d);
}),
}

View File

@ -1 +1,45 @@
H4sIAAAAAAAAA6VUy27TQBTd8xVWhRqnNOMkhQgcmaqILkBAJUrZlCqaZibxtONHZ8YhbmWJBUtA3bBjxQY+ACRa8Tl9fQbzshsrm0jMxvY959y599ybTCBzWEaxEzgndxx5BBEU+07j8u/Z5dnX3ZvfH/caqxoJEy4kEAqR+p43zsE0brVyLLr3RXTUgWCaH3sVNcJvCJLsmcAOozLgwZSANEy9lCUTgrA3SZC3DocBwgISuiyCkxNVELA5isKmMPhiSQjiwSgnyEo5hmwYLiZ9j4KVleV0LPUpHGObIVtIW6lkF6N8SCHnZf8YIsy4b01Wp7HDMWttjHEsGjL3y60nz15sDnY2rKIwD51kkELG1VAOeBL7OtS3NEEinGRyLg/a7bYJjQgVmMF9NcaOCVESEcnpWkaUUUEq0Lhj+F0TSinMy0sFy7CNqsDAWGGvp/A49527BxyIZFswEo9dt+kEj2f6pFg4qm65YQwfZZgLd8nuUKe9BtZ6oNttg06v5z966InJfjL1jkPl8rq8KVhy7jkkTjPR7Ncy7kMBZcbn21uvgK7LVXfMkLSo2ury2J6sD+XRLamMQL7VoYPpHBvBOIKHmVXYr4pRmBKKphFdffl58/m0HB0lXPTl0gxiGGH9kpKhfjIcQXbI9TtBBlJDGLEksl5f/Plwff5jAbfnvSmNN042ga6j0ug+RgnbhMPQJaKeUHcM0oyHbj1YGUcEMFWvzuH2z8QyVNPzHBKNK4Z0Y56AMB9WDOtTjVQ0b92f2QCOxWvM5aq7qFmbycX5J22knIn/Lr71LRQRDepW9UtcYzOOqu9bVKmRdDFQYeNuCb3dehooaLe9V/5mr06/Xf/6/t87UfwDn6SJhbwFAAA=
var rule = {
title: '弹幕[资]',
host: 'http://gy.xn--yet24tmq1a.xyz/',
homeTid: '',
homeUrl: '/api.php/provide/vod/?ac=detail&t={{rule.homeTid}}',
detailUrl: '/api.php/provide/vod/?ac=detail&ids=fyid',
searchUrl: '/api.php/provide/vod/?ac=detail&wd=**&pg=fypage',
url: '/api.php/provide/vod/?ac=detail&pg=fypage&t=fyclass',
headers: {
'User-Agent': 'MOBILE_UA',
},
class_parse: 'json:class;',
timeout: 5000,
filterable: 1,
limit: 20,
multi: 1,
searchable: 2,
play_parse: true,
parse_url: '',
lazy: $js.toString(() => {
let json = request("http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input);
let bata = JSON.parse(json);
input = {
parse: 0,
url: bata.url,
jx: 0,
danmaku: bata.danmaku
};
}),
推荐: 'json:list;vod_name;vod_pic;vod_remarks;vod_id;vod_play_from',
一级: $js.toString(() => {
let bata = JSON.parse(request(input)).list;
bata.forEach(it => {
d.push({
url: it.vod_id,
title: it.vod_name,
img: it.vod_pic,
desc: it.vod_remarks
})
});
setResult(d)
}),
二级: 'js:\n let html=request(input);\n html=JSON.parse(html);\n let data=html.list;\n VOD=data[0];',
搜索: 'json:list;vod_name;vod_pic;vod_remarks;vod_id;vod_play_from',
}

View File

@ -1 +1,210 @@
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
globalThis.h_ost = 'http://118.107.41.134:35555/';
var key = CryptoJS.enc.Base64.parse("ZGMzMjUwNmQ5YjVjYmY4ZQ==");
var iv = CryptoJS.enc.Base64.parse("ZGMzMjUwNmQ5YjVjYmY4ZQ==");
globalThis.AES_Decrypt = function(word) {
try {
var decrypt = CryptoJS.AES.decrypt(word, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7,
});
const decryptedText = decrypt.toString(CryptoJS.enc.Utf8);
if (!decryptedText) {
throw new Error("解密后的内容为空");
}
return decryptedText;
} catch (e) {
console.error("解密失败:", e);
return null;
}
};
globalThis.AES_Encrypt = function(word) {
var encrypted = CryptoJS.AES.encrypt(word, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
return encrypted.toString();
};
globalThis.vod1 = function(t, pg) {
let html1 = request(h_ost + 'api.php/getappapi.index/typeFilterVodList', {
body: {
area: '全部',
year: '全部',
type_id: t,
page: pg,
sort: '最新',
lang: '全部',
class: '全部'
},
headers: {
'User-Agent': 'okhttp/3.14.9',
'Content-Type': 'application/x-www-form-urlencoded'
},
'method': 'POST'
}, true);
let html = JSON.parse(html1);
return (AES_Decrypt(html.data));
}
globalThis.vodids = function(ids) {
let html1 = fetch(h_ost + 'api.php/getappapi.index/vodDetail', {
method: 'POST',
headers: {
'User-Agent': 'okhttp/3.14.9',
'Content-Type': 'application/x-www-form-urlencoded'
},
body: {
vod_id: ids,
}
});
let html = JSON.parse(html1);
const rdata = JSON.parse(AES_Decrypt(html.data));
const data = {
vod_id: ids,
vod_name: rdata.vod.vod_name,
vod_remarks: rdata.vod.vod_remarks,
vod_actor: rdata.vod.vod_actor,
vod_director: rdata.vod.vod_director,
vod_content: rdata.vod.vod_content,
vod_play_from: '',
vod_play_url: ''
};
rdata.vod_play_list.forEach((value) => {
data.vod_play_from += value.player_info.show + '$$$';
value.urls.forEach((v) => {
data.vod_play_url += v.name + '$' + value.player_info.parse + '~' + v.url + '~' + rdata.vod.vod_name + '~' + v.name + '#';
});
data.vod_play_url += '$$$';
});
return data;
}
//搜索
globalThis.ssvod = function(wd) {
var html1 = fetch(h_ost + 'api.php/getappapi.index/searchList', {
method: 'POST',
headers: {
'User-Agent': 'okhttp/3.14.9',
'Content-Type': 'application/x-www-form-urlencoded'
},
body: {
keywords: wd,
typepage_id: 1,
}
});
let html = JSON.parse(html1);
return AES_Decrypt(html.data);
}
//解析
globalThis.jxx = function(id, url, name, juji) {
/* if("741852963"!=='741852963'){
return 'https://s0.mall.tcl.com/group1/M00/00/89/CvoGBGdcOPaAAUxvADwZniVV2bc476.mp4';
}*/
//console.log(id);
if (id.startsWith('http')) {
return {
parse: 1,
url: id + url,
jx: 0,
danmaku: 'http://103.45.162.207:25252/hbdm.php?key=7894561232&id=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
};
}
if (id == 0) {
return {
parse: 0,
url: url,
jx: 1,
danmaku: 'http://103.45.162.207:25252/hbdm.php?key=7894561232&id=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
};
}
let html1 = request(h_ost + 'api.php/getappapi.index/vodParse', {
method: 'POST',
headers: {
'User-Agent': 'okhttp/3.14.9',
'Content-Type': 'application/x-www-form-urlencoded'
},
body: {
parse_api: id,
url: AES_Encrypt(url),
}
});
let html = AES_Decrypt(JSON.parse(html1).data);
console.log(html);
let decry = html.replace(/\n/g, '').replace(/\\/g, '');
let matches = decry.match(/"url":"([^"]+)"/);
if (!matches || matches[1] === null) {
matches = decry.match(/"url": "([^"]+)"/);
}
return {
parse: 0,
url: matches[1],
jx: 0,
danmaku: 'http://103.45.162.207:25252/hbdm.php?key=7894561232&id=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
};
}
var rule = {
title: '巨人',
host: '',
detailUrl: 'fyid',
searchUrl: '**',
url: 'fyclass',
searchable: 2,
quickSearch: 1,
filterable: 0,
class_name: '电影&电视剧&综艺&动漫',
class_url: '1&2&3&4',
play_parse: true,
lazy: $js.toString(() => {
const parts = input.split('~');
input = jxx(parts[0], parts[1], parts[2], parts[3]);
}),
推荐: $js.toString(() => {
let data = vod1(0, 0);
let bata = JSON.parse(data).recommend_list;
bata.forEach(it => {
d.push({
url: it.vod_id,
title: it.vod_name,
img: it.vod_pic,
desc: it.vod_remarks
});
});
setResult(d);
}),
一级: $js.toString(() => {
let data = vod1(input, MY_PAGE);
let bata = JSON.parse(data).recommend_list;
bata.forEach(it => {
d.push({
url: it.vod_id,
title: it.vod_name,
img: it.vod_pic,
desc: it.vod_remarks
});
});
setResult(d);
}),
二级: $js.toString(() => {
console.log("调试信息2" + input);
let data = vodids(input);
//console.log(data);
VOD = data;
}),
搜索: $js.toString(() => {
let data = ssvod(input);
let bata = JSON.parse(data).search_list;
bata.forEach(it => {
d.push({
url: it.vod_id,
title: it.vod_name,
img: it.vod_pic,
desc: it.vod_remarks
});
});
// console.log(data);
setResult(d);
}),
}

5
JS/斗鱼直播.js Normal file

File diff suppressed because one or more lines are too long

View File

@ -1 +1,183 @@
H4sIAAAAAAAAA+1YbW/cRBD+nl9hQhT72ot9d7mkyUVplTalolJJRJJKgKrUsfds3/ktu+t7aXsVCAnRClA+wDcEAopSxIdSqUioFPFnmpefwex6727tu7QVoIqqWJeLvfPszOzMs7Pjc/xox/Q3XY/o7nZEqLKsqC6lcc0woljvEnu3QXQrNNSliQlniG1Ftu9xdD0JLepFoTZFi8pU7BSUmxMKXFYUgtxKMEYh3fQCRKgZxDAhNjFBb4dUWzUp0sOorRUUQymXSqUifBeWpNkJ9mFC6tdpRTVaFcONAmTQboy2CTKx5aoy3u0A/ALuxjS6vKFfWZ3T1GZjbr66iDBtLFSbZGERVxvuAqnOufWFqtuo26RUbaqgPO9oQafRBsVe6GjCJR+BARowjzDaTQCmgX9FsVx27UR2tyY9s4t4TlgDx4qZUb4Az64pELSMIDYdVGNhHA73hrcuMm2ESd6GukUQnllxwH+1pqhRkyVwJmo6kdFAJolC/0ZXzdpRL0QhBfzMJnjCJplx7HuWyTJpdGba7fZMPcLBDKwQhVZkI1sd55AaIOpGNlOwvraxmWJ6RYXiBImwYUQTHCqXN9be0XnqNRbEgm6b1NQZh5YmehlqQV4tVyZW234ZnHqV6dRE3XaEgU5tO8ezvv3aiEevF8GypcuziUwweHwZDAPD2zaipueTV5NmbAGsaEG8Xj+apbnCiNEKgpmn2zDaEKV13+y+haOAHabqiGSL86MvSDWmbGUBjgGxzWirg+MXoRRqWsv0E1Rku7ygLJ+VgubVlVSo133T0b3Q8hMbEW0y3OlOFpRbt5Sx0sChrWeId3efJfS63gupLhdy2ZXjcnpZuT51c6ihNzU1dX0pC+dCyBsZBIJvrLM5tZJqFthUMyD10AwQ6BVWeKq2mboPStd6KQL+ercl8Js5F3qFpXErEGZU8FkdAnoT8pQ+WxxEXA+yPfS5v4nyefek0s2emUejKDaaxWEUmLgJewmWnUcLWe/6cArvPMbrtnyTkKzy2LNGcTCYRXXh6ByFsdEszsTIHMWx0RzOohEeuyAukZfDa6qHUTojD+9LsngrLRljDQhZ3gTflHVgbk2m8RgMcKkm8STlROacEpzIHUqNTidzIoVxQvsbiO3yyTPV8sJcZXF+dlJ5YxnIN3hW5X0mbPAOnkALT0p6YPq+Ti1ft6LAcHCUxGXjSqlkwGdh0bjQii6dv2Rba+vmyspWp7Wy2n4/9K5erexY1TPzehBXBcV7Eq1hL1F2gHIvdQIFl2rqbVVQn+Ku5BGrexiRGCYitkJEYSNzBbAPi7m9nFZhKMIOorlCf8KRwa6xx4Yxq5er+mJOC4f/gyNjGAl+ByvO1OL+QqWCePjp3sHdb9OSOEZMEstChJwo54U8X0lZTHdGjqH+7FzR4knKVKD+xafVlNJoiDiLmQVWIkfFjc7YWbYZBmYzqQ1eIMulWX12Xq9USnp5fr62uGDQ1k7UMW64euzG50D3Mmti1OlGwG+urq0Oilw6Tvh4SpfyNT4Gp+DykPwnZUZBPvDt5r8TiT5dh3lRue8F5dxQRoBDSJOgNuqs1QfI00q1oNSUMPFPCGj5vx3QtAgosE3g5UzqQMbGdHw8eSzV4/0fDr/ZO7j38PjRj7ndmeNVTyo8orBxc/yFsWViBSc+GtimHvXBpnpw7yf4CM0u9OAwJp7S5nuLu1HverYYTt/80uFTp8RgIlD8UMwAzR1mp5IO7Sae1dzg44MU1j2fIpzCxHK4FnHsqkdf/nrwx8Np+He8/8nBnf3po9+fHN95PH1w9/7hk59VeUbqRXm6Ml2dnhUSfs6ICLP+NB31zRvQxU81yPANQMt3iyJXcNaIA0aU9kKq4vCL+8ef7z1HCa89ogcWPwJpZXgFkqoOOyQiH+l+5GgcKsn486Ch8+hoP2frcUJcbXST8lh4dKRZ6l+CAAKRbZQGIQicASLTxgysI2INEKJ9OrEnlO8Jou8ikvhUs3Nhffrbh0eP9/9GWHmOisqV97bXVy5d/D/AJwb48WfPD7Acs8njXz4+fvDV0z+/O/zoQWUSqqC8HfrpGGYD3ne1PMIwZI25JEDdhZny6GCP7X199Oj7FyCDLczzX8NGrNuvV5Z7fwGfSmZdphYAAA==
globalThis.h_ost = 'http://op.ysdqjs.cn/';
globalThis.vodlist = function($t, $pg) {
const currentTimestamp = parseInt(Date.now() / 1000, 10);
const url = h_ost + '/v2/home/type_search';
const hx = CryptoJS.MD5('kj5649ertj84ks89r4jh8s45hf84hjfds04k' + currentTimestamp).toString();
let html = request(url, {
body: {
sign: hx,
type_id: $t,
page: $pg,
},
headers: {
'User-Agent': 'okhttp-okgo/jeasonlzy',
'Content-Type': 'application/x-www-form-urlencoded'
},
'method': 'POST'
}, true);
return JSON.parse(html).data.list;
}
globalThis.seach = function(wd) {
const currentTimestamp = parseInt(Date.now() / 1000, 10);
const url = h_ost + '/v2/home/search';
const hx = CryptoJS.MD5('kj5649ertj84ks89r4jh8s45hf84hjfds04k' + currentTimestamp).toString();
let html = request(url, {
body: {
sign: hx,
keyword: wd,
timestamp: currentTimestamp,
},
headers: {
'User-Agent': 'okhttp-okgo/jeasonlzy',
'Content-Type': 'application/x-www-form-urlencoded'
},
'method': 'POST'
}, true);
return JSON.parse(html).data.list;
}
globalThis.vodids = function(ids) {
const currentTimestamp = parseInt(Date.now() / 1000, 10);
const url = h_ost + '/v2/home/vod_details';
const hx = CryptoJS.MD5('kj5649ertj84ks89r4jh8s45hf84hjfds04k' + currentTimestamp).toString();
let html = request(url, {
body: {
sign: hx,
vod_id: ids,
timestamp: currentTimestamp,
},
headers: {
'User-Agent': 'okhttp-okgo/jeasonlzy',
'Content-Type': 'application/x-www-form-urlencoded'
},
'method': 'POST'
}, true);
const redata = JSON.parse(html);
let vodPlayFrom = '';
let vodPlayUrl = '';
redata.data.vod_play_list.forEach((value, key) => {
if (value.flag.includes("nby") || value.flag.includes("mgtv") || value.flag.includes("qq") || value.flag.includes("qiyi") || value.flag.includes("mgtv") || 1) {
vodPlayFrom += `${value.flag}$$$`;
value.urls.forEach(url => {
vodPlayUrl += `${url.name}$${value.parse_urls[0]}${url.url}~${url.name}#`;
});
vodPlayUrl += '$$$';
}
});
const regeshi = {
vod_id: redata.data.vod_id,
vod_name: redata.data.vod_name,
vod_remarks: `${redata.data.vod_remarks}`,
type_name: redata.data.vod_class,
vod_pic: redata.data.vod_pic,
vod_year: redata.data.vod_year,
vod_area: redata.data.vod_area,
vod_actor: `${redata.data.vod_actor}`,
vod_director: redata.data.vod_director,
vod_content: `${redata.data.vod_content}`,
vod_play_from: vodPlayFrom,
vod_play_url: vodPlayUrl
};
return regeshi;
}
globalThis.jxx = function(input) {
if ("741852963" !== '741852963') {
return 'https://s0.mall.tcl.com/group1/M00/00/89/CvoGBGdcOPaAAUxvADwZniVV2bc476.mp4';
}
const parts = input.split('~');
try {
let response = fetch(parts[0], {
method: 'get',
headers: {
'User-Agent': 'okhttp/3.14.9',
'Content-Type': 'application/x-www-form-urlencoded'
}
});
if (response.includes("成功") || response.includes("success") || response.includes("nby")) {
let bata = JSON.parse(response);
input = {
parse: 0,
url: bata.url,
jx: 0,
danmaku: 'http://103.45.162.207:25252/hbdm.php?key=7894561232&id=' + '&jm=' + VOD.vod_name + '&js=' + parts[1] + '&key=741852963'
}
} else {
input = {
parse: 0,
url: parts[0].includes('url=') ? parts[0].slice(parts[0].indexOf('url=') + 4) : null,
jx: 1,
danmaku: 'http://103.45.162.207:25252/hbdm.php?key=7894561232&id=' + '&jm=' + VOD.vod_name + '&js=' + parts[1] + '&key=741852963'
}
}
} catch {
input = {
parse: 0,
url: '解析失败',
jx: 0,
}
}
return input;
}
var rule = {
title: '天天',
host: '',
detailUrl: 'fyid',
searchUrl: '**',
url: 'fyclass',
searchable: 2,
quickSearch: 1,
filterable: 0,
class_name: '电影&电视剧&综艺&动漫',
class_url: '1&2&4&3',
play_parse: true,
lazy: $js.toString(() => {
input = jxx(input);
}),
推荐: $js.toString(() => {
let bdata = vodlist(1, 1);
console.log(bdata);
bdata.forEach(it => {
d.push({
url: it.vod_id,
title: it.vod_name,
img: it.vod_pic,
desc: it.vod_remarks
});
});
setResult(d);
}),
一级: $js.toString(() => {
let bdata = vodlist(input, MY_PAGE);
console.log(bdata);
bdata.forEach(it => {
d.push({
url: it.vod_id,
title: it.vod_name,
img: it.vod_pic,
desc: it.vod_remarks
});
});
setResult(d);
}),
二级: $js.toString(() => {
console.log("调试信息2" + input);
let data = vodids(input);
//console.log(data);
VOD = (data);
}),
搜索: $js.toString(() => {
let ddata = seach(input);
ddata.forEach(it => {
d.push({
url: it.vod_id,
title: it.vod_name,
img: it.vod_pic,
desc: it.vod_remarks
});
});
setResult(d);
}),
}

View File

@ -0,0 +1 @@
H4sIAEIfMGcC/3WSy27TQBSG9zyFlUhOHGonTaELWxGq+gJINLtK0cSexEPGHnfmOCagSiwRN4V9VSEWwIJNJRalqG+TNjwGc3MJrToLj+ecf75zmzniDi8pdgbOqweOXOuz31en70KndbX8sfr1tbWlrUCAYmlcvzlbnb9dXX423vXlJytImQDpTwEKEXa7VVUF/Z0eiCDHYCUlp1LRFYxDd7KIKRJC7gWa4iCFjFqVwIjH6dBq9UG7n5h/WBR4kKMMu+ZcMZ4MOh1XYQaG9h8IjVXefWM6Kkk8e6btodOziWOUYC5CW75araHA3N+b4hxaMoun+6PhXkt7j+tuZJiVst7HvZ7F6HJGBeJCtSnI0dxn1HUpCafQ7nkhhfauFyHXPcAvQO0px5Mo6HTbh4fVQ2+zAwVFi5oEvMTGStHLhSQ/FyHJixIG+htwLNUxbjdkwxtbjQoVDc9iKMmITHHXnK4/fv/zYSkBzWxxgMajfZaDrG9bpRgFgMb+mLGZr+dsk+xs2FEJKeO1w0ZYnb9eX3yTzJIGlAjw5TBmwhD1WV9NwPdFgXJ7OVCFuG6CAPmMkynJEY2CjSAhPmr3Pde91as65sV7HfPftOqnaRgxm2OZJ6JgoSSfMBkuMUko+LZnyJaoFsmmtwmCxxuCBIv4RlEjFeyRhUXRvfF2asl9gv7dhGIznpuQMv4djRyOUAL1XnS7gRWyV/0NiTIrTbPWqHBNknhqSFZn3/T18mT984vUquke/wUQKtu8FwQAAA==

File diff suppressed because one or more lines are too long

View File

@ -1 +1,224 @@
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
globalThis.h_ost = 'http://mitu.jiajiayoutian.top/';
var key = CryptoJS.enc.Base64.parse("ZDAzMmMxMjg3NmJjNjg0OA==");
var iv = CryptoJS.enc.Base64.parse("ZDAzMmMxMjg3NmJjNjg0OA==");
globalThis.AES_Decrypt = function(word) {
try {
var decrypt = CryptoJS.AES.decrypt(word, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7,
});
const decryptedText = decrypt.toString(CryptoJS.enc.Utf8);
if (!decryptedText) {
throw new Error("解密后的内容为空");
}
return decryptedText;
} catch (e) {
console.error("解密失败:", e);
return null;
}
};
globalThis.AES_Encrypt = function(word) {
var encrypted = CryptoJS.AES.encrypt(word, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
return encrypted.toString();
};
globalThis.vod1 = function(t, pg) {
let html1 = request(h_ost + 'api.php/getappapi.index/typeFilterVodList', {
body: {
area: '全部',
year: '全部',
type_id: t,
page: pg,
sort: '最新',
lang: '全部',
class: '全部'
},
headers: {
'User-Agent': 'okhttp/3.14.9',
'Content-Type': 'application/x-www-form-urlencoded'
},
'method': 'POST'
}, true);
let html = JSON.parse(html1);
return (AES_Decrypt(html.data));
}
globalThis.vodids = function(ids) {
let html1 = fetch(h_ost + 'api.php/getappapi.index/vodDetail', {
method: 'POST',
headers: {
'User-Agent': 'okhttp/3.14.9',
'Content-Type': 'application/x-www-form-urlencoded'
},
body: {
vod_id: ids,
}
});
let html = JSON.parse(html1);
const rdata = JSON.parse(AES_Decrypt(html.data));
console.log(rdata);
const data = {
vod_id: ids,
vod_name: rdata.vod.vod_name,
vod_remarks: rdata.vod.vod_remarks,
vod_actor: rdata.vod.vod_actor,
vod_director: rdata.vod.vod_director,
vod_content: rdata.vod.vod_content,
vod_play_from: '',
vod_play_url: ''
};
rdata.vod_play_list.forEach((value) => {
data.vod_play_from += value.player_info.show + '$$$';
value.urls.forEach((v) => {
data.vod_play_url += v.name + '$' + value.player_info.parse + '~' + v.url + '~' + rdata.vod.vod_name + '~' + v.name + '#';
});
data.vod_play_url += '$$$';
});
return data;
}
//搜索
globalThis.ssvod = function(wd) {
var html1 = fetch(h_ost + 'api.php/getappapi.index/searchList', {
method: 'POST',
headers: {
'User-Agent': 'okhttp/3.14.9',
'Content-Type': 'application/x-www-form-urlencoded'
},
body: {
keywords: wd,
typepage_id: 1,
}
});
let html = JSON.parse(html1);
return AES_Decrypt(html.data);
}
//解析
globalThis.jxx = function(id, url, name, juji) {
try {
if (id.includes('xmflv')) {
return {
parse: 1,
url: id + url,
jx: 0,
danmaku: 'http://103.45.162.207:25252/hbdm.php?key=7894561232&id=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
};
}
//log(id);
if (url.includes('m3u8')) {
return {
parse: 0,
url: url,
jx: 1,
danmaku: 'http://103.45.162.207:25252/hbdm.php?key=7894561232&id=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
};
}
if (id.includes('http')) {
let purl = JSON.parse(request(id + url)).url;
return {
parse: 0,
url: purl,
jx: 0,
danmaku: 'http://103.45.162.207:25252/hbdm.php?key=7894561232&id=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
};
}
let html1 = request(h_ost + 'api.php/getappapi.index/vodParse', {
method: 'POST',
headers: {
'User-Agent': 'okhttp/3.14.9',
'Content-Type': 'application/x-www-form-urlencoded'
},
body: {
parse_api: id,
url: AES_Encrypt(url),
}
});
let html = AES_Decrypt(JSON.parse(html1).data);
console.log(html1);
let decry = html.replace(/\n/g, '').replace(/\\/g, '');
let matches = decry.match(/"url":"([^"]+)"/);
if (!matches || matches[1] === null) {
matches = decry.match(/"url": "([^"]+)"/);
}
return {
parse: 0,
url: matches[1],
jx: 0,
danmaku: 'http://103.45.162.207:25252/hbdm.php?key=7894561232&id=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
};
} catch {
return {
parse: 0,
url: '解析失败',
jx: 0
};
}
}
var rule = {
title: '米兔[资]',
host: '',
detailUrl: 'fyid',
searchUrl: '**',
url: 'fyclass',
searchable: 2,
quickSearch: 1,
filterable: 0,
class_name: '电影&电视剧&综艺&动漫',
class_url: '1&2&3&4',
play_parse: true,
lazy: $js.toString(() => {
const parts = input.split('~');
input = jxx(parts[0], parts[1], parts[2], parts[3]);
}),
推荐: $js.toString(() => {
let data = vod1(0, 0);
let bata = JSON.parse(data).recommend_list;
bata.forEach(it => {
d.push({
url: it.vod_id,
title: it.vod_name,
img: it.vod_pic,
desc: it.vod_remarks
});
});
setResult(d);
}),
一级: $js.toString(() => {
let data = vod1(input, MY_PAGE);
let bata = JSON.parse(data).recommend_list;
bata.forEach(it => {
d.push({
url: it.vod_id,
title: it.vod_name,
img: it.vod_pic,
desc: it.vod_remarks
});
});
setResult(d);
}),
二级: $js.toString(() => {
console.log("调试信息2" + input);
let data = vodids(input);
//console.log(data);
VOD = data;
}),
搜索: $js.toString(() => {
let data = ssvod(input);
let bata = JSON.parse(data).search_list;
bata.forEach(it => {
d.push({
url: it.vod_id,
title: it.vod_name,
img: it.vod_pic,
desc: it.vod_remarks
});
});
// console.log(data);
setResult(d);
}),
}

File diff suppressed because one or more lines are too long

View File

@ -1 +1,843 @@
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
var rule = {
title: '百忙无果[官]',
host: 'https://pianku.api.%6d%67%74%76.com',
homeUrl: '',
// searchUrl: 'https://mobileso.bz.%6d%67%74%76.com/pc/search/v1?q=**&pn=fypage&pc=10',
// 新版接口搜索变成v2并且加了验证蛋疼
// searchUrl: 'https://mobileso.bz.mgtv.com/pc/search/v2?allowedRC=1&src=mgtv&did=cf03b959-6945-4cb6-bcb3-88762459354d&timestamp=2024-06-21T15%3A52%3A55Z&signVersion=1&signNonce=8dae67a1fafc4bda984ec8deb47666ad&q=**&pn=fypage&pc=10&corr=1&_support=10000000&signature=4e27fddcd2a1a66d6c1764ed6b74bab7',
// 用手机的吧,搞不定这个
searchUrl: 'https://mobileso.bz.%6d%67%74%76.com/msite/search/v2?q=**&pn=fypage&pc=10',
detailUrl: 'https://pcweb.api.mgtv.com/episode/list?page=1&size=50&video_id=fyid',
searchable: 2,
quickSearch: 0,
filterable: 1,
multi: 1,
// 分类链接fypage参数支持1个()表达式
// https://www.mgtv.com/lib/3?lastp=list_index&kind=a1&year=all&chargeInfo=a1&sort=c2
url: '/rider/list/pcweb/v3?platform=pcweb&channelId=fyclass&pn=fypage&pc=80&hudong=1&_support=10000000&kind=a1&area=a1',
filter_url: 'year={{fl.year or "all"}}&sort={{fl.sort or "all"}}&chargeInfo={{fl.chargeInfo or "all"}}',
headers: {
'User-Agent': 'PC_UA'
},
timeout: 5000,
class_name: '电视剧&电影&综艺&动漫&纪录片&教育&少儿',
class_url: '2&3&1&50&51&115&10',
filter: {
"1": [{
"key": "chargeInfo",
"name": "付费类型",
"value": [{
"n": "全部",
"v": "all"
}, {
"n": "免费",
"v": "b1"
}, {
"n": "vip",
"v": "b2"
}, {
"n": "VIP用券",
"v": "b3"
}, {
"n": "付费点播",
"v": "b4"
}]
}, {
"key": "sort",
"name": "排序",
"value": [{
"n": "最新",
"v": "c1"
}, {
"n": "最热",
"v": "c2"
}, {
"n": "知乎高分",
"v": "c4"
}]
}, {
"key": "year",
"name": "年代",
"value": [{
"n": "全部",
"v": "all"
}, {
"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"
}]
}],
"2": [{
"key": "chargeInfo",
"name": "付费类型",
"value": [{
"n": "全部",
"v": "all"
}, {
"n": "免费",
"v": "b1"
}, {
"n": "vip",
"v": "b2"
}, {
"n": "VIP用券",
"v": "b3"
}, {
"n": "付费点播",
"v": "b4"
}]
}, {
"key": "sort",
"name": "排序",
"value": [{
"n": "最新",
"v": "c1"
}, {
"n": "最热",
"v": "c2"
}, {
"n": "知乎高分",
"v": "c4"
}]
}, {
"key": "year",
"name": "年代",
"value": [{
"n": "全部",
"v": "all"
}, {
"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"
}]
}],
"3": [{
"key": "chargeInfo",
"name": "付费类型",
"value": [{
"n": "全部",
"v": "all"
}, {
"n": "免费",
"v": "b1"
}, {
"n": "vip",
"v": "b2"
}, {
"n": "VIP用券",
"v": "b3"
}, {
"n": "付费点播",
"v": "b4"
}]
}, {
"key": "sort",
"name": "排序",
"value": [{
"n": "最新",
"v": "c1"
}, {
"n": "最热",
"v": "c2"
}, {
"n": "知乎高分",
"v": "c4"
}]
}, {
"key": "year",
"name": "年代",
"value": [{
"n": "全部",
"v": "all"
}, {
"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"
}]
}],
"50": [{
"key": "chargeInfo",
"name": "付费类型",
"value": [{
"n": "全部",
"v": "all"
}, {
"n": "免费",
"v": "b1"
}, {
"n": "vip",
"v": "b2"
}, {
"n": "VIP用券",
"v": "b3"
}, {
"n": "付费点播",
"v": "b4"
}]
}, {
"key": "sort",
"name": "排序",
"value": [{
"n": "最新",
"v": "c1"
}, {
"n": "最热",
"v": "c2"
}, {
"n": "知乎高分",
"v": "c4"
}]
}, {
"key": "year",
"name": "年代",
"value": [{
"n": "全部",
"v": "all"
}, {
"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"
}]
}],
"51": [{
"key": "chargeInfo",
"name": "付费类型",
"value": [{
"n": "全部",
"v": "all"
}, {
"n": "免费",
"v": "b1"
}, {
"n": "vip",
"v": "b2"
}, {
"n": "VIP用券",
"v": "b3"
}, {
"n": "付费点播",
"v": "b4"
}]
}, {
"key": "sort",
"name": "排序",
"value": [{
"n": "最新",
"v": "c1"
}, {
"n": "最热",
"v": "c2"
}, {
"n": "知乎高分",
"v": "c4"
}]
}, {
"key": "year",
"name": "年代",
"value": [{
"n": "全部",
"v": "all"
}, {
"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"
}]
}],
"115": [{
"key": "chargeInfo",
"name": "付费类型",
"value": [{
"n": "全部",
"v": "all"
}, {
"n": "免费",
"v": "b1"
}, {
"n": "vip",
"v": "b2"
}, {
"n": "VIP用券",
"v": "b3"
}, {
"n": "付费点播",
"v": "b4"
}]
}, {
"key": "sort",
"name": "排序",
"value": [{
"n": "最新",
"v": "c1"
}, {
"n": "最热",
"v": "c2"
}, {
"n": "知乎高分",
"v": "c4"
}]
}, {
"key": "year",
"name": "年代",
"value": [{
"n": "全部",
"v": "all"
}, {
"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"
}]
}]
},
limit: 20,
play_parse: true,
lazy: $js.toString(() => {
try {
let api = "" + input.split("?")[0];
console.log(api);
let response = fetch(api, {
method: 'get',
headers: {
'User-Agent': 'okhttp/3.14.9',
'Content-Type': 'application/x-www-form-urlencoded'
}
});
let bata = JSON.parse(response);
if (bata.url.includes("mgtv")) {
input = {
parse: 0,
url: bata.url,
jx: 0,
danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0]
};
} else {
input = {
parse: 0,
url: input.split("?")[0],
jx: 1,
danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0]
};
}
} catch {
input = {
parse: 0,
url: input.split("?")[0],
jx: 1,
danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0]
};
}
}),
// 手动调用解析请求json的url,此lazy不方便
// lazy:'js:print(input);fetch_params.headers["user-agent"]=MOBILE_UA;let html=request(input);let rurl=html.match(/window\\.open\\(\'(.*?)\',/)[1];rurl=urlDeal(rurl);input={parse:1,url:rurl};',
// 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float',
一级: 'json:data.hitDocs;title;img;updateInfo||rightCorner.text;playPartId',
// 一级:'json:data.hitDocs;title;img;updateInfo;playPartId',
二级: $js.toString(() => {
fetch_params.headers.Referer = "https://www.mgtv.com";
fetch_params.headers["User-Agent"] = MOBILE_UA;
pdfh = jsp.pdfh;
pdfa = jsp.pdfa;
pd = jsp.pd;
VOD = {};
let d = [];
let html = request(input);
let json = JSON.parse(html);
let host = "https://www.mgtv.com";
let ourl = json.data.list.length > 0 ? json.data.list[0].url : json.data.series[0].url;
if (!/^http/.test(ourl)) {
ourl = host + ourl
}
fetch_params.headers["User-Agent"] = MOBILE_UA;
html = request(ourl);
if (html.includes("window.location =")) {
print("开始获取ourl");
ourl = pdfh(html, "meta[http-equiv=refresh]&&content").split("url=")[1];
print("获取到ourl:" + ourl);
html = request(ourl)
}
try {
let details = pdfh(html, ".m-details&&Html").replace(/h1>/, "h6>").replace(/div/g, "br");
print(details);
let actor = "",
director = "",
time = "";
if (/播出时间/.test(details)) {
actor = pdfh(html, "p:eq(5)&&Text").substr(0, 25);
director = pdfh(html, "p:eq(4)&&Text");
time = pdfh(html, "p:eq(3)&&Text")
} else {
actor = pdfh(html, "p:eq(4)&&Text").substr(0, 25);
director = pdfh(html, "p:eq(3)&&Text");
time = "已完结"
}
let _img = pd(html, ".video-img&&img&&src");
let JJ = pdfh(html, ".desc&&Text").split("简介:")[1];
let _desc = time;
VOD.vod_name = pdfh(html, ".vt-txt&&Text");
VOD.type_name = pdfh(html, "p:eq(0)&&Text").substr(0, 6);
VOD.vod_area = pdfh(html, "p:eq(1)&&Text");
VOD.vod_actor = actor;
VOD.vod_director = director;
VOD.vod_remarks = _desc;
VOD.vod_pic = _img;
VOD.vod_content = JJ;
if (!VOD.vod_name) {
VOD.vod_name = VOD.type_name;
}
} catch (e) {
log("获取影片信息发生错误:" + e.message)
}
function getRjpg(imgUrl, xs) {
xs = xs || 3;
let picSize = /jpg_/.test(imgUrl) ? imgUrl.split("jpg_")[1].split(".")[0] : false;
let rjpg = false;
if (picSize) {
let a = parseInt(picSize.split("x")[0]) * xs;
let b = parseInt(picSize.split("x")[1]) * xs;
rjpg = a + "x" + b + ".jpg"
}
let img = /jpg_/.test(imgUrl) && rjpg ? imgUrl.replace(imgUrl.split("jpg_")[1], rjpg) : imgUrl;
return img
}
if (json.data.total === 1 && json.data.list.length === 1) {
let data = json.data.list[0];
let url = "https://www.mgtv.com" + data.url;
d.push({
title: data.t4,
desc: data.t2,
pic_url: getRjpg(data.img),
url: url
})
} else if (json.data.list.length > 1) {
for (let i = 1; i <= json.data.total_page; i++) {
if (i > 1) {
json = JSON.parse(fetch(input.replace("page=1", "page=" + i), {}))
}
json.data.list.forEach(function(data) {
let url = "https://www.mgtv.com" + data.url;
if (data.isIntact == "1") {
d.push({
title: data.t4,
desc: data.t2,
pic_url: getRjpg(data.img),
url: url
})
}
})
}
} else {
print(input + "暂无片源")
}
VOD.vod_play_from = "mgtv";
VOD.vod_play_url = d.map(function(it) {
return it.title + "$" + it.url
}).join("#");
setResult(d);
}),
搜索: $js.toString(() => {
fetch_params.headers.Referer = "https://www.mgtv.com";
fetch_params.headers["User-Agent"] = MOBILE_UA;
let d = [];
let html = request(input);
let json = JSON.parse(html);
json.data.contents.forEach(function(data) {
if (data.type && data.type == 'media') {
let item = data.data[0];
let desc = item.desc.join(',');
let fyclass = '';
if (item.source === "imgo") {
let img = item.img ? item.img : '';
try {
fyclass = item.rpt.match(/idx=(.*?)&/)[1] + '$';
} catch (e) {
log(e.message);
fyclass = '';
}
log(fyclass);
d.push({
title: item.title.replace(/<B>|<\/B>/g, ''),
img: img,
content: '',
desc: desc,
url: fyclass + item.url.match(/.*\/(.*?)\.html/)[1]
})
}
}
});
setResult(d);
}),
}

View File

@ -1 +1,183 @@
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
globalThis.h_ost = 'http://v.lkuys.cn/';
globalThis.vodlist = function($t, $pg) {
const currentTimestamp = parseInt(Date.now() / 1000, 10);
const url = h_ost + '/v2/home/type_search';
const hx = CryptoJS.MD5('kj5649ertj84ks89r4jh8s45hf84hjfds04k' + currentTimestamp).toString();
let html = request(url, {
body: {
sign: hx,
type_id: $t,
page: $pg,
},
headers: {
'User-Agent': 'okhttp-okgo/jeasonlzy',
'Content-Type': 'application/x-www-form-urlencoded'
},
'method': 'POST'
}, true);
return JSON.parse(html).data.list;
}
globalThis.seach = function(wd) {
const currentTimestamp = parseInt(Date.now() / 1000, 10);
const url = h_ost + '/v2/home/search';
const hx = CryptoJS.MD5('kj5649ertj84ks89r4jh8s45hf84hjfds04k' + currentTimestamp).toString();
let html = request(url, {
body: {
sign: hx,
keyword: wd,
timestamp: currentTimestamp,
},
headers: {
'User-Agent': 'okhttp-okgo/jeasonlzy',
'Content-Type': 'application/x-www-form-urlencoded'
},
'method': 'POST'
}, true);
return JSON.parse(html).data.list;
}
globalThis.vodids = function(ids) {
const currentTimestamp = parseInt(Date.now() / 1000, 10);
const url = h_ost + '/v2/home/vod_details';
const hx = CryptoJS.MD5('kj5649ertj84ks89r4jh8s45hf84hjfds04k' + currentTimestamp).toString();
let html = request(url, {
body: {
sign: hx,
vod_id: ids,
timestamp: currentTimestamp,
},
headers: {
'User-Agent': 'okhttp-okgo/jeasonlzy',
'Content-Type': 'application/x-www-form-urlencoded'
},
'method': 'POST'
}, true);
const redata = JSON.parse(html);
let vodPlayFrom = '';
let vodPlayUrl = '';
redata.data.vod_play_list.forEach((value, key) => {
if (value.flag.includes("nby") || value.flag.includes("mgtv") || value.flag.includes("qq") || value.flag.includes("qiyi") || value.flag.includes("mgtv")) {
vodPlayFrom += `${value.flag}$$$`;
value.urls.forEach(url => {
vodPlayUrl += `${url.name}$${value.parse_urls[0]}${url.url}~${url.name}#`;
});
vodPlayUrl += '$$$';
}
});
const regeshi = {
vod_id: redata.data.vod_id,
vod_name: redata.data.vod_name,
vod_remarks: `${redata.data.vod_remarks}`,
type_name: redata.data.vod_class,
vod_pic: redata.data.vod_pic,
vod_year: redata.data.vod_year,
vod_area: redata.data.vod_area,
vod_actor: `${redata.data.vod_actor}`,
vod_director: redata.data.vod_director,
vod_content: `${redata.data.vod_content}`,
vod_play_from: vodPlayFrom,
vod_play_url: vodPlayUrl
};
return regeshi;
}
globalThis.jxx = function(input) {
if ("741852963" !== '741852963') {
return 'https://s0.mall.tcl.com/group1/M00/00/89/CvoGBGdcOPaAAUxvADwZniVV2bc476.mp4';
}
const parts = input.split('~');
try {
let response = fetch(parts[0], {
method: 'get',
headers: {
'User-Agent': 'okhttp/3.14.9',
'Content-Type': 'application/x-www-form-urlencoded'
}
});
if (response.includes("成功") || response.includes("success") || response.includes("nby")) {
let bata = JSON.parse(response);
input = {
parse: 0,
url: bata.url,
jx: 0,
danmaku: 'http://103.45.162.207:25252/hbdm.php?key=7894561232&id=' + '&jm=' + VOD.vod_name + '&js=' + parts[1] + '&key=741852963'
}
} else {
input = {
parse: 0,
url: parts[0].includes('url=') ? parts[0].slice(parts[0].indexOf('url=') + 4) : null,
jx: 1,
danmaku: 'http://103.45.162.207:25252/hbdm.php?key=7894561232&id=' + '&jm=' + VOD.vod_name + '&js=' + parts[1] + '&key=741852963'
}
}
} catch {
input = {
parse: 0,
url: '解析失败',
jx: 0,
}
}
return input;
}
var rule = {
title: '追剧',
host: '',
detailUrl: 'fyid',
searchUrl: '**',
url: 'fyclass',
searchable: 2,
quickSearch: 1,
filterable: 0,
class_name: '电影&电视剧&综艺&动漫',
class_url: '1&2&4&3',
play_parse: true,
lazy: $js.toString(() => {
input = jxx(input);
}),
推荐: $js.toString(() => {
let bdata = vodlist(0, 1);
console.log(bdata);
bdata.forEach(it => {
d.push({
url: it.vod_id,
title: it.vod_name,
img: it.vod_pic,
desc: it.vod_remarks
});
});
setResult(d);
}),
一级: $js.toString(() => {
let bdata = vodlist(input, MY_PAGE);
console.log(bdata);
bdata.forEach(it => {
d.push({
url: it.vod_id,
title: it.vod_name,
img: it.vod_pic,
desc: it.vod_remarks
});
});
setResult(d);
}),
二级: $js.toString(() => {
console.log("调试信息2" + input);
let data = vodids(input);
//console.log(data);
VOD = (data);
}),
搜索: $js.toString(() => {
let ddata = seach(input);
ddata.forEach(it => {
d.push({
url: it.vod_id,
title: it.vod_name,
img: it.vod_pic,
desc: it.vod_remarks
});
});
setResult(d);
}),
}

16
JSON/webdav.json Normal file
View File

@ -0,0 +1,16 @@
{
"drives": [
{
"name": "七米藍",
"server": "https://al.chirmyram.com/dav",
"user": "alist",
"pass": "alist"
},
{
"name": "影視庫",
"server": "https://esir.eu.org/dav",
"user": "alist",
"pass": "alist"
}
]
}

View File

@ -4,8 +4,8 @@
"编码": "UTF-8",
"图片代理": "0",
"直接播放": "0",
"主页url": "https://www.xlys01.com",
"分类url": "https://www.xlys01.com/s/{cateId}/{catePg}",
"主页url": "http://v.xlys.ltd.ua",
"分类url": "http://v.xlys.ltd.ua/s/{cateId}/{catePg}",
"分类": "动作$dongzuo#爱情$aiqing#喜剧$xiju#科幻$kehuan#恐怖$kongbu#战争$zhanzheng#武侠$wuxia#魔幻$mohuan#剧情$juqing#动画$donghua#惊悚$jingsong#灾难$zainan#悬疑$xuanyi#警匪$jingfei#文艺$wenyi#青春$qingchun#冒险$maoxian#犯罪$fanzui#纪录$jilu#古装$guzhuang#奇幻$qihuan#国语$guoyu#综艺$zongyi#历史$lishi#运动$yundong#原创压制$yuanchuang#美剧$meiju#韩剧$hanju#国产电视剧$guoju#日剧$riju#英剧$yingju#德剧$deju#俄剧$eju#巴剧$baju#加剧$jiaju#西剧$spanish#意大利剧$yidaliju#泰剧$taiju#港台剧$gangtaiju#法剧$faju#澳剧$aoju",
"数组": "card-link&&/h3>",
"标题": "<h3*\">&&<",
@ -19,10 +19,10 @@
"导演": "导演:&&</p>",
"主演": "主演:&&</p",
"简介": "剧情简介:&&>",
"线路数组": "play-list&&</div>",
"线路数组": "download-list\">&&</div>",
"线路标题": "磁力",
"播放二次截取": "",
"播放数组": "play-list&&</div>",
"播放数组": "<td>&&</a></td>",
"倒序": "0",
"播放列表": "<a&&/a>",
"播放标题": ">&&<",
@ -31,5 +31,5 @@
"跳转播放链接": "",
"跳转解析": "",
"搜索请求头": "User-Agent$MOBILE_UA",
"搜索url": "https://www.xlys01.com/search/{wd}/{pg}"
"搜索url": "http://v.xlys.ltd.ua/search/{wd}/{pg}"
}

28
XBPQ/素白白.json Normal file
View File

@ -0,0 +1,28 @@
{
"站名": "素白白影视",
"主页url": "https://www.subaibai.com",
"图片代理": "0",
"头部集合": "User-Agent$Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36#authority$www.subaibai.com#Referer$https://www.subaibai.com/#Origin$https://www.subaibai.com/",
"分类": "国产剧&电影&电视剧&热门电影&高分电影&动漫电影&欧美剧&韩剧&动漫剧",
"分类值": "domestic-drama&new-movie&tv-drama&hot-month&high-movie&cartoon-movie&american-drama&korean-drama&anime-drama",
"分类url": "https://www.subaibai.com/{cateId}/page/{catePg};;aks2",
"二次截取": "<div class=\"bt_img mi_ne_kd mrb\">&&<div class=\"clear\">",
"数组": "<li>&&</a>",
"图片": "data-original=\"&&\"",
"副标题": "class=\"jidi\"><span>&&</span>",
"搜索模式": "1",
"搜索url": "https://www.subaibai.com/?s={wd}",
"影片年代": "年份:&&</li>",
"影片地区": "地区:&&</li>",
"影片类型": "类型:&&</li>",
"导演": "导演:&&</li>",
"主演": "主演:&&</li>",
"简介": "yp_context\">&&</p>",
"线路数组": "mi_paly_box\">&&</div>",
"线路标题": "ypxingq_t\">&&<span>[替换:在线播放>>素白专线]",
"播放数组": "<div class=\"paly_list_btn\">&&</div>",
"播放列表": "<a&&/a>",
"播放标题": ">&&<",
"播放链接": "href=\"&&\"",
"播放请求头": "User-Agent$Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36#authority$wangchuanxin.top#Origin$https://www.subaibai.com/"
}

640
api.json
View File

@ -101,18 +101,6 @@
"site": "aHR0cDovL3YubGt1eXMuY24="
}
},
{
"key": "糯米弹幕",
"name": "糯米|弹幕",
"type": 3,
"api": "csp_Nmys",
"searchable": 1,
"quickSearch": 1,
"filterable": 1,
"ext": {
"danmu": true
}
},
{
"key": "文才弹幕",
"name": "文才|弹幕",
@ -204,27 +192,6 @@
"api": "./JS/drpy2.min.js",
"ext": "./JS/爱奇艺弹幕.js"
},
{
"key": "米兔弹幕",
"name": "米兔|弹幕",
"type": 3,
"api": "./JS/drpy2.min.js",
"ext": "./JS/米兔弹幕.js"
},
{
"key": "小熊弹幕",
"name": "小熊|弹幕",
"type": 3,
"api": "./JS/drpy2.min.js",
"ext": "./JS/小熊弹幕.js"
},
{
"key": "巨人弹幕",
"name": "巨人|弹幕",
"type": 3,
"api": "./JS/drpy2.min.js",
"ext": "./JS/巨人弹幕.js"
},
{
"key": "追剧弹幕",
"name": "追剧|弹幕",
@ -304,7 +271,7 @@
"token": "http://127.0.0.1:9978/file/TVBox/token.txt",
"cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
"uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt",
"site": "http://1.95.79.193",
"site": "https://shandian.banye.tech:7086",
"danmu": true
}
},
@ -321,7 +288,7 @@
"token": "http://127.0.0.1:9978/file/TVBox/token.txt",
"cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
"uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt",
"site": "https://woog.nxog.eu.org",
"site": "https://ouge.banye.tech:7086",
"danmu": true
}
},
@ -337,7 +304,7 @@
"token": "http://127.0.0.1:9978/file/TVBox/token.txt",
"cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
"uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt",
"site": "http://milvdou.fun",
"site": "https://xiaomi.banye.tech:7086",
"danmu": true
}
},
@ -353,7 +320,7 @@
"token": "http://127.0.0.1:9978/file/TVBox/token.txt",
"cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
"uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt",
"site": "https://tv.yydsys.top",
"site": "https://duoduo.banye.tech:7086",
"danmu": true
}
},
@ -369,7 +336,7 @@
"token": "http://127.0.0.1:9978/file/TVBox/token.txt",
"cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
"uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt",
"site": "http://feimaoai.site",
"site": "https://labi.banye.tech:7086",
"danmu": true
}
},
@ -385,7 +352,7 @@
"token": "http://127.0.0.1:9978/file/TVBox/token.txt",
"cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
"uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt",
"site": "https://xiaomiai.site",
"site": "https://zhizhen.banye.tech:7086",
"danmu": true
}
},
@ -401,7 +368,7 @@
"token": "http://127.0.0.1:9978/file/TVBox/token.txt",
"cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
"uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt",
"site": "http://www.91muou.icu",
"site": "http://muou.6qu.top",
"danmu": true
}
},
@ -418,7 +385,7 @@
"token": "http://127.0.0.1:9978/file/TVBox/token.txt",
"cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
"uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt",
"site": "https://wp.0v.fit",
"site": "https://liuqu.banye.tech:7086",
"danmu": true
}
},
@ -434,7 +401,7 @@
"token": "http://127.0.0.1:9978/file/TVBox/token.txt",
"cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
"uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt",
"site": "http://103.45.162.207:20720",
"site": "https://huban.banye.tech:7086",
"danmu": true
}
},
@ -450,7 +417,7 @@
"token": "http://127.0.0.1:9978/file/TVBox/token.txt",
"cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
"uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt",
"site": "http://txfpan.top",
"site": "https://xiafan.banye.tech:7086",
"danmu": true
}
},
@ -552,16 +519,6 @@
"quickSearch": 1,
"filterable": 1
},
{
"key": "酷影视",
"name": "酷影视APP",
"type": 3,
"api": "csp_AppYsV2",
"searchable": 1,
"quickSearch": 1,
"filterable": 1,
"ext": "https://www.tvkuys.xyz/api.php/app/"
},
{
"key": "HG影视",
"name": "HG影视APP",
@ -585,95 +542,38 @@
},
{
"key": "巧技",
"name": "巧技App",
"name": "巧技APP",
"type": 3,
"api": "csp_qiao2",
"playerType": 2,
"ext": "https://fs-im-kefu.7moor-fs1.com/ly/4d2c3f00-7d4c-11e5-af15-41bf63ae4ea0/1739517660808/cksp.txt"
"ext": "https://fs-im-kefu.7moor-fs1.com/ly/4d2c3f00-7d4c-11e5-af15-41bf63ae4ea0/1740038979341/cksp.txt"
},
{
"key": "木头",
"name": "木头App",
"type": 3,
"api": "csp_Shark",
"playerType": 1,
"ext": "saHR0cDovL21pdG8ubWlub3R2LmNuL3xhYXNzZGR3d3h4bGxzeDF4fGJic3NxZGJic3NsbDI1c3g="
},
{
"key": "星河",
"name": "星河App",
"key": "永夜",
"name": "永夜App",
"type": 3,
"api": "csp_Muou",
"playerType": 2,
"ext": "caHR0cHM6Ly9odC5tb3liay5jbnzphZLlrqLlvbHop4Z8NC4xLjg="
"ext": "caHR0cDovL211b3UuNTZ1eGkuY29tfENvZmZlZTRLfDQuMS44"
},
{
"key": "时常",
"name": "时常App",
"key": "二三",
"name": "二三App",
"type": 3,
"api": "csp_Xdai",
"playerType": 1,
"ext": "jaHR0cHM6Ly9zYzEwODAudG9wfGU1OWQ0NGIyZWVmMDNiYTJ8ZTU5ZDQ0YjJlZWYwM2JhMnwxMzQ="
},
{
"key": "雨滴",
"name": "雨滴App",
"type": 3,
"api": "csp_Xdai",
"playerType": 1,
"ext": "jaHR0cDovL2M4dzJvdjd1NXdnMnoxbzhwMjFjLmFsaXl1bmNzLmNsaWNrfGs5bzNwMmM4YjdtM3owbzh8azlvM3AyYzhiN20zejBvOHwxMDA="
},
{
"key": "现代",
"name": "现代App",
"type": 3,
"api": "csp_Xdai",
"playerType": 1,
"ext": "caHR0cHM6Ly94ZHlzLnZpcC9nZXRhcHAudHh0fHN6ZGp3ZGFwcHdjbm1kaGJ8c3pkandkYXBwd2NubWRoYnwxMTQ="
},
{
"key": "玉米",
"name": "玉米App",
"type": 3,
"api": "csp_Xdai",
"playerType": 1,
"ext": "jaHR0cDovL3NkeXMudXMvc2QudHh0fDdmOWI0OWRhZjkyOGNjZTd8N2Y5YjQ5ZGFmOTI4Y2NlN3w0NDI="
},
{
"key": "优质",
"name": "优质App",
"type": 3,
"api": "csp_Xdai",
"playerType": 1,
"ext": "jaHR0cDovL2R5eXp0dmFwcGFwaWdvb2RneC42OC5neS9jaXdrMjh2dTM4aW84L2FwaXVybC50eHR8ZHl5enR2YXBpYXBweXlkc3xkeXl6dHZhcGlhcHB5eWRzfDEwMA=="
},
{
"key": "木叶",
"name": "木叶App",
"type": 3,
"api": "csp_Xdai",
"api": "csp_Muou",
"playerType": 2,
"ext": "saHR0cDovL3d3dy56amMuYXBwfGFiNGU5YTQyMTY3NWYxNGJ8YWI0ZTlhNDIxNjc1ZjE0Ynw0NDI="
"ext": "caHR0cHM6Ly8xMjN5c3cuY29tfDIz5b2x6KeGfDQuMS44"
},
{
"key": "蝴蝶",
"name": "蝴蝶App",
"name": "蝴蝶APP",
"type": 3,
"api": "csp_Hudie",
"playerType": 2,
"ext": "eaHR0cHM6Ly9kLmRjbW92aWUudG9w"
},
{
"key": "蚂蚁",
"name": "蚂蚁App",
"type": 3,
"api": "csp_Mayiys",
"searchable": 1,
"quickSearch": 1,
"filterable": 0,
"playerType": 1,
"ext": "jaHR0cDovL3BhbmRvd24ucHJvL3R2Ym94L21heWkudHh0"
},
{
"key": "快看",
"name": "快看APP",
@ -685,26 +585,7 @@
"changeable": 1,
"ext": "http://kkwk123.top/api.php/app/"
},
{
"key": "站长影视",
"name": "站长APP",
"type": 3,
"api": "csp_AppGetApp",
"searchable": 1,
"quickSearch": 0,
"filterable": 0,
"ext": "w7TClcK8w5rDrcKYwoPCmcKkw57ClcK0wpvCnF9SwoPCmcOtw5jDj8Orw6ZValLCmMOtw6fDqsOswrRiX8KdacOcw57CrMKxw6DCqmbCnmPDpsKow6XCsMKywpRhYMKUwqfDl8Ozw7LDtGVewpPCn8Omwq3Cr8KvwrJsX8KRwqDDosKhw6rDocOqVVxSecOnw5zDrsOQw6nCpcKUUmrCm8KVwqbCm8OuwpzCoFJqwpvDjuWHv+mFoeaQn+WQllzlhpzkvYflkbDCreW/q+iov+i2vua7g+esicKNUsKlwpXCu8Oew61+wpXCqVLCs8KVw57DssOzwq3CpMKmwpHDqcOcw5vDqcOqwqzCqcKUwqPCm8KfwpzCusOfwqZ5wqZSwrPClcOew7LDs8KtwqTCpsKRw6nDnMObw6nDqsKswqnClMKjwpvDsA=="
},
{
"key": "多多影视",
"name": "多多APP",
"type": 3,
"api": "csp_AppGetApp",
"searchable": 1,
"quickSearch": 0,
"filterable": 0,
"ext": "w7TCmsK8w5rDrcKYwoPCmcKkw57CmsK0wpnCocKbwqTCpMKgwrPCosKpwqvCq2ReaWnCp8KswrLCp8KuamppacKywqzCqcOaw6rCnF7CpMKow63CmsKmwpnCocKGwpnCpMKVw47DpcOmwqDCtFNXV1zCmcKaw4PDp8OjwqfCh8KfwqLDncKawrTCmcKhwpzCnsKZwqTDj8KkwqvCssKhX1BXwqTDosOjwqHCs8KaWsKL5Ya16YSY5pCe5ZGWwqblh6XkvpHlkKpq5b6h6Ke26La95ryD562Tw5bCoV9QV3HDnsOmw4XDnsOzWmpQV8OewqfCsMKqw51qwpNgwpXDn8Kjw5zCr8OdwpdhV1zCmcKawrvDnsOtfMKmV2rCmcKaw5/CrcKwZMKTZ8KTwqnDmMOgwqnDnGnCk8KUYcKgwp/CmsKgw57CmMKTwqLCqcOpw6fDhcOew7NaalBXw7LDlMOpw7DDm8KhwpdgYcKrwqnCocO2"
},
{
"key": "悠悠影视",
"name": "悠悠APP",
@ -745,15 +626,14 @@
"filterable": 1,
"ext": "KhY021WelCEl+6MsvwnzaPussky6FQJcpCjT9V7/D61ft9vQAhNEPOYSMZVJSODd/JOOSOwUzim+9qfvgpNz7SvUPpAkXAweyrp76WY8s5EBwW7DBMY="
},
{
"key": "忍者影视",
"name": "忍者APP",
"key": "移动",
"name": "移动APP",
"type": 3,
"api": "csp_AppRZ",
"api": "csp_YD",
"searchable": 1,
"quickSearch": 1,
"filterable": 1,
"ext": "KhY021WelCEl+6MsvwnzaLK5sgGhHBhBszPP7EvqSfdVqJTIDGrV0xPZiB/0I8O9mrMKS+cdzxqKP83dFJJyyyb8D0J0ZVtM/ds4xb/4dA=="
"quickSearch": 1
},
{
"key": "小米尘落",
@ -763,14 +643,7 @@
"searchable": 1,
"quickSearch": 1
},
{
"key": "小米眼镜",
"name": "眼镜APP",
"type": 3,
"searchable": 1,
"quickSearch": 1,
"api": "csp_AppYanjing"
},
{
"key": "小米米兔",
"name": "米兔APP",
@ -811,6 +684,14 @@
"quickSearch": 1,
"api": "csp_XiaoMaoApp"
},
{
"key": "小米良人",
"name": "良人APP",
"type": 3,
"searchable": 1,
"quickSearch": 1,
"api": "csp_LiangRenApp"
},
{
"key": "西瓜视频",
"name": "西瓜|视频",
@ -841,14 +722,16 @@
"quickSearch": 1,
"filterable": 1
},
{
"key": "南瓜影视",
"name": "南瓜|影视",
"key": "农民影视",
"name": "农民|影视",
"type": 3,
"api": "csp_NanGua",
"api": "csp_Wwys",
"searchable": 1,
"quickSearch": 1,
"filterable": 1
"filterable": 1,
"ext": "https://m.wwgz.cn"
},
{
"key": "低端影视",
@ -868,15 +751,7 @@
"quickSearch": 1,
"filterable": 1
},
{
"key": "饭团影视",
"name": "饭团|影视",
"type": 3,
"api": "csp_Fantuan",
"searchable": 1,
"quickSearch": 1,
"filterable": 1
},
{
"key": "来看影视",
"name": "来看|影视",
@ -895,24 +770,7 @@
"quickSearch": 1,
"filterable": 1
},
{
"key": "饺子影视",
"name": "饺子|影视",
"type": 3,
"api": "csp_Jiaozi",
"searchable": 1,
"quickSearch": 1,
"filterable": 1
},
{
"key": "看客影视",
"name": "看客|影视",
"type": 3,
"api": "csp_Kanke",
"searchable": 1,
"quickSearch": 1,
"filterable": 1
},
{
"key": "全网影视",
"name": "全网|影视",
@ -1054,11 +912,11 @@
"ext": "./XYQHiker/电影牛.json"
},
{
"key": "白白",
"key": "白白",
"name": "素白白|影视",
"type": 3,
"api": "./JS/drpy2.min.js",
"ext": "./JS/素白白.js"
"api": "csp_XBPQ",
"ext": "./XBPQ/素白白.json"
},
{
"key": "剧圈圈",
@ -1471,7 +1329,68 @@
"api": "./JS/drpy2.min.js",
"ext": "./JS/樱花动漫.js"
},
{
{
"key": "央视大全",
"name": "央视|大全",
"type": 3,
"api": "./drpy_libs/drpy2.min.js",
"searchable": 1,
"quickSearch": 1,
"filterable": 1,
"order_num": 0,
"ext": "./JS/央视大全.js"
},
{
"key": "央视经济",
"name": "央视|经济",
"type": 3,
"api": "./drpy_libs/drpy2.min.js",
"searchable": 1,
"quickSearch": 1,
"filterable": 1,
"order_num": 0,
"ext": "./JS/央视经济.js"
},
{
"key": "央视新闻",
"name": "央视|新闻",
"type": 3,
"api": "./drpy_libs/drpy2.min.js",
"searchable": 1,
"quickSearch": 1,
"filterable": 1,
"order_num": 0,
"ext": "./JS/央视新闻.js"
},
{
"key": "央视少儿",
"name": "央视|少儿",
"type": 3,
"api": "./drpy_libs/drpy2.min.js",
"searchable": 1,
"quickSearch": 1,
"filterable": 1,
"order_num": 0,
"ext": "./JS/央视少儿.js"
},
{
"key": "央视综合",
"name": "央视|综合",
"type": 3,
"api": "./drpy_libs/drpy2.min.js",
"searchable": 1,
"quickSearch": 1,
"filterable": 1,
"order_num": 0,
"ext": "./JS/央视综合.js"
},
{
"key": "看球",
"name": "一起|看球",
"type": 3,
@ -1531,6 +1450,13 @@
},
"ext": "./JS/JRKAN直播.js"
},
{
"key": "网络直播",
"name": "网络|直播",
"type": 3,
"api": "csp_Living",
"searchable": 1
},
{
"key": "快手直播",
"name": "快手|直播",
@ -1544,41 +1470,22 @@
"ratio": 1.597
}
},
{
"key": "抖音直播",
"name": "抖音|直播",
"type": 3,
"api": "csp_AmuDouYin",
"searchable": 1,
"quickSearch": 0,
"filterable": 0,
"changeable": 0,
"style": {
"type": "rect",
"ratio": 1.597
}
},
{
"key": "虎牙直播js",
{
"key": "虎牙",
"name": "虎牙|直播",
"type": 3,
"api": "https://ghproxy.net/raw.githubusercontent.com/fantaiying7/EXT/refs/heads/main/drpy2.js",
"ext": "https://ghproxy.net/raw.githubusercontent.com/fantaiying7/EXT/refs/heads/main/huya2.js",
"style": {
"type": "rect",
"ratio": 1.755
},
"playerType": "2",
"api": "./drpy_libs/drpy22.min.js",
"searchable": 0,
"quickSearch": 0,
"changeable": 0
"filterable": 1,
"ext": "./JS/huyazhibo.js"
},
{
"key": "斗鱼js",
"name": "斗鱼|直播",
"type": 3,
"api": "https://ghproxy.net/raw.githubusercontent.com/fantaiying7/EXT/refs/heads/main/drpy2.min.js",
"ext": "https://ghproxy.net/raw.githubusercontent.com/fantaiying7/EXT/refs/heads/main/斗鱼直播.js",
"api": "./drpy_libs/drpy22.min.js",
"ext": "./JS/斗鱼直播.js",
"style": {
"type": "rect",
"ratio": 1.755
@ -1587,13 +1494,25 @@
"searchable": 0,
"quickSearch": 0,
"changeable": 0
},
},
{
"key": "有声小说js",
"key": "六月听书",
"name": "六月|小说",
"type": 3,
"api": "./drpy_libs/drpy22.min.js",
"changeable": 0,
"style": {
"type": "rect",
"ratio": 1
},
"ext": "./JS/六月听书.js"
},
{
"key": "有声小说",
"name": "有声|小说",
"type": 3,
"api": "https://ghproxy.net/raw.githubusercontent.com/fantaiying7/EXT/refs/heads/main/drpy2.min.js",
"ext": "https://ghproxy.net/raw.githubusercontent.com/fantaiying7/EXT/refs/heads/main/有声小说吧.js",
"api": "https://raw.gitmirror.com/fantaiying7/EXT/refs/heads/main/drpy2.min.js",
"ext": "https://raw.gitmirror.com/fantaiying7/EXT/refs/heads/main/有声小说吧.js",
"style": {
"type": "rect",
"ratio": 1
@ -1602,6 +1521,31 @@
"quickSearch": 0,
"changeable": 0
},
{
"key": "hipy_js_爱上你听书网[听]",
"name": "爱上|小说",
"type": 3,
"api": "./drpy_libs/drpy2.min.js",
"searchable": 1,
"quickSearch": 1,
"filterable": 1,
"order_num": 0,
"ext": "./JS/爱上你听书网[听].js"
},
{
"key": "hipy_js_中华听书网[听]",
"name": "听书|小说",
"type": 3,
"api": "./drpy_libs/drpy2.min.js",
"searchable": 1,
"quickSearch": 1,
"filterable": 1,
"order_num": 0,
"ext": "./JS/中华听书网[听].js"
},
{
"key": "搜索弹幕",
"name": "搜索|弹幕",
@ -1696,6 +1640,19 @@
"danmu": true
}
},
{
"key": "荐片",
"name": "荐片|磁力",
"type": 3,
"api": "csp_Jianpian",
"searchable": 1,
"quickSearch": 1,
"filterable": 1,
"playerType": 1,
"ext": {
"danmu": true
}
},
{
"key": "修罗影视",
"name": "修罗|磁力",
@ -1865,19 +1822,6 @@
"type": "list"
}
},
{
"key": "AList",
"name": "AList合集",
"type": 3,
"api": "csp_AList",
"searchable": 1,
"filterable": 1,
"changeable": 0,
"style": {
"type": "list"
},
"ext": "./json/alist.json"
},
{
"key": "阿里合集",
"name": "阿里|合集",
@ -1906,12 +1850,18 @@
}
},
{
"key": "网络直播",
"name": "网络|直播",
"key": "AList",
"name": "AList合集",
"type": 3,
"api": "csp_Living",
"searchable": 1
},
"api": "csp_AList",
"searchable": 1,
"filterable": 1,
"changeable": 0,
"style": {
"type": "list"
},
"ext": "./JSON/alist.json"
},
{
"key": "push_agent",
"name": "手机|推送",
@ -2082,147 +2032,7 @@
],
"rules": [
{
"name": "量子非凡广告",
"hosts": [
"lz",
"vip.lz",
"v.cdnlz",
"hd.lz",
"ffzy",
"vip.ffzy",
"hd.ffzy"
],
"regex": [
"#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:6.666667,[\\s\\S]*?#EXT-X-DISCONTINUITY",
"#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:6.600000,[\\s\\S]*?#EXT-X-DISCONTINUITY"
]
},
{
"name": "索尼广告",
"hosts": [
"suonizy",
"qrssv.com"
],
"regex": [
"15.1666",
"15.2666"
]
},
{
"name": "乐视广告",
"hosts": [
"leshiyun"
],
"regex": [
"15.92"
]
},
{
"name": "优质广告",
"hosts": [
"yzzy",
"playback"
],
"regex": [
"16.63",
"18.66",
"17.66",
"19.13"
]
},
{
"name": "快看广告",
"hosts": [
"kuaikan",
"vip.kuaikan"
],
"regex": [
"15.32",
"15.231",
"18.066"
]
},
{
"name": "360广告",
"hosts": [
"lyhuicheng"
],
"regex": [
"#EXTINF.*?\\s+.*?hrz8QcR9.*?\\.ts\\s+",
"#EXT-X-KEY:METHOD=NONE[\\s\\S]*?#EXT-X-DISCONTINUITY"
]
},
{
"name": "开源棋牌",
"hosts": [
"askzycdn",
"jkunbf",
"bfikuncdn",
"bfaskcdn"
],
"regex": [
"#EXT-X-KEY:METHOD=NONE\\r*\\n*#EXTINF:5,[\\s\\S]*?#EXT-X-DISCONTINUITY",
"#EXT-X-KEY:METHOD=AES-128,URI=\"[^\"]+\"\\r*\\n*#EXTINF:3.333,[\\s\\S]*?#EXT-X-DISCONTINUITY"
]
},
{
"name": "暴风广告",
"hosts": [
"bfengbf.com",
"bfzy",
"c1"
],
"regex": [
"#EXTINF.*?\\s+.*?adjump.*?\\.ts\\s+",
"#EXT-X-DISCONTINUITY\r*\n*#EXTINF:3,[\\s\\S]*?#EXT-X-DISCONTINUITY"
]
},
{
"name": "磁力广告",
"hosts": [
"magnet"
],
"regex": [
"更多",
"请访问",
"example",
"社 區",
"x u u",
"直 播",
"更 新",
"社 区",
"有趣",
"有 趣",
"英皇体育",
"全中文AV在线",
"澳门皇冠赌场",
"哥哥快来",
"美女荷官",
"裸聊",
"新片首发",
"UUE29"
]
},
{
"name": "火山嗅探",
"hosts": [
"huoshan.com"
],
"regex": [
"item_id="
]
},
{
"name": "抖音嗅探",
"hosts": [
"douyin.com"
],
"regex": [
"is_play_url="
]
},
{
"name": "农民嗅探",
"name": "农民",
"hosts": [
"toutiaovod.com"
],
@ -2230,14 +2040,43 @@
"video/tos/cn"
]
},
{
"name": "火山",
"hosts": [
"huoshan.com"
],
"regex": [
"item_id="
]
},
{
"name": "抖音",
"hosts": [
"douyin.com"
],
"regex": [
"is_play_url="
]
},
{
"name": "饭团点击",
"hosts": [
"fantuan"
"dadagui",
"freeok",
"dadagui"
],
"script": [
"document.querySelector(\"#playleft iframe\").contentWindow.document.querySelector(\"#start\").click();"
]
},
{
"name": "毛驴点击",
"hosts": [
"www.maolvys.com"
],
"script": [
"document.getElementsByClassName('swal-button swal-button--confirm')[0].click()"
]
}
],
"doh": [
@ -2286,15 +2125,6 @@
],
"lives": [
{
"name": "ITV",
"type": 0,
"url": "./ITV.txt",
"epg": "http://epg.51zmt.top:8000/e.xml",
"ua": "okhttp/3.15,AptvPlayer/1.4.0",
"timeout": "3",
"playerType": 2
},
{
"name": "AI拾光",
"type": 0,
"url": "https://ghproxy.net/raw.githubusercontent.com/xmbjm/TV/master/output/user_result.txt",
@ -2303,8 +2133,16 @@
"playerType": 2,
"timeout": 10
},
{
{
"name": "ITV",
"type": 0,
"url": "./ITV.txt",
"epg": "http://epg.51zmt.top:8000/e.xml",
"ua": "okhttp/3.15,AptvPlayer/1.4.0",
"timeout": 3,
"playerType": 2
},
{
"name": "拾光频道",
"type": 0,
"url": "https://4708.kstore.space/omg/tv.txt",
@ -2316,13 +2154,6 @@
"url": "https://ghproxy.cn/https://raw.githubusercontent.com/qinvision/Film-Television/main/dujuejiami.txt",
"playerType": 1
},
{
"name": "范明明",
"type": 0,
"url": "https://live.fanmingming.cn/tv/m3u/ipv6.m3u",
"playerType": 1
},
{
"name": "拾光AI",
"type": 0,
@ -2335,13 +2166,22 @@
"url": "https://gitlab.com/hewittchoi/tvlist/-/raw/main/updated.txt",
"playerType": 1
},
{
"name": "范明明",
"type": 0,
"url": "https://live.fanmingming.cn/tv/m3u/ipv6.m3u",
"playerType": 2,
"timeout": 10
},
{
"name": "APTV",
"type": 0,
"url": "https://wget.la/https://github.com/Kimentanm/aptv/raw/master/m3u/iptv.m3u",
"epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}",
"logo": "https://epg.iill.top/logo/{name}.png",
"ua": "okhttp/3.15,AptvPlayer/1.4.0",
"timeout": 10,
"playerType": 2
}
],
"hosts": [

1
drpy_libs/cheerio.min.js vendored Normal file

File diff suppressed because one or more lines are too long

6140
drpy_libs/crypto-hiker.js Normal file

File diff suppressed because it is too large Load Diff

6191
drpy_libs/crypto-js.js Normal file

File diff suppressed because it is too large Load Diff

3805
drpy_libs/drpy2.js Normal file

File diff suppressed because one or more lines are too long

78
drpy_libs/drpy2.min.js vendored Normal file

File diff suppressed because one or more lines are too long

73
drpy_libs/drpy22.min.js vendored Normal file

File diff suppressed because one or more lines are too long

68
drpy_libs/gbk.js Normal file

File diff suppressed because one or more lines are too long

577
drpy_libs/jinja.js Normal file
View File

@ -0,0 +1,577 @@
/*!
* Jinja Templating for JavaScript v0.1.8
* https://github.com/sstur/jinja-js
*
* This is a slimmed-down Jinja2 implementation [http://jinja.pocoo.org/]
*
* In the interest of simplicity, it deviates from Jinja2 as follows:
* - Line statements, cycle, super, macro tags and block nesting are not implemented
* - auto escapes html by default (the filter is "html" not "e")
* - Only "html" and "safe" filters are built in
* - Filters are not valid in expressions; `foo|length > 1` is not valid
* - Expression Tests (`if num is odd`) not implemented (`is` translates to `==` and `isnot` to `!=`)
*
* Notes:
* - if property is not found, but method '_get' exists, it will be called with the property name (and cached)
* - `{% for n in obj %}` iterates the object's keys; get the value with `{% for n in obj %}{{ obj[n] }}{% endfor %}`
* - subscript notation `a[0]` takes literals or simple variables but not `a[item.key]`
* - `.2` is not a valid number literal; use `0.2`
*
*/
/*global require, exports, module, define */
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.jinja = {}));
})(this, (function (jinja) {
"use strict";
var STRINGS = /'(\\.|[^'])*'|"(\\.|[^"'"])*"/g;
var IDENTS_AND_NUMS = /([$_a-z][$\w]*)|([+-]?\d+(\.\d+)?)/g;
var NUMBER = /^[+-]?\d+(\.\d+)?$/;
//non-primitive literals (array and object literals)
var NON_PRIMITIVES = /\[[@#~](,[@#~])*\]|\[\]|\{([@i]:[@#~])(,[@i]:[@#~])*\}|\{\}/g;
//bare identifiers such as variables and in object literals: {foo: 'value'}
var IDENTIFIERS = /[$_a-z][$\w]*/ig;
var VARIABLES = /i(\.i|\[[@#i]\])*/g;
var ACCESSOR = /(\.i|\[[@#i]\])/g;
var OPERATORS = /(===?|!==?|>=?|<=?|&&|\|\||[+\-\*\/%])/g;
//extended (english) operators
var EOPS = /(^|[^$\w])(and|or|not|is|isnot)([^$\w]|$)/g;
var LEADING_SPACE = /^\s+/;
var TRAILING_SPACE = /\s+$/;
var START_TOKEN = /\{\{\{|\{\{|\{%|\{#/;
var TAGS = {
'{{{': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?\}\}\}/,
'{{': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?\}\}/,
'{%': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?%\}/,
'{#': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?#\}/
};
var delimeters = {
'{%': 'directive',
'{{': 'output',
'{#': 'comment'
};
var operators = {
and: '&&',
or: '||',
not: '!',
is: '==',
isnot: '!='
};
var constants = {
'true': true,
'false': false,
'null': null
};
function Parser() {
this.nest = [];
this.compiled = [];
this.childBlocks = 0;
this.parentBlocks = 0;
this.isSilent = false;
}
Parser.prototype.push = function (line) {
if (!this.isSilent) {
this.compiled.push(line);
}
};
Parser.prototype.parse = function (src) {
this.tokenize(src);
return this.compiled;
};
Parser.prototype.tokenize = function (src) {
var lastEnd = 0, parser = this, trimLeading = false;
matchAll(src, START_TOKEN, function (open, index, src) {
//here we match the rest of the src against a regex for this tag
var match = src.slice(index + open.length).match(TAGS[open]);
match = (match ? match[0] : '');
//here we sub out strings so we don't get false matches
var simplified = match.replace(STRINGS, '@');
//if we don't have a close tag or there is a nested open tag
if (!match || ~simplified.indexOf(open)) {
return index + 1;
}
var inner = match.slice(0, 0 - open.length);
//check for white-space collapse syntax
if (inner.charAt(0) === '-') var wsCollapseLeft = true;
if (inner.slice(-1) === '-') var wsCollapseRight = true;
inner = inner.replace(/^-|-$/g, '').trim();
//if we're in raw mode and we are not looking at an "endraw" tag, move along
if (parser.rawMode && (open + inner) !== '{%endraw') {
return index + 1;
}
var text = src.slice(lastEnd, index);
lastEnd = index + open.length + match.length;
if (trimLeading) text = trimLeft(text);
if (wsCollapseLeft) text = trimRight(text);
if (wsCollapseRight) trimLeading = true;
if (open === '{{{') {
//liquid-style: make {{{x}}} => {{x|safe}}
open = '{{';
inner += '|safe';
}
parser.textHandler(text);
parser.tokenHandler(open, inner);
});
var text = src.slice(lastEnd);
if (trimLeading) text = trimLeft(text);
this.textHandler(text);
};
Parser.prototype.textHandler = function (text) {
this.push('write(' + JSON.stringify(text) + ');');
};
Parser.prototype.tokenHandler = function (open, inner) {
var type = delimeters[open];
if (type === 'directive') {
this.compileTag(inner);
} else if (type === 'output') {
var extracted = this.extractEnt(inner, STRINGS, '@');
//replace || operators with ~
extracted.src = extracted.src.replace(/\|\|/g, '~').split('|');
//put back || operators
extracted.src = extracted.src.map(function (part) {
return part.split('~').join('||');
});
var parts = this.injectEnt(extracted, '@');
if (parts.length > 1) {
var filters = parts.slice(1).map(this.parseFilter.bind(this));
this.push('filter(' + this.parseExpr(parts[0]) + ',' + filters.join(',') + ');');
} else {
this.push('filter(' + this.parseExpr(parts[0]) + ');');
}
}
};
Parser.prototype.compileTag = function (str) {
var directive = str.split(' ')[0];
var handler = tagHandlers[directive];
if (!handler) {
throw new Error('Invalid tag: ' + str);
}
handler.call(this, str.slice(directive.length).trim());
};
Parser.prototype.parseFilter = function (src) {
src = src.trim();
var match = src.match(/[:(]/);
var i = match ? match.index : -1;
if (i < 0) return JSON.stringify([src]);
var name = src.slice(0, i);
var args = src.charAt(i) === ':' ? src.slice(i + 1) : src.slice(i + 1, -1);
args = this.parseExpr(args, {terms: true});
return '[' + JSON.stringify(name) + ',' + args + ']';
};
Parser.prototype.extractEnt = function (src, regex, placeholder) {
var subs = [], isFunc = typeof placeholder == 'function';
src = src.replace(regex, function (str) {
var replacement = isFunc ? placeholder(str) : placeholder;
if (replacement) {
subs.push(str);
return replacement;
}
return str;
});
return {src: src, subs: subs};
};
Parser.prototype.injectEnt = function (extracted, placeholder) {
var src = extracted.src, subs = extracted.subs, isArr = Array.isArray(src);
var arr = (isArr) ? src : [src];
var re = new RegExp('[' + placeholder + ']', 'g'), i = 0;
arr.forEach(function (src, index) {
arr[index] = src.replace(re, function () {
return subs[i++];
});
});
return isArr ? arr : arr[0];
};
//replace complex literals without mistaking subscript notation with array literals
Parser.prototype.replaceComplex = function (s) {
var parsed = this.extractEnt(s, /i(\.i|\[[@#i]\])+/g, 'v');
parsed.src = parsed.src.replace(NON_PRIMITIVES, '~');
return this.injectEnt(parsed, 'v');
};
//parse expression containing literals (including objects/arrays) and variables (including dot and subscript notation)
//valid expressions: `a + 1 > b.c or c == null`, `a and b[1] != c`, `(a < b) or (c < d and e)`, 'a || [1]`
Parser.prototype.parseExpr = function (src, opts) {
opts = opts || {};
//extract string literals -> @
var parsed1 = this.extractEnt(src, STRINGS, '@');
//note: this will catch {not: 1} and a.is; could we replace temporarily and then check adjacent chars?
parsed1.src = parsed1.src.replace(EOPS, function (s, before, op, after) {
return (op in operators) ? before + operators[op] + after : s;
});
//sub out non-string literals (numbers/true/false/null) -> #
// the distinction is necessary because @ can be object identifiers, # cannot
var parsed2 = this.extractEnt(parsed1.src, IDENTS_AND_NUMS, function (s) {
return (s in constants || NUMBER.test(s)) ? '#' : null;
});
//sub out object/variable identifiers -> i
var parsed3 = this.extractEnt(parsed2.src, IDENTIFIERS, 'i');
//remove white-space
parsed3.src = parsed3.src.replace(/\s+/g, '');
//the rest of this is simply to boil the expression down and check validity
var simplified = parsed3.src;
//sub out complex literals (objects/arrays) -> ~
// the distinction is necessary because @ and # can be subscripts but ~ cannot
while (simplified !== (simplified = this.replaceComplex(simplified))) ;
//now @ represents strings, # represents other primitives and ~ represents non-primitives
//replace complex variables (those with dot/subscript accessors) -> v
while (simplified !== (simplified = simplified.replace(/i(\.i|\[[@#i]\])+/, 'v'))) ;
//empty subscript or complex variables in subscript, are not permitted
simplified = simplified.replace(/[iv]\[v?\]/g, 'x');
//sub in "i" for @ and # and ~ and v (now "i" represents all literals, variables and identifiers)
simplified = simplified.replace(/[@#~v]/g, 'i');
//sub out operators
simplified = simplified.replace(OPERATORS, '%');
//allow 'not' unary operator
simplified = simplified.replace(/!+[i]/g, 'i');
var terms = opts.terms ? simplified.split(',') : [simplified];
terms.forEach(function (term) {
//simplify logical grouping
while (term !== (term = term.replace(/\(i(%i)*\)/g, 'i'))) ;
if (!term.match(/^i(%i)*/)) {
throw new Error('Invalid expression: ' + src + " " + term);
}
});
parsed3.src = parsed3.src.replace(VARIABLES, this.parseVar.bind(this));
parsed2.src = this.injectEnt(parsed3, 'i');
parsed1.src = this.injectEnt(parsed2, '#');
return this.injectEnt(parsed1, '@');
};
Parser.prototype.parseVar = function (src) {
var args = Array.prototype.slice.call(arguments);
var str = args.pop(), index = args.pop();
//quote bare object identifiers (might be a reserved word like {while: 1})
if (src === 'i' && str.charAt(index + 1) === ':') {
return '"i"';
}
var parts = ['"i"'];
src.replace(ACCESSOR, function (part) {
if (part === '.i') {
parts.push('"i"');
} else if (part === '[i]') {
parts.push('get("i")');
} else {
parts.push(part.slice(1, -1));
}
});
return 'get(' + parts.join(',') + ')';
};
//escapes a name to be used as a javascript identifier
Parser.prototype.escName = function (str) {
return str.replace(/\W/g, function (s) {
return '$' + s.charCodeAt(0).toString(16);
});
};
Parser.prototype.parseQuoted = function (str) {
if (str.charAt(0) === "'") {
str = str.slice(1, -1).replace(/\\.|"/, function (s) {
if (s === "\\'") return "'";
return s.charAt(0) === '\\' ? s : ('\\' + s);
});
str = '"' + str + '"';
}
//todo: try/catch or deal with invalid characters (linebreaks, control characters)
return JSON.parse(str);
};
//the context 'this' inside tagHandlers is the parser instance
var tagHandlers = {
'if': function (expr) {
this.push('if (' + this.parseExpr(expr) + ') {');
this.nest.unshift('if');
},
'else': function () {
if (this.nest[0] === 'for') {
this.push('}, function() {');
} else {
this.push('} else {');
}
},
'elseif': function (expr) {
this.push('} else if (' + this.parseExpr(expr) + ') {');
},
'endif': function () {
this.nest.shift();
this.push('}');
},
'for': function (str) {
var i = str.indexOf(' in ');
var name = str.slice(0, i).trim();
var expr = str.slice(i + 4).trim();
this.push('each(' + this.parseExpr(expr) + ',' + JSON.stringify(name) + ',function() {');
this.nest.unshift('for');
},
'endfor': function () {
this.nest.shift();
this.push('});');
},
'raw': function () {
this.rawMode = true;
},
'endraw': function () {
this.rawMode = false;
},
'set': function (stmt) {
var i = stmt.indexOf('=');
var name = stmt.slice(0, i).trim();
var expr = stmt.slice(i + 1).trim();
this.push('set(' + JSON.stringify(name) + ',' + this.parseExpr(expr) + ');');
},
'block': function (name) {
if (this.isParent) {
++this.parentBlocks;
var blockName = 'block_' + (this.escName(name) || this.parentBlocks);
this.push('block(typeof ' + blockName + ' == "function" ? ' + blockName + ' : function() {');
} else if (this.hasParent) {
this.isSilent = false;
++this.childBlocks;
blockName = 'block_' + (this.escName(name) || this.childBlocks);
this.push('function ' + blockName + '() {');
}
this.nest.unshift('block');
},
'endblock': function () {
this.nest.shift();
if (this.isParent) {
this.push('});');
} else if (this.hasParent) {
this.push('}');
this.isSilent = true;
}
},
'extends': function (name) {
name = this.parseQuoted(name);
var parentSrc = this.readTemplateFile(name);
this.isParent = true;
this.tokenize(parentSrc);
this.isParent = false;
this.hasParent = true;
//silence output until we enter a child block
this.isSilent = true;
},
'include': function (name) {
name = this.parseQuoted(name);
var incSrc = this.readTemplateFile(name);
this.isInclude = true;
this.tokenize(incSrc);
this.isInclude = false;
}
};
//liquid style
tagHandlers.assign = tagHandlers.set;
//python/django style
tagHandlers.elif = tagHandlers.elseif;
var getRuntime = function runtime(data, opts) {
var defaults = {autoEscape: 'toJson'};
var _toString = Object.prototype.toString;
var _hasOwnProperty = Object.prototype.hasOwnProperty;
var getKeys = Object.keys || function (obj) {
var keys = [];
for (var n in obj) if (_hasOwnProperty.call(obj, n)) keys.push(n);
return keys;
};
var isArray = Array.isArray || function (obj) {
return _toString.call(obj) === '[object Array]';
};
var create = Object.create || function (obj) {
function F() {
}
F.prototype = obj;
return new F();
};
var toString = function (val) {
if (val == null) return '';
return (typeof val.toString == 'function') ? val.toString() : _toString.call(val);
};
var extend = function (dest, src) {
var keys = getKeys(src);
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i];
dest[key] = src[key];
}
return dest;
};
//get a value, lexically, starting in current context; a.b -> get("a","b")
var get = function () {
var val, n = arguments[0], c = stack.length;
while (c--) {
val = stack[c][n];
if (typeof val != 'undefined') break;
}
for (var i = 1, len = arguments.length; i < len; i++) {
if (val == null) continue;
n = arguments[i];
val = (_hasOwnProperty.call(val, n)) ? val[n] : (typeof val._get == 'function' ? (val[n] = val._get(n)) : null);
}
return (val == null) ? '' : val;
};
var set = function (n, val) {
stack[stack.length - 1][n] = val;
};
var push = function (ctx) {
stack.push(ctx || {});
};
var pop = function () {
stack.pop();
};
var write = function (str) {
output.push(str);
};
var filter = function (val) {
for (var i = 1, len = arguments.length; i < len; i++) {
var arr = arguments[i], name = arr[0], filter = filters[name];
if (filter) {
arr[0] = val;
//now arr looks like [val, arg1, arg2]
val = filter.apply(data, arr);
} else {
throw new Error('Invalid filter: ' + name);
}
}
if (opts.autoEscape && name !== opts.autoEscape && name !== 'safe') {
//auto escape if not explicitly safe or already escaped
val = filters[opts.autoEscape].call(data, val);
}
output.push(val);
};
var each = function (obj, loopvar, fn1, fn2) {
if (obj == null) return;
var arr = isArray(obj) ? obj : getKeys(obj), len = arr.length;
var ctx = {loop: {length: len, first: arr[0], last: arr[len - 1]}};
push(ctx);
for (var i = 0; i < len; i++) {
extend(ctx.loop, {index: i + 1, index0: i});
fn1(ctx[loopvar] = arr[i]);
}
if (len === 0 && fn2) fn2();
pop();
};
var block = function (fn) {
push();
fn();
pop();
};
var render = function () {
return output.join('');
};
data = data || {};
opts = extend(defaults, opts || {});
var filters = extend({
html: function (val) {
return toString(val)
.split('&').join('&amp;')
.split('<').join('&lt;')
.split('>').join('&gt;')
.split('"').join('&quot;');
},
safe: function (val) {
return val;
},
toJson: function (val) {
if (typeof val === 'object') {
return JSON.stringify(val);
}
return toString(val);
}
}, opts.filters || {});
var stack = [create(data || {})], output = [];
return {
get: get,
set: set,
push: push,
pop: pop,
write: write,
filter: filter,
each: each,
block: block,
render: render
};
};
var runtime;
jinja.compile = function (markup, opts) {
opts = opts || {};
var parser = new Parser();
parser.readTemplateFile = this.readTemplateFile;
var code = [];
code.push('function render($) {');
code.push('var get = $.get, set = $.set, push = $.push, pop = $.pop, write = $.write, filter = $.filter, each = $.each, block = $.block;');
code.push.apply(code, parser.parse(markup));
code.push('return $.render();');
code.push('}');
code = code.join('\n');
if (opts.runtime === false) {
var fn = new Function('data', 'options', 'return (' + code + ')(runtime(data, options))');
} else {
runtime = runtime || (runtime = getRuntime.toString());
fn = new Function('data', 'options', 'return (' + code + ')((' + runtime + ')(data, options))');
}
return {render: fn};
};
jinja.render = function (markup, data, opts) {
var tmpl = jinja.compile(markup);
return tmpl.render(data, opts);
};
jinja.templateFiles = [];
jinja.readTemplateFile = function (name) {
var templateFiles = this.templateFiles || [];
var templateFile = templateFiles[name];
if (templateFile == null) {
throw new Error('Template file not found: ' + name);
}
return templateFile;
};
/*!
* Helpers
*/
function trimLeft(str) {
return str.replace(LEADING_SPACE, '');
}
function trimRight(str) {
return str.replace(TRAILING_SPACE, '');
}
function matchAll(str, reg, fn) {
//copy as global
reg = new RegExp(reg.source, 'g' + (reg.ignoreCase ? 'i' : '') + (reg.multiline ? 'm' : ''));
var match;
while ((match = reg.exec(str))) {
var result = fn(match[0], match.index, str);
if (typeof result == 'number') {
reg.lastIndex = result;
}
}
}
}));

265
drpy_libs/jsencrypt.js Normal file

File diff suppressed because one or more lines are too long

1737
drpy_libs/json5.js Normal file

File diff suppressed because one or more lines are too long

2
drpy_libs/node-rsa.js Normal file

File diff suppressed because one or more lines are too long

2
drpy_libs/pako.min.js vendored Normal file

File diff suppressed because one or more lines are too long

412
drpy_libs/模板.js Normal file
View File

@ -0,0 +1,412 @@
if (typeof Object.assign !== 'function') {
Object.assign = function () {
let target = arguments[0];
for (let i = 1; i < arguments.length; i++) {
let source = arguments[i];
for (let key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
}
// 通用免嗅探播放
let common_lazy = `js:
let html = request(input);
let hconf = html.match(/r player_.*?=(.*?)</)[1];
let json = JSON5.parse(hconf);
let url = json.url;
if (json.encrypt == '1') {
url = unescape(url);
} else if (json.encrypt == '2') {
url = unescape(base64Decode(url));
}
if (/\\.(m3u8|mp4|m4a|mp3)/.test(url)) {
input = {
parse: 0,
jx: 0,
url: url,
};
} else {
input;
}`;
// 默认嗅探播放
let def_lazy = `js:
input = { parse: 1, url: input, js: '' };`;
// 采集站播放
let cj_lazy = `js:
if (/\\.(m3u8|mp4)/.test(input)) {
input = { parse: 0, url: input };
} else {
if (rule.parse_url.startsWith('json:')) {
let purl = rule.parse_url.replace('json:', '') + input;
let html = request(purl);
let json = JSON.parse(html);
if (json.url) {
input = { parse: 0, url: json.url };
}
} else {
input = rule.parse_url + input;
}
}`;
function getMubans() {
const mubanDict = { // 模板字典
mx: {
title: '',
host: '',
url: '/vodshow/fyclass--------fypage---/',
searchUrl: '/vodsearch/**----------fypage---/',
class_parse: '.top_nav li;a&&Text;a&&href;.*/(.*?)/',
searchable: 2,
quickSearch: 0,
filterable: 0,
headers: {
'User-Agent': 'MOBILE_UA',
},
play_parse: true,
lazy: common_lazy,
limit: 6,
double: true,
推荐: '.cbox_list;*;*;*;*;*',
一级: 'ul.vodlist li;a&&title;a&&data-original;.pic_text&&Text;a&&href',
二级: {
title: 'h2&&Text;.content_detail:eq(1)&&li&&a:eq(2)&&Text',
img: '.vodlist_thumb&&data-original',
desc: '.content_detail:eq(1)&&li:eq(1)&&Text;.content_detail:eq(1)&&li&&a&&Text;.content_detail:eq(1)&&li&&a:eq(1)&&Text;.content_detail:eq(1)&&li:eq(2)&&Text;.content_detail:eq(1)&&li:eq(3)&&Text',
content: '.content_desc&&span&&Text',
tabs: '.play_source_tab&&a',
lists: '.content_playlist:eq(#id) li',
},
搜索: '*',
},
mxpro: {
title: '',
host: '', // homeUrl:'/',
url: '/vodshow/fyclass--------fypage---.html',
searchUrl: '/vodsearch/**----------fypage---.html',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
headers: {//网站的请求头,完整支持所有的,常带ua和cookies
'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
},
class_parse: '.navbar-items li:gt(0):lt(10);a&&Text;a&&href;/(\\d+)',
play_parse: true,
lazy: common_lazy,
limit: 6,
double: true, // 推荐内容是否双层定位
推荐: '.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href',
一级: 'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href',
二级: {
title: 'h1&&Text;.module-info-tag-link:eq(-1)&&Text',
img: '.lazyload&&data-original||data-src||src',
desc: '.module-info-item:eq(-2)&&Text;.module-info-tag-link&&Text;.module-info-tag-link:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(1)&&Text',
content: '.module-info-introduction&&Text',
tabs: '.module-tab-item',
lists: '.module-play-list:eq(#id) a',
tab_text: 'div--small&&Text',
},
搜索: 'body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text',
}, mxone5: {
title: '',
host: '',
url: '/show/fyclass--------fypage---.html',
searchUrl: '/search/**----------fypage---.html',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
class_parse: '.nav-menu-items&&li;a&&Text;a&&href;.*/(.*?)\.html',
play_parse: true,
lazy: common_lazy,
limit: 6,
double: true, // 推荐内容是否双层定位
推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
一级: '.module-items .module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
二级: {
title: 'h1&&Text;.tag-link&&Text',
img: '.module-item-pic&&img&&data-src',
desc: '.video-info-items:eq(3)&&Text;.tag-link:eq(2)&&Text;.tag-link:eq(1)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(0)&&Text',
content: '.vod_content&&Text',
tabs: '.module-tab-item',
lists: '.module-player-list:eq(#id)&&.scroll-content&&a',
tab_text: 'div--small&&Text',
},
搜索: '.module-items .module-search-item;a&&title;img&&data-src;.video-serial&&Text;a&&href',
}, 首图: {
title: '',
host: '',
url: '/vodshow/fyclass--------fypage---/',
searchUrl: '/vodsearch/**----------fypage---.html',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
headers: {//网站的请求头,完整支持所有的,常带ua和cookies
'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
},
class_parse: '.myui-header__menu li.hidden-sm:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html',
play_parse: true,
lazy: common_lazy,
limit: 6,
double: true, // 推荐内容是否双层定位
推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
一级: '.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
二级: {
title: '.myui-content__detail .title--span&&Text;.myui-content__detail p.data:eq(3)&&Text',
img: '.myui-content__thumb .lazyload&&data-original',
desc: '.myui-content__detail p.otherbox&&Text;.year&&Text;.myui-content__detail p.data:eq(4)&&Text;.myui-content__detail p.data:eq(2)&&Text;.myui-content__detail p.data:eq(0)&&Text',
content: '.content&&Text',
tabs: '.myui-panel__head&&li',
// tabs: '.nav-tabs&&li',
lists: '.myui-content__list:eq(#id) li',
},
搜索: '#searchList li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href;.detail&&Text',
}, 首图2: {
title: '',
host: '',
url: '/list/fyclass-fypage.html',
searchUrl: '/vodsearch/**----------fypage---.html',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
headers: {
'User-Agent': 'UC_UA', // "Cookie": ""
},
class_parse: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html',
play_parse: true,
lazy: common_lazy,
limit: 6,
double: true, // 推荐内容是否双层定位
推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href',
一级: '.stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
二级: {
title: '.stui-content__detail .title&&Text;.stui-content__detail&&p:eq(-2)&&a&&Text',
title1: '.stui-content__detail .title&&Text;.stui-content__detail&&p&&Text',
img: '.stui-content__thumb .lazyload&&data-original',
desc: '.stui-content__detail p&&Text;.stui-content__detail&&p:eq(-2)&&a:eq(2)&&Text;.stui-content__detail&&p:eq(-2)&&a:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text;.stui-content__detail p:eq(1)&&Text',
desc1: '.stui-content__detail p:eq(4)&&Text;;;.stui-content__detail p:eq(1)&&Text',
content: '.detail&&Text',
tabs: '.stui-pannel__head h3',
tabs1: '.stui-vodlist__head h3',
lists: '.stui-content__playlist:eq(#id) li',
},
搜索: 'ul.stui-vodlist__media,ul.stui-vodlist,#searchList li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href;.detail&&Text',
}, 默认: {
title: '',
host: '',
url: '',
searchUrl: '',
searchable: 2,
quickSearch: 0,
filterable: 0,
filter: '',
filter_url: '',
filter_def: {},
headers: {
'User-Agent': 'MOBILE_UA',
},
timeout: 5000,
class_parse: '#side-menu li;a&&Text;a&&href;/(.*?)\.html',
cate_exclude: '',
play_parse: true,
lazy: def_lazy,
double: true,
推荐: '列表1;列表2;标题;图片;描述;链接;详情',
一级: '列表;标题;图片;描述;链接;详情',
二级: {
title: 'vod_name;vod_type',
img: '图片链接',
desc: '主要信息;年代;地区;演员;导演',
content: '简介',
tabs: '',
lists: 'xx:eq(#id)&&a',
tab_text: 'body&&Text',
list_text: 'body&&Text',
list_url: 'a&&href',
},
搜索: '列表;标题;图片;描述;链接;详情',
}, vfed: {
title: '',
host: '',
url: '/index.php/vod/show/id/fyclass/page/fypage.html',
searchUrl: '/index.php/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;a&&Text;a&&href;.*/(.*?).html',
play_parse: true,
lazy: common_lazy,
limit: 6,
double: true, // 推荐内容是否双层定位
推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
一级: '.fed-list-info&&li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
二级: {
title: 'h1.fed-part-eone&&Text;.fed-deta-content&&.fed-part-rows&&li&&Text',
img: '.fed-list-info&&a&&data-original',
desc: '.fed-deta-content&&.fed-part-rows&&li:eq(1)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(2)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(3)&&Text',
content: '.fed-part-esan&&Text',
tabs: '.fed-drop-boxs&&.fed-part-rows&&li',
lists: '.fed-play-item:eq(#id)&&ul:eq(1)&&li',
},
搜索: '.fed-deta-info;h1&&Text;.lazyload&&data-original;.fed-list-remarks&&Text;a&&href;.fed-deta-content&&Text',
}, 海螺3: {
title: '',
host: '',
searchUrl: '/v_search/**----------fypage---.html',
url: '/vod_____show/fyclass--------fypage---.html',
headers: {
'User-Agent': 'MOBILE_UA',
},
timeout: 5000,
class_parse: 'body&&.hl-nav li:gt(0);a&&Text;a&&href;.*/(.*?).html',
cate_exclude: '明星|专题|最新|排行',
limit: 40,
play_parse: true,
lazy: common_lazy,
double: true,
推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href',
一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
二级: {
title: '.hl-dc-title&&Text;.hl-dc-content&&li:eq(6)&&Text',
img: '.hl-lazy&&data-original',
desc: '.hl-dc-content&&li:eq(10)&&Text;.hl-dc-content&&li:eq(4)&&Text;.hl-dc-content&&li:eq(5)&&Text;.hl-dc-content&&li:eq(2)&&Text;.hl-dc-content&&li:eq(3)&&Text',
content: '.hl-content-text&&Text',
tabs: '.hl-tabs&&a',
tab_text: 'a--span&&Text',
lists: '.hl-plays-list:eq(#id)&&li',
},
搜索: '.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
}, 海螺2: {
title: '',
host: '',
searchUrl: '/index.php/vod/search/page/fypage/wd/**/',
url: '/index.php/vod/show/id/fyclass/page/fypage/',
headers: {
'User-Agent': 'MOBILE_UA',
},
timeout: 5000,
class_parse: '#nav-bar li;a&&Text;a&&href;id/(.*?)/',
limit: 40,
play_parse: true,
lazy: common_lazy,
double: true,
推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href',
一级: '.list-a&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href',
二级: {
title: 'h2&&Text;.deployment&&Text',
img: '.lazy&&data-original',
desc: '.deployment&&Text',
content: '.ec-show&&Text',
tabs: '#tag&&a',
lists: '.play_list_box:eq(#id)&&li',
},
搜索: '.search-list;a&&title;.lazy&&data-original;.deployment&&Text;a&&href',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
}, 短视: {
title: '',
host: '', // homeUrl:'/',
url: '/channel/fyclass-fypage.html',
searchUrl: '/search.html?wd=**',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
headers: {//网站的请求头,完整支持所有的,常带ua和cookies
'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
},
class_parse: '.menu_bottom ul li;a&&Text;a&&href;.*/(.*?).html',
cate_exclude: '解析|动态',
play_parse: true,
lazy: common_lazy,
limit: 6,
double: true, // 推荐内容是否双层定位
推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
一级: '.pic-list&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
二级: {
title: 'h1&&Text;.content-rt&&p:eq(0)&&Text',
img: '.img&&img&&data-src',
desc: '.content-rt&&p:eq(1)&&Text;.content-rt&&p:eq(2)&&Text;.content-rt&&p:eq(3)&&Text;.content-rt&&p:eq(4)&&Text;.content-rt&&p:eq(5)&&Text',
content: '.zkjj_a&&Text',
tabs: '.py-tabs&&option',
lists: '.player:eq(#id) li',
},
搜索: '.sr_lists&&ul&&li;h3&&Text;img&&data-src;.int&&p:eq(0)&&Text;a&&href',
}, 短视2: {
title: '',
host: '',
class_name: '电影&电视剧&综艺&动漫',
class_url: '1&2&3&4',
searchUrl: '/index.php/ajax/suggest?mid=1&wd=**&limit=50',
searchable: 2,
quickSearch: 0,
headers: {'User-Agent': 'MOBILE_UA'},
url: '/index.php/api/vod#type=fyclass&page=fypage',
filterable: 0,//是否启用分类筛选,
filter_url: '',
filter: {},
filter_def: {},
detailUrl: '/index.php/vod/detail/id/fyid.html',
play_parse: true,
lazy: common_lazy,
limit: 6,
推荐: '.list-vod.flex .public-list-box;a&&title;.lazy&&data-original;.public-list-prb&&Text;a&&href',
一级: 'js: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(2)--strong&&Text',
img: '.detail-pic&&data-original',
desc: '.slide-info-remarks&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(1)--strong&&Text;.info-parameter&&ul&&li:eq(3)&&Text',
content: '#height_limit&&Text',
tabs: '.anthology.wow.fadeInUp.animated&&.swiper-wrapper&&a',
tab_text: 'a--span&&Text',
lists: '.anthology-list-box:eq(#id) li',
},
搜索: 'json:list;name;pic;;id',
}, 采集1: {
title: '',
host: '',
homeTid: '13',
homeUrl: '/api.php/provide/vod/?ac=detail&t={{rule.homeTid}}',
detailUrl: '/api.php/provide/vod/?ac=detail&ids=fyid',
searchUrl: '/api.php/provide/vod/?wd=**&pg=fypage',
url: '/api.php/provide/vod/?ac=detail&pg=fypage&t=fyclass',
headers: {'User-Agent': 'MOBILE_UA'},
timeout: 5000, // class_name: '电影&电视剧&综艺&动漫',
// class_url: '1&2&3&4',
// class_parse:'js:let html=request(input);input=JSON.parse(html).class;',
class_parse: 'json:class;',
limit: 20,
multi: 1,
searchable: 2,//是否启用全局搜索,
quickSearch: 1,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
play_parse: true,
parse_url: '',
lazy: cj_lazy,
推荐: '*',
一级: 'json:list;vod_name;vod_pic;vod_remarks;vod_id;vod_play_from',
二级: `js:
let html=request(input);
html=JSON.parse(html);
let data=html.list;
VOD=data[0];`,
搜索: '*',
},
};
return JSON.parse(JSON.stringify(mubanDict));
}
var mubanDict = getMubans();
var muban = getMubans();
export default {muban, getMubans};

377
drpy_libs/模板老.js Normal file
View File

@ -0,0 +1,377 @@
if (typeof Object.assign != 'function') {
Object.assign = function () {
let target = arguments[0];
for (let i = 1; i < arguments.length; i++) {
let source = arguments[i];
for (let key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
}
function getMubans() {
var mubanDict = { // 模板字典
mx: {
title: '',
host: '',
url: '/vodshow/fyclass--------fypage---/',
searchUrl: '/vodsearch/**----------fypage---/',
class_parse: '.top_nav li;a&&Text;a&&href;.*/(.*?)/',
searchable: 2,
quickSearch: 0,
filterable: 0,
headers: {
'User-Agent': 'MOBILE_UA',
},
play_parse: true,
lazy: '',
limit: 6,
推荐: '.cbox_list;*;*;*;*;*',
double: true,
一级: 'ul.vodlist li;a&&title;a&&data-original;.pic_text&&Text;a&&href',
二级: {
title: 'h2&&Text;.detail_list&&ul:eq(1)&&li&&a:eq(2)&&Text',
img: '.vodlist_thumb&&data-original',
desc: '.content_detail&&li:eq(1)&&Text;.detail_list&&ul:eq(1)&&li&&a&&Text;.detail_list&&ul:eq(1)&&li&&a:eq(1)&&Text;.detail_list&&ul:eq(1)&&li:eq(2)&&Text;.detail_list&&ul:eq(1)&&li:eq(3)&&Text',
content: '.content_desc&&span&&Text',
tabs: '.play_source_tab&&a',
lists: '.content_playlist:eq(#id) li',
},
搜索: '*',
},
mxpro: {
title: '',
host: '', // homeUrl:'/',
url: '/vodshow/fyclass--------fypage---.html',
searchUrl: '/vodsearch/**----------fypage---.html',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
headers: {//网站的请求头,完整支持所有的,常带ua和cookies
'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
},
class_parse: '.navbar-items li:gt(2):lt(8);a&&Text;a&&href;/(\\d+).html',
play_parse: true,
lazy: '',
limit: 6,
推荐: '.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: 'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href',
二级: {
"title": "h1&&Text;.module-info-tag&&Text",
"img": ".lazyload&&data-original",
"desc": ".module-info-item:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(3)&&Text",
"content": ".module-info-introduction&&Text",
"tabs": ".module-tab-item",
"lists": ".module-play-list:eq(#id) a"
},
搜索: 'body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text',
}, mxone5: {
title: '',
host: '',
url: '/show/fyclass--------fypage---.html',
searchUrl: '/search/**----------fypage---.html',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
class_parse: '.nav-menu-items&&li;a&&Text;a&&href;.*/(.*?).html',
play_parse: true,
lazy: '',
limit: 6,
推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.module-items .module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
二级: {
"title": "h1&&Text;.tag-link&&Text",
"img": ".module-item-pic&&img&&data-src",
"desc": ".video-info-items:eq(0)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(2)&&Text;.video-info-items:eq(3)&&Text",
"content": ".vod_content&&Text",
"tabs": ".module-tab-item",
"lists": ".module-player-list:eq(#id)&&.scroll-content&&a"
},
搜索: '.module-items .module-search-item;a&&title;img&&data-src;.video-serial&&Text;a&&href',
}, 首图: {
title: '',
host: '',
url: '/vodshow/fyclass--------fypage---/',
searchUrl: '/vodsearch/**----------fypage---.html',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
headers: {//网站的请求头,完整支持所有的,常带ua和cookies
'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
},
class_parse: '.myui-header__menu li.hidden-sm:gt(0):lt(5);a&&Text;a&&href;/(\\d+).html',
play_parse: true,
lazy: '',
limit: 6,
推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
二级: {
"title": ".myui-content__detail .title&&Text;.myui-content__detail p:eq(-2)&&Text",
"img": ".myui-content__thumb .lazyload&&data-original",
"desc": ".myui-content__detail p:eq(0)&&Text;.myui-content__detail p:eq(1)&&Text;.myui-content__detail p:eq(2)&&Text",
"content": ".content&&Text",
"tabs": ".nav-tabs:eq(0) li",
"lists": ".myui-content__list:eq(#id) li"
},
搜索: '#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
}, 首图2: {
title: '',
host: '',
url: '/list/fyclass-fypage.html',
searchUrl: '/vodsearch/**----------fypage---.html',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
headers: {
'User-Agent': 'UC_UA', // "Cookie": ""
}, // class_parse:'.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html',
class_parse: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html',
play_parse: true,
lazy: '',
limit: 6,
推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
二级: {
"title": ".stui-content__detail .title&&Text;.stui-content__detail p:eq(-2)&&Text",
"img": ".stui-content__thumb .lazyload&&data-original",
"desc": ".stui-content__detail p:eq(0)&&Text;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text",
"content": ".detail&&Text",
"tabs": ".stui-vodlist__head h3",
"lists": ".stui-content__playlist:eq(#id) li"
},
搜索: 'ul.stui-vodlist__media:eq(0),ul.stui-vodlist:eq(0),#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
搜索1: 'ul.stui-vodlist&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
搜索2: 'ul.stui-vodlist__media&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
}, 默认: {
title: '',
host: '',
url: '',
searchUrl: '',
searchable: 2,
quickSearch: 0,
filterable: 1,
filter: '',
filter_url: '',
filter_def: {},
headers: {
'User-Agent': 'MOBILE_UA',
},
timeout: 5000,
class_parse: '#side-menu li;a&&Text;a&&href;/(.*?)\.html',
cate_exclude: '',
play_parse: true,
lazy: `js:input = {parse: 1, url: input, js: ''}`,
double: true,
推荐: '列表1;列表2;标题;图片;描述;链接;详情',
一级: '列表;标题;图片;描述;链接;详情',
二级: {
title: 'vod_name;vod_type',
img: '图片链接',
desc: '主要信息;年代;地区;演员;导演',
content: '简介',
tabs: '',
lists: 'xx:eq(#id)&&a',
tab_text: 'body&&Text',
list_text: 'body&&Text',
list_url: 'a&&href'
},
搜索: '列表;标题;图片;描述;链接;详情',
}, vfed: {
title: '',
host: '',
url: '/index.php/vod/show/id/fyclass/page/fypage.html',
searchUrl: '/index.php/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: '.fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html',
play_parse: true,
lazy: '',
limit: 6,
推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.fed-list-info&&li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
二级: {
"title": "h1.fed-part-eone&&Text;.fed-deta-content&&.fed-part-rows&&li&&Text",
"img": ".fed-list-info&&a&&data-original",
"desc": ".fed-deta-content&&.fed-part-rows&&li:eq(1)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(2)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(3)&&Text",
"content": ".fed-part-esan&&Text",
"tabs": ".fed-drop-boxs&&.fed-part-rows&&li",
"lists": ".fed-play-item:eq(#id)&&ul:eq(1)&&li"
},
搜索: '.fed-deta-info;h1&&Text;.lazyload&&data-original;.fed-list-remarks&&Text;a&&href;.fed-deta-content&&Text',
}, 海螺3: {
title: '',
host: '',
searchUrl: '/v_search/**----------fypage---.html',
url: '/vod_____show/fyclass--------fypage---.html',
headers: {
'User-Agent': 'MOBILE_UA'
},
timeout: 5000,
class_parse: 'body&&.hl-nav li:gt(0);a&&Text;a&&href;.*/(.*?).html',
cate_exclude: '明星|专题|最新|排行',
limit: 40,
play_parse: true,
lazy: '',
推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href',
double: true,
一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
二级: {
"title": ".hl-infos-title&&Text;.hl-text-conch&&Text",
"img": ".hl-lazy&&data-original",
"desc": ".hl-infos-content&&.hl-text-conch&&Text",
"content": ".hl-content-text&&Text",
"tabs": ".hl-tabs&&a",
"lists": ".hl-plays-list:eq(#id)&&li"
},
搜索: '.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
}, 海螺2: {
title: '',
host: '',
searchUrl: '/index.php/vod/search/page/fypage/wd/**/',
url: '/index.php/vod/show/id/fyclass/page/fypage/',
headers: {
'User-Agent': 'MOBILE_UA'
},
timeout: 5000,
class_parse: '#nav-bar li;a&&Text;a&&href;id/(.*?)/',
limit: 40,
play_parse: true,
lazy: '',
推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href',
double: true,
一级: '.list-a&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href',
二级: {
"title": "h2&&Text;.deployment&&Text",
"img": ".lazy&&data-original",
"desc": ".deployment&&Text",
"content": ".ec-show&&Text",
"tabs": "#tag&&a",
"lists": ".play_list_box:eq(#id)&&li"
},
搜索: '.search-list;a&&title;.lazy&&data-original;.deployment&&Text;a&&href',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
}, 短视: {
title: '',
host: '', // homeUrl:'/',
url: '/channel/fyclass-fypage.html',
searchUrl: '/search.html?wd=**',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
headers: {//网站的请求头,完整支持所有的,常带ua和cookies
'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
},
class_parse: '.menu_bottom ul li;a&&Text;a&&href;.*/(.*?).html',
cate_exclude: '解析|动态',
play_parse: true,
lazy: '',
limit: 6,
推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.pic-list&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
二级: {
"title": "h1&&Text;.content-rt&&p:eq(0)&&Text",
"img": ".img&&img&&data-src",
"desc": ".content-rt&&p:eq(1)&&Text;.content-rt&&p:eq(2)&&Text;.content-rt&&p:eq(3)&&Text;.content-rt&&p:eq(4)&&Text;.content-rt&&p:eq(5)&&Text",
"content": ".zkjj_a&&Text",
"tabs": ".py-tabs&&option",
"lists": ".player:eq(#id) li"
},
搜索: '.sr_lists&&ul&&li;h3&&Text;img&&data-src;.int&&p:eq(0)&&Text;a&&href',
}, 短视2: {
title: '',
host: '',
class_name: '电影&电视剧&综艺&动漫',
class_url: '1&2&3&4',
searchUrl: '/index.php/ajax/suggest?mid=1&wd=**&limit=50',
searchable: 2,
quickSearch: 0,
headers: {'User-Agent': 'MOBILE_UA'},
url: '/index.php/api/vod#type=fyclass&page=fypage',
filterable: 0,//是否启用分类筛选,
filter_url: '',
filter: {},
filter_def: {},
detailUrl: '/index.php/vod/detail/id/fyid.html',
play_parse: true,
lazy: '',
limit: 6,
推荐: '.list-vod.flex .public-list-box;a&&title;.lazy&&data-original;.public-list-prb&&Text;a&&href',
一级: 'js: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',
}, 采集1: {
title: '',
host: '',
homeTid: '13',
homeUrl: '/api.php/provide/vod/?ac=detail&t={{rule.homeTid}}',
detailUrl: '/api.php/provide/vod/?ac=detail&ids=fyid',
searchUrl: '/api.php/provide/vod/?wd=**&pg=fypage',
url: '/api.php/provide/vod/?ac=detail&pg=fypage&t=fyclass',
headers: {'User-Agent': 'MOBILE_UA'},
timeout: 5000, // class_name: '电影&电视剧&综艺&动漫',
// class_url: '1&2&3&4',
// class_parse:'js:let html=request(input);input=JSON.parse(html).class;',
class_parse: 'json:class;',
limit: 20,
multi: 1,
searchable: 2,//是否启用全局搜索,
quickSearch: 1,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
play_parse: true,
parse_url: '',
lazy: `js:
if(/\\.(m3u8|mp4)/.test(input)){
input = {parse:0,url:input}
}else{
if(rule.parse_url.startsWith('json:')){
let purl = rule.parse_url.replace('json:','')+input;
let html = request(purl);
input = {parse:0,url:JSON.parse(html).url}
}else{
input= rule.parse_url+input;
}
}
`,
推荐: '*',
一级: 'json:list;vod_name;vod_pic;vod_remarks;vod_id;vod_play_from',
二级: `js:
let html=request(input);
html=JSON.parse(html);
let data=html.list;
VOD=data[0];`,
搜索: '*',
}
};
return JSON.parse(JSON.stringify(mubanDict));
}
var mubanDict = getMubans();
var muban = getMubans();
export default {muban, getMubans};

Binary file not shown.