diff --git a/cat.json b/cat.json index 814a6cea..9545d214 100644 --- a/cat.json +++ b/cat.json @@ -9,6 +9,9 @@ {"key":"miku_open","name":"影视 | 咪咕","type":3,"api":"./cat/js/miku_open.js"}, {"key":"yzys","name":"影视 | 柚子","type":3,"api":"./cat/js/yzys.js"}, {"key":"yrzj","name":"影视 | 伊人","type":3,"api":"./cat/js/yrzj.js"}, +{"key":"tutu_open","name":"影视 | 图图","type":3,"api":"./cat/js/tutu_open.js"}, +{"key":"jojo_open","name":"影视 | jojo","type":3,"api":"./cat/js/jojo_open.js"}, +{"key":"jiohub","name":"影视 | jiohub","type":3,"api":"./cat/js/jiohub.js"}, {"key":"kunyu77","name":"影视 | 七七1","type":3,"api":"./cat/js/kunyu77_open.js"}, {"key":"kunyu77_yz","name":"影视 | 七七2","type":3,"api":"./cat/js/kunyu77.js"}, {"key":"czzy","name":"影视 | 厂长","type":3,"api":"./cat/js/czzy_open.js"}, diff --git a/cat/js/config_open.json b/cat/js/config_open.json index 339c9506..5e8276de 100644 --- a/cat/js/config_open.json +++ b/cat/js/config_open.json @@ -8,9 +8,10 @@ {"key":"yzys_open","name":"影视 | 柚子","type":3,"api":"assets://js/yzys_open.js"}, {"key":"sssp_open","name":"影视 | 速搜","type":3,"api":"assets://js/sssp_open.js"}, {"key":"bulei_open","name":"影视 | 布雷","type":3,"api":"assets://js/bulei_open.js"}, -{"key":"miku_open","name":"影视 | 咪咕","type":3,"api":"assets://js/miku_open"}, -{"key":"tutu_open","name":"影视 | 图图","type":3,"api":"assets://js/tutu_open"}, -{"key":"jojo_open","name":"影视 | jojo","type":3,"api":"assets://js/jojo_open"}, +{"key":"miku_open","name":"影视 | 咪咕","type":3,"api":"assets://js/miku_open.js"}, +{"key":"tutu_open","name":"影视 | 图图","type":3,"api":"assets://js/tutu_open.js"}, +{"key":"jojo_open","name":"影视 | jojo","type":3,"api":"assets://js/jojo_open.js"}, +{"key":"jiohub","name":"影视 | jiohub","type":3,"api":"assets://js/jiohub.js"}, {"key":"kunyu77_yz","name":"影视 | 七七","type":3,"api":"assets://js/kunyu77.js"}, {"key":"czzy","name":"影视 | 厂长","type":3,"api":"assets://js/czzy_open.js"}, {"key":"libvio","name":"影视 | libvio","type":3,"api":"assets://js/libvio_open.js"}, diff --git a/cat/js/config_open99.json b/cat/js/config_open99.json index adaccc41..2b44b0d7 100644 --- a/cat/js/config_open99.json +++ b/cat/js/config_open99.json @@ -9,9 +9,10 @@ {"key":"yzys_open","name":"影视 | 柚子","type":3,"api":"assets://js/yzys_open.js"}, {"key":"sssp_open","name":"影视 | 速搜","type":3,"api":"assets://js/sssp_open.js"}, {"key":"bulei_open","name":"影视 | 布雷","type":3,"api":"assets://js/bulei_open.js"}, -{"key":"miku_open","name":"影视 | 咪咕","type":3,"api":"assets://js/miku_open"}, -{"key":"tutu_open","name":"影视 | 图图","type":3,"api":"assets://js/tutu_open"}, -{"key":"jojo_open","name":"影视 | jojo","type":3,"api":"assets://js/jojo_open"}, +{"key":"miku_open","name":"影视 | 咪咕","type":3,"api":"assets://js/miku_open.js"}, +{"key":"tutu_open","name":"影视 | 图图","type":3,"api":"assets://js/tutu_open.js"}, +{"key":"jojo_open","name":"影视 | jojo","type":3,"api":"assets://js/jojo_open.js"}, +{"key":"jiohub","name":"影视 | jiohub","type":3,"api":"assets://js/jiohub.js"}, {"key":"kunyu77","name":"影视 | 七七1","type":3,"api":"assets://js/kunyu77_open.js"}, {"key":"kunyu77_yz","name":"影视 | 七七2","type":3,"api":"assets://js/kunyu77.js"}, {"key":"czzy","name":"影视 | 厂长","type":3,"api":"assets://js/czzy_open.js"}, diff --git a/cat/js/jiohub.js b/cat/js/jiohub.js new file mode 100644 index 00000000..c756da03 --- /dev/null +++ b/cat/js/jiohub.js @@ -0,0 +1,206 @@ +import { Crypto, load, _, dayjs } from './lib/cat.js'; + +let key = 'jiohub'; +let url = 'https://jiohub.top'; +let siteKey = ''; +let siteType = 0; + +const UA = 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1'; + +const cookie = {}; + +async function request(reqUrl, referer, mth, data, hd) { + const headers = { + 'User-Agent': UA, + Cookie: _.map(cookie, (value, key) => { + return `${key}=${value}`; + }).join(';'), + }; + if (referer) headers.referer = encodeURIComponent(referer); + let res = await req(reqUrl, { + method: mth || 'get', + headers: headers, + data: data, + postType: mth === 'post' ? 'form' : '', + }); + return res.content; +} + +// cfg = {skey: siteKey, ext: extend} +async function init(cfg) { + siteKey = cfg.skey; + siteType = cfg.stype; +} + +async function home(filter) { + const html = await request(url); + const $ = load(html); + const series = $('.nav-list a[href*=/video]'); + let classes = _.map(series, (s) => { + let typeId = s.attribs['href']; + let typeName = typeId.match(/\/video\/(.*)\?/)[1]; + typeName = decodeURIComponent(typeName); + return { + type_id: typeName, + type_name: typeName, + }; + }); + return JSON.stringify({ + class: classes, + }); +} + +async function homeVod() { + return '{}'; +} + +async function category(tid, pg, filter, extend) { + let page = pg || 1; + if (page == 0) page = 1; + const link = url + '/video/' + tid + "?page=" + page + '&size=18'; + const html = await request(link); + const $ = load(html); + const items = $('div.content-body > a'); + let videos = _.map(items, (item) => { + const img = $(item).find('img:first')[0].attribs['src']; + const a = item.attribs['href'].match(/\/watch\/(.*)/)[1]; + const n = ($(item).find('p.card-title')[0]).children[0].data; + let speed = ($(item).find('p.item-speed')[0]).children[0].data || ''; + const score = ($(item).find('p.score')[0]).children[0].data || ''; + if (speed == tid) speed = ''; + return { + vod_id: a, + vod_name: n, + vod_pic: img, + vod_remarks: speed || score || '', + }; + }); + + let total = 18; + const pag = $('ui-pagination'); + if (pag.length > 0) { + try { + total = parseInt(pag[0].attribs['total']); + } catch (error) { + + } + } + + return JSON.stringify({ + page: page, + pagecount: _.ceil(total / 18), + list: videos, + }); +} + +function stripHtmlTag(src) { + return src + .replace(/<\/?[^>]+(>|$)/g, '') + .replace(/&.{1,5};/g, '') + .replace(/\s{2,}/g, ' '); +} + +async function detail(id) { + const html = await request(url + '/watch/' + id); + const $ = load(html); + const detail = $('div.content-detail > p'); + let vod = { + vod_id: id, + vod_content: stripHtmlTag($('div.content-detail span.detail-sketch').html()).trim(), + }; + for (const info of detail) { + const i = $(info).text().trim(); + if (i.startsWith('地区:')) { + vod.vod_area = i.substring(3); + } else if (i.startsWith('年份:')) { + vod.vod_year = i.substring(3); + } else if (i.startsWith('类型:')) { + vod.vod_type = i.substring(3); + } else if (i.startsWith('导演:')) { + vod.vod_director = i.substring(3); + } else if (i.startsWith('主演:')) { + vod.vod_actor = i.substring(3); + } else if (i.startsWith('语言:')) { + vod.vod_lang = i.substring(3); + } + } + + const urls = html.match(/let urls = \"(.*)\";/)[1].replace(/_/g, '/').replace(/-/g, '+'); + var key = Crypto.enc.Utf8.parse("cf2d1a-6a4d-9ef8"); + var playlist = Crypto.AES.decrypt(urls, key, { iv: key, padding: Crypto.pad.Pkcs7 }); + playlist = Crypto.enc.Utf8.stringify(playlist).split('\n'); + vod.vod_play_from = 'JOJO'; + vod.vod_play_url = playlist.join('#'); + return JSON.stringify({ + list: [vod], + }); +} + +function playPid() { + var key = Crypto.enc.Utf8.parse("ba0-d4g5-45eb-c2ba0-d4g5-45eb-cs"); + var iv = Crypto.enc.Hex.parse("00000000000000000000000000000000"); + var pid = Crypto.AES.encrypt(dayjs().format('YYYY-MM-DD HH:mm'), key, { iv: iv, padding: Crypto.pad.Pkcs7 }); + pid = pid.toString().replace(/\+/g, '-'); + return pid; +} + +async function play(flag, id, flags) { + return JSON.stringify({ + parse: 0, + url: id + '?pid=' + playPid(), + header: { + 'User-Agent': UA, + }, + }); +} + +async function search(wd, quick, pg) { + let page = pg || 1; + if (page == 0) page = 1; + const link = url + '/video/search?q=' + wd + "&page=" + page + '&size=18&pid=' + playPid(); + const html = await request(link); + const $ = load(html); + const items = $('div.content-body > a'); + let videos = _.map(items, (item) => { + const img = $(item).find('img:first')[0].attribs['src']; + const a = item.attribs['href'].match(/\/watch\/(.*)/)[1]; + const n = ($(item).find('p.card-title')[0]).children[0].data; + let speed = ($(item).find('p.item-speed')[0]).children[0].data || ''; + const score = ($(item).find('p.score')[0]).children[0].data || ''; + if (speed == '电影') speed = ''; + return { + vod_id: a, + vod_name: n, + vod_pic: img, + vod_remarks: speed || score || '', + }; + }); + + let total = 18; + const pag = $('ui-pagination'); + if (pag.length > 0) { + try { + total = parseInt(pag[0].attribs['total']); + } catch (error) { + + } + } + + return JSON.stringify({ + page: page, + pagecount: _.ceil(total / 18), + list: videos, + }); +} + +export function __jsEvalReturn() { + return { + init: init, + home: home, + homeVod: homeVod, + category: category, + detail: detail, + play: play, + search: search, + }; +} diff --git a/cat/js/yrzj_open.js b/cat/js/yrzj_open.js index 2b3e3407..fb45f9bb 100644 --- a/cat/js/yrzj_open.js +++ b/cat/js/yrzj_open.js @@ -1 +1 @@ -//bbQ0FUT1DYAxh5cnpqX29wZW4uanMsYXNzZXRzOi8vanMvbGliL2NhdC5qcxxfX2pzRXZhbFJldHVybgxDcnlwdG8KZGF5anMMamluamEyBlVyaQJfDl8weDQ0ZmIOXzB4NGJkZhJfMHg1NzgzNDASXzB4NDJkYTc3El8weGJlZGUxYhJfMHgxNzg1ZTcSXzB4NWU1MjM5El8weDRkMDEwMRJfMHgyOTY3MDQSXzB4MzNhYjg4El8weDFiOTAwNBJfMHg1ZWRmY2YSXzB4ZmVhNWFkEl8weDQ4YTFmNRJfMHgxMWVmYzASXzB4MTM0MzExEl8weDc5MjhmZBJfMHgzYzFhOTUSXzB4NWFmZjAxEl8weDFmOGUwYhJfMHg1MzM5YTkSXzB4Mzc3ZDQwEl8weDFlZDlmZBJfMHg0MzYxMGMSXzB4M2UyMmRjEl8weDVmNWI4NBJfMHgyZThkYWISXzB4NWM2NTgyEl8weDI3ZDNiYxJfMHg0NGU5MzMSXzB4NGJkZjNlEl8weDQ4NzQxNxJfMHg1ZDA4NTUSXzB4NDRjNzIyEl8weDU3NDQ4YhJfMHgxZmJmNzQSXzB4MWMwY2IwFFVzZXItQWdlbnQMcUJwR0JPCGZpbmQQdm9kX3llYXIWcGxheWVyX2luZm96YWJhY2RlZmdoamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSEpLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4OQhkYXRhCHB1c2gOZm9yRWFjaBJ5ZWFyX2xpc3QIc2tleVhTWG9qY0dZUEFBSUhWVjFCSVFGaVNDQitkQXhsZlFVN2RrVlREMVo2RXdBPQ50aW1lb3V0EnZvZF9hY3Rvcg5yZXBsYWNl5AEmYXJlYT17e2V4dC5hcmVhfX0mbGFuZz17e2V4dC5sYW5nfX0meWVhcj17e2V4dC55ZWFyfX0mb3JkZXI9e3tleHQub3JkZXJ8ZGVmYXVsdCgidGltZSIpfX0mdHlwZV9uYW1lPXt7ZXh0LmNsYXNzfX08L2FwcHRvL3YyL2NvbmZpZy9nZXQ/cD1hbmRyb2lkDGttU0hqTQh0aW1lDGRvbWFpbgpvcmRlcgxjb25maWcGbG9nGnZvZF9wbGF5X2Zyb20McWdkZG1nDGRldmljZQ52b2Rfc3ViDGh1YXdlaRh2b2RfcGxheV91cmwOaW5kZXhPZhhmcm9tQ2hhckNvZGUIeHh4eAxCYXNlNjQyJl9fcGxhdGZvcm09YW5kcm9pZCZfX2ljPQpwYXJzZRh2b2RfZGlyZWN0b3I8L2FwcHRvL3YxL3ZvZC9nZXRWb2RTZWFyY2g/d2Q9MC9hcHB0by92MS92b2QvZ2V0Vm9kP2lkPQYweDESdHlwZV9uYW1lFEVOQ1JZUFRJT04Sc3Vic3RyaW5nDmJ1aWxkSWQMdm9kX2lkEHRyeSBuZXh0CHlyemoQSHhaZ0xjT0EMaHR0cHM6DCZwYWdlPSBBeDFtS2NLZk1jT1lGRE52FnRvVXBwZXJDYXNlDmNvbnNvbGUSdm9kX2NsYXNzBjB4MkB7fS5jb25zdHJ1Y3RvcigicmV0dXJuIHRoaXMiKSggKRgmcGFnZVNpemU9MjEKbGlzdHMGZW5jCHdQOCkIdXJscwZ1cmwGbWFwCHRyaW0UY2hhckNvZGVBdA5jb250ZW50DHVSeEdWcgptb2RlbBwwOGQ1NWY1MDBiODJlNw5oZWFkZXJzCmxhYmVsCHBvc3QUcmVwbGFjZUFsbApzbGljZaABV0V3UVJVWmNHaDlKRUVKWVNBWURDVklOQmxRTkFnSk1XMTBXR1ZGSVNWZFFEMTlaWGdVV1h4eEdVMVFMUUZGSVZsOWRUVmxDRlJsRVFCQT0OcmVmZXJlcg52b2RfcGljBiQkJAxleHRlbmQUdXNlci1hZ2VudAZrZXkWZ2V0X3BhcnNpbmcWdm9kX3JlbWFya3MSZm9ybS1kYXRhHGhhc093blByb3BlcnR5KGNYMDNHbllrZGg5Z0tYdGhVZz09Emxhc3RfcGFnZRZ2b2RfY29udGVudAhVdGY4CG1vbGQSbGFuZ19saXN0EnN0cmluZ2lmeQpzdHlwZRRzdGFydHNXaXRoCGNhdGUQdm9kX25hbWUcSFVBV0VJIE1hdGUgNDAaZ2V0X2hvbWVfY2F0ZQhhcmVhCGF0b2ISYXJlYV9saXN0DmlzRW1wdHkKc2hpZnQIZWFjaAxyYW5kb20GMHgzCnRpdGxlCEBUTCQIa2V5cwhsYW5nLi9hcHB0by92MS9wYXJzaW5nL3Byb3h5CEhZOEsGMHg5CDB4MjA4ZEZrV1FScFVHd0VKUWhCV0JFVkVBZzFhSEE9PQgweDI2mANBbDRJQVh3V2IzOVhJVUpXTW5KS1dqNVNCaHhhQkFGWGNIWVBmbGhSSlVaMFBnZElkUU4yWHloa1JXd3Rjbms4VDJoalcwd0hNbUJLRXlJTVJpVlJmd0lYVlgwTVEyWnVQRjlYTXdkYWR3Vk1YeHdHWkVwUFlXRTNabFJKRUFGWlUwWkNDd0ZBV0ExYWQxUlVVV1FwZUZjTVZreE5LRjE5ZWxjQlp5cHZkVlFuY1FBVlZrbDFVbXBHVlZ4NGJWQmNZQ2xTQTJjVkJROD0IMHg1ZjBBUXBYRFFaZURBUUlVUThFVnc4RER3PT0IMHgzNAgweDU5El8weDJhNWFiNhJfMHg0NGZiOGISXzB4NGJkZjIyEl8weDQyMzM4NBJfMHg0MTY0MjkSXzB4MjMzZTVlEl8weDMwYmExZBJfMHg1NjZlNWUSXzB4M2IxYWE2El8weGQ0MWFmNBJfMHg0OWUwODEGcmVxCDB4NTAIMHgyMwxtZXRob2QIMHgzMhBwb3N0VHlwZQgweDc2CDB4MWQGMHg0CGFlc1gIMHg1YRJfMHg0OGQwMTUSXzB4MTc2NzJmEl8weDMxYmE3NBJfMHg4Zjc5YTESXzB4NWMxNWRjEl8weDc2OWZjORJfMHgzNmQ4MWUIMHg1ZQgweDNkBjB4YSh3cEREZ0Jab3c2OFV3cXdCTWc9PRh3N3hyYzM3RHVBPT0GMHhkBjB4MAgweDEyCDB4NTEIMHgxNwgweDRhCDB4NGMIMHg3MwYweGYIMHg2ZApsb2NhbAgweDI3BGlkFnRvTG93ZXJDYXNlBHVhQERhbHZpay8yLjEuMCAoTGludXg7IFU7IEFuZHJvaWQgDnJlbGVhc2UEOyAIMHgxZg4gQnVpbGQvBjB4NgIpCDB4NGQIMHgzYwgweDY3El8weDFiNjU3ZhJfMHgzZDUzYjkSXzB4NGRmZTllEl8weDUzOWNmYwgweDQ3El8weDEyZGJlZRJfMHg0YjU2ODgSXzB4NGI2OThkEl8weDIzZjljYxJfMHg0OGY4NDEIMHg2YwgweDY1CDB4MWUIMHg1MxJfMHgxNDJlNTUSXzB4MzJlZTUxEl8weDM2ZmZmNBJfMHgyY2I4YjcmcmV0dXJuIChmdW5jdGlvbigpIAgweDEzBCk7DHdpbmRvd4IBQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0IMHg0NBJfMHg1Njg3YzgSXzB4MjdlMDNlEl8weDI2YjQ0YRJfMHg4MjFkNzESXzB4MmI4ZWJmEl8weDU5NTQ5MxJfMHgyMDU2MDQIMHg2MgxjaGFyQXQIMHg3MhJfMHgzYzRjYWYSXzB4MjViMjQxEl8weDFjOTg5NxJfMHgyZGIwMmYQXzB4MjU4ZDESXzB4NDJhNjM5El8weDFiYjkwNhJfMHg1YjVjOGMSXzB4MmQwZTVhEl8weGMyZGE3YxJfMHg1ZDI2NDECJQQwMAgweDM2CDB4MjUkZGVjb2RlVVJJQ29tcG9uZW50CDB4MWMSXzB4YTJlMGVhEl8weDI0MTJhYRJfMHgyZTBlZGMSXzB4M2Y4NTVhEl8weDM0MmY4ORJfMHgyNTBmZWQSXzB4MWU5ZWJlEl8weDQ1OGVlORJfMHgzM2FiZWMSXzB4NTkwMDgzEl8weDU2YmRiYhJfMHhmMWY0NmUSXzB4NDFhNmIzEl8weDM4YjAwNhJfMHgxMmM1NmEIMHg2NAgweDJlCDB4MTUIMHg0MggweDNhCDB4NWIIMHgzZg50eXBlX2lkCDB4NGIIMHgyYgp0eXBlcwV7fItXCDB4NTgIMHg0NQUwVzpTCDB4NDMIMHgzYgXtiwCKCDB4NGYIMHg1ZAV0XuNOCHllYXIIaW5pdAVoUeiQAm4CdggweDQ4CDB4NjgFkmOPXggweDM3BQBnsGUIMHg2NgUAZ+1wCGhpdHMFfVnEiwpzY29yZQgweDQ2CDB4NmEOZmlsdGVycxJfMHg1NTMyNGQIMHg3MQJ5El8weDJmNWQ0ZgR7fRJfMHhkZTkxYWYSXzB4NTNhOGQ2El8weDI4MWVhZhJfMHg1MjViMjMSXzB4NDAwMWNmEl8weDEyZDVlZhJfMHgzZmIxZDESXzB4MjQxNjhjEl8weDNjMzQ1Nz4vYXBwdG8vdjEvdm9kL2dldExpc3RzP3R5cGVfaWQ9CDB4NjMGZXh0CDB4MTQGMHg3CDB4MjkIMHg2ZQhwYWdlCDB4MzUScGFnZWNvdW50CGxpc3QSXzB4MzFkMjhmEl8weDFhODBkMBJfMHgxMzM1OTMSXzB4MzIxNzUxEl8weDQ3MzNlZBJfMHg1MzJmMjASXzB4MmRkZjRiEl8weDM3MWI3NAgweDc1JGVuY29kZVVSSUNvbXBvbmVudAgweDQwCDB4MTAIMHg1NAIsCDB4NTYQdm9kX2FyZWEIMHg2MQgweDc3CDB4Mzgadm9kX3BsYXlfbGlzdAgweDU3CDB4MzAIMHgxOAgweDMzCDB4MWEIMHgyZgIjCDB4NmIIMHgyYQgweDcwEl8weDFkM2UxMQgweDExAiQIMHgxORJfMHg0OWNhOWYSXzB4MjFiNjc5El8weDUyYmRkZhJfMHgzNTlhYWMSXzB4ZGJkYzEyEl8weDU2YjQyORJfMHg2OGFiNjkSXzB4MzMyZGMwEl8weDM4NmFmOAgweDU1CDB4NjkQcGxheV91cmwIMHgyMggweDYwBjB4OBJfMHhkZDcyYmUIMHgyZBJfMHg1YWE4NDQSXzB4MjUzYmU5El8weDRhNjI4ORJfMHgyMjNkZDMSXzB4NGFkODBkEl8weDMyYTEyNxJfMHgzZjNlNDcGMHhjCDB4MzESXzB4NDIzN2FiEl8weDU3NzhlMAgweDI0AiASXzB4MzNjNjczEl8weDU0ZGE1YhJfMHg0YzM3MmUGMHg1El8weDU3MWZmMBJfMHgxMmY1NDgSXzB4MzkwYTFkEl8weDQ5YjBhZBJfMHhlYjkxY2YSXzB4Mjg3OTMwEl8weDMzNGYzMggweDNlBC8vBjB4YghodHRwCDB4MjEIMHgyYwgweDUyCDB4MjgIMHgxYg5SZWZlcmVyCDB4NGUIMHg1YwxoZWFkZXISXzB4NDk1ZDM5El8weDQ2ZmQ1NxJfMHg0NTU2NWISXzB4Mjc5YjBmEl8weDU4ZmZiZRJfMHg1OWViZGUSXzB4NDc0OTMzEl8weDI1MWEwNwgweDQ5CDB4NmYKYnJhbmQIMHg0MQYweGUSXzB4ZTQzNjc4El8weDRkODUwMRJfMHg2ZTMzNmESXzB4NDM0MDMyEl8weDQ1YTc3MBJfMHg0NWY2YzkSXzB4MzZmNDU4CDB4NzQIMHgxNhJfMHgxZDBhYzkIMHgzOQhob21lDmhvbWVWb2QQY2F0ZWdvcnkMZGV0YWlsCHBsYXkMc2VhcmNoD6QDAaYDAQAqqAMABQCqAwABrAMAAq4DAAOwAwAEsgMADgAGAaABAAAAICsVkQoAqgMADKwDAQyuAwIMsAMDDLIDBAy0AwANtgMBDbgDAgm6AwMJvAMECb4DBQnAAwYJwgMHCcQDCAnGAwkNyAMKDcoDCw3MAwwNzgMNDdADDg3SAw8B1AMQAdYDEQHYAxIB2gMTAdwDFAHeAxUB4AMWCeIDFwnkAxgB5gMZAegDGgHqAxsB7AMcAe4DHQ3wAx4B8gMfAfQDIAH2AyEB+AMiAfoDIwH8AyQBqAMlAQjoYb4CXxUAvgNfFgC+BF8XAL4FXxgAvgZfGQC+B18aAL4IXx0AvglfHgC+Cl8fAL4LXyAAvgxfIQC+DV8jAL4OXyQAvg9fJQC+EF8mAL4RXycAvhJfKAC+E18pAL4UXyoAKQT/AAAABAABAAAEXQAAAAQBAQAABAIBAAAEAwEAAAQeAAAABAQBAAAEBQEAAAQGAQAABAcBAAAECAEAAAQJAQAABAoBAAAECwEAAAQMAQAABA0BAAAEDgEAAAQPAQAABBABAAAEEQEAAAQSAQAABBMBAAAEFAEAAAQVAQAABBYBAAAEFwEAAAQYAQAABBkBAAAEGgEAAAQbAQAABBwBAAAmIAAEHQEAAEwgAACABB4BAABMIQAAgAQfAQAATCIAAIAEIAEAAEwjAACABCEBAABMJAAAgAQiAQAATCUAAIAEIwEAAEwmAACABCQBAABMJwAAgAQlAQAATCgAAIAEJgEAAEwpAACABCcBAABMKgAAgAQoAQAATCsAAIAEKQEAAEwsAACABCoBAABMLQAAgAQrAQAATC4AAIAELAEAAEwvAACABC0BAABMMAAAgAQuAQAATDEAAIAELwEAAEwyAACABDABAABMMwAAgAQxAQAATDQAAIAEMgEAAEw1AACABDMBAABMNgAAgAQ2AAAATDcAAIAENAEAAEw4AACABDUBAABMOQAAgAQ2AQAATDoAAIAENwEAAEw7AACABDgBAABMPAAAgAQ5AQAATD0AAIAEOgEAAEw+AACABDsBAABMPwAAgAQ8AQAATEAAAIAEPQEAAExBAACABD4BAABMQgAAgAQ/AQAATEMAAIAEQAEAAExEAACABEEBAABMRQAAgARCAQAATEYAAIAEQwEAAExHAACABEQBAABMSAAAgARFAQAATEkAAIAERgEAAExKAACABEcBAABMSwAAgARIAQAATEwAAIAEMAAAAExNAACABEkBAABMTgAAgARKAQAATE8AAIAESwEAAExQAACABEwBAABMUQAAgARNAQAATFIAAIAETgEAAExTAACABE8BAABMVAAAgARbAAAATFUAAIAEegAAAExWAACABFABAABMVwAAgARRAQAATFgAAIAEUgEAAExZAACABFMBAABMWgAAgARUAQAATFsAAIAENwAAAExcAACABEAAAABMXQAAgARVAQAATF4AAIAEVgEAAExfAACABFcBAABMYAAAgARYAQAATGEAAIAEWQEAAExiAACABFoBAABMYwAAgARbAQAATGQAAIAEXAEAAExlAACABF0BAABMZgAAgAReAQAATGcAAIAEXwEAAExoAACABGABAABMaQAAgARhAQAATGoAAIAEYgEAAExrAACABGMBAABMbAAAgARkAQAATG0AAIAEZQEAAExuAACABGYBAABMbwAAgARnAQAATHAAAIAEaAEAAExxAACABGkBAABMcgAAgARCAAAATHMAAIAEagEAAEx0AACABGsBAABMdQAAgARsAQAATHYAAIAEbQEAAEx3AACAXwUAvgBlBQC8FgHuDr4BTdsAAABfBgBlBgAEbgEAAO1fBwC/XwgAC18JALNfCgC/XwsAs18MAGUGAARvAQAA7V8NAARwAQAAXw4AZQYABHEBAADtXw8ABHIBAABfEABlBgAEcwEAAO1fEQAEdAEAAF8SAGUGAAR1AQAA7V8TACYAAJZfFAALXxsAC18cAGUGAAR2AQAA7V8iACmkAwEEAQBjAg5DBgEAAgECAgABEwPuBQABQPAFAAEA8gUBADBhAAC+AE15AQAAx2IAANCP2O0ppAMBAA5DBgEAAQABBAEAHQH0BQABAO4FAAPPjtfoGNsEBgEAAEjbBGQBAABIJAAAJAEADurlKaQDAQAOQwYBAAIBAgIBABED7gUAAQDwBQABAPIFAQAgtAMFDGEAAM+zntNlAADPR8diAAAopAMBAA5iBgHUAwMEAwsIAKkCB/YFAAEA+AUAAQD6BQABAPwFAQAg/gUBASCABgECIIIGCQMD+AMnAMYDDgy6AwgItgMGDNIDFADQAxMMzAMRDM4DEgxhAgBhAQBhAAAL22UBAO1M/wAAAMcGyNDoVTiCAQAAZQIAZQMABIMBAADtnQtlAwAEhAEAAO1MhQEAAAvbZQEA7Uz/AAAATEMBAADQTAUBAABlAwAEhgEAAO1MhwEAANFMCwEAAO6LEWMBAA7qFziCAQAAzwtiAABMQwEA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 \ No newline at end of file +//bbQ0FUT1DTAxh5cnpqX29wZW4uanMsYXNzZXRzOi8vanMvbGliL2NhdC5qcxxfX2pzRXZhbFJldHVybgxDcnlwdG8KZGF5anMMamluamEyBlVyaQJfDl8weDI3MTkOXzB4NDk0NhJfMHg2ZGRhNjUSXzB4NDhkZGVhEl8weDI5YTUxNhJfMHg1ZDUwZjUSXzB4MTRiNGViEl8weDRkMzUxNxJfMHgxYjJjMmMSXzB4NTFlNmU3El8weDgzN2U4NBJfMHhmNTJlOTUSXzB4MjA2N2VjEl8weGRmZTJjYhJfMHg1MzFiNDgSXzB4NWE4OWU4El8weDNlODk0NhJfMHgyMDM3OTQSXzB4MjkwOTNjEl8weDI4NTZiOBJfMHg1YzQ4YzQSXzB4MTMwYWI4El8weDQ4OTE0ZhJfMHg1YTE2YWUSXzB4MzE5ODdhEl8weDE5ODBiZRJfMHgxMDNjMDQSXzB4ZTMxN2JmEl8weDFmZWZmNRJfMHg0MDU3MGESXzB4NWM3ZWUwEl8weDEwNzJlNxJfMHg5ZmFkNmMSXzB4NTg2ZjllEl8weDFjMWUyOBJfMHg0MDA2NTgSXzB4OGEyZDNmCnR5cGVzFnZvZF9yZW1hcmtzDmluZGV4T2YGMHgxEEh4WmdMY09BGmdldF9ob21lX2NhdGUGJCQkDGh0dHBzOghhdG9iDGRldmljZQhoaXRzFnBsYXllcl9pbmZvDnJlcGxhY2UMJnBhZ2U9DHFCcEdCTwxxZ2RkbWcadm9kX3BsYXlfZnJvbYIBQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0IZmluZBZnZXRfcGFyc2luZxRFTkNSWVBUSU9OCGVhY2gGMHgzWFdFd1FSVVpjR2g5UkVrZ2NIRVZLVWtwSFVBZ2FBUUpSRjFNVlJ4NU1IRUU9DGh1YXdlaQxyYW5kb208L2FwcHRvL3YyL2NvbmZpZy9nZXQ/cD1hbmRyb2lkGGZyb21DaGFyQ29kZQ52b2Rfc3ViDmNvbnNvbGUQdm9kX2FyZWEWdG9VcHBlckNhc2UGMHgwFnZvZF9jb250ZW50FHN0YXJ0c1dpdGg8L2FwcHRvL3YxL3ZvZC9nZXRWb2RTZWFyY2g/d2Q9FGNoYXJDb2RlQXQMdm9kX2lkCnN0eXBlDmZvckVhY2gMZXh0ZW5kCEhZOEsmcmV0dXJuIChmdW5jdGlvbigpIBB2b2RfbmFtZSh3cEREZ0Jab3c2OFV3cXdCTWc9PQxrbVNIak0IbGFuZw4gQnVpbGQvGCZwYWdlU2l6ZT0yMQxkb21haW4Ydzd4cmMzN0R1QT09CHB1c2gOcmVsZWFzZQp0aXRsZQZrZXlAe30uY29uc3RydWN0b3IoInJldHVybiB0aGlzIikoICkGMHgyHGhhc093blByb3BlcnR5Bm1hcDImX19wbGF0Zm9ybT1hbmRyb2lkJl9faWM9EHZvZF95ZWFyCFV0ZjgwQVFwWERRWmVEQVFJVVE4RVZ3OEREdz09CHllYXIKcGFyc2UOdGltZW91dApvcmRlchJzdWJzdHJpbmcSdm9kX2NsYXNzBmVuYwhAVEwkCGtleXMYdm9kX3BsYXlfdXJsCHRyaW0MY2hhckF0EHRyeSBuZXh0CGNhdGUId1A4KQpzbGljZQhkYXRhFHJlcGxhY2VBbGwIdXJscyBBeDFtS2NLZk1jT1lGRE52DHVSeEdWcnphYmFjZGVmZ2hqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5EnR5cGVfbmFtZShjWDAzR25Za2RoOWdLWHRoVWc9PQ5SZWZlcmVyCnNoaWZ0Cm1vZGVsDnZvZF9waWMYdm9kX2RpcmVjdG9yDnJlZmVyZXIIdGltZRJ2b2RfYWN0b3IcSFVBV0VJIE1hdGUgNDAOaXNFbXB0eRwwOGQ1NWY1MDBiODJlNwpsaXN0cwpzY29yZQ5idWlsZElkCHBvc3QSc3RyaW5naWZ5BnVybAZsb2dYU1hvamNHWVBBQUlIVlYxQklRRmlTQ0IrZEF4bGZRVTdka1ZURDFaNkV3QT0uL2FwcHRvL3YxL3BhcnNpbmcvcHJveHkIeXJ6aggweDMwOGRGa1dRUnBVR3dFSlFoQldCRVZFQWcxYUhBPT0IMHg1NpgDQWw0SUFYd1diMzlYSVVKV01uSktXajVTQmh4YUJBRlhjSFlQZmxoUkpVWjBQZ2RJZFFOMlh5aGtSV3d0Y25rOFQyaGpXMHdITW1CS0V5SU1SaVZSZndJWFZYME1RMlp1UEY5WE13ZGFkd1ZNWHh3R1pFcFBZV0UzWmxSSkVBRlpVMFpDQ3dGQVdBMWFkMVJVVVdRcGVGY01Wa3hOS0YxOWVsY0JaeXB2ZFZRbmNRQVZWa2wxVW1wR1ZWeDRiVkJjWUNsU0EyY1ZCUTg9CDB4M2EGMHhiCDB4MjUIMHgyMxJfMHgyY2ViNzYSXzB4MjcxOWY2El8weDQ5NDYzMBJfMHg0YTIwMzcSXzB4ODYxYjhiEl8weDJlNjk1MRJfMHg0MzJiNDQSXzB4NGRlNjBmEl8weDE5MWJmORJfMHgxZGQ2YzQSXzB4MTZmMjA0FFVzZXItQWdlbnQGcmVxCDB4M2IIMHgzNQxtZXRob2QOaGVhZGVycxJmb3JtLWRhdGEQcG9zdFR5cGUOY29udGVudAgweDUzBjB4ZAhhZXNYCDB4MWUSXzB4MmJkZDJhEl8weDI0ODNlMRJfMHhjMGNjZjUSXzB4MzNlNTNlEl8weDE4NDE4YRJfMHg0YzcyNTgSXzB4ZTkxZmE5CHNrZXkIMHg2NggweDQyCDB4NmQIMHg3MwgweDIxCDB4NjAGMHg1CDB4NmEIMHg0MQgweDFjCDB4NTUIMHgxNQgweDVjCDB4NDcKbG9jYWwIMHg1ZQgweDY4CDB4MmYEaWQWdG9Mb3dlckNhc2UEdWFARGFsdmlrLzIuMS4wIChMaW51eDsgVTsgQW5kcm9pZCAEOyAIMHgyOAgweDcwCDB4MzQCKQgweDNjCDB4MzYIMHg3MhJfMHg0OWNkMWQSXzB4MzMzZjNiEl8weDIzNDU4ORJfMHg1MTczODcIMHgyNxJfMHgyN2NkNTESXzB4OGRjNTdiEl8weDVkY2ZhOBJfMHhhNDI3NWISXzB4NDQzOTVkCDB4NGQIMHg0YwgweDZlCDB4MjISXzB4NWRlYjMyEl8weDM3YjBkMBJfMHgyMzA2NzISXzB4M2ZjYTliCDB4NmIGMHg0BCk7DHdpbmRvdwgweDRmCDB4NDYSXzB4MzUwYzQ3El8weDRjYWJhMBJfMHg0M2ZmYjESXzB4NTJkZDdlEl8weDI5Mjc0NBJfMHg1OTZmYTkSXzB4MjRiYjliCDB4NGEIMHgxOQgweDVhEl8weDQ5MWIyORJfMHgxMmNhYmQSXzB4NWFjMTU3El8weDVlZTI2MhJfMHg1NjEzYzcSXzB4YjNjZjZlEl8weDIzODhkNBJfMHgxZGMyYWUSXzB4NTA4OWE1El8weDRkYTEyZBJfMHg0ZWNlOTkCJQQwMAgweDMxCDB4MWQkZGVjb2RlVVJJQ29tcG9uZW50CDB4NjQSXzB4MmI4MjMxEl8weDM2NmFmZBJfMHgyZmU3MzISXzB4Mzc2MmRkEl8weDU1NmU5ZhJfMHgyYzk2NTgSXzB4NDRkZGM3El8weGQ5ZWFkOBJfMHgyZDY0Y2ISXzB4MmEyNzhmEl8weDU5ZWU1YxJfMHg1ZTg3MzUSXzB4NDM1NTkwEl8weDI4ZDk1MhJfMHhiNjJiYjMIMHg1OQgweDUxCDB4MzIIMHg0Mwhtb2xkCDB4MWIOdHlwZV9pZAgweDY5CDB4MTYIMHgzZQV7fItXCDB4NTISYXJlYV9saXN0BTBXOlMIYXJlYRJsYW5nX2xpc3QF7YsAiggweDZmEnllYXJfbGlzdAV0XuNOBjB4Ywhpbml0BWhR6JACbgJ2CDB4NTQIMHgxMQgweDEwBZJjj14IMHgyYwUAZ7BlBQBn7XAIMHg0OAV9WcSLCDB4MzMIMHgzOA5maWx0ZXJzEl8weDQ1ZDE3YwgweDI0CDB4NDACeRJfMHgyNDgwY2IEe30SXzB4MWRjMDE4El8weDRjMzA5NxJfMHgyMThmM2MSXzB4MjBkZDhhEl8weDY4NDk0MRJfMHgyM2U5MzQSXzB4MzAwNTEyEl8weDJjOTdmNBJfMHgxZjFlNjc+L2FwcHRvL3YxL3ZvZC9nZXRMaXN0cz90eXBlX2lkPeQBJmFyZWE9e3tleHQuYXJlYX19Jmxhbmc9e3tleHQubGFuZ319JnllYXI9e3tleHQueWVhcn19Jm9yZGVyPXt7ZXh0Lm9yZGVyfGRlZmF1bHQoInRpbWUiKX19JnR5cGVfbmFtZT17e2V4dC5jbGFzc319BmV4dAgweDcxCDB4NjUIMHgyOQgweDNmCHBhZ2USbGFzdF9wYWdlEnBhZ2Vjb3VudAhsaXN0El8weDI1NWM0YhJfMHhhMjhiYTISXzB4NzI3NjMzEl8weGE1YmNmOBJfMHgzOTY5ZDcSXzB4MWE2Y2ZkEl8weDMyOWEzYxJfMHg1OTE2NWYwL2FwcHRvL3YxL3ZvZC9nZXRWb2Q/aWQ9BjB4OCRlbmNvZGVVUklDb21wb25lbnQIMHg2YwgweDEzAiwGMHg5CDB4NWQIMHgyZAgweDJhCDB4NjEadm9kX3BsYXlfbGlzdAgweDM5CDB4MjAGMHg2BjB4NwYweGYCIwgweDQ5CDB4NGUIMHgxNwgweDQ0El8weDFkOWYwOQgweDNkAiQSXzB4MzJjY2VhEl8weDI5ZDg3NhJfMHgxM2YzYjMSXzB4ZmZhODEyEl8weDNkNjg4MxJfMHg0YjEzYTgSXzB4NWFiMDg0El8weDQ1YzI4NhJfMHgxZGI3YzUIMHg1MAxjb25maWcQcGxheV91cmwKbGFiZWwGMHhlCDB4MWESXzB4NTJhYzY5El8weDEwNjAzNRJfMHg1ODE4YWYSXzB4MjkwNTM5El8weDUyYzA0ZBJfMHgxNTI0NWQSXzB4MTM5Mjg0El8weDFlZTIwNggweDYzCDB4NGIIMHg1YhJfMHgzMWNhZjISXzB4MWVkMzViCDB4MTgIMHgxZgIgEl8weDM2YjBjZhJfMHgyMTk2MDkSXzB4MmQzNTQ3CDB4MTISXzB4NWE4YWQyEl8weDUzMWM2NRJfMHg1YWRjMjMSXzB4NTM1OTNiEl8weDFiZjBlOBJfMHgzNDU5YjYSXzB4MThjODQzCDB4MzcIMHg2MgQvLwgweDQ1CGh0dHAUdXNlci1hZ2VudAgweDJiCDB4MjYIMHg2NwxoZWFkZXISXzB4MWM0NmU0El8weDE0MDljNhJfMHg0ZjY0NDYSXzB4NWQ1N2VkEl8weDFlMDBlNhJfMHg1MjgxYzYSXzB4YjNmNDkwEl8weDI2OTc2MggweDU4CDB4NTcKYnJhbmQIMHgyZQgweDVmEl8weDhlOWU4MxJfMHgxMmMwN2QSXzB4MmQ3OTMyEl8weDRkODU5YxJfMHgzZDVlMWQSXzB4MmRiMDZjEl8weDU5NTBmNggweDE0DEJhc2U2NAYweGESXzB4MTMxNGViCGhvbWUOaG9tZVZvZBBjYXRlZ29yeQxkZXRhaWwIcGxheQxzZWFyY2gPpAMBpgMBACqoAwAFAKoDAAGsAwACrgMAA7ADAASyAwAOAAYBoAEAAAAgKxXpCQCqAwAMrAMBDK4DAgywAwMMsgMEDLQDAA22AwENuAMCCboDAwm8AwQJvgMFCcADBgnCAwcJxAMICcYDCQ3IAwoNygMLDcwDDA3OAw0N0AMODdIDDwHUAxAB1gMRAdgDEgHaAxMB3AMUAd4DFQHgAxYJ4gMXCeQDGAHmAxkB6AMaAeoDGwHsAxwB7gMdDfADHgHyAx8B9AMgAfYDIQH4AyIB+gMjAfwDJAGoAyUBCOhhvgJfFQC+A18WAL4EXxcAvgVfGAC+Bl8ZAL4HXxoAvghfHQC+CV8eAL4KXx8AvgtfIAC+DF8hAL4NXyMAvg5fJAC+D18lAL4QXyYAvhFfJwC+El8oAL4TXykAvhRfKgApBEIAAAAENgAAAAT/AAAABAABAAAEAQEAAAQCAQAABAMBAAAEBAEAAAQFAQAABAYBAAAEBwEAAAQIAQAABAkBAAAECgEAAAQLAQAABAwBAAAEDQEAAAQOAQAABA8BAAAEEAEAAAQRAQAABBIBAAAEHgAAAAQTAQAABBQBAAAEFQEAAAQWAQAABBcBAAAEGAEAAAQZAQAABBoBAAAEGwEAACYgAAQcAQAATCAAAIAEHQEAAEwhAACABEEAAABMIgAAgAQeAQAATCMAAIAEHwEAAEwkAACABCABAABMJQAAgAQhAQAATCYAAIAEIgEAAEwnAACABCMBAABMKAAAgAQkAQAATCkAAIAEJQEAAEwqAACABCYBAABMKwAAgAQwAAAATCwAAIAEJwEAAEwtAACABCgBAABMLgAAgAQpAQAATC8AAIAEKgEAAEwwAACABCsBAABMMQAAgAQsAQAATDIAAIAELQEAAEwzAACABC4BAABMNAAAgAQvAQAATDUAAIAEMAEAAEw2AACABDEBAABMNwAAgAQyAQAATDgAAIAEMwEAAEw5AACABDQBAABMOgAAgAQ1AQAATDsAAIAENgEAAEw8AACABDcBAABMPQAAgAQ4AQAATD4AAIAEOQEAAEw/AACABDoBAABMQAAAgAQ7AQAATEEAAIAEPAEAAExCAACABD0BAABMQwAAgAQ+AQAATEQAAIAEPwEAAExFAACABEABAABMRgAAgARbAAAATEcAAIAEQQEAAExIAACABEAAAABMSQAAgARCAQAATEoAAIAEQwEAAExLAACABEQBAABMTAAAgARFAQAATE0AAIAERgEAAExOAACABEcBAABMTwAAgARIAQAATFAAAIAESQEAAExRAACABEoBAABMUgAAgARLAQAATFMAAIAETAEAAExUAACABE0BAABMVQAAgAROAQAATFYAAIAETwEAAExXAACABFABAABMWAAAgARRAQAATFkAAIAEUgEAAExaAACABFMBAABMWwAAgARUAQAATFwAAIAEVQEAAExdAACABFYBAABMXgAAgARXAQAATF8AAIAEWAEAAExgAACABFkBAABMYQAAgARaAQAATGIAAIAEWwEAAExjAACABFwBAABMZAAAgARdAQAATGUAAIAEXgEAAExmAACABF8BAABMZwAAgARgAQAATGgAAIAENwAAAExpAACABGEBAABMagAAgARiAQAATGsAAIAEYwEAAExsAACABGQBAABMbQAAgARlAQAATG4AAIAEZgEAAExvAACABGcBAABMcAAAgAR6AAAATHEAAIAEaAEAAExyAACABGkBAABMcwAAgF8FAL4AZQUAvCAB7g6+AU3bAAAAXwYABGoBAABfBwC/XwgAC18JALNfCgC/XwsAs18MAGUGAARrAQAA7V8NAARsAQAAXw4AZQYABG0BAADtXw8ABG4BAABfEABlBgAEbwEAAO1fEQBlBgAEcAEAAO1fEgBlBgAEcQEAAO1fEwAmAACWXxQAC18bAAtfHABlBgAEcgEAAO1fIgAppAMBBAEAYwIOQwYBAAIBAgIAARMD5gUAAUDoBQABAOoFAQAwYQAAvgBNdQEAAMdiAADQj9jtKaQDAQAOQwYBAAEAAQQBAB0B7AUAAQDmBQADz47X6BjbBDIBAABI2wRXAQAASCQAACQBAA7q5SmkAwEADkMGAQACAQICAQARA+YFAAEA6AUAAQDqBQEAILQDBQxhAADPs57TZQAAz0fHYgAAKKQDAQAOYgYB1AMDBAMLCACZAgfuBQABAPAFAAEA8gUAAQD0BQEAIPYFAQEg+AUBAiD6BQkDA/gDJwDGAw4MugMICLYDBgzSAxQA0AMTDMwDEQzOAxIMYQIAYQEAYQAAC9tlAQDtTH4BAADHBsjQ6FE4fwEAAGUCAGUDAASAAQAA7Z0LZQMABIEBAADtTIIBAAAL22UBAO1MfgEAAEyDAQAA0ExOAQAABIQBAABMhQEAANFMQAEAAO6LEWMBAA7qFzh/AQAAzwtiAABMgwEAAO6LEWMBAA44mAAAAAQ/AQAASGIBAASGAQAARyQBAMlscgAAAGICAGUDAASHAQAA7Ue0qehIXgQAluhCOJgAAABlAwAEiAEAAO1IOIkBAADbZQUA7SYAAJZiAgAETgEAAEcmAACWlttlBgDt22UHAO0mAACWIgcAJAEADy5iAgBlAwAEigEAAO1HEekFDmICAA8uymwHAAAADuoCL2ICAC6kAwEADmIGAdYDAQYBBw0DrAQHlgYAAQCYBgAAQJoGAAFAnAYFAAOeBgACAKAGAAQAogYNAAO2AwYMwAMLCMIDDAjSAxQAuAMHCLwDCQiyAwQM8gMkAPADIwC6AwgI1AMVAPgDJwDIAw8MzwSSAQAARxFmAQAOz2UAAASTAQAA7UcRZgIADmyvAAAAZQAABJQBAADtZQAABJUBAADtZQAABJYBAADtZQAABJcBAADtJgQAx74Aw7yzAe4OvgFNjQEAAMg4igAAAMRlAAAEmAEAAO0ETAEAAO7EZQAABJkBAADtZQAABJoBAADt7kiztSQCAEfoByYAAJaW4jiKAAAAxGUAAASbAQAA7WUAAAScAQAA7e5HxGUAAASdAQAA7WUAAASeAQAA7e5HlugHJgAAlpbiDuoRyWwNAAAAJgAAlpbiDuoCL97oHjiKAAAAZQAABJ8BAADtcQu+Ak1nAQAATGcBAABJZQAABKABAADtyjihAQAAZQAABKIBAADtSGUEAMYkAgCLwgRlAAAEowEAAO1Hs6XoLWwgAAAAOJgAAABlAAAEiAEAAO1IwAQkAQARZgUADg7qDMEFbAcAAAAO6gIvZQYAZQAABKQBAADtSGUFACQBAGmiAAAAXgcA7BFmBQAOZQUABKUBAABxXggAuyDtBKYBAABIJAAASWUFAASnAQAAcQSoAQAAZQUAZQAABAIBAADtR50EqQEAAJ1lBQBlAAAEqgEAAO1HnWUAAASrAQAA7Z1lBQBlAAAErAEAAO1HnQStAQAAnUk4oQEAAGUAAASuAQAA7UhlBADGOJgAAABlAAAErwEAAO1IZQUAJAEAJAMAiw5eCgBeCwBlDADt7YtlAAAEsAEAAO1HEWYJAA4GLqQDAQAOQwYBAAIBAgIBAQ0D4gYAAUDkBgABAOYGAAAAtgMADL4ATbMBAADL0I/Y7SmkAwEADkMGAQABAAEFAgAlAegGAAEA4gYAA7YDAAzPjtfoINtlAQAEHwEAAO1I22UBAAS1AQAA7UgkAAAkAQAO6t0ppAMBAA5DBgEAAgMCBAMCsAEF7AYAAQDuBgABAPAGAAAA8gYAAQD0BgACALYDAAyYBgABmgYBAc+zntPcz0fH3WUAAAS7AQAA7Uc4RQAAAKvoN74A7A6+AU25AQAAyN1lAAAEvAEAAO3ESd1lAAAEvQEAAO1xC0ndZQAABLsBAADtcSYAAJaWSd1lAAAEvQEAAO1Hz0fNOEUAAACr6EbdZQAABL4BAADtRzhFAAAAq+gS3WUAAAS+AQAA7XEmAACWlkndZQAABLwBAADtSMPQJAIAx91lAAAEvQEAAO1Hz8NJ6gPFx8MopAMBAA5DBgEAAAQABQEBYwT+BgAAAIAHAAEAggcDAAOEBwACQLYDAAxsKQAAADiaAAAAZQAABMMBAADtZQAABMQBAADtnQTFAQAAne3M7McO6hHJbA0AAAA4xgEAAMcO6gIvZQAABMcBAADtysNlAAAEyAEAAO1HEekRDsNlAAAEyAEAAO1xvgAWSSmkAwEADkMGAQABBgEHAgKNAQeSBwABAJQHAAAAlgcAAQCYBwACAJoHAAMAnAcABACeBwAFALYDAAyEBwMBOJMAAADP7WUAAATQAQAA7Ui9AL0BM78kAgDHv8izybPBBcNlAAAE0QEAAO1IwAWRwQUkAQDCBOhT3AQBAQAASMAEJAEAwQTABJXoPMW3nOgKxrtAmsAEneoDwATKxZHJt5zoJMQ4kwAAAGUAAATSAQAA7Ui8/wDGu/7Fmrmtoa0kAQCdzOoCsw7qmMQopAMBAAcGPSskB1oAAQAmAAAACAYAAAAEB/X///8LABwEAAAAAQAAAP///38BAAAAAT0ACgYMAAoOQwYBAAIJAggBALsCC6YHAAEAqAcAAQCqBwAAAKwHAAEArgcAAgCwBwADALIHAAQAtAcABQC2BwAGALgHAAcAugcACAC2AwAMJgAAx7PIv8q/wQQ4BwEAAM/t07PBBc8EMAAAAEfBBsAFwAaj6EDABATeAQAABN8BAADPBCMBAABIwAUkAQBlAAAE4AEAAO1IuxAkAQCdZQAABOEBAADtSLv+JAEAnZ3BBJMF6rs44gEAAMAE7dOzwQfAB7wAAaPoC8PAB8AHSZMH6u+zwQfAB7wAAaPoOsTDwAdHndAEIwEAAEjAB9BlAAAEowEAAO1HnCQBAJ28AAGcyMPAB0fJw8AHccPER0nDxMVJkwfqwLPBB7PIs8EIwAjPBDAAAABHo+hfwAe0nbwAAZzBB8TDwAdHnbwAAZzIw8AHR8nDwAdxw8RHScPExUnGOJMAAABlAAAE0gEAAO1Iz2UAAATjAQAA7UjACCQBAMPDwAdHw8RHnbwAAZxHriQBAJ3Kkwjql8YopAMBAA5DBgEAAAAAAAAAAQAppAMBAA5iBgHYAwEOAQsFAvIGD8gHAAEAygcBACDMBwEBIM4HAQIg0AcCAzDSBwYEINQHBgUg1gcGBiDYBwcNINoHCAgg3AcICSDeBwgKIOAHCAtg4gcGByDkBxEEA7YDBgzUAxUAugMICOIDHAiyAwQMYQIAYQEAYQAA3GUCAGUAAATzAQAA7Z3ti8diAABlAAAE9AEAAO1HZQAABPUBAADtRxFmAwAOJgAAyAvJYQMAYgAAZQAABPYBAADtR33r+wLKYgMABPcBAABHtapq7AIAAGIBAGUAAAQfAQAA7UgLYgMAZQAABPgBAADtR0z5AQAAYgMAZQAABDcBAADtR0xUAQAAJAEADs+Waq8CAABsigIAAGEMAGEGAGEFAGEEAGIDAGUAAAT6AQAA7UfBBGUEAGUAAAT7AQAA7UhiBAAkAQDBBSYAAMEGYQcAYgUAfet9AcEHYQsAYQoAYQkAYQgAv8EIYgQAYgcAR8EJYgkAZQAABKMBAADtR7Or6AdoCwDrTAFiBwARZQAABPwBAADtq+gbBP0BAAARYwgADmUAAAT+AQAA7RFjBwAO6mQRBP8BAACr6BcEAAIAABFjCAAOBAECAAARYwcADupFEQQCAgAAq+gbBAMCAAARYwgADmUAAAQEAgAA7RFjBwAO6iIRBAUCAACr6BkEBgIAABFjCAAOZQAABAcCAADtEWMHAA4OYggAZQAABKMBAADtR7Or6AdoCwDrpwALYgcATDUBAABiCABMNgAAAL9MCAIAAMEKJgAAwQtiCwBlAAAEHwEAAO1ICwQJAgAATAoCAAC/TAsCAAAkAQAOYgcAZQAABP4BAADtqegZZQQAZQAABAwCAADtSGIJAL4AJAIADuoXZQQAZQAABAwCAADtSGIJAL4BJAIADmIKAGUAAAQNAgAA7XFiCwBJYgYAZQAABB8BAADtSGIKACQBAA5oCwCAAGmC/v//DoMLZQAABA4CAADtTDUBAAAEDwIAAEw2AAAAZQAABBACAADtTAgCAADBDGIMAGUAAAQNAgAA7XELBBECAABMCgIAAGUAAAQQAgAA7UwLAgAACwQSAgAATAoCAABlAAAEEwIAAO1MCwIAAAsEFAIAAEwKAgAAZQAABBUCAADtTAsCAAAmAwBJYgYAZQAABB8BAADtSGIMACQBAA5lBAAEXwEAAEhiBgAkAQCW6BZiAgBiAwBlAAAE+AEAAO1HcWIGAEkO6iHBDWwcAAAAOBwBAABlAAAEFgIAAO1IwA0kAQAODuoCL4AAaQT9//8OgziYAAAABGUBAABIC2IBAEweAAAAYgIATBcCAAAkAQAupAMBAA5CBgEAAQABBgIAUAGwCAABALYDAAzgBwsJz2UAAAQZAgAA7UdlAAAEGgIAAO1IBBsCAAAkAQCzo+gvZQEAZQAABB8BAADtSAvPZQAABBkCAADtR0wKAgAAzwRUAQAAR0wLAgAAJAEADimkAwEADkIGAQABAAEEAgA2AbgIAAEAtgMADOAHCwnPZQAABBoCAADtSAQbAgAAJAEAs6PoH2UBAGUAAAQfAQAA7UgLz0wKAgAAz0wLAgAAJAEADimkAwEADmIGAdoDAAAAAQEADADSAxQAJgAAlpbfBB0CAAAupAMBAA5iBgHcAwQFBAkEAKMCCbwIAAEAvggAAQDACAABAMIIAAEAxAgBACDGCAEBIMgIAQIgyggBAyDMCAMEMLoDCAiuAwIMtgMGDNQDFQBhAwBhAgBhAQBhAADQEekDDrTHYgAAs6noB7QRYwAADmUAAAQnAgAAnc+dyGIBAGUBAAQoAgAAC9JMKQIAAO6dEWMBAA5iAQAEDAEAAGIAAJ1lAgAEKgIAAO2dnRFjAQAO3mIBAO2LySYAAMphBABiAgBlAgAEigEAAO1HfepmwQRiAwBlAgAEHwEAAO1IC2IEAGUCAAQrAgAA7UdMJAEAAGIEAAQqAQAAR0wqAQAAYgQAZQIABCwCAADtR0xZAQAAYgQAZQIABC0CAADtRxHpCw5iBAAEGwEAAEdMAAEAACQBAA6AAOiYDoM4mAAAAGUCAASvAQAA7UgLYgAATC4CAABiAgAELwIAAEcR6QUOYgAATDACAABiAwBMMQIAACQBAC6kAwEADmIGAd4DAQcBCQkBsAQI5AgAAQDmCAEAIOgIAQFg6ggBAiDsCAEDIO4IAgQw8AgDBSDyCAMGIOoDIAC2AwYM1AMVALoDCAj4AycAygMQDPQDJQCyAwQM4AMbCGEDAGECAGEBAGEAAN1lAwAEOgIAAJ3PnWUBAAQ7AgAA7Z04PAIAAF4EAGUFAO3tne2LxwtiAABlAQAEKwIAAO1HTCQBAABiAABlAQAEPQIAAO1HTCoBAABiAABlAQAELAIAAO1HTFkBAABiAABlAQAEPgIAAO1HBF0AAABIBD8CAAAkAQCzR0xUAQAAYgAAZQEABEACAADtR0w7AQAAYgAAZQEABEECAADtR0wdAQAAYgAAZQEABEICAADtR0xdAQAAYgAAZQEABEMCAADtR0xaAQAAXgYAYgAAZQEABEQCAADtR+0ESAEAAEgkAABMIAEAAMgmAADJJgAAymEEAGIAAARFAgAAR33ruADBBGEGAGEFAGIEAAQKAQAAR2UBAARGAgAA7UfBBWIEAGUBAARHAgAA7UfBBmICAGUBAARIAgAA7UhiBQAkAQCW6HViBgBlAQAEowEAAO1Hs6XoZGICAGUBAAQfAQAA7UhiBQAkAQAOYgMAZQEABB8BAADtSGUHAGUBAARJAgAA7UhiBgC+ACQCAGUBAARKAgAA7UgESwIAACQBACQBAA7qAWUIAGIFAHFiBABlAQAETAIAAO1HSYAAaUf///8Og2IBAGUBAARNAgAA7XFiAgAEWwAAAEgEBQEAACQBAEliAQBlAQAETgIAAO1xYgMAZQEABEoCAADtSGUBAARPAgAA7SQBAEk4mAAAAGUBAASvAQAA7UgLYgEAJgEATDECAAAkAQAupAMBAA5CBgEAAQABBQMAJQGgCQABAOoDAADoCAEJtgMBDNtlAQAEKgEAAEfPZQIABFECAADtR+4EUgIAAJ3PBGYBAABHnSikAwEADmIGAeQDAwYDCwYBpQIJpgkAAUCoCQABAKoJAAEArAkCADCuCQMBMLAJBQIgsgkFAyC0CQkCA7YJDAADtgMGDLIDBAziAxwI1AMVALoDCAjsAyEAbP0AAABhAABlAQBlAAAEXAIAAO1IZQIAvgAkAgDHYQEAYgAABF0CAABHfevGAMhsogAAAGEDAGECAN5lBABlAAAEgAEAAO2dC9BMXgIAAGIBAARfAgAAR0xfAgAAz0w1AQAAYgEAZQAABGACAADtR7zoA5rvi8leBQDQYgIA7spiAwAEZgEAAEfoKWIDAGUAAASIAQAA7bNJOJgAAABlAAAErwEAAO1IYgMAJAEAD4SDDy44HAEAAGUAAAQWAgAA7UhlAAAEYQIAAO0kAQAODuohwQRsHAAAADgcAQAAZQAABBYCAADtSMAEJAEADg7qAi+AAGk5////DoMO6gzBBWwHAAAADuoCLziYAAAABGUBAABIC7NMPwEAANBMZgEAACQBAC6kAwEADkIGAQABAAEDAgAOAcQJAAEAtgMADKYJAAPPZQAABBUBAADtR9ypKKQDAQAOYgYB5gMDBAMJAwD8AQfGCQABAMgJAAEAygkAAQDMCQEAIM4JAQEg0AkBAiDSCQMDMNQDFQC6AwgItgMGDGECAGEBAGEAANER6QMOtMdiAACzqegHtBFjAAAO22UBAGUCAARqAgAA7Z3PnWUCAARrAgAA7Z1iAACd7YvIJgAAyWEDAGIBAGUCAASKAQAA7Ud96mnKYgIABDIBAABIC2IDAGUCAAQrAgAA7UdMJAEAAGIDAGUCAAQ9AgAA7UdMKgEAAGIDAGUCAAQsAgAA7UdMWQEAAGIDAGUCAAQtAgAA7UcR6Q8OYgMAZQIABGwCAADtR0wAAQAAJAEADoAA6JUOgziYAAAAZQIABK8BAADtSAtiAABMLgIAAGIBAAQvAgAARxHpBQ5iAABMMAIAAGICAEwxAgAAJAEALqQDAQAOQwYB6AMCAAIEAQRQAtoJAAEA3AkAAQC2AwYM0GUAAARvAgAA7UgkAABlAAAEcAIAAO1Iz78kAgBlAAAE0AEAAO1IvQC9ATO/JAIAZQAABNABAADtSL0CvQMzBHECAAAkAgAESAEAAEglAACkAwEABw88AHwAPgB8AAowfAALMAeCAQEBADoAAAAIBgAAAAQH9f///wsACSIAAAAJFQAAAAkIAAAAATwABwMAAAABPgAHAwAAAAEKMAcDAAAAAQswDAAKBwhcJHwjB04BAQAgAAAACAYAAAAEB/X///8LAAkIAAAAASQABwMAAAABIwAMAAoOQwYB6gMCAQIGAgA+A+QJAAEA5gkAAQDoCQAAALYDBgzoAx8A0GUAAAQaAgAA7UgEUgIAACQBAMuzpOgD0Cjcz9BlAAAEdQIAAO1Is8MkAgDu0GUAAAR1AgAA7UjDJAEAnSikAwEADkMGAewDAgUCBAIBuwIH7AkAAQDuCQABAPAJAgAg8gkCAWD0CQICIPYJAgMg+AkLAAO2AwYMsgMEDGwYAQAAYQMAYQIAYQEAYQAA0GUAAAR9AgAA7UcR6QMOv8diAABlAAAEfgIAAO1IBH8CAAAkAQDoE2UAAASAAgAA7WIAAJ0RYwAADmIAAAQhAQAASASBAgAAJAEAlugECw8o0ASDAQAARxHpAw4LyNAEggIAAEcR6QMOv2UAAARvAgAA7UgkAADJYgIAZQAABKMBAADtR7Ol6A5iAQAEfgEAAHFiAgBJ0GUAAASDAgAA7UcR6QMOv2UAAARvAgAA7UgkAADKYgMAZQAABKMBAADtR7Ol6BJiAQBlAAAEhAIAAO1xYgMASWUBAARGAQAASGIBACQBAGUAAASFAgAA7Ui+ACQBAA4LYgEATIYCAABiAABMZgEAAA8owQRsHAAAADgcAQAAZQAABBYCAADtSMAEJAEADg7qAi8LKKQDAQAOQgYBAAEAAQIBAA8BjgoAAQDyCQEJZQAAz0eW6AdlAADPmA4ppAMBAA5DBgHwAwMEAwYDAJkBB5AKAAEAkgoAAQCUCgABAJYKAAAAmAoBACCaCgABAJwKAwIgsgMEDLYDBgzuAyIMYQEAv8fQOEUAAACr6AgmAACWluoC0MizycXPo+h6YQMA0egyZQAAZQEABI8CAADtSGUCAGUBAASjAQAA7Ue7Cp5lAgBlAQAEowEAAO1HtJ4kAgDqNGUAAGUBAASPAgAA7UizYgEA6A5lAgAEMAAAAEe0nuoRZQIAZQEABKMBAADtR7sLniQCAMrDZQIAYgMAR53HkwLqg8MopAMBAA5DBgHyAwAAAAYDAWgAtgMGDPADIwCyAwQMC2UAAASQAgAA7UyRAgAAZQAABJICAADtTFgBAAC9AEwzAQAA3LYmAACW7mUAAASTAgAA7UgkAABlAgBlAAAEjwIAAO1Iuwu7YyQCAJ3ctCYAAJbuZQAABJMCAADtSCQAAJ1MYwEAACikAwEABwQxMA5DBgH0AwEAAQQBBj4BqAoAAQC2AwYMz2UAAATQAQAA7Ui9AL0BM78kAgBlAAAE0AEAAO1IvQK9AzO/JAIAZQAABNABAADtSL0EvQUzBHECAAAlAgCkAwEABxw8XC8/W14+XSsoPnwkKQe8AQECAFcAAAAIBgAAAAQH9f///wsAATwAHAQAAAAAAAAAAQAAAAEAAAABLwAKHAwAAAABAAAA////fwEAAAAVAgAAAD0APwD//woLAQkIAAAAAT4ABwEAAAAGDAEMAAoHECYuezEsNX07B2ABAQApAAAACAYAAAAEB/X///8LAAEmABwCAAAAAQAAAAUAAAABAAAAAwoBOwAMAAoHDFxzezIsfQeoAQEBAE0AAAAIBgAAAAQH9f///wsAHCwAAAACAAAA////fwEAAAAVCgAJAA0AIAAgAKAAoACAFoAWACAKICggKSAvIC8gXyBfIAAwADD//v/+CgwACg5DBgH2AwICAgoBAHMEqgoAAQCsCgABAK4KAQAgsAoCASC2AwYMYQAAv8dhAQCzyGIBAM9lAAAEowEAAO1Ho+hVYgAAOJMAAABlAAAE0gEAAO1Iz2UAAATjAQAA7UhiAQAkAQDQZQAABOMBAADtSGIBANBlAAAEowEAAO1HnCQBAK4kAQCdEWMAAA5iAQCRYwEADuqcYgAAKKQDAQAOQwYB+AMBAAEDAwAKAbIKAAEA9gMmAPwDKQDEAw0I29zP7WUCACMCAKQDAQAOQwYB+gMBAAEFAgBBAbQKAAEAqgMADLYDBgxlAABlAQAEmwIAAO1HBJwCAABHBGUBAABIZQAAZQEABJsCAADtR2UBAASdAgAA7UdlAQAEiAEAAO1IzyQBACUBAKQDAQAOQwYB/AMBAAEFAgBBAbwKAAEAqgMADLYDBgxlAABlAQAEmwIAAO1HZQEABJ0CAADtR2UBAASvAQAA7UhlAABlAQAEmwIAAO1HBJwCAABHBD8BAABIzyQBACUBAKQDAQAOQwYBqAMAAAACBwAyANYDFgDYAxcA2gMYANwDGQDeAxoA5AMdAOYDHgAL20wIAgAA3EyfAgAA3UygAgAA3kyhAgAAXgQATKICAABeBQBMowIAAF4GAEykAgAAKKQDAQA= \ No newline at end of file diff --git a/js.json b/js.json index c7da9e6b..aebed123 100644 --- a/js.json +++ b/js.json @@ -42,9 +42,10 @@ {"key":"drpy_js_磁力熊搜索","name":"搜索 | 磁力熊[js]","type":3,"api":"./lib/drpy2.min.js","ext":"./js/cilixiong.js","searchable":0,"quickSearch":0,"changeable":1}, {"key":"lf_js_search","name":"搜索 | 路飞[js]","type":3,"searchable":0,"changeable":1,"quickSearch":0,"filterable":0,"api":"./lib/lf_search3_min.js"}, {"key":"drpy_js_新片场","name":"新片 | 新片场[js]","type":3,"api":"./lib/drpy2.min.js","searchable":1,"quickSearch":1,"changeable":0,"ext":"./js/新片场.js"}, +{"key":"drpy_js_短剧网","name":"短剧 | 短剧网[js]","type":3,"api":"./lib/drpy2.min.js","searchable":1,"quickSearch":1,"changeable":0,"ext":"./js/短剧网.js"}, {"key":"csp_YGP","name":"新片 | 预告片[jar]","type":3,"api":"csp_YGP","searchable":1,"quickSearch":1,"changeable":0}, - {"key":"csp_Wobg","name":"阿里 | 玩偶表哥[jar]","type":3,"api":"csp_Wobg","searchable":1,"quickSearch":1,"changeable":1,"ext":"http://127.0.0.1:9978/file/tvfan/token.json", "timeout":30}, + {"key":"csp_wogg_cli","name":"俊于 | 玩偶[T4]","type":4,"api":"http://home.jundie.top:9520/spider/csp_Wogg","searchable":1,"quickSearch":1,"filterable":1,"ext":"http://127.0.0.1:9978/file/tvfan/token.txt", "timeout":30}, {"key":"小纸条_cli","name":"俊于 | 小纸条[T4]","type":4,"api":"http://home.jundie.top:9520/spider/cli_gitCafe","searchable":1,"quickSearch":1,"filterable":1,"ext":"http://127.0.0.1:9978/file/tvfan/token.txt", "timeout":30}, {"key":"lf_js_p2p","name":"路飞 | 磁力[js]","type":3,"searchable":1,"changeable":1,"quickSearch":1,"filterable":1,"api":"./lib/lf_p2p2_min.js","timeout":30}, @@ -90,6 +91,8 @@ {"key":"drpy_js_爱迪[V2]","name":"影视 | 爱迪[V2]","type":3,"api":"./lib/drpy2.min.js","ext":"./js/爱迪[V2].js"}, {"key":"drpy_js_创艺影视[V2]","name":"影视 | 创艺影视[V2]","type":3,"api":"./lib/drpy2.min.js","ext":"./js/创艺影视[V2].js"}, {"key":"drpy_js_咕噜[V2]","name":"影视 | 咕噜[V2]","type":3,"api":"./lib/drpy2.min.js","ext":"./js/咕噜[V2].js"}, +{"key":"drpy_js_吼吼[V2]","name":"影视 | 吼吼[V2]","type":3,"api":"./lib/drpy2.min.js","ext":"./js/吼吼[V2].js"}, +{"key":"drpy_js_曲奇影视[V2]","name":"影视 | 曲奇影视[V2]","type":3,"api":"./lib/drpy2.min.js","ext":"./js/曲奇影视[V2].js"}, {"key":"drpy_js_热剧猫[V2]","name":"影视 | 热剧猫[V2]","type":3,"api":"./lib/drpy2.min.js","ext":"./js/热剧猫[V2].js"}, {"key":"drpy_js_速看100[V2]","name":"影视 | 速看100[V2]","type":3,"api":"./lib/drpy2.min.js","ext":"./js/速看100[V2].js"}, {"key":"drpy_js_鸭鸭[V2]","name":"影视 | 鸭鸭[V2]","type":3,"api":"./lib/drpy2.min.js","ext":"./js/鸭鸭[V2].js"}, diff --git a/js/吼吼[V2].js b/js/吼吼[V2].js new file mode 100644 index 00000000..af5b4a97 --- /dev/null +++ b/js/吼吼[V2].js @@ -0,0 +1,215 @@ +var rule = { + title: '吼吼[V2]', // csp_AppYsV2 + host: 'https://hoho.tv/api.php/app/', + url: 'video?tid=fyclassfyfilter&limit=20&pg=fypage', + filter_url:'&class={{fl.class}}&area={{fl.area}}&lang={{fl.lang}}&letter={{fl.letter}}&year={{fl.year}}&by={{fl.by}}', + filter: { + "1":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"喜剧","v":"喜剧"},{"n":"爱情","v":"爱情"},{"n":"恐怖","v":"恐怖"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"n":"剧情","v":"剧情"},{"n":"战争","v":"战争"},{"n":"警匪","v":"警匪"},{"n":"犯罪","v":"犯罪"},{"n":"动画","v":"动画"},{"n":"奇幻","v":"奇幻"},{"n":"武侠","v":"武侠"},{"n":"冒险","v":"冒险"},{"n":"枪战","v":"枪战"},{"n":"恐怖","v":"恐怖"},{"n":"悬疑","v":"悬疑"},{"n":"惊悚","v":"惊悚"},{"n":"经典","v":"经典"},{"n":"青春","v":"青春"},{"n":"文艺","v":"文艺"},{"n":"微电影","v":"微电影"},{"n":"古装","v":"古装"},{"n":"历史","v":"历史"},{"n":"运动","v":"运动"},{"n":"农村","v":"农村"},{"n":"儿童","v":"儿童"},{"n":"网络电影","v":"网络电影"},{"n":"Top美剧","v":"Top美剧"}]},{"key":"area","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":"其他"}]},{"key":"lang","name":"语言","value":[{"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":"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"}]}], + "2":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"悬疑","v":"悬疑"},{"n":"刑侦","v":"刑侦"},{"n":"古装","v":"古装"},{"n":"战争","v":"战争"},{"n":"爱情","v":"爱情"},{"n":"喜剧","v":"喜剧"},{"n":"家庭","v":"家庭"},{"n":"犯罪","v":"犯罪"},{"n":"动作","v":"动作"},{"n":"奇幻","v":"奇幻"},{"n":"剧情","v":"剧情"},{"n":"历史","v":"历史"},{"n":"经典","v":"经典"},{"n":"乡村","v":"乡村"},{"n":"商战","v":"商战"},{"n":"网剧","v":"网剧"},{"n":"其他","v":"其他"},{"n":"Top美剧","v":"Top美剧"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"内地","v":"内地"},{"n":"韩国","v":"韩国"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"日本","v":"日本"},{"n":"美国","v":"美国"},{"n":"泰国","v":"泰国"},{"n":"英国","v":"英国"},{"n":"新加坡","v":"新加坡"},{"n":"其他","v":"其他"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}], + "3":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"选秀","v":"选秀"},{"n":"情感","v":"情感"},{"n":"访谈","v":"访谈"},{"n":"播报","v":"播报"},{"n":"旅游","v":"旅游"},{"n":"音乐","v":"音乐"},{"n":"美食","v":"美食"},{"n":"纪实","v":"纪实"},{"n":"曲艺","v":"曲艺"},{"n":"生活","v":"生活"},{"n":"游戏互动","v":"游戏互动"},{"n":"财经","v":"财经"},{"n":"求职","v":"求职"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"内地","v":"内地"},{"n":"港台","v":"港台"},{"n":"日韩","v":"日韩"},{"n":"欧美","v":"欧美"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}], + "4":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"情感","v":"情感"},{"n":"科幻","v":"科幻"},{"n":"热血","v":"热血"},{"n":"推理","v":"推理"},{"n":"搞笑","v":"搞笑"},{"n":"冒险","v":"冒险"},{"n":"萝莉","v":"萝莉"},{"n":"校园","v":"校园"},{"n":"动作","v":"动作"},{"n":"机战","v":"机战"},{"n":"运动","v":"运动"},{"n":"战争","v":"战争"},{"n":"少年","v":"少年"},{"n":"少女","v":"少女"},{"n":"社会","v":"社会"},{"n":"原创","v":"原创"},{"n":"亲子","v":"亲子"},{"n":"益智","v":"益智"},{"n":"励志","v":"励志"},{"n":"其他","v":"其他"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"国产","v":"国产"},{"n":"日本","v":"日本"},{"n":"欧美","v":"欧美"},{"n":"其他","v":"其他"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}], + "20":[{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}], + "37":[{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}] + }, + detailUrl:'/detail?vod_id=fyid', + searchUrl: '/search?text=**&pg=fypage', + searchable: 2, + quickSearch: 0, + filterable:1,//是否启用分类筛选, + headers:{'User-Agent':'okhttp/4.1.0'}, + timeout:5000, + // 分类筛选 /api.php/app/nav || /xgapp.php/v1/nav || /api.php/v1.vod/types + class_name:'电影&连续剧&综艺&动漫&纪录片&电影解说', + class_url:'1&2&3&4&20&37', + play_parse:true, + lazy:`js: + let play_Url = ''; + if (/\\.m3u8|\\.mp4/.test(input)) { + input = { + jx: 0, + url: input, + parse: 0 + } + } else if (/,/.test(input) && /url=/.test(input)) { + input = input.split('url='); + play_Url = input[0].split(',')[0]; + input = { + jx: 0, + url: input[1], + playUrl: play_Url, + parse: 1 + } + } else if (/url=|id=/.test(input)) { + input = { + jx: 0, + url: JSON.parse(request(input)).url, + parse: 0 + } + } else if (/youku|iqiyi|v\\.qq\\.com|pptv|sohu|le\\.com|1905\\.com|mgtv|bilibili|ixigua/.test(input)) { + play_Url = /bilibili/.test(input) ? 'https://jx.xmflv.com/?url=' : 'https://jx.777jiexi.com/player/?url='; // type0的parse + // play_Url = /bilibili/.test(input) ? 'https://jx.xmflv.com/?url=' : 'json:http://pandown.pro/app/kkdy.php?url='; // type1的parse可加'json:'直接解析url (除了蜂蜜的'影视TV',其它的壳皆可用) + input = { + jx: 0, + url: input, + playUrl: play_Url, + parse: 1, + header: JSON.stringify({ + 'user-agent': 'Mozilla/5.0', + }), + } + } else { + input + } + `, + limit:6, + // 图片来源:'@Referer=https://api.douban.com/@User-Agent=Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/113.0.0.0%20Safari/537.36', + 推荐:`js: + let d = []; + let jsondata = []; + let videoList = []; + if (/v1\\.vod/.test(HOST)) { + if(HOST.endsWith('/')){ + jsondata = JSON.parse(request(HOST + 'vodPhbAll')); + } else { + jsondata = JSON.parse(request(HOST + '/vodPhbAll')); + } + videoList = jsondata.data.list; + } else { + if(HOST.endsWith('/')){ + jsondata = JSON.parse(request(HOST + 'index_video')); + } else { + jsondata = JSON.parse(request(HOST + '/index_video')); + } + videoList = /xgapp/.test(HOST) ? jsondata.data : jsondata.list; + } + // log('videoList =========> '+stringify(videoList)); + videoList.forEach((it,idex) => { + let vlist = /v1\\.vod/.test(HOST) ? videoList[idex].vod_list : videoList[idex].vlist ; + vlist.forEach(it => { + d.push({ + url:it.vod_id, + title:it.vod_name, + img:it.vod_pic.startsWith('http') ? it.vod_pic : it.vod_pic.startsWith('//') ? 'https:' + it.vod_pic : it.vod_pic.startsWith('/') ? getHome(HOST) + it.vod_pic : getHome(HOST) + '/' + it.vod_pic, + desc:it.vod_remarks, + }); + }); + }); + setResult(d); + `, + 一级:`js: + let d = []; + let jsondata = []; + let videoList = []; + if (/v1\\.vod/.test(HOST)) { + input = input.replace('video','v1.vod').replace('tid','type').replace('pg=','page='); + jsondata = JSON.parse(request(input)); + videoList = jsondata.data.list; + } else { + input = HOST + '/'+ input.split('/')[4]; + jsondata = JSON.parse(request(input)); + videoList = jsondata.list || jsondata.data; + } + // log('videoList =========> '+stringify(videoList)); + videoList.forEach(it => { + d.push({ + url:it.vod_id, + title:it.vod_name, + img:it.vod_pic.startsWith('http') ? it.vod_pic : it.vod_pic.startsWith('//') ? 'https:' + it.vod_pic : it.vod_pic.startsWith('/') ? getHome(HOST) + it.vod_pic : getHome(HOST) + '/' + it.vod_pic, + desc:it.vod_remarks, + }); + }); + setResult(d); + `, + 二级:`js: + if (/v1\\.vod/.test(HOST)) { + input = HOST + '/'+ input.split('/')[3]; + } else { + input = HOST + '/'+ input.split('/')[3].replace('detail','video_detail').replace('vod_id','id'); + } + try { + let html = request(input); + html = JSON.parse(html); + let node = /xgapp/.test(HOST) ? html.data.vod_info : html.data; + VOD = { + vod_id: node.vod_id, + vod_name: node.vod_name, + vod_pic: node.vod_pic, + type_name: node.vod_class, + vod_year: node.vod_year, + vod_area: node.vod_area, + vod_remarks: node.vod_remarks, + vod_actor: node.vod_actor, + vod_director: node.vod_director, + vod_content: node.vod_content.strip() + }; + if (typeof play_url === 'undefined') { + var play_url = '' + } + let episodes = /v1\\.vod/.test(HOST)?node.vod_play_list:node.vod_url_with_player; + if (episodes != '') { + let playMap = {}; + episodes.forEach(ep => { + let from = []; + if (/v1\\.vod/.test(HOST)) { + from = ep.player_info.from||ep.player_info.show||ep.from||ep.show; + } else { + from = ep.code||ep.name; + } + if (!playMap.hasOwnProperty(from)) { + playMap[from] = [] + } + let parse_api = ''; + if (/v1\\.vod/.test(HOST)) { + parse_api = ep.player_info.parse != null ? ep.player_info.parse : ep.player_info.parse2; + // parse_api = /,/.test(parse_api) ? parse_api.split(',')[1] : parse_api; + } else { + parse_api = ep.parse_api; + } + log('parse_api =========> '+parse_api); + if (parse_api != null && !/\\.m3u8|\\.mp4/.test(ep.url)) { + parse_api = parse_api.replaceAll('..','.') ; + ep.url = ep.url.replaceAll('$','$'+parse_api); + } + playMap[from].push(ep.url) + }); + let playFrom = []; + let playList = []; + Object.keys(playMap).forEach(key => { + playFrom.push(key); + playList.push(playMap[key]) + }); + VOD.vod_play_from = playFrom.join('$$$'); + VOD.vod_play_url = playList.join('$$$'); + } else { + VOD.vod_play_from = node.vod_play_from; + VOD.vod_play_url = node.vod_play_url; + } + } catch (e) { + log("获取二级详情页发生错误:" + e.message); + } + `, + 搜索:`js: + let d = []; + let jsondata = []; + let videoList = []; + if (/v1\\.vod/.test(HOST)) { + input = (HOST + '/'+ input.split('/')[3]).replace('/search','').replace('text=','wd=').replace('pg=','page='); + jsondata = JSON.parse(request(input)); + videoList = jsondata.data.list; + } else { + input = HOST + '/'+ input.split('/')[3] + jsondata = JSON.parse(request(input)); + videoList = jsondata.list || jsondata.data; + } + // log('videoList =========> '+stringify(videoList)); + videoList.forEach(it => { + d.push({ + url:it.vod_id, + title:it.vod_name, + img:it.vod_pic.startsWith('http') ? it.vod_pic : it.vod_pic.startsWith('//') ? 'https:' + it.vod_pic : it.vod_pic.startsWith('/') ? getHome(HOST) + it.vod_pic : getHome(HOST) + '/' + it.vod_pic, + desc:it.vod_remarks, + }); + }); + setResult(d); + `, +} \ No newline at end of file diff --git a/js/曲奇影视[V2].js b/js/曲奇影视[V2].js new file mode 100644 index 00000000..8952429d --- /dev/null +++ b/js/曲奇影视[V2].js @@ -0,0 +1,215 @@ +var rule = { + title: '曲奇影视[V2]', // csp_AppYsV2 + host: 'https://1234567.weixiaolove.cn/api.php/app/', + url: 'video?tid=fyclassfyfilter&limit=20&pg=fypage', + filter_url:'&class={{fl.class}}&area={{fl.area}}&lang={{fl.lang}}&letter={{fl.letter}}&year={{fl.year}}&by={{fl.by}}', + filter: { + // "20":[{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}], + "1":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"喜剧","v":"喜剧"},{"n":"爱情","v":"爱情"},{"n":"恐怖","v":"恐怖"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"n":"剧情","v":"剧情"},{"n":"战争","v":"战争"},{"n":"警匪","v":"警匪"},{"n":"犯罪","v":"犯罪"},{"n":"动画","v":"动画"},{"n":"奇幻","v":"奇幻"},{"n":"武侠","v":"武侠"},{"n":"冒险","v":"冒险"},{"n":"枪战","v":"枪战"},{"n":"恐怖","v":"恐怖"},{"n":"悬疑","v":"悬疑"},{"n":"惊悚","v":"惊悚"},{"n":"经典","v":"经典"},{"n":"青春","v":"青春"},{"n":"文艺","v":"文艺"},{"n":"微电影","v":"微电影"},{"n":"古装","v":"古装"},{"n":"历史","v":"历史"},{"n":"运动","v":"运动"},{"n":"农村","v":"农村"},{"n":"儿童","v":"儿童"},{"n":"网络电影","v":"网络电影"}]},{"key":"area","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":"其他"}]},{"key":"lang","name":"语言","value":[{"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":"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"}]}], + "2":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"古装","v":"古装"},{"n":"战争","v":"战争"},{"n":"青春偶像","v":"青春偶像"},{"n":"喜剧","v":"喜剧"},{"n":"家庭","v":"家庭"},{"n":"犯罪","v":"犯罪"},{"n":"动作","v":"动作"},{"n":"奇幻","v":"奇幻"},{"n":"剧情","v":"剧情"},{"n":"历史","v":"历史"},{"n":"经典","v":"经典"},{"n":"乡村","v":"乡村"},{"n":"情景","v":"情景"},{"n":"商战","v":"商战"},{"n":"网剧","v":"网剧"},{"n":"其他","v":"其他"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"内地","v":"内地"},{"n":"韩国","v":"韩国"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"日本","v":"日本"},{"n":"美国","v":"美国"},{"n":"泰国","v":"泰国"},{"n":"英国","v":"英国"},{"n":"新加坡","v":"新加坡"},{"n":"其他","v":"其他"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}], + "3":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"选秀","v":"选秀"},{"n":"情感","v":"情感"},{"n":"访谈","v":"访谈"},{"n":"播报","v":"播报"},{"n":"旅游","v":"旅游"},{"n":"音乐","v":"音乐"},{"n":"美食","v":"美食"},{"n":"纪实","v":"纪实"},{"n":"曲艺","v":"曲艺"},{"n":"生活","v":"生活"},{"n":"游戏互动","v":"游戏互动"},{"n":"财经","v":"财经"},{"n":"求职","v":"求职"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"内地","v":"内地"},{"n":"港台","v":"港台"},{"n":"日韩","v":"日韩"},{"n":"欧美","v":"欧美"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}], + "4":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"情感","v":"情感"},{"n":"科幻","v":"科幻"},{"n":"热血","v":"热血"},{"n":"推理","v":"推理"},{"n":"搞笑","v":"搞笑"},{"n":"冒险","v":"冒险"},{"n":"萝莉","v":"萝莉"},{"n":"校园","v":"校园"},{"n":"动作","v":"动作"},{"n":"机战","v":"机战"},{"n":"运动","v":"运动"},{"n":"战争","v":"战争"},{"n":"少年","v":"少年"},{"n":"少女","v":"少女"},{"n":"社会","v":"社会"},{"n":"原创","v":"原创"},{"n":"亲子","v":"亲子"},{"n":"益智","v":"益智"},{"n":"励志","v":"励志"},{"n":"其他","v":"其他"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"国产","v":"国产"},{"n":"日本","v":"日本"},{"n":"欧美","v":"欧美"},{"n":"其他","v":"其他"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}], + "5":[{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}] + }, + detailUrl:'/detail?vod_id=fyid', + searchUrl: '/search?text=**&pg=fypage', + searchable: 2, + quickSearch: 0, + filterable:1,//是否启用分类筛选, + headers:{'User-Agent':'okhttp/4.1.0'}, + timeout:5000, + // 分类筛选 /api.php/app/nav || /xgapp.php/v1/nav || /api.php/v1.vod/types + class_name:'体育&电影&连续剧&综艺&动漫&电影解说', + class_url:'20&1&2&3&4&5', + play_parse:true, + lazy:`js: + let play_Url = ''; + if (/\\.m3u8|\\.mp4/.test(input)) { + input = { + jx: 0, + url: input, + parse: 0 + } + } else if (/,/.test(input) && /url=/.test(input)) { + input = input.split('url='); + play_Url = input[0].split(',')[0]; + input = { + jx: 0, + url: input[1], + playUrl: play_Url, + parse: 1 + } + } else if (/url=|id=/.test(input)) { + input = { + jx: 0, + url: JSON.parse(request(input)).url, + parse: 0 + } + } else if (/youku|iqiyi|v\\.qq\\.com|pptv|sohu|le\\.com|1905\\.com|mgtv|bilibili|ixigua/.test(input)) { + play_Url = /bilibili/.test(input) ? 'https://jx.xmflv.com/?url=' : 'https://jx.777jiexi.com/player/?url='; // type0的parse + // play_Url = /bilibili/.test(input) ? 'https://jx.xmflv.com/?url=' : 'json:http://pandown.pro/app/kkdy.php?url='; // type1的parse可加'json:'直接解析url (除了蜂蜜的'影视TV',其它的壳皆可用) + input = { + jx: 0, + url: input, + playUrl: play_Url, + parse: 1, + header: JSON.stringify({ + 'user-agent': 'Mozilla/5.0', + }), + } + } else { + input + } + `, + limit:6, + // 图片来源:'@Referer=https://api.douban.com/@User-Agent=Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/113.0.0.0%20Safari/537.36', + 推荐:`js: + let d = []; + let jsondata = []; + let videoList = []; + if (/v1\\.vod/.test(HOST)) { + if(HOST.endsWith('/')){ + jsondata = JSON.parse(request(HOST + 'vodPhbAll')); + } else { + jsondata = JSON.parse(request(HOST + '/vodPhbAll')); + } + videoList = jsondata.data.list; + } else { + if(HOST.endsWith('/')){ + jsondata = JSON.parse(request(HOST + 'index_video')); + } else { + jsondata = JSON.parse(request(HOST + '/index_video')); + } + videoList = /xgapp/.test(HOST) ? jsondata.data : jsondata.list; + } + // log('videoList =========> '+stringify(videoList)); + videoList.forEach((it,idex) => { + let vlist = /v1\\.vod/.test(HOST) ? videoList[idex].vod_list : videoList[idex].vlist ; + vlist.forEach(it => { + d.push({ + url:it.vod_id, + title:it.vod_name, + img:it.vod_pic.startsWith('http') ? it.vod_pic : it.vod_pic.startsWith('//') ? 'https:' + it.vod_pic : it.vod_pic.startsWith('/') ? getHome(HOST) + it.vod_pic : getHome(HOST) + '/' + it.vod_pic, + desc:it.vod_remarks, + }); + }); + }); + setResult(d); + `, + 一级:`js: + let d = []; + let jsondata = []; + let videoList = []; + if (/v1\\.vod/.test(HOST)) { + input = input.replace('video','v1.vod').replace('tid','type').replace('pg=','page='); + jsondata = JSON.parse(request(input)); + videoList = jsondata.data.list; + } else { + input = HOST + '/'+ input.split('/')[4]; + jsondata = JSON.parse(request(input)); + videoList = jsondata.list || jsondata.data; + } + // log('videoList =========> '+stringify(videoList)); + videoList.forEach(it => { + d.push({ + url:it.vod_id, + title:it.vod_name, + img:it.vod_pic.startsWith('http') ? it.vod_pic : it.vod_pic.startsWith('//') ? 'https:' + it.vod_pic : it.vod_pic.startsWith('/') ? getHome(HOST) + it.vod_pic : getHome(HOST) + '/' + it.vod_pic, + desc:it.vod_remarks, + }); + }); + setResult(d); + `, + 二级:`js: + if (/v1\\.vod/.test(HOST)) { + input = HOST + '/'+ input.split('/')[3]; + } else { + input = HOST + '/'+ input.split('/')[3].replace('detail','video_detail').replace('vod_id','id'); + } + try { + let html = request(input); + html = JSON.parse(html); + let node = /xgapp/.test(HOST) ? html.data.vod_info : html.data; + VOD = { + vod_id: node.vod_id, + vod_name: node.vod_name, + vod_pic: node.vod_pic, + type_name: node.vod_class, + vod_year: node.vod_year, + vod_area: node.vod_area, + vod_remarks: node.vod_remarks, + vod_actor: node.vod_actor, + vod_director: node.vod_director, + vod_content: node.vod_content.strip() + }; + if (typeof play_url === 'undefined') { + var play_url = '' + } + let episodes = /v1\\.vod/.test(HOST)?node.vod_play_list:node.vod_url_with_player; + if (episodes != '') { + let playMap = {}; + episodes.forEach(ep => { + let from = []; + if (/v1\\.vod/.test(HOST)) { + from = ep.player_info.from||ep.player_info.show||ep.from||ep.show; + } else { + from = ep.code||ep.name; + } + if (!playMap.hasOwnProperty(from)) { + playMap[from] = [] + } + let parse_api = ''; + if (/v1\\.vod/.test(HOST)) { + parse_api = ep.player_info.parse != null ? ep.player_info.parse : ep.player_info.parse2; + // parse_api = /,/.test(parse_api) ? parse_api.split(',')[1] : parse_api; + } else { + parse_api = ep.parse_api; + } + log('parse_api =========> '+parse_api); + if (parse_api != null && !/\\.m3u8|\\.mp4/.test(ep.url)) { + parse_api = parse_api.replaceAll('..','.') ; + ep.url = ep.url.replaceAll('$','$'+parse_api); + } + playMap[from].push(ep.url) + }); + let playFrom = []; + let playList = []; + Object.keys(playMap).forEach(key => { + playFrom.push(key); + playList.push(playMap[key]) + }); + VOD.vod_play_from = playFrom.join('$$$'); + VOD.vod_play_url = playList.join('$$$'); + } else { + VOD.vod_play_from = node.vod_play_from; + VOD.vod_play_url = node.vod_play_url; + } + } catch (e) { + log("获取二级详情页发生错误:" + e.message); + } + `, + 搜索:`js: + let d = []; + let jsondata = []; + let videoList = []; + if (/v1\\.vod/.test(HOST)) { + input = (HOST + '/'+ input.split('/')[3]).replace('/search','').replace('text=','wd=').replace('pg=','page='); + jsondata = JSON.parse(request(input)); + videoList = jsondata.data.list; + } else { + input = HOST + '/'+ input.split('/')[3] + jsondata = JSON.parse(request(input)); + videoList = jsondata.list || jsondata.data; + } + // log('videoList =========> '+stringify(videoList)); + videoList.forEach(it => { + d.push({ + url:it.vod_id, + title:it.vod_name, + img:it.vod_pic.startsWith('http') ? it.vod_pic : it.vod_pic.startsWith('//') ? 'https:' + it.vod_pic : it.vod_pic.startsWith('/') ? getHome(HOST) + it.vod_pic : getHome(HOST) + '/' + it.vod_pic, + desc:it.vod_remarks, + }); + }); + setResult(d); + `, +} \ No newline at end of file diff --git a/js/短剧网.js b/js/短剧网.js new file mode 100644 index 00000000..28b1a84d --- /dev/null +++ b/js/短剧网.js @@ -0,0 +1,34 @@ +muban.mxone5.二级.title = 'h1&&Text;.video-info-aux&&Text'; +muban.mxone5.二级.desc = ';;;.video-info-items:eq(1)&&Text;.video-info-items:eq(0)&&Text'; +var rule = { + title: '短剧网', + 模板:'mxone5', + host: 'https://m.duanju5.com', + url: '/vodshow/fyclassfyfilter.html', + filterable:1,//是否启用分类筛选, + filter_url:'-{{fl.area}}-{{fl.by or "time"}}-{{fl.class}}-{{fl.lang}}-{{fl.letter}}---fypage---{{fl.year}}', + filter: { + "nixi":[{"key":"letter","name":"字母","value":[{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}], + "tianchong":[{"key":"letter","name":"字母","value":[{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}], + "nuelian":[{"key":"letter","name":"字母","value":[{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}], + "chuanyue":[{"key":"letter","name":"字母","value":[{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}], + "chongsheng":[{"key":"letter","name":"字母","value":[{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}] + }, + lazy: `js: + var html = JSON.parse(request(input).match(/r player_.*?=(.*?)