update CAT

This commit is contained in:
qist
2024-04-19 15:36:29 +08:00
parent 7f7c284e35
commit 711c6061ec
10 changed files with 717 additions and 520 deletions
+7 -7
View File
@@ -398,15 +398,15 @@ function print() { __p += __j.call(arguments, '') }
`+i):r.stack=i}throw r}}_request(e,n){typeof e=="string"?(n=n||{},n.url=e):n=e||{},n=A3(this.defaults,n);let{transitional:r,paramsSerializer:l,headers:i}=n;r!==void 0&&B7.assertOptions(r,{silentJSONParsing:xs.transitional(xs.boolean),forcedJSONParsing:xs.transitional(xs.boolean),clarifyTimeoutError:xs.transitional(xs.boolean)},!1),l!=null&&(G.isFunction(l)?n.paramsSerializer={serialize:l}:B7.assertOptions(l,{encode:xs.function,serialize:xs.function},!0)),n.method=(n.method||this.defaults.method||"get").toLowerCase();let s=i&&G.merge(i.common,i[n.method]);i&&G.forEach(["delete","get","head","post","put","patch","common"],g=>{delete i[g]}),n.headers=wr.concat(s,i);let a=[],o=!0;this.interceptors.request.forEach(function(_){typeof _.runWhen=="function"&&_.runWhen(n)===!1||(o=o&&_.synchronous,a.unshift(_.fulfilled,_.rejected))});let f=[];this.interceptors.response.forEach(function(_){f.push(_.fulfilled,_.rejected)});let c,p=0,m;if(!o){let g=[U7.bind(this),void 0];for(g.unshift.apply(g,a),g.push.apply(g,f),m=g.length,c=Promise.resolve(n);p<m;)c=c.then(g[p++],g[p++]);return c}m=a.length;let h=n;for(p=0;p<m;){let g=a[p++],_=a[p++];try{h=g(h)}catch(S){_.call(this,S);break}}try{c=U7.call(this,h)}catch(g){return Promise.reject(g)}for(p=0,m=f.length;p<m;)c=c.then(f[p++],f[p++]);return c}getUri(e){e=A3(this.defaults,e);let n=eo(e.baseURL,e.url);return Za(n,e.params,e.paramsSerializer)}};G.forEach(["delete","get","head","options"],function(e){g4.prototype[e]=function(n,r){return this.request(A3(r||{},{method:e,url:n,data:(r||{}).data}))}});G.forEach(["post","put","patch"],function(e){function n(r){return function(i,s,a){return this.request(A3(a||{},{method:e,headers:r?{"Content-Type":"multipart/form-data"}:{},url:i,data:s}))}}g4.prototype[e]=n(),g4.prototype[e+"Form"]=n(!0)});var S5=g4;var ZE=class t{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(i){n=i});let r=this;this.promise.then(l=>{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](l);r._listeners=null}),this.promise.then=l=>{let i,s=new Promise(a=>{r.subscribe(a),i=a}).then(l);return s.cancel=function(){r.unsubscribe(i)},s},e(function(i,s,a){r.reason||(r.reason=new J2(i,s,a),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;let n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}static source(){let e;return{token:new t(function(l){e=l}),cancel:e}}},oz=ZE;function eb(t){return function(n){return t.apply(null,n)}}function tb(t){return G.isObject(t)&&t.isAxiosError===!0}var nb={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(nb).forEach(([t,e])=>{nb[e]=t});var uz=nb;function cz(t){let e=new S5(t),n=c5(S5.prototype.request,e);return G.extend(n,S5.prototype,e,{allOwnKeys:!0}),G.extend(n,e,null,{allOwnKeys:!0}),n.create=function(l){return cz(A3(t,l))},n}var hr=cz(d4);hr.Axios=S5;hr.CanceledError=J2;hr.CancelToken=oz;hr.isCancel=m5;hr.VERSION=no;hr.toFormData=bs;hr.AxiosError=Le;hr.Cancel=hr.CanceledError;hr.all=function(e){return Promise.all(e)};hr.spread=eb;hr.isAxiosError=tb;hr.mergeConfig=A3;hr.AxiosHeaders=wr;hr.formToJSON=t=>D7(G.isHTMLForm(t)?new FormData(t):t);hr.getAdapter=j7.getAdapter;hr.HttpStatusCode=uz;hr.default=hr;var y4=hr;var{Axios:aIe,AxiosError:oIe,CanceledError:uIe,isCancel:cIe,CancelToken:fIe,VERSION:pIe,all:dIe,Cancel:hIe,isAxiosError:mIe,spread:gIe,toFormData:fz,AxiosHeaders:yIe,HttpStatusCode:vIe,formToJSON:_Ie,getAdapter:EIe,mergeConfig:bIe}=y4;var _z=_r(require("https"),1),Ez=_r(require("crypto"),1),bz=_r(yz(),1),ib={};globalThis.dataBase=null;globalThis.local={get:async function(t,e){return await vve(t,e)},set:async function(t,e,n){await _ve(t,e,n)}};async function vve(t,e){let n="/js_"+t+`/${e}/`;return await dataBase.getObjectDefault(n,{})}async function _ve(t,e,n){let r="/js_"+t;ib=await dataBase.getObjectDefault(r,{}),ib[e]=n,t==="log"&&await req("http://192.168.0.116:8099/upload",{data:{log:n+`
`},timeout:.1}),await dataBase.push(r,ib)}globalThis.localLog={set:async function(t,e,n){bve(t,e,n)}};function Eve(){lo.default.existsSync("log")||lo.default.mkdirSync("log");let t="log/info.log";return lo.default.existsSync(t)?lo.default.readFileSync(t).toString():(lo.default.writeFileSync(t,""),"")}function bve(t){lo.default.writeFileSync("log/info.log",Eve()+`
`+t)}globalThis.req=Tve;async function Tve(t,e){try{let n=e&&e.data||null,r=e&&e.postType||null,l=e&&e.buffer||0,i=e&&e.timeout||5e3,s=(e&&e.redirect||1)===1,a=e.proxy??!1,o=e?e.headers||{}:{};r==="form"?(o["Content-Type"]="application/x-www-form-urlencoded",n!=null&&(n=vz.default.stringify(n,{encode:!1}))):r==="form-data"&&(o["Content-Type"]="multipart/form-data",n=fz(n));let f=l===1||l===2?"arraybuffer":void 0,c;a?c=bz.default.httpsOverHttp({proxy:{host:"127.0.0.1",port:7890}}):c=_z.default.Agent({rejectUnauthorized:!1});let p=await y4(t,{responseType:f,method:e&&e.method||"get",headers:o,data:n,timeout:i,maxRedirects:s?null:0,httpsAgent:c});n=p.data;let m={};for(let h of p.headers){let g=h[1];m[h[0]]=Array.isArray(g)&&g.length===1?g[0]:g}if(!l)typeof n=="object"&&(n=JSON.stringify(n));else{if(l===1)return{code:p.status,headers:m,content:n};if(l===2)return{code:p.status,headers:m,content:n.toString("base64")};if(l===3){let h=e.stream;return h.onResp&&await h.onResp({code:p.status,headers:m}),h.onData?(n.on("data",async g=>{await h.onData(g)}),n.on("end",async()=>{h.onDone&&await h.onDone()})):h.onDone&&await h.onDone(),"stream..."}}return{code:p.status,headers:m,content:n}}catch(n){let r=n.response;try{return{code:r.status,headers:r.headers,content:JSON.stringify(r.data)}}catch{return{headers:{},content:""}}}}globalThis.md5X=Sve;function Sve(t){return Ez.default.createHash("md5").update(Buffer.from(t,"utf8")).digest("hex")}globalThis.js2Proxy=function(t,e,n){let r=Object.keys(n).length===0?" ":encodeURIComponent(JSON.stringify(n));return t.server.address().dynamic+t.server.prefix+"/proxy/"+encodeURIComponent(e)+"/"+r+"/"};var xve=["DEBUG","INFO","WARNING","ERROR"];var _4=class{constructor(e,n="DEBUG"){this.app_name=e,this.level=n,this.level_index=xve.indexOf(n)}format(e,n){let r=80;switch(e){case"INFO":r=r+1;break;case"WARNING":r=r-2;break;default:break}return n.length<r&&((r-n.length)%2===0?n="#".repeat(Math.floor((r-n.length)/2))+n+"#".repeat(Math.floor((r-n.length)/2)):n="#".repeat(Math.floor((r-n.length)/2))+n+"#".repeat(Math.floor((r-n.length)/2)+1)),n}getTime(){let e=new Date;return e.toLocaleDateString().replace(/\//g,"-")+" "+e.toTimeString().substr(0,8)+","+e.getMilliseconds().toString()}formatMessage(e,n,r){return r&&(n=this.format(e,n)),`${this.getTime()} - ${this.app_name} - ${e}: ${n}`}async log(e){console.debug(e),await req("http://192.168.0.116:8099/upload",{data:{log:e+`
`},timeout:.1})}async info(e,n){this.level_index<=1&&await this.log(this.formatMessage("INFO",e,n))}async warning(e,n){this.level_index<=2&&await this.log(this.formatMessage("WARNING",e,n))}async error(e,n){this.level_index<=3&&await this.log(this.formatMessage("ERROR",e,n))}async debug(e,n){this.level_index<=0&&await this.log(this.formatMessage("DEBUG",e,n))}};var Qn=class extends Yn{constructor(){super(),this.jadeLog=new _4(this.getAppName(),"DEBUG")}async init(e,n){await this.jadeLog.info("\u521D\u59CB\u5316",!0);try{await await req("http://192.168.0.116:8099/clear",{timeout:.1}),this.siteKey=this.getJSName(),this.siteType=this.getType(),this.cfgObj=e.server.config[this.siteKey],this.deviceKey=e.server.prefix+"/",this.db=e.server.db,this.catOpenStatus=!0,this.danmuStaus=!1;try{await this.loadFilterAndClasses()?await this.jadeLog.debug("\u8BFB\u53D6\u7F13\u5B58\u5217\u8868\u548C\u4E8C\u7EA7\u83DC\u5355\u6210\u529F"):(await this.jadeLog.warning("\u8BFB\u53D6\u7F13\u5B58\u5217\u8868\u548C\u4E8C\u7EA7\u83DC\u5355\u5931\u8D25"),await this.writeFilterAndClasses())}catch(r){await this.db.push(this.deviceKey+"classes",{}),await this.db.push(this.deviceKey+"filterObj",{}),await this.jadeLog.error("\u8BFB\u53D6\u7F13\u5B58\u5931\u8D25,\u5931\u8D25\u539F\u56E0\u4E3A:"+r,!1)}}catch(r){await this.jadeLog.error(`\u521D\u59CB\u5316\u5931\u8D25,\u5931\u8D25\u539F\u56E0\u4E3A:${r}`)}await this.jadeLog.info("\u521D\u59CB\u5316\u5B8C\u6210",!0)}async loadFilterAndClasses(){return this.classes=await this.getClassesCache(),this.filterObj=await this.getFiletObjCache(),this.classes.length>0?!0:(await this.db.push(this.deviceKey+"classes",{}),await this.db.push(this.deviceKey+"filterObj",{}),!1)}async writeFilterAndClasses(){this.catOpenStatus&&this.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await this.setClasses(),await this.setFilterObj(),await this.db.push(this.deviceKey+"classes",this.classes),await this.db.push(this.deviceKey+"filterObj",this.filterObj)}async getClassesCache(){let e=await this.db.getObjectDefault(this.deviceKey+"classes",{});return Ae.isEmpty(e)?this.classes:e}async getFiletObjCache(){let e=await this.db.getObjectDefault(this.deviceKey+"filterObj",{});return Ae.isEmpty(e)?this.filterObj:e}async home(e,n){return this.vodList=[],await this.jadeLog.info("\u6B63\u5728\u89E3\u6790\u9996\u9875\u7C7B\u522B",!0),await this.setHome(),await this.jadeLog.debug(`\u9996\u9875\u7C7B\u522B\u5185\u5BB9\u4E3A:${this.result.home(this.classes,[],this.filterObj)}`),await this.jadeLog.info("\u9996\u9875\u7C7B\u522B\u89E3\u6790\u5B8C\u6210",!0),this.result.home(this.classes,[],this.filterObj)}async homeVod(){await this.jadeLog.info("\u6B63\u5728\u89E3\u6790\u9996\u9875\u5185\u5BB9",!0);try{return await this.setHomeVod(),await this.jadeLog.debug(`\u9996\u9875\u5185\u5BB9\u4E3A:${this.result.homeVod(this.homeVodList)}`),await this.jadeLog.info("\u9996\u9875\u5185\u5BB9\u89E3\u6790\u5B8C\u6210",!0),this.result.homeVod(this.homeVodList)}catch(e){await this.jadeLog.error(`\u9996\u9875\u5185\u5BB9\u89E3\u6790\u5931\u8D25,\u5931\u8D25\u539F\u56E0\u4E3A:${e}`)}}async category(e,n){let r=e.body.id,l=e.body.page,i=!0,s=e.body.filters;if(this.page=parseInt(l),await this.jadeLog.info(`\u6B63\u5728\u89E3\u6790\u5206\u7C7B\u9875\u9762,tid = ${r},pg = ${l},extend = ${JSON.stringify(s)}`),r==="\u6700\u8FD1\u66F4\u65B0")return this.page=0,await this.homeVod();try{return this.vodList=[],await this.setCategory(r,l,i,s),await this.jadeLog.debug(`\u5206\u7C7B\u9875\u9762\u5185\u5BB9\u4E3A:${this.result.category(this.vodList,this.page,this.count,this.limit,this.total)}`),await this.jadeLog.info("\u5206\u7C7B\u9875\u9762\u89E3\u6790\u5B8C\u6210",!0),this.result.category(this.vodList,this.page,this.count,this.limit,this.total)}catch(a){await this.jadeLog.error(`\u5206\u7C7B\u9875\u89E3\u6790\u5931\u8D25,\u5931\u8D25\u539F\u56E0\u4E3A:${a}`)}}async detail(e,n){await this.jadeLog.debug(`\u83B7\u53D6\u8BE6\u60C5\u9875\u9762:${JSON.stringify(e.body)}`);let l=(Array.isArray(e.body.id)?e.body.id:[e.body.id])[0];this.vodDetail=new An,await this.jadeLog.info(`\u6B63\u5728\u83B7\u53D6\u8BE6\u60C5\u9875\u9762,id\u4E3A:${l}`);try{return await this.setDetail(l),await this.jadeLog.debug(`\u8BE6\u60C5\u9875\u9762\u5185\u5BB9\u4E3A:${this.result.detail(this.vodDetail)}`),await this.jadeLog.info("\u8BE6\u60C5\u9875\u9762\u89E3\u6790\u5B8C\u6210",!0),this.vodDetail.vod_id=l,this.result.detail(this.vodDetail)}catch(i){await this.jadeLog.error("\u8BE6\u60C5\u754C\u9762\u83B7\u53D6\u5931\u8D25,\u5931\u8D25\u539F\u56E0\u4E3A:"+i)}}async play(e,n){let r=e.body.flag,l=e.body.id,i=[];await this.jadeLog.info(`\u6B63\u5728\u89E3\u6790\u64AD\u653E\u9875\u9762,flag:${r},id:${l},flags:${i}`,!0);try{let s;if(await this.setPlay(r,l,i),this.playUrl.content!==void 0)return this.playUrl;if(await this.jadeLog.debug("\u4E0D\u9700\u8981\u52A0\u8F7D\u5F39\u5E55",!0),this.result.jx===1&&this.playUrl.indexOf(".m3u8")<0){let a=await e.server.messageToDart({action:"sniff",opt:{url:l,timeout:6e4,rule:"http((?!http).){12,}?\\.m3u8?"}});if(a&&a.url){let o={};a.headers&&(a.headers["user-agent"]&&(o["User-Agent"]=a.headers["user-agent"]),a.headers.referer&&(o.Referer=a.headers.referer)),await this.jadeLog.debug(`\u55C5\u63A2\u6210\u529F,\u64AD\u653E\u8FDE\u63A5\u4E3A:${a.url}`),s=JSON.stringify({parse:0,url:a.url,header:a.headers,jx:"0"})}else await this.jadeLog.error("\u89E3\u6790\u5931\u8D25,\u65E0\u6CD5\u55C5\u63A2\u5230\u64AD\u653E\u8FDE\u63A5"),s=JSON.stringify({parse:0,url:"",jx:"0"})}else s=this.result.play(this.playUrl);return await this.jadeLog.info("\u64AD\u653E\u9875\u9762\u89E3\u6790\u5B8C\u6210",!0),await this.jadeLog.debug(`\u64AD\u653E\u9875\u9762\u5185\u5BB9\u4E3A:${s}`),s}catch(s){await this.jadeLog.error("\u89E3\u6790\u64AD\u653E\u9875\u9762\u51FA\u9519,\u5931\u8D25\u539F\u56E0\u4E3A:"+s)}}async search(e,n){let r=e.body.page,l=e.body.wd,i=!0;return this.vodList=[],await this.jadeLog.info(`\u6B63\u5728\u89E3\u6790\u641C\u7D22\u9875\u9762,\u5173\u952E\u8BCD\u4E3A = ${l},quick = ${i},pg = ${r}`),await this.setSearch(l,i,r),this.vodList.length===0&&l.indexOf(" ")>-1&&(await this.jadeLog.debug(`\u641C\u7D22\u5173\u952E\u8BCD\u4E3A:${l},\u5176\u4E2D\u6709\u7A7A\u683C,\u53BB\u9664\u7A7A\u683C\u5728\u641C\u7D22\u4E00\u6B21`),await this.search(l.replaceAll(" ","").replaceAll("?",""),i)),await this.jadeLog.debug(`\u641C\u7D22\u9875\u9762\u5185\u5BB9\u4E3A:${this.result.search(this.vodList)}`),await this.jadeLog.info("\u641C\u7D22\u9875\u9762\u89E3\u6790\u5B8C\u6210",!0),this.result.search(this.vodList)}async proxy(e,n){try{let r=e.params.what,l={};try{l=JSON.parse(e.params.ids)}catch{}let i=decodeURIComponent(e.params.end),s=JSON.parse(await this.setProxy([r,i],l));return r==="dash"?(await this.jadeLog.debug(`dash:${JSON.stringify(s)}`),n.code(s.code).headers(s.headers),s.content):s.code===200?(n.code(s.code).headers(s.headers),Buffer.from(s.content,"base64")):(n.code(500),"")}catch(r){await this.jadeLog.error(`\u4EE3\u7406\u56DE\u8C03\u5931\u8D25,\u5931\u8D25\u539F\u56E0\u4E3A:${r}`)}}};var sb=class extends Yn{constructor(){super(),this.siteUrl="https://www.sehuatang.net"}getAppName(){return"\u8272\u82B1\u5802BT"}getName(){return"\u{1F51E}\u2503\u8272\u82B1\u5802BT\u2503\u{1F51E}"}getJSName(){return"sehuatang"}getType(){return 3}async init(e){await super.init(e),this.jsBaseDetail=await js2Proxy(!0,this.siteType,this.siteKey,"detail/",{})}getHeader(){return{"User-Agent":"PostmanRuntime/7.36.1",Host:"www.sehuatang.net",Cookie:"cPNj_2132_saltkey=Q4BKEOEC; cf_clearance=6Gz2tvOXPkkJP2UhLnSsN4s0RrnDUy0jBN0kUvC5FNQ-1706109144-1-AebvwBnAURwWWQhj0QRBrRPku2n8xI73PIeuZVj2ckqY9zjQ7zFzDviX7Gkex1P1bUw9SXHGEYnkBB9nmWe6Nhk=; _safe=vqd37pjm4p5uodq339yzk6b7jdt6oich"}}async parseVodShortListFromDoc(e){let n=[],r=e('[id="portal_block_43_content"]').find("li");for(let l of r){let i=new nn;i.vod_remarks=e(e(l).find("a")[1]).text(),i.vod_id=e(l).find("a")[2].attribs.href,i.vod_name=e(l).find("a")[2].attribs.title,i.vod_pic=this.jsBaseDetail+S3(i.vod_id),n.push(i)}return n}async parseVodShortListFromDocByCategory(e){let n=[],r=e(e('[class="bm_c"]')[0]).find("tbody");for(let l of r){let i=e(e(e(l).find("cite")).find("a")[0]).text();if(i!=="admin"&&i!==void 0&&!Ae.isEmpty(i)){let s=new nn;s.vod_id=e(l).find("a")[0].attribs.href,s.vod_remarks=e(e(l).find("a")[2]).text(),s.vod_name=e(e(l).find("a")[3]).text(),s.vod_pic=this.jsBaseDetail+S3(s.vod_id),n.push(s)}}return n}async parseVodDetailFromDoc(e){let n=new An,r=e('[class="t_f"]')[0],l=e(r).text().replaceAll("\uFF1A",":").replaceAll("\u3010","").replaceAll("\u3011","");return n.vod_pic=e(r).find("img")[0].attribs.file,n.vod_name=Yr(/影片名称(.*?)\n/,l).replaceAll(":","").replaceAll(`
`,""),n.vod_actor=Yr(/出演女优(.*?)\n/,l).replaceAll(":","").replaceAll(`
`,""),n.vod_remarks=Yr(/是否有码(.*?)\n/,l).replaceAll(":","").replaceAll(`
`,""),n.vod_play_from="BT",n.vod_play_url=n.vod_name+"$"+Yr(/磁力链接: (.*)复制代码/,l),n}async setClasses(){let e=await this.getHtml(),n=e('[id="category_1"]').find("tr").slice(0,-1);for(let r of n){let l=e(e(r).find('[class="fl_icn_g"]')).find("a");for(let i of l){let s=i.attribs.href,a=e(i).find("img")[0].attribs.alt;this.classes.push(this.getTypeDic(a,s))}}}async getFilter(e){let n=[],r={key:1,name:"\u7C7B\u578B",value:[]},l=e('[id="thread_types"]').find("a");for(let a of l){let o="";a.children.length>1?o=a.children[0].data+":"+e(a.children[1]).text():o=a.children[0].data,r.value.push({n:o,v:a.attribs.href})}n.push(r);let i={key:1,name:"\u4E3B\u9898",value:[]},s=e('[class="tf"]').find("a");for(let a of s){let o=e(a).text();o!=="\u66F4\u591A"&&o!=="\u663E\u793A\u7F6E\u9876"&&i.value.push({n:e(a).text(),v:a.attribs.href})}return n.push(i),n}async setFilterObj(){for(let e of this.classes){let n=e.type_name,r=e.type_id;if(n!=="\u6700\u8FD1\u66F4\u65B0"){let l=await this.getHtml(this.siteUrl+"/"+r);this.filterObj[r]=await this.getFilter(l)}}}async setHomeVod(){let e=await this.getHtml();this.homeVodList=await this.parseVodShortListFromDoc(e)}async setCategory(e,n,r,l){l[1]!==void 0&&l[1]==="javascript:;"||(e=l[1]??e);let i,s=e.split(".")[0].split("-");s.length>2?(s[2]=n,i=this.siteUrl+"/"+s.join("-")+".html"):i=this.siteUrl+"/"+e+"&page="+n;let a=await this.getHtml(i);this.vodList=await this.parseVodShortListFromDocByCategory(a)}async setDetail(e){let n=await this.getHtml(this.siteUrl+"/"+e);this.vodDetail=await this.parseVodDetailFromDoc(n)}async proxy(e,n){await this.jadeLog.debug(`\u6B63\u5728\u8BBE\u7F6E\u53CD\u5411\u4EE3\u7406 segments = ${e.join(",")},headers = ${JSON.stringify(n)}`);let r=e[0],l=x2(e[1]);if(r==="detail"){await this.jadeLog.debug(`\u53CD\u5411\u4EE3\u7406ID\u4E3A:${l}`);let i=await this.getHtml(this.siteUrl+"/"+l),s=await this.parseVodDetailFromDoc(i);await this.jadeLog.debug(`\u56FE\u7247\u5730\u5740\u4E3A:${s.vod_pic}`);let a;return Ae.isEmpty(n)?a=await req(s.vod_pic,{buffer:2,headers:{Referer:l,"User-Agent":ki}}):a=await req(s.vod_pic,{buffer:2,headers:n}),JSON.stringify({code:a.code,buffer:2,content:a.content,headers:a.headers})}return JSON.stringify({code:500,content:""})}},rn=new sb;var ab=class extends Qn{constructor(){super()}getName(){return rn.getName()}getAppName(){return rn.getAppName()}getJSName(){return rn.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await rn.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await rn.initCookie(e.server.config.bilicookie),await rn.spiderInit(e),rn.cfgObj.code=0,rn.catOpenStatus=!0,rn.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await rn.setClasses(),this.classes=rn.classes}async setFilterObj(){await rn.setFilterObj(),this.filterObj=rn.filterObj}async setHomeVod(){await rn.setHomeVod(),this.homeVodList=rn.homeVodList}async setCategory(e,n,r,l){await rn.setCategory(e,n,r,l),this.vodList=rn.vodList}async setDetail(e){await rn.setDetail(e),this.vodDetail=rn.vodDetail}async setPlay(e,n,r){await rn.setPlay(e,n,r),this.playUrl=rn.playUrl,this.result=rn.result}async setSearch(e,n,r){await rn.setSearch(e,n,r),this.vodList=rn.vodList,this.result=rn.result}async setProxy(e,n){return await rn.proxy(e,n)}},ws=new ab;async function Tz(t,e){return await ws.init(t,e)}async function Sz(t,e){return await ws.home(t,e)}async function Ave(t,e){return await ws.homeVod(t,e)}async function xz(t,e){return await ws.category(t,e)}async function Az(t,e){return await ws.detail(t,e)}async function wz(t,e){return await ws.play(t,e)}async function Rz(t,e){return await ws.search(t,e)}async function wve(t,e){return await ws.proxy(t,e)}var Oz={meta:{key:rn.getJSName(),name:rn.getName(),type:rn.getType()},api:async t=>{t.post("/init",Tz),t.post("/home",Sz),t.post("/category",xz),t.post("/detail",Az),t.post("/play",wz),t.post("/search",Rz),t.get("/proxy/:what/:ids/:end",wve)},spider:{init:Tz,home:Sz,homeVod:Ave,category:xz,detail:Az,play:wz,search:Rz}};var ob=class extends Yn{constructor(){super(),this.siteUrl="https://hsck12.shop/"}getName(){return"\u{1F51E}\u2503\u9EC4\u8272\u4ED3\u5E93\u2503\u{1F51E}"}getAppName(){return"\u9EC4\u8272\u4ED3\u5E93"}getJSName(){return"hscangku"}getType(){return 3}async parseVodShortListFromDoc(e){let n=[],r=e('[class="stui-vodlist clearfix"]').find("li");for(let l of r){let i=new nn,s=e(l).find("a")[0];i.vod_id=s.attribs.href,i.vod_name=s.attribs.title,i.vod_pic=s.attribs["data-original"],n.push(i)}return n}async parseVodDetailFromDoc(e){let n=new An,r=e(e('[class="stui-pannel__head clearfix"]')[1]).find("h3"),i=e("div.stui-pannel-bd > div").find("video")[0];return n.vod_name=r.text(),n.vod_pic=i.attribs.poster,n.vod_play_from="\u9EC4\u8272\u4ED3\u5E93",n.vod_play_url=e(i).find("source")[0].attribs.src,n}async setClasses(){this.classes=[{type_name:"\u56FD\u4EA7\u89C6\u9891",type_id:"?type=gc"},{type_name:"\u56FD\u4EA7\u65B0\u7247",type_id:"?type=ycgc"},{type_name:"\u65E0\u7801\u4E2D\u6587\u5B57\u5E55",type_id:"?type=wz"},{type_name:"\u6709\u7801\u4E2D\u6587\u5B57\u5E55",type_id:"?type=yz"},{type_name:"\u65E5\u672C\u65E0\u7801",type_id:"?type=rw"}]}async setCategory(e,n,r,l){let i=this.siteUrl+e+"&p="+n.toString(),s=await this.fetch(i,null,this.getHeader());if(this.limit=40,s!==null){let a=br(s);this.vodList=await this.parseVodShortListFromDoc(a),this.total=parseInt(a('[class="active"]').find("span").text())}}async setDetail(e){let n=this.siteUrl+e,r=await this.fetch(n,null,this.getHeader());if(r!==null){let l=br(r);this.vodDetail=await this.parseVodDetailFromDoc(l)}}async setPlay(e,n,r){this.playUrl=n,this.playHeader={}}},ln=new ob;var ub=class extends Qn{constructor(){super()}getName(){return ln.getName()}getAppName(){return ln.getAppName()}getJSName(){return ln.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await ln.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await ln.initCookie(e.server.config.bilicookie),await ln.spiderInit(e),ln.cfgObj.code=0,ln.catOpenStatus=!0,ln.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await ln.setClasses(),this.classes=ln.classes}async setFilterObj(){await ln.setFilterObj(),this.filterObj=ln.filterObj}async setHomeVod(){await ln.setHomeVod(),this.homeVodList=ln.homeVodList}async setCategory(e,n,r,l){await ln.setCategory(e,n,r,l),this.vodList=ln.vodList}async setDetail(e){await ln.setDetail(e),this.vodDetail=ln.vodDetail}async setPlay(e,n,r){await ln.setPlay(e,n,r),this.playUrl=ln.playUrl,this.result=ln.result}async setSearch(e,n,r){await ln.setSearch(e,n,r),this.vodList=ln.vodList,this.result=ln.result}async setProxy(e,n){return await ln.proxy(e,n)}},Rs=new ub;async function Nz(t,e){return await Rs.init(t,e)}async function Iz(t,e){return await Rs.home(t,e)}async function Rve(t,e){return await Rs.homeVod(t,e)}async function Cz(t,e){return await Rs.category(t,e)}async function kz(t,e){return await Rs.detail(t,e)}async function Pz(t,e){return await Rs.play(t,e)}async function Dz(t,e){return await Rs.search(t,e)}async function Ove(t,e){return await Rs.proxy(t,e)}var Lz={meta:{key:ln.getJSName(),name:ln.getName(),type:ln.getType()},api:async t=>{t.post("/init",Nz),t.post("/home",Iz),t.post("/category",Cz),t.post("/detail",kz),t.post("/play",Pz),t.post("/search",Dz),t.get("/proxy/:what/:ids/:end",Ove)},spider:{init:Nz,home:Iz,homeVod:Rve,category:Cz,detail:kz,play:Pz,search:Dz}};var E4=class extends Yn{constructor(){super(),this.siteUrl="http://cj.ffzyapi.com",this.remove18=!1,this.type_id_18=34}async spiderInit(e){e!==null?this.detailProxy=await js2Proxy(e,"detail",this.getHeader()):this.detailProxy=await js2Proxy(!0,this.siteType,this.siteKey,"detail/",this.getHeader())}async init(e){await super.init(e),await this.spiderInit(null)}async parseVodShortListFromJson(e,n=!1){let r=[],l;for(let i of e.list)n?(l=new nn,l.vod_pic=this.detailProxy+S3(i.vod_id),l.vod_id=i.vod_id,l.vod_name=i.vod_name,l.vod_remarks=i.vod_remarks):l=this.parseVodDetail(i),this.remove18&&i.type_id!==this.type_id_18&&r.push(l),!this.remove18&&i.type_id===this.type_id_18&&r.push(l);return r}parseVodDetail(e){let n=new An;n.vod_id=e.vod_id,n.vod_name=e.vod_name,n.vod_pic=e.vod_pic,n.vod_remarks=e.vod_remarks,n.vod_area=e.vod_area,n.vod_year=e.vod_year,n.vod_actor=e.vod_actor,n.vod_director=e.vod_director;let r=br(e.vod_content);return n.vod_content=r.text(),e.vod_down_url!==void 0&&e.vod_down_url.length>0&&(n.vod_play_from="\u76F4\u94FE\u64AD\u653E$$$",n.vod_play_url=e.vod_down_url+"$$$"),n.vod_play_from=n.vod_play_from+e.vod_play_from,n.vod_play_url=n.vod_play_url+e.vod_play_url,n.type_name=e.type_name,n}async parseVodDetailfromJson(e){let n,r=e.list;if(r.length>0){let l=r[0];n=this.parseVodDetail(l)}return n}async setClasses(){let e=await this.fetch(this.siteUrl+"/api.php/provide/vod/from",{ac:"list"},this.getHeader()),n=JSON.parse(e);for(let r of n.class)r.type_pid!==0&&this.classes.push(this.getTypeDic(r.type_name,r.type_id))}async setFilterObj(){let e=await this.fetch(this.siteUrl+"/api.php/provide/vod/from",{ac:"list"},this.getHeader()),n=JSON.parse(e);for(let r of this.classes){let l=r.type_id.toString();if(l!=="\u6700\u8FD1\u66F4\u65B0"){let i={key:"1",name:"\u5206\u7C7B",value:[{n:"\u5168\u90E8",v:l}]};for(let s of n.class){let a=s.type_name;a===this.type_name_18&&(this.type_id_18=s.type_id.toString()),this.remove18?s.type_pid===r.type_id&&a!==this.type_name_18&&i.value.push({n:a,v:s.type_id.toString()}):s.type_pid===r.type_id&&a===this.type_name_18&&i.value.push({n:a,v:s.type_id.toString()})}this.remove18?this.filterObj[l]=[i]:this.classes=[this.getTypeDic("\u6700\u8FD1\u66F4\u65B0","\u6700\u8FD1\u66F4\u65B0"),this.getTypeDic(this.type_name_18,this.type_id_18)]}}}async setHomeVod(){let e=await this.fetch(this.siteUrl+"/index.php/ajax/data",{mid:"1"},this.getHeader());this.homeVodList=await this.parseVodShortListFromJson(JSON.parse(e))}async setDetail(e){let n=await this.fetch(this.siteUrl+"/api.php/provide/vod",{ac:"detail",ids:e},this.getHeader());this.vodDetail=await this.parseVodDetailfromJson(JSON.parse(n))}async setCategory(e,n,r,l){e=l[1]??e;let i=this.siteUrl+`/index.php/ajax/data?mid=1&tid=${e}&page=${n}&limit=20`;await this.jadeLog.debug(`\u5206\u7C7BURL:${i}`);let s=await this.fetch(i,null,this.getHeader());await this.jadeLog.debug(`\u5206\u7C7B\u5185\u5BB9\u4E3A:${s}`),this.vodList=await this.parseVodShortListFromJson(JSON.parse(s))}async setSearch(e,n){let r=await this.fetch(this.siteUrl+"/api.php/provide/vod/",{wd:e},this.getHeader());this.vodList=await this.parseVodShortListFromJson(JSON.parse(r),!0)}async proxy(e,n){await this.jadeLog.debug(`\u6B63\u5728\u8BBE\u7F6E\u53CD\u5411\u4EE3\u7406 segments = ${e.join(",")},headers = ${JSON.stringify(n)}`);let r=e[0],l=x2(e[1]);if(await this.jadeLog.debug(`\u53CD\u5411\u4EE3\u7406\u53C2\u6570\u4E3A:${l}`),r==="detail"){let i=await this.fetch(this.siteUrl+"/api.php/provide/vod",{ac:"detail",ids:l},this.getHeader()),s=await this.parseVodDetailfromJson(JSON.parse(i)),a=await this.fetch(s.vod_pic,null,this.getHeader(),!1,!1,2);return Ae.isEmpty(a)?JSON.stringify({code:500,buffer:2,content:"",headers:{}}):JSON.stringify({code:200,buffer:2,content:a,headers:{}})}}};var cb=class extends E4{constructor(){super(),this.siteUrl="http://cj.ffzyapi.com",this.remove18=!1,this.type_id_18=34}getAppName(){return"\u975E\u51E1\u8D44\u6E9018+"}getName(){return"\u{1F51E}\u2503\u975E\u51E1\u8D44\u6E9018+\u2503\u{1F51E}"}getJSName(){return"feifan18"}getType(){return 3}async spiderInit(e){await super.spiderInit(e)}async init(e){await super.init(e),await this.spiderInit(null)}},sn=new cb;var fb=class extends Qn{constructor(){super()}getName(){return sn.getName()}getAppName(){return sn.getAppName()}getJSName(){return sn.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await sn.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await sn.initCookie(e.server.config.bilicookie),await sn.spiderInit(e),sn.cfgObj.code=0,sn.catOpenStatus=!0,sn.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await sn.setClasses(),this.classes=sn.classes}async setFilterObj(){await sn.setFilterObj(),this.filterObj=sn.filterObj}async setHomeVod(){await sn.setHomeVod(),this.homeVodList=sn.homeVodList}async setCategory(e,n,r,l){await sn.setCategory(e,n,r,l),this.vodList=sn.vodList}async setDetail(e){await sn.setDetail(e),this.vodDetail=sn.vodDetail}async setPlay(e,n,r){await sn.setPlay(e,n,r),this.playUrl=sn.playUrl,this.result=sn.result}async setSearch(e,n,r){await sn.setSearch(e,n,r),this.vodList=sn.vodList,this.result=sn.result}async setProxy(e,n){return await sn.proxy(e,n)}},Os=new fb;async function Fz(t,e){return await Os.init(t,e)}async function Mz(t,e){return await Os.home(t,e)}async function Nve(t,e){return await Os.homeVod(t,e)}async function $z(t,e){return await Os.category(t,e)}async function jz(t,e){return await Os.detail(t,e)}async function Uz(t,e){return await Os.play(t,e)}async function Bz(t,e){return await Os.search(t,e)}async function Ive(t,e){return await Os.proxy(t,e)}var Hz={meta:{key:sn.getJSName(),name:sn.getName(),type:sn.getType()},api:async t=>{t.post("/init",Fz),t.post("/home",Mz),t.post("/category",$z),t.post("/detail",jz),t.post("/play",Uz),t.post("/search",Bz),t.get("/proxy/:what/:ids/:end",Ive)},spider:{init:Fz,home:Mz,homeVod:Nve,category:$z,detail:jz,play:Uz,search:Bz}};var pb=class extends Yn{constructor(){super(),this.siteUrl="https://cn.asianx.tube/"}getName(){return"\u{1F51E}\u2503\u6D77\u5916\u5B85\u2503\u{1F51E}"}getAppName(){return"\u6D77\u5916\u5B85"}getJSName(){return"asianx"}getType(){return 3}async getFilter(e){let n=e(e('[class="menu m-0 mb-2 mb-lg-0"]')).find("a").slice(6),r={key:"1",name:"\u5206\u7C7B",value:[{n:"\u5168\u90E8",v:"\u5168\u90E8"}]};for(let l of n){let i=e(e(l).find("span")).text(),s=l.attribs.href;r.value.push({n:i,v:s})}return[r]}async parseVodShortListFromDoc(e,n=!1){let r=[],l;n?l=e(e('[class="gal-box"]')).slice(12):l=e(e('[class="gal-box"]'));for(let i of l){let s=new nn,a=e(i).find("a");s.vod_id=a[0].attribs.href,s.vod_pic=e(a[0]).find("img")[0].attribs["data-src"],s.vod_name=a[1].attribs.title,s.vod_remarks=e(e(i).find('[class="meta text-muted text-truncate"]')).text(),r.push(s)}return r}async parseVodDetailFromDoc(e){let n=new An,r=Yr(/<script type="application\/ld\+json">(.*?)<\/script>/,e),l=JSON.parse(r),i=l.name.split(" ");n.vod_name=i[0],n.vod_play_from=["\u672A\u52A0\u5BC6\u7EBF\u8DEF","\u52A0\u5BC6\u7EBF\u8DEF"].join("$$$");let s=l.contentUrl,a=l.embedUrl;return n.vod_play_url=[`${i[0]}$${s}`,`${i[0]}$${a}`].join("$$$"),n.vod_remarks=l.uploadDate,n.vod_content=l.description,n}async setClasses(){this.classes=[],this.classes.push({type_name:"\u9996\u9875",type_id:"/"});let e=await this.fetch(this.siteUrl,null,this.getHeader());if(!Ae.isEmpty(e)){let n=br(e),r=n(n('[class="menu m-0 mb-2 mb-lg-0"]')).find("a").slice(0,5);for(let l of r){let i=n(n(l).find("span")).text(),s=l.attribs.href;this.classes.push({type_name:i,type_id:s})}this.filterObj[this.classes[0].type_id]=await this.getFilter(n)}}async setHomeVod(){let e=await this.fetch(this.siteUrl,null,this.getHeader());if(!Ae.isEmpty(e)){let n=br(e);this.homeVodList=await this.parseVodShortListFromDoc(n,!0)}}getExtend(e,n){return n[1]!==void 0?n[1]==="\u5168\u90E8"?this.siteUrl:this.siteUrl+n[1]+"/"+e:this.siteUrl}async setDetail(e){let n=await this.fetch(e,null,this.getHeader());Ae.isEmpty(n)||(this.vodDetail=await this.parseVodDetailFromDoc(n))}async setCategory(e,n,r,l){let i;e==="/"?i=this.getExtend(n,l):i=this.siteUrl+e+"/"+n;let s=await this.fetch(i,null,this.getHeader());if(!Ae.isEmpty(s)){let a=br(s);this.vodList=await this.parseVodShortListFromDoc(a,!1)}}},an=new pb;var db=class extends Qn{constructor(){super()}getName(){return an.getName()}getAppName(){return an.getAppName()}getJSName(){return an.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await an.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await an.initCookie(e.server.config.bilicookie),await an.spiderInit(e),an.cfgObj.code=0,an.catOpenStatus=!0,an.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await an.setClasses(),this.classes=an.classes}async setFilterObj(){await an.setFilterObj(),this.filterObj=an.filterObj}async setHomeVod(){await an.setHomeVod(),this.homeVodList=an.homeVodList}async setCategory(e,n,r,l){await an.setCategory(e,n,r,l),this.vodList=an.vodList}async setDetail(e){await an.setDetail(e),this.vodDetail=an.vodDetail}async setPlay(e,n,r){await an.setPlay(e,n,r),this.playUrl=an.playUrl,this.result=an.result}async setSearch(e,n,r){await an.setSearch(e,n,r),this.vodList=an.vodList,this.result=an.result}async setProxy(e,n){return await an.proxy(e,n)}},Ns=new db;async function qz(t,e){return await Ns.init(t,e)}async function Vz(t,e){return await Ns.home(t,e)}async function Cve(t,e){return await Ns.homeVod(t,e)}async function zz(t,e){return await Ns.category(t,e)}async function Gz(t,e){return await Ns.detail(t,e)}async function Xz(t,e){return await Ns.play(t,e)}async function Wz(t,e){return await Ns.search(t,e)}async function kve(t,e){return await Ns.proxy(t,e)}var Kz={meta:{key:an.getJSName(),name:an.getName(),type:an.getType()},api:async t=>{t.post("/init",qz),t.post("/home",Vz),t.post("/category",zz),t.post("/detail",Gz),t.post("/play",Xz),t.post("/search",Wz),t.get("/proxy/:what/:ids/:end",kve)},spider:{init:qz,home:Vz,homeVod:Cve,category:zz,detail:Gz,play:Xz,search:Wz}};var hb=class extends E4{constructor(){super(),this.siteUrl="https://cj.lzcaiji.com",this.remove18=!1}getAppName(){return"\u91CF\u5B50\u8D44\u6E9018+"}getName(){return"\u{1F51E}\u2503\u91CF\u5B50\u8D44\u6E9018+\u2503\u{1F51E}"}getJSName(){return"liangzi18"}getType(){return 3}async spiderInit(e){await super.spiderInit(e)}async init(e){await super.init(e),await this.spiderInit(null)}},on=new hb;var mb=class extends Qn{constructor(){super()}getName(){return on.getName()}getAppName(){return on.getAppName()}getJSName(){return on.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await on.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await on.initCookie(e.server.config.bilicookie),await on.spiderInit(e),on.cfgObj.code=0,on.catOpenStatus=!0,on.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await on.setClasses(),this.classes=on.classes}async setFilterObj(){await on.setFilterObj(),this.filterObj=on.filterObj}async setHomeVod(){await on.setHomeVod(),this.homeVodList=on.homeVodList}async setCategory(e,n,r,l){await on.setCategory(e,n,r,l),this.vodList=on.vodList}async setDetail(e){await on.setDetail(e),this.vodDetail=on.vodDetail}async setPlay(e,n,r){await on.setPlay(e,n,r),this.playUrl=on.playUrl,this.result=on.result}async setSearch(e,n,r){await on.setSearch(e,n,r),this.vodList=on.vodList,this.result=on.result}async setProxy(e,n){return await on.proxy(e,n)}},Is=new mb;async function Yz(t,e){return await Is.init(t,e)}async function Jz(t,e){return await Is.home(t,e)}async function Pve(t,e){return await Is.homeVod(t,e)}async function Qz(t,e){return await Is.category(t,e)}async function Zz(t,e){return await Is.detail(t,e)}async function eG(t,e){return await Is.play(t,e)}async function tG(t,e){return await Is.search(t,e)}async function Dve(t,e){return await Is.proxy(t,e)}var nG={meta:{key:on.getJSName(),name:on.getName(),type:on.getType()},api:async t=>{t.post("/init",Yz),t.post("/home",Jz),t.post("/category",Qz),t.post("/detail",Zz),t.post("/play",eG),t.post("/search",tG),t.get("/proxy/:what/:ids/:end",Dve)},spider:{init:Yz,home:Jz,homeVod:Pve,category:Qz,detail:Zz,play:eG,search:tG}};var gb=class extends Yn{constructor(){super(),this.siteUrl="https://jable.tv",this.cookie=""}async spiderInit(e=null){e!==null?this.jsBase=await js2Proxy(e,"img",this.getImgHeaders()):this.jsBase=await js2Proxy(!0,this.siteType,this.siteKey,"img/",this.getImgHeaders())}getImgHeaders(){return{"User-Agent":"PostmanRuntime/7.37.3","Postman-Token":"c2602692-1a05-4bb0-93cd-270afad97e87",Host:"assets-cdn.jable.tv",Proxy:!0}}async init(e){await super.init(e),await this.spiderInit(null)}getAppName(){return"Jable"}getName(){return"\u{1F51E}\u2503Jable\u2503\u{1F51E}"}getJSName(){return"jable"}getType(){return 3}getHeader(){let e={};return e["User-Agent"]="PostmanRuntime/7.36.3",e.Host="jable.tv",e["Postman-Token"]="33290483-3c8d-413f-a160-0d3aea9e6f95",e}async getHtml(e=this.siteUrl,n=!1,r=this.getHeader()){return super.getHtml(e,!0,r)}async setClasses(){let e=await this.getHtml(this.siteUrl),n=e('[class="title-box"]'),r=e("div.row");for(let l of e(r[0]).find("a")){let i=e(l).text(),s=l.attribs.href;s.indexOf(this.siteUrl)>-1&&this.classes.push(this.getTypeDic(i,s))}n=n.slice(1,9),r=r.slice(1,9);for(let l=0;l<n.length;l++){let i=e(r[l]).find("a")[0].attribs.href;this.classes.push(this.getTypeDic("\u6807\u7B7E",i));break}}async getSortFilter(e){let n=e('[class="sorting-nav"]').find("a"),r={name:"\u6392\u5E8F",key:"sort",value:[]};for(let l of n){let i=l.attribs["data-parameters"].split("sort_by:")[1],s=e(l).text();r.value.push({n:s,v:i})}return r}async getFilter(e,n,r,l){let i=[];if(n<4){let s={name:l,key:"type",value:[]},a=["div.img-box > a",'[class="horizontal-img-box ml-3 mb-3"] > a',"","sort"],o=["div.absolute-center > h4","div.detail"],f=await this.getHtml(r);for(let c of f(a[n])){let p=c.attribs.href,m=e(e(c).find(o[n])).text().replaceAll(" ","").replaceAll(`
`},timeout:.1})}async info(e,n){this.level_index<=1&&await this.log(this.formatMessage("INFO",e,n))}async warning(e,n){this.level_index<=2&&await this.log(this.formatMessage("WARNING",e,n))}async error(e,n){this.level_index<=3&&await this.log(this.formatMessage("ERROR",e,n))}async debug(e,n){this.level_index<=0&&await this.log(this.formatMessage("DEBUG",e,n))}};var Qn=class extends Yn{constructor(){super(),this.jadeLog=new _4(this.getAppName(),"DEBUG")}async init(e,n){await this.jadeLog.info("\u521D\u59CB\u5316",!0);try{await await req("http://192.168.0.116:8099/clear",{timeout:.1}),this.siteKey=this.getJSName(),this.siteType=this.getType(),this.cfgObj=e.server.config[this.siteKey],this.deviceKey=e.server.prefix+"/",this.db=e.server.db,this.catOpenStatus=!0,this.danmuStaus=!1;try{await this.loadFilterAndClasses()?await this.jadeLog.debug("\u8BFB\u53D6\u7F13\u5B58\u5217\u8868\u548C\u4E8C\u7EA7\u83DC\u5355\u6210\u529F"):(await this.jadeLog.warning("\u8BFB\u53D6\u7F13\u5B58\u5217\u8868\u548C\u4E8C\u7EA7\u83DC\u5355\u5931\u8D25"),await this.writeFilterAndClasses())}catch(r){await this.db.push(this.deviceKey+"classes",{}),await this.db.push(this.deviceKey+"filterObj",{}),await this.jadeLog.error("\u8BFB\u53D6\u7F13\u5B58\u5931\u8D25,\u5931\u8D25\u539F\u56E0\u4E3A:"+r,!1)}}catch(r){await this.jadeLog.error(`\u521D\u59CB\u5316\u5931\u8D25,\u5931\u8D25\u539F\u56E0\u4E3A:${r}`)}await this.jadeLog.info("\u521D\u59CB\u5316\u5B8C\u6210",!0)}async loadFilterAndClasses(){return this.classes=await this.getClassesCache(),this.filterObj=await this.getFiletObjCache(),this.classes.length>0?!0:(await this.db.push(this.deviceKey+"classes",{}),await this.db.push(this.deviceKey+"filterObj",{}),!1)}async writeFilterAndClasses(){this.catOpenStatus&&this.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await this.setClasses(),await this.setFilterObj(),await this.db.push(this.deviceKey+"classes",this.classes),await this.db.push(this.deviceKey+"filterObj",this.filterObj)}async getClassesCache(){let e=await this.db.getObjectDefault(this.deviceKey+"classes",{});return Ae.isEmpty(e)?this.classes:e}async getFiletObjCache(){let e=await this.db.getObjectDefault(this.deviceKey+"filterObj",{});return Ae.isEmpty(e)?this.filterObj:e}async home(e,n){return this.vodList=[],await this.jadeLog.info("\u6B63\u5728\u89E3\u6790\u9996\u9875\u7C7B\u522B",!0),await this.setHome(),await this.jadeLog.debug(`\u9996\u9875\u7C7B\u522B\u5185\u5BB9\u4E3A:${this.result.home(this.classes,[],this.filterObj)}`),await this.jadeLog.info("\u9996\u9875\u7C7B\u522B\u89E3\u6790\u5B8C\u6210",!0),this.result.home(this.classes,[],this.filterObj)}async homeVod(){await this.jadeLog.info("\u6B63\u5728\u89E3\u6790\u9996\u9875\u5185\u5BB9",!0);try{return await this.setHomeVod(),await this.jadeLog.debug(`\u9996\u9875\u5185\u5BB9\u4E3A:${this.result.homeVod(this.homeVodList)}`),await this.jadeLog.info("\u9996\u9875\u5185\u5BB9\u89E3\u6790\u5B8C\u6210",!0),this.result.homeVod(this.homeVodList)}catch(e){await this.jadeLog.error(`\u9996\u9875\u5185\u5BB9\u89E3\u6790\u5931\u8D25,\u5931\u8D25\u539F\u56E0\u4E3A:${e}`)}}async category(e,n){let r=e.body.id,l=e.body.page,i=!0,s=e.body.filters;if(this.page=parseInt(l),await this.jadeLog.info(`\u6B63\u5728\u89E3\u6790\u5206\u7C7B\u9875\u9762,tid = ${r},pg = ${l},extend = ${JSON.stringify(s)}`),r==="\u6700\u8FD1\u66F4\u65B0")return this.page=0,await this.homeVod();try{return this.vodList=[],await this.setCategory(r,l,i,s),await this.jadeLog.debug(`\u5206\u7C7B\u9875\u9762\u5185\u5BB9\u4E3A:${this.result.category(this.vodList,this.page,this.count,this.limit,this.total)}`),await this.jadeLog.info("\u5206\u7C7B\u9875\u9762\u89E3\u6790\u5B8C\u6210",!0),this.result.category(this.vodList,this.page,this.count,this.limit,this.total)}catch(a){await this.jadeLog.error(`\u5206\u7C7B\u9875\u89E3\u6790\u5931\u8D25,\u5931\u8D25\u539F\u56E0\u4E3A:${a}`)}}async detail(e,n){await this.jadeLog.debug(`\u83B7\u53D6\u8BE6\u60C5\u9875\u9762:${JSON.stringify(e.body)}`);let l=(Array.isArray(e.body.id)?e.body.id:[e.body.id])[0];this.vodDetail=new An,await this.jadeLog.info(`\u6B63\u5728\u83B7\u53D6\u8BE6\u60C5\u9875\u9762,id\u4E3A:${l}`);try{return await this.setDetail(l),await this.jadeLog.debug(`\u8BE6\u60C5\u9875\u9762\u5185\u5BB9\u4E3A:${this.result.detail(this.vodDetail)}`),await this.jadeLog.info("\u8BE6\u60C5\u9875\u9762\u89E3\u6790\u5B8C\u6210",!0),this.vodDetail.vod_id=l,this.result.detail(this.vodDetail)}catch(i){await this.jadeLog.error("\u8BE6\u60C5\u754C\u9762\u83B7\u53D6\u5931\u8D25,\u5931\u8D25\u539F\u56E0\u4E3A:"+i)}}async play(e,n){let r=e.body.flag,l=e.body.id,i=[];await this.jadeLog.info(`\u6B63\u5728\u89E3\u6790\u64AD\u653E\u9875\u9762,flag:${r},id:${l},flags:${i}`,!0);try{let s;if(await this.setPlay(r,l,i),this.playUrl.content!==void 0)return this.playUrl;if(await this.jadeLog.debug("\u4E0D\u9700\u8981\u52A0\u8F7D\u5F39\u5E55",!0),this.result.jx===1&&this.playUrl.indexOf(".m3u8")<0){let a=await e.server.messageToDart({action:"sniff",opt:{url:l,timeout:6e4,rule:"http((?!http).){12,}?\\.m3u8?"}});if(a&&a.url){let o={};a.headers&&(a.headers["user-agent"]&&(o["User-Agent"]=a.headers["user-agent"]),a.headers.referer&&(o.Referer=a.headers.referer)),await this.jadeLog.debug(`\u55C5\u63A2\u6210\u529F,\u64AD\u653E\u8FDE\u63A5\u4E3A:${a.url}`),s=JSON.stringify({parse:0,url:a.url,header:a.headers,jx:"0"})}else await this.jadeLog.error("\u89E3\u6790\u5931\u8D25,\u65E0\u6CD5\u55C5\u63A2\u5230\u64AD\u653E\u8FDE\u63A5"),s=JSON.stringify({parse:0,url:"",jx:"0"})}else s=this.result.play(this.playUrl);return await this.jadeLog.info("\u64AD\u653E\u9875\u9762\u89E3\u6790\u5B8C\u6210",!0),await this.jadeLog.debug(`\u64AD\u653E\u9875\u9762\u5185\u5BB9\u4E3A:${s}`),s}catch(s){await this.jadeLog.error("\u89E3\u6790\u64AD\u653E\u9875\u9762\u51FA\u9519,\u5931\u8D25\u539F\u56E0\u4E3A:"+s)}}async search(e,n){let r=e.body.page,l=e.body.wd,i=!0;return this.vodList=[],await this.jadeLog.info(`\u6B63\u5728\u89E3\u6790\u641C\u7D22\u9875\u9762,\u5173\u952E\u8BCD\u4E3A = ${l},quick = ${i},pg = ${r}`),await this.setSearch(l,i,r),this.vodList.length===0&&l.indexOf(" ")>-1&&(await this.jadeLog.debug(`\u641C\u7D22\u5173\u952E\u8BCD\u4E3A:${l},\u5176\u4E2D\u6709\u7A7A\u683C,\u53BB\u9664\u7A7A\u683C\u5728\u641C\u7D22\u4E00\u6B21`),await this.search(l.replaceAll(" ","").replaceAll("?",""),i)),await this.jadeLog.debug(`\u641C\u7D22\u9875\u9762\u5185\u5BB9\u4E3A:${this.result.search(this.vodList)}`),await this.jadeLog.info("\u641C\u7D22\u9875\u9762\u89E3\u6790\u5B8C\u6210",!0),this.result.search(this.vodList)}async proxy(e,n){try{let r=e.params.what,l={};try{l=JSON.parse(e.params.ids)}catch{}let i=decodeURIComponent(e.params.end),s=JSON.parse(await this.setProxy([r,i],l));return r==="dash"?(await this.jadeLog.debug(`dash:${JSON.stringify(s)}`),n.code(s.code).headers(s.headers),s.content):s.code===200?(n.code(s.code).headers(s.headers),Buffer.from(s.content,"base64")):(n.code(500),"")}catch(r){await this.jadeLog.error(`\u4EE3\u7406\u56DE\u8C03\u5931\u8D25,\u5931\u8D25\u539F\u56E0\u4E3A:${r}`)}}};function Tz(t,{key:e,iv:n}={}){let r="B77A9FF7F323B5404902102257503C2F",l="B77A9FF7F323B5404902102257503C2F";var i=Qt.enc.Utf8.parse(t),s=Qt.AES.encrypt(i,Qt.enc.Utf8.parse(e||r),{iv:Qt.enc.Utf8.parse(n||l),mode:Qt.mode.CBC,padding:Qt.pad.Pkcs7});return Qt.enc.Base64.stringify(s.ciphertext)}function Ave(){let t=new Date;return Tz(parseInt(t.getTime()/1e3)+t.getTimezoneOffset()*60+-1)}function wve(t){let n=Qt.enc.Utf8.parse("46cc793c53dc451b"),r=Qt.AES.decrypt(t,n,{mode:Qt.mode.ECB,padding:Qt.pad.Pkcs7});return Qt.enc.Utf8.stringify(r).toString()}var sb=class extends Yn{constructor(){super(),this.siteUrl="https://api.qianyuewenhua.xyz"}async spiderInit(e=null){e!==null?this.jsBase=await js2Proxy(e,"imgBt",this.getHeader()):this.jsBase=await js2Proxy(!0,this.siteType,this.siteKey,"imgBt/",this.getHeader())}async init(e){await super.init(e),this.danmuStaus=!0,await this.spiderInit(null)}getAppName(){return"\u542B\u7F9E\u8349"}getName(){return"\u{1F51E}\u2503\u542B\u7F9E\u8349\u2503\u{1F51E}"}getJSName(){return"hanxiucao"}getType(){return 3}getParams(e){return{endata:Tz(JSON.stringify(e)),ents:Ave()}}async setClasses(){let e=this.getParams({channel:"pc"}),n=await this.post(this.siteUrl+"/panel/list",e,this.getHeader(),""),r=JSON.parse(n);for(let l of r.data.list){let i=l.panelId,s=l.panelName;s!=="\u9996\u9875"&&this.classes.push(this.getTypeDic(s,i))}}async getFilter(e){let n=[];for(let r of e){let l=JSON.parse(r.layoutContent);for(let i of l.sortKeys){let s={};i.label!=="\u7EFC\u5408\u6392\u5E8F"?(s={key:"sorts",name:i.label.toString(),value:[]},s.value.push({n:"\u5347\u5E8F",v:i.value.toString()+"-\u5347\u5E8F"}),s.value.push({n:"\u964D\u5E8F",v:i.value.toString()+"-\u964D\u5E8F"})):(s={key:"sorts",name:"\u6392\u5E8F",value:[]},s.value.push({n:i.label.toString(),v:i.value.toString()})),n.push(s)}}return n}async getNvYouFilter(e){let n=[],r={uids:[],page:1,length:20};for(let i=0;i<e.length;i++){let s=e[i],a=JSON.parse(s.layoutContent);r.uids=a.list;let o=JSON.parse(await this.post(this.siteUrl+"/user/getUpList",this.getParams(r),this.getHeader(),"")),f={key:"tags",name:s.layoutName,value:[]};for(let c of o.data.list)f.value.push({n:c.user_nicename,v:JSON.stringify(c)});n.push(f)}let l=[{key:"sorts",name:"\u53D1\u5E03\u65F6\u95F4",value:[{n:"\u5347\u5E8F",v:"1-\u5347\u5E8F"},{n:"\u964D\u5E8F",v:"1-\u964D\u5E8F"}]},{key:"sorts",name:"\u70B9\u8D5E\u6570\u91CF",value:[{n:"\u5347\u5E8F",v:"5-\u5347\u5E8F"},{n:"\u964D\u5E8F",v:"5-\u964D\u5E8F"}]},{key:"sorts",name:"\u6536\u85CF\u6570\u91CF",value:[{n:"\u5347\u5E8F",v:"6-\u5347\u5E8F"},{n:"\u964D\u5E8F",v:"6-\u964D\u5E8F"}]}];return[...n,...l]}async getZhuanTiFilter(e){let n=[],r={page:1,length:36,subjectIds:[]};for(let i=0;i<e.length;i++){let s=e[i],a=JSON.parse(s.layoutContent);r.subjectIds=a.list;let o=JSON.parse(await this.post(this.siteUrl+"/subject/list",this.getParams(r),this.getHeader(),"")),f={key:"tags",name:s.layoutName,value:[]};for(let c of o.data.list)f.value.push({n:c.name,v:JSON.stringify(c)});n.push(f)}let l={key:"sorts",name:"\u6392\u5E8F",value:[{n:"\u63A8\u8350",v:"8"},{n:"\u6700\u65B0",v:"1"},{n:"\u6700\u70ED",v:"2"}]};return n.push(l),n}async getChuanMeiFilter(e){let n=[],r={key:"tags",name:"\u4F20\u5A92",value:[]};for(let l=0;l<e.length;l++){let i=e[l];r.value.push({n:i.layoutName,v:i.layoutContent})}n.push(r);for(let l of JSON.parse(e[0].layoutContent).moreOrderType)r={key:"sorts",name:l.label.toString(),value:[]},r.value.push({n:"\u5347\u5E8F",v:l.value.toString()+"-\u5347\u5E8F"}),r.value.push({n:"\u964D\u5E8F",v:l.value.toString()+"-\u964D\u5E8F"}),n.push(r);return n.push(r),n}async getHeJiFilter(e){let n=[],r={page:1,length:24,gatherType:1,gatherIds:[]},l={key:"tags",name:"\u5408\u96C6",value:[]},i=JSON.parse(await this.post(this.siteUrl+"/gather/getList",this.getParams(r),this.getHeader(),""));for(let s of i.data.list)l.value.push({n:s.name,v:s.gatherId.toString()});return n.push(l),n}async setFilterObj(){for(let e=0;e<this.classes.length;e++){let n=this.classes[e],r=n.type_id,l=n.type_name,i=[];if(r!=="\u6700\u8FD1\u66F4\u65B0"){r=parseInt(r);let s=this.getParams({panelId:r}),a=await this.post(this.siteUrl+"/panel/get",s,this.getHeader(),""),o=JSON.parse(a),f=o.data.info.Layouts,c=JSON.parse(o.data.info.Layouts[0].layoutContent);if(r>174&&r<181){let p=JSON.parse(o.data.info.Layouts[0].layoutContent);r=r+"$"+JSON.stringify(p),i=await this.getFilter(f)}else switch(r){case 172:i=await this.getHeJiFilter(f),r=r+"$"+i[0].value[0].v;break;case 173:i=await this.getChuanMeiFilter(f),r=r+"$"+JSON.stringify(c);break;case 182:i=await this.getNvYouFilter(f),r=r+"$"+i[0].value[0].v;break;case 209:i=await this.getZhuanTiFilter(f),r=r+"$"+i[0].value[0].v;break;default:break}this.classes[e]=this.getTypeDic(l,r),this.filterObj[r]=i}}}async parseVodShortListFromJson(e){let n=[];for(let r of e){let l=new nn;l.vod_id=r.id,l.vod_name=r.name,l.vod_pic=this.jsBase+S3(r.coverImgUrl),r.hot===void 0?l.vod_remarks="\u89C2\u770B:"+(r.seeCount/1e4).toFixed(1).toString()+"W":l.vod_remarks="\u70ED\u5EA6:"+(r.hot/1e3).toFixed(1).toString()+"K",n.push(l)}return n}async parseVodShortListFromGatherJson(e){let n=[];for(let r of e){let l=new nn;l.vod_id=r.gatherId,l.vod_name=r.name,l.vod_pic=this.jsBase+S3(r.coverImgUrl),n.push(l)}return n}async parseVodDetailFromDoc(e){let n=new An;n.vod_name=e.name,n.vod_year=e.addTime,n.vod_pic=this.jsBase+S3(e.coverImgUrl),n.type_name=e.typeName,n.vod_content=e.tags;let r=[],l={videoId:e.id},s=JSON.parse(await this.post(this.siteUrl+"/videos/getPreUrl",this.getParams(l),this.getHeader(),"")).data.url.split("?"),a=s[0]+"?sign"+s[1].split("&sign").slice(-1)[0];r.push(n.vod_name+"$"+a);let o={\u7EBF\u8DEF1:r.join("#")};return n.vod_play_url=Ae.values(o).join("$$$"),n.vod_play_from=Ae.keys(o).join("$$$"),n}async getHomeVod(e){let n=this.getParams(e),r=await this.post(this.siteUrl+"/videos/getList",n,this.getHeader(),"");return await this.parseVodShortListFromJson(JSON.parse(r).data.list)}async setHomeVod(){let e=await this.getHomeVod({page:1,length:16,offset:0,typeIds:[],orderType:1,payType:[3,4]}),n=await this.getHomeVod({page:1,length:16,offset:0,typeIds:[],orderType:3,payType:[1]}),r=await this.getHomeVod({page:1,length:32,offset:0,typeIds:[],orderType:1,payType:[3]});this.homeVodList=[...e,...n,...r]}getSortParams(e,n){let r=n.sorts??"";if(!Ae.isEmpty(r)){let l=r.split("-")[0];e.orderType=parseInt(l);let i=r.split("-")[1],s=0;i==="\u5347\u5E8F"?s="1":s="0",e.orderMode=parseInt(s)}return e}getTopParams(e,n,r,l){let i;e===180?i="1":i="7";let s="1",a,o=l.sorts??i,f=!1;o.indexOf("-")>-1?(a=o.split("-")[0],o.split("-")[1]==="\u5347\u5E8F"?s="1":s="0",f=!0):a=i;let c={orderType:parseInt(a),tags:[],length:11,page:parseInt(r),typeIds:n.classs,payType:n.payType};return f&&(c.orderMode=parseInt(s)),c}getChuanMeiParams(e,n,r){let l;Ae.isEmpty(r.tags)?l=e:l=JSON.parse(r.tags);let i={page:parseInt(n),length:32,offset:32*parseInt(n-1),tag:l.videoLables.join(","),typeIds:l.classs,orderType:l.orderType,payType:l.payType};return i=this.getSortParams(i,r),i}getNvYouParams(e,n,r){let l;Ae.isEmpty(r.tags)?l=e:l=JSON.parse(r.tags);let i={videoSort:1,touid:l.id,page:parseInt(n),length:12,orderType:1};return i=this.getSortParams(i,r),i}getZhuantiParams(e,n,r){let l;Ae.isEmpty(r.tags)?l=e:l=JSON.parse(r.tags);let i=r.sorts??"8";return{page:parseInt(n),length:12,offset:12*(parseInt(n)-1),orderType:parseInt(i),subjectId:l.id}}async setCategory(e,n,r,l){let i=e.split("$"),s=parseInt(i[0]),a=JSON.parse(i[1]),o={},f="/videos/getList";if(s>174&&s<181)o=this.getTopParams(s,a,n,l);else switch(s){case 173:o=this.getChuanMeiParams(a,n,l);break;case 182:o=this.getNvYouParams(a,n,l),f="/user/getSpaceVideo";break;case 209:o=this.getZhuantiParams(a,n,l);break;case 172:let p=l.tags??a;o={gatherId:parseInt(p)},f="/gather/getDetail";break;default:break}let c=JSON.parse(await this.post(this.siteUrl+f,this.getParams(o),this.getHeader(),""));s===172?this.vodList=await this.parseVodShortListFromJson(c.data.info.videos):this.vodList=await this.parseVodShortListFromJson(c.data.list)}async setDetail(e){let n={videoId:parseInt(e),videoSort:1},r=JSON.parse(await this.post(this.siteUrl+"/videos/getInfo",this.getParams(n),this.getHeader(),""));this.vodDetail=await this.parseVodDetailFromDoc(r.data.info)}async proxy(e,n){let r=e[0],l=x2(e[1]);if(r==="imgBt"){let i=await req(l,{buffer:0});return JSON.stringify({code:200,buffer:2,content:wve(i.content).replaceAll("data:image/jpeg;base64,","").replaceAll("data:image/jpg;base64,","").replaceAll("data:image/png;base64",""),headers:n})}}async setSearch(e,n,r){let l={page:parseInt(r),length:12,type:1,key:e},i=JSON.parse(await this.post(this.siteUrl+"/base/globalSearch",this.getParams(l),this.getHeader(),""));this.vodList=await this.parseVodShortListFromJson(i.data.infos),this.result.setPage(parseInt(r),i.data.count/12,12,i.data.count)}},rn=new sb;var ab=class extends Qn{constructor(){super()}getName(){return rn.getName()}getAppName(){return rn.getAppName()}getJSName(){return rn.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await rn.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await rn.initCookie(e.server.config.bilicookie),await rn.spiderInit(e),rn.cfgObj.code=0,rn.catOpenStatus=!0,rn.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await rn.setClasses(),this.classes=rn.classes}async setFilterObj(){await rn.setFilterObj(),this.filterObj=rn.filterObj}async setHomeVod(){await rn.setHomeVod(),this.homeVodList=rn.homeVodList}async setCategory(e,n,r,l){await rn.setCategory(e,n,r,l),this.vodList=rn.vodList}async setDetail(e){await rn.setDetail(e),this.vodDetail=rn.vodDetail}async setPlay(e,n,r){await rn.setPlay(e,n,r),this.playUrl=rn.playUrl,this.result=rn.result}async setSearch(e,n,r){await rn.setSearch(e,n,r),this.vodList=rn.vodList,this.result=rn.result}async setProxy(e,n){return await rn.proxy(e,n)}},ws=new ab;async function Sz(t,e){return await ws.init(t,e)}async function xz(t,e){return await ws.home(t,e)}async function Rve(t,e){return await ws.homeVod(t,e)}async function Az(t,e){return await ws.category(t,e)}async function wz(t,e){return await ws.detail(t,e)}async function Rz(t,e){return await ws.play(t,e)}async function Oz(t,e){return await ws.search(t,e)}async function Ove(t,e){return await ws.proxy(t,e)}var Nz={meta:{key:rn.getJSName(),name:rn.getName(),type:rn.getType()},api:async t=>{t.post("/init",Sz),t.post("/home",xz),t.post("/category",Az),t.post("/detail",wz),t.post("/play",Rz),t.post("/search",Oz),t.get("/proxy/:what/:ids/:end",Ove)},spider:{init:Sz,home:xz,homeVod:Rve,category:Az,detail:wz,play:Rz,search:Oz}};var E4=class extends Yn{constructor(){super(),this.siteUrl="http://cj.ffzyapi.com",this.remove18=!1,this.type_id_18=34}async spiderInit(e){e!==null?this.detailProxy=await js2Proxy(e,"detail",this.getHeader()):this.detailProxy=await js2Proxy(!0,this.siteType,this.siteKey,"detail/",this.getHeader())}async init(e){await super.init(e),await this.spiderInit(null)}async parseVodShortListFromJson(e,n=!1){let r=[],l;for(let i of e.list)n?(l=new nn,l.vod_pic=this.detailProxy+S3(i.vod_id),l.vod_id=i.vod_id,l.vod_name=i.vod_name,l.vod_remarks=i.vod_remarks):l=this.parseVodDetail(i),this.remove18&&i.type_id!==this.type_id_18&&r.push(l),!this.remove18&&i.type_id===this.type_id_18&&r.push(l);return r}parseVodDetail(e){let n=new An;n.vod_id=e.vod_id,n.vod_name=e.vod_name,n.vod_pic=e.vod_pic,n.vod_remarks=e.vod_remarks,n.vod_area=e.vod_area,n.vod_year=e.vod_year,n.vod_actor=e.vod_actor,n.vod_director=e.vod_director;let r=br(e.vod_content);return n.vod_content=r.text(),e.vod_down_url!==void 0&&e.vod_down_url.length>0&&(n.vod_play_from="\u76F4\u94FE\u64AD\u653E$$$",n.vod_play_url=e.vod_down_url+"$$$"),n.vod_play_from=n.vod_play_from+e.vod_play_from,n.vod_play_url=n.vod_play_url+e.vod_play_url,n.type_name=e.type_name,n}async parseVodDetailfromJson(e){let n,r=e.list;if(r.length>0){let l=r[0];n=this.parseVodDetail(l)}return n}async setClasses(){let e=await this.fetch(this.siteUrl+"/api.php/provide/vod/from",{ac:"list"},this.getHeader()),n=JSON.parse(e);for(let r of n.class)r.type_pid!==0&&this.classes.push(this.getTypeDic(r.type_name,r.type_id))}async setFilterObj(){let e=await this.fetch(this.siteUrl+"/api.php/provide/vod/from",{ac:"list"},this.getHeader()),n=JSON.parse(e);for(let r of this.classes){let l=r.type_id.toString();if(l!=="\u6700\u8FD1\u66F4\u65B0"){let i={key:"1",name:"\u5206\u7C7B",value:[{n:"\u5168\u90E8",v:l}]};for(let s of n.class){let a=s.type_name;a===this.type_name_18&&(this.type_id_18=s.type_id.toString()),this.remove18?s.type_pid===r.type_id&&a!==this.type_name_18&&i.value.push({n:a,v:s.type_id.toString()}):s.type_pid===r.type_id&&a===this.type_name_18&&i.value.push({n:a,v:s.type_id.toString()})}this.remove18?this.filterObj[l]=[i]:this.classes=[this.getTypeDic("\u6700\u8FD1\u66F4\u65B0","\u6700\u8FD1\u66F4\u65B0"),this.getTypeDic(this.type_name_18,this.type_id_18)]}}}async setHomeVod(){let e=await this.fetch(this.siteUrl+"/index.php/ajax/data",{mid:"1"},this.getHeader());this.homeVodList=await this.parseVodShortListFromJson(JSON.parse(e))}async setDetail(e){let n=await this.fetch(this.siteUrl+"/api.php/provide/vod",{ac:"detail",ids:e},this.getHeader());this.vodDetail=await this.parseVodDetailfromJson(JSON.parse(n))}async setCategory(e,n,r,l){e=l[1]??e;let i=this.siteUrl+`/index.php/ajax/data?mid=1&tid=${e}&page=${n}&limit=20`;await this.jadeLog.debug(`\u5206\u7C7BURL:${i}`);let s=await this.fetch(i,null,this.getHeader());await this.jadeLog.debug(`\u5206\u7C7B\u5185\u5BB9\u4E3A:${s}`),this.vodList=await this.parseVodShortListFromJson(JSON.parse(s))}async setSearch(e,n){let r=await this.fetch(this.siteUrl+"/api.php/provide/vod/",{wd:e},this.getHeader());this.vodList=await this.parseVodShortListFromJson(JSON.parse(r),!0)}async proxy(e,n){await this.jadeLog.debug(`\u6B63\u5728\u8BBE\u7F6E\u53CD\u5411\u4EE3\u7406 segments = ${e.join(",")},headers = ${JSON.stringify(n)}`);let r=e[0],l=x2(e[1]);if(await this.jadeLog.debug(`\u53CD\u5411\u4EE3\u7406\u53C2\u6570\u4E3A:${l}`),r==="detail"){let i=await this.fetch(this.siteUrl+"/api.php/provide/vod",{ac:"detail",ids:l},this.getHeader()),s=await this.parseVodDetailfromJson(JSON.parse(i)),a=await this.fetch(s.vod_pic,null,this.getHeader(),!1,!1,2);return Ae.isEmpty(a)?JSON.stringify({code:500,buffer:2,content:"",headers:{}}):JSON.stringify({code:200,buffer:2,content:a,headers:{}})}}};var ob=class extends E4{constructor(){super(),this.siteUrl="https://cj.lzcaiji.com",this.remove18=!1}getAppName(){return"\u91CF\u5B50\u8D44\u6E9018+"}getName(){return"\u{1F51E}\u2503\u91CF\u5B50\u8D44\u6E9018+\u2503\u{1F51E}"}getJSName(){return"liangzi18"}getType(){return 3}async spiderInit(e){await super.spiderInit(e)}async init(e){await super.init(e),await this.spiderInit(null)}},ln=new ob;var ub=class extends Qn{constructor(){super()}getName(){return ln.getName()}getAppName(){return ln.getAppName()}getJSName(){return ln.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await ln.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await ln.initCookie(e.server.config.bilicookie),await ln.spiderInit(e),ln.cfgObj.code=0,ln.catOpenStatus=!0,ln.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await ln.setClasses(),this.classes=ln.classes}async setFilterObj(){await ln.setFilterObj(),this.filterObj=ln.filterObj}async setHomeVod(){await ln.setHomeVod(),this.homeVodList=ln.homeVodList}async setCategory(e,n,r,l){await ln.setCategory(e,n,r,l),this.vodList=ln.vodList}async setDetail(e){await ln.setDetail(e),this.vodDetail=ln.vodDetail}async setPlay(e,n,r){await ln.setPlay(e,n,r),this.playUrl=ln.playUrl,this.result=ln.result}async setSearch(e,n,r){await ln.setSearch(e,n,r),this.vodList=ln.vodList,this.result=ln.result}async setProxy(e,n){return await ln.proxy(e,n)}},Rs=new ub;async function Iz(t,e){return await Rs.init(t,e)}async function Cz(t,e){return await Rs.home(t,e)}async function Nve(t,e){return await Rs.homeVod(t,e)}async function kz(t,e){return await Rs.category(t,e)}async function Pz(t,e){return await Rs.detail(t,e)}async function Dz(t,e){return await Rs.play(t,e)}async function Lz(t,e){return await Rs.search(t,e)}async function Ive(t,e){return await Rs.proxy(t,e)}var Fz={meta:{key:ln.getJSName(),name:ln.getName(),type:ln.getType()},api:async t=>{t.post("/init",Iz),t.post("/home",Cz),t.post("/category",kz),t.post("/detail",Pz),t.post("/play",Dz),t.post("/search",Lz),t.get("/proxy/:what/:ids/:end",Ive)},spider:{init:Iz,home:Cz,homeVod:Nve,category:kz,detail:Pz,play:Dz,search:Lz}};var cb=class extends Yn{constructor(){super(),this.siteUrl="https://hongkongdollvideo.com"}getImgHeader(){let e=this.getHeader();return e.Proxy=!0,e}async spiderInit(e=null){e!==null?this.jsBase=await js2Proxy(e,"img",this.getImgHeader()):this.jsBase=await js2Proxy(!0,this.siteType,this.siteKey,"img/",this.getImgHeader())}async init(e){await super.init(e),await this.spiderInit(null)}async getHtml(e=this.siteUrl,n=!1,r=this.getHeader()){return super.getHtml(e,!0,r)}getName(){return"\u{1F51E}\u2503\u73A9\u5076\u59D0\u59D0\u2503\u{1F51E}"}getAppName(){return"\u73A9\u5076\u59D0\u59D0"}getJSName(){return"doll"}getType(){return 3}async parseVodShortListFromDoc(e){let n=[],r=e('[class="row"]').find('[class="video-detail"]');for(let l of r){let i=new nn;i.vod_id=e(l).find("a")[0].attribs.href;let s=e(e(l).find('[class="video-info"]')).find("a");i.vod_name=s[0].attribs.title,i.vod_remarks=e(s[1]).text();let a=e(l).find("img")[0].attribs["data-src"];i.vod_pic=a,n.push(i)}return n}async parseVodDetailFromDoc(e,n){let r=new An,l=e('[class="container-fluid"]');r.vod_name=e(e(l).find('[class="page-title"]')[0]).text(),r.vod_remarks=e(l).find('[class="tag my-1 text-center"]')[0].attribs.href.replaceAll("/","");let i=e(l).find("video")[0].attribs.poster;r.vod_pic=i;let s=e.html(),a=Yr(/var voteTag="(.*?)";/g,s);a=Qt.enc.Utf8.stringify(Qt.enc.Base64.parse(a));let o=[];for(let c=0;c<a.length;c++){let p=c%n.length;o.push(String.fromCharCode(a.charCodeAt(c)^n.charCodeAt(p)))}let f=decodeURIComponent(Qt.enc.Utf8.stringify(Qt.enc.Base64.parse(o.join(""))));return r.vod_play_from="\u73A9\u5076\u59D0\u59D0",r.vod_play_url="\u73A9\u5076\u59D0\u59D0$"+f,r}async setClasses(){let e=await this.getHtml(this.siteUrl),n=e('[class="list-unstyled topnav-menu d-flex d-lg-block align-items-center justify-content-center flex-fill topnav-menu-left m-0"]').find("li"),r=1,l=r.toString();this.classes=[],this.classes.push({type_name:"\u9996\u9875",type_id:"1"}),this.filterObj[l]=[];for(let s of n){let a=e(s).text().split(`
`),o=e(s).find("a"),f=[{n:"\u5168\u90E8",v:l}],c=r.toString();for(let p of o){let m=e(p).text().replaceAll(`
`,""),h=p.attribs.href;h!==void 0&&f.push({n:m,v:h})}a=a.filter(p=>p!==""),this.filterObj[l].push({key:c,name:a[0],value:f})}let i=e('[id="side-menu"]').find("li");for(let s of i){let a=e(s).find("a")[0].attribs.href;if(a!==void 0&&a.indexOf(this.siteUrl)>-1){let o={type_name:e(s).text(),type_id:a};this.classes.push(o)}}}async setHomeVod(){let e=await this.getHtml(this.siteUrl);this.homeVodList=await this.parseVodShortListFromDoc(e)}async setCategory(e,n,r,l){l[1]!==void 0&&l[1]!=="1"&&(e=l[1]),await this.jadeLog.info(`tid = ${e}`);let i="";e.indexOf(this.siteUrl)>-1?i=e+n.toString()+".html":i=this.siteUrl,this.limit=36;let s=await this.getHtml(i);this.vodList=await this.parseVodShortListFromDoc(s)}async setDetail(e){let n=await this.getHtml(e),r=Yr(/video\/(\w+).html/,e);this.vodDetail=await this.parseVodDetailFromDoc(n,r)}async setPlay(e,n,r){this.playUrl=n,this.playHeader={}}async setSearch(e,n){let r=this.siteUrl+"search/"+encodeURIComponent(e),l=await this.getHtml(r);this.vodList=await this.parseVodShortListFromDoc(l)}async proxy(e,n){return super.proxy(e,n)}},sn=new cb;var fb=class extends Qn{constructor(){super()}getName(){return sn.getName()}getAppName(){return sn.getAppName()}getJSName(){return sn.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await sn.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await sn.initCookie(e.server.config.bilicookie),await sn.spiderInit(e),sn.cfgObj.code=0,sn.catOpenStatus=!0,sn.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await sn.setClasses(),this.classes=sn.classes}async setFilterObj(){await sn.setFilterObj(),this.filterObj=sn.filterObj}async setHomeVod(){await sn.setHomeVod(),this.homeVodList=sn.homeVodList}async setCategory(e,n,r,l){await sn.setCategory(e,n,r,l),this.vodList=sn.vodList}async setDetail(e){await sn.setDetail(e),this.vodDetail=sn.vodDetail}async setPlay(e,n,r){await sn.setPlay(e,n,r),this.playUrl=sn.playUrl,this.result=sn.result}async setSearch(e,n,r){await sn.setSearch(e,n,r),this.vodList=sn.vodList,this.result=sn.result}async setProxy(e,n){return await sn.proxy(e,n)}},Os=new fb;async function Mz(t,e){return await Os.init(t,e)}async function $z(t,e){return await Os.home(t,e)}async function Cve(t,e){return await Os.homeVod(t,e)}async function jz(t,e){return await Os.category(t,e)}async function Uz(t,e){return await Os.detail(t,e)}async function Bz(t,e){return await Os.play(t,e)}async function Hz(t,e){return await Os.search(t,e)}async function kve(t,e){return await Os.proxy(t,e)}var qz={meta:{key:sn.getJSName(),name:sn.getName(),type:sn.getType()},api:async t=>{t.post("/init",Mz),t.post("/home",$z),t.post("/category",jz),t.post("/detail",Uz),t.post("/play",Bz),t.post("/search",Hz),t.get("/proxy/:what/:ids/:end",kve)},spider:{init:Mz,home:$z,homeVod:Cve,category:jz,detail:Uz,play:Bz,search:Hz}};var pb=class extends Yn{constructor(){super(),this.siteUrl="https://jable.tv",this.cookie=""}async spiderInit(e=null){e!==null?this.jsBase=await js2Proxy(e,"img",this.getImgHeaders()):this.jsBase=await js2Proxy(!0,this.siteType,this.siteKey,"img/",this.getImgHeaders())}getImgHeaders(){return{"User-Agent":"PostmanRuntime/7.37.3","Postman-Token":"c2602692-1a05-4bb0-93cd-270afad97e87",Host:"assets-cdn.jable.tv",Proxy:!0}}async init(e){await super.init(e),await this.spiderInit(null)}getAppName(){return"Jable"}getName(){return"\u{1F51E}\u2503Jable\u2503\u{1F51E}"}getJSName(){return"jable"}getType(){return 3}getHeader(){let e={};return e["User-Agent"]="PostmanRuntime/7.36.3",e.Host="jable.tv",e["Postman-Token"]="33290483-3c8d-413f-a160-0d3aea9e6f95",e}async getHtml(e=this.siteUrl,n=!1,r=this.getHeader()){return super.getHtml(e,!0,r)}async setClasses(){let e=await this.getHtml(this.siteUrl),n=e('[class="title-box"]'),r=e("div.row");for(let l of e(r[0]).find("a")){let i=e(l).text(),s=l.attribs.href;s.indexOf(this.siteUrl)>-1&&this.classes.push(this.getTypeDic(i,s))}n=n.slice(1,9),r=r.slice(1,9);for(let l=0;l<n.length;l++){let i=e(r[l]).find("a")[0].attribs.href;this.classes.push(this.getTypeDic("\u6807\u7B7E",i));break}}async getSortFilter(e){let n=e('[class="sorting-nav"]').find("a"),r={name:"\u6392\u5E8F",key:"sort",value:[]};for(let l of n){let i=l.attribs["data-parameters"].split("sort_by:")[1],s=e(l).text();r.value.push({n:s,v:i})}return r}async getFilter(e,n,r,l){let i=[];if(n<4){let s={name:l,key:"type",value:[]},a=["div.img-box > a",'[class="horizontal-img-box ml-3 mb-3"] > a',"","sort"],o=["div.absolute-center > h4","div.detail"],f=await this.getHtml(r);for(let c of f(a[n])){let p=c.attribs.href,m=e(e(c).find(o[n])).text().replaceAll(" ","").replaceAll(`
`,"").replaceAll(" ","");s.value.push({n:m,v:p})}if(s.value.length>0){i.push(s);let c=await this.getHtml(s.value[0].v),p=await this.getSortFilter(c);p.value.length>0&&i.push(p)}else{let c=await this.getSortFilter(f);c.value.length>0&&i.push(c)}}else{let s=e("div.row").slice(1,9),a=e('[class="title-box"]').slice(1,9);for(let c=0;c<a.length;c++){let p={name:e(e(a[c]).find("h2")).text(),key:"type",value:[]};for(let m of e(s[c]).find("a")){let h=m.attribs.href;h.indexOf(this.siteUrl)>-1&&p.value.push({n:e(m).text(),v:h})}i.push(p)}let o=await this.getHtml(r),f=await this.getSortFilter(o);f.value.length>0&&i.push(f)}return i}async setFilterObj(){let e=await this.getHtml(this.siteUrl),n=this.classes.slice(1);for(let r=0;r<n.length;r++){let l=n[r].type_name,i=n[r].type_id,s=await this.getFilter(e,r,i,l);s.length>1&&r<4&&(i=s[0].value[0].v,this.classes[r+1]=this.getTypeDic(l,i)),this.filterObj[i]=s}}async parseVodShortListFromDoc(e){let n=[],r=e("div.video-img-box");for(let l of r){let i=new nn,s=e(l).find("img").attr("data-src");if(s!==void 0){i.vod_pic=s;let a=e(l).find("a").attr("href");i.vod_id=a.split("/")[4],i.vod_name=a.split("/")[4];let o=e(e(l).find('[class="sub-title"]')).text().split(`
`);o.length>1?i.vod_remarks=o[1].replaceAll(" ","").replaceAll(" ",""):i.vod_remarks="\u7CBE\u9009",!Ae.isEmpty(i.vod_pic)&&i.vod_remarks!=="[\u9650\u6642\u512A\u60E0]\u53EA\u97001\u5143\u5373\u53EF\u7121\u9650\u4E0B\u8F09"&&n.push(i)}}return n}async parseVodDetailFromDoc(e){let n=new An,r=e('[class="header-left"]');n.vod_name=e(e(r).find("h4")).text();let l=Yr(/<video poster="(.*?)" id=/,e.html());n.vod_pic=l,n.vod_year=e(e('[class="inactive-color"]')).text();let i=e(e('[class="header-right d-none d-md-block"] > h6')).text().replaceAll(`
`,"").replaceAll("\u25CF",""),s=[],a=Yr(/var hlsUrl = '(.*?)';/,e.html());s.push(i+"$"+a);let o=[];o.push(s.join("#"));let f=["Jable"];return n.vod_play_from=f.join("$$$"),n.vod_play_url=o.join("$$$"),n}async setHomeVod(){let e=await this.getHtml(this.siteUrl);this.homeVodList=await this.parseVodShortListFromDoc(e)}async setDetail(e){let n=await this.getHtml(this.siteUrl+"/videos/"+e+"/");this.vodDetail=await this.parseVodDetailFromDoc(n)}async setCategory(e,n,r,l){let i=l.type??e,s=l.sort??"video_viewed";this.limit=24;let a;this.total=0,this.count=0,e.indexOf("latest-updates")>1?a=`https://jable.tv/latest-updates/?mode=async&function=get_block&block_id=list_videos_latest_videos_list&sort_by=post_date&from=${n}&_=1709730132217`:a=i+`/${n}/?mode=async&function=get_block&block_id=list_videos_common_videos_list&sort_by=${s}&_=${new Date().getTime()}`;let o=await this.getHtml(a);this.vodList=await this.parseVodShortListFromDoc(o);let f=o(o('[class="page-item"]').slice(-1)[0]).text();f.indexOf("\u6700\u5F8C")>-1||(parseInt(f)===this.page||Ae.isEmpty(f))&&(await this.jadeLog.debug("\u5206\u7C7B\u9875\u9762\u5230\u5E95\u4E86"),this.total=this.page,this.count=this.page)}async setSearch(e,n){let r=this.siteUrl+`/search/${e}/`,l=await this.getHtml(r);this.vodList=await this.parseVodShortListFromDocByCategory(l)}},un=new gb;var yb=class extends Qn{constructor(){super()}getName(){return un.getName()}getAppName(){return un.getAppName()}getJSName(){return un.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await un.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await un.initCookie(e.server.config.bilicookie),await un.spiderInit(e),un.cfgObj.code=0,un.catOpenStatus=!0,un.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await un.setClasses(),this.classes=un.classes}async setFilterObj(){await un.setFilterObj(),this.filterObj=un.filterObj}async setHomeVod(){await un.setHomeVod(),this.homeVodList=un.homeVodList}async setCategory(e,n,r,l){await un.setCategory(e,n,r,l),this.vodList=un.vodList}async setDetail(e){await un.setDetail(e),this.vodDetail=un.vodDetail}async setPlay(e,n,r){await un.setPlay(e,n,r),this.playUrl=un.playUrl,this.result=un.result}async setSearch(e,n,r){await un.setSearch(e,n,r),this.vodList=un.vodList,this.result=un.result}async setProxy(e,n){return await un.proxy(e,n)}},Cs=new yb;async function rG(t,e){return await Cs.init(t,e)}async function lG(t,e){return await Cs.home(t,e)}async function Lve(t,e){return await Cs.homeVod(t,e)}async function iG(t,e){return await Cs.category(t,e)}async function sG(t,e){return await Cs.detail(t,e)}async function aG(t,e){return await Cs.play(t,e)}async function oG(t,e){return await Cs.search(t,e)}async function Fve(t,e){return await Cs.proxy(t,e)}var uG={meta:{key:un.getJSName(),name:un.getName(),type:un.getType()},api:async t=>{t.post("/init",rG),t.post("/home",lG),t.post("/category",iG),t.post("/detail",sG),t.post("/play",aG),t.post("/search",oG),t.get("/proxy/:what/:ids/:end",Fve)},spider:{init:rG,home:lG,homeVod:Lve,category:iG,detail:sG,play:aG,search:oG}};var vb=class extends Yn{constructor(){super(),this.siteUrl="https://of.cilido.top",this.apiUrl="",this.vodShortObj={}}getName(){return"\u{1F51E}\u2503\u78C1\u529B\u591ABT\u2503\u{1F51E}"}getAppName(){return"\u78C1\u529B\u591ABT"}getJSName(){return"ciliduo"}getType(){return 3}getProxy(e){return x2(e)}async home(e){try{await this.jadeLog.info("\u6B63\u5728\u89E3\u6790\u9996\u9875\u7C7B\u522B",!0);let n=await this.getHtml(),r=Yr(/var proxy = atob\('(.*?)'\)/,n.html());this.apiUrl=this.getProxy(r);let l=`/?host=${eB(this.siteUrl).split("://").slice(-1)[0]}&v=1`,i=await this.fetch(this.apiUrl,l,this.getHeader());return await this.parseVodShortListFromDoc(br(i))}catch(n){await this.jadeLog.error(`\u9996\u9875\u89E3\u6790\u5931\u8D25,\u5931\u8D25\u539F\u56E0\u4E3A:${n}`)}}async parseVodShortListFromDoc(e){let r=e('[class="htab"]').find("a"),l=e('[class="hotwords"]').find("ul");for(let i=0;i<r.length;i++){let s=r[i];if(i!==r.length-1){let a=e(s).text();a==="\u70ED\u95E8"&&(a="\u6700\u8FD1\u66F4\u65B0"),this.classes.push(this.getTypeDic(a,a));let o=l[i],f=[];for(let c of e(o).find("a")){let p=new nn;p.vod_id=c.attribs.href,p.vod_name=e(c).html(),p.vod_pic=gs+"/resources/cili.jpg",f.push(p)}this.vodShortObj[a]=f}}return this.result.home(this.classes,[],this.filterObj)}async parseVodShortListFromDocBySearch(e){let n=[],r=e('[class="ssbox"]');for(let l of r.slice(0,-1)){let i=new nn;i.vod_id=e(l).find("a")[0].attribs.href,i.vod_name=e(e(l).find("a")[0]).text(),i.vod_remarks=e(e(l).find("span")[0]).text(),i.vod_pic=gs+"/resources/cili.jpg",n.push(i)}return n}async parseVodDetailFromDoc(e){let n=e.html(),r=new An;r.vod_name=e(e('[class="bt_title"]')).text(),r.vod_pic=gs+"/resources/cili.jpg",r.vod_remarks=Yr(/<br>收录时间:<span>(.*?)<\/span>/,e.html()),r.vod_content="\u4E0B\u8F7D\u901F\u5EA6:"+Yr(/下载速度:<span>(.*?)<\/span>/,e.html()),r.vod_play_from=["\u78C1\u529B\u8FDE\u63A5"].join("$$$");let l=[],i=e('[class="content"]').find("span")[0],s=i.attribs.href,a=i.attribs.title;return l.push(a+"$"+s),r.vod_play_url=[l.join("#")].join("$$$"),r}async setHomeVod(){this.homeVodList=this.vodShortObj.\u6700\u8FD1\u66F4\u65B0}async setCategory(e,n,r,l){this.vodList=this.vodShortObj[e]}async setDetail(e){if(e.indexOf("search")>-1){let l=await this.fetch(this.apiUrl+e,null,this.getHeader());e=(await this.parseVodShortListFromDocBySearch(br(l)))[0].vod_id}await this.jadeLog.debug(e);let n=this.apiUrl+e,r=await this.fetch(n,null,this.getHeader());this.vodDetail=await this.parseVodDetailFromDoc(br(r))}async setSearch(e,n){let r=this.apiUrl+`search?word=${e}`,l=await this.fetch(r,null,this.getHeader());this.vodList=await this.parseVodShortListFromDocBySearch(br(l))}},cn=new vb;var _b=class extends Qn{constructor(){super()}getName(){return cn.getName()}getAppName(){return cn.getAppName()}getJSName(){return cn.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await cn.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await cn.initCookie(e.server.config.bilicookie),await cn.spiderInit(e),cn.cfgObj.code=0,cn.catOpenStatus=!0,cn.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await cn.setClasses(),this.classes=cn.classes}async setFilterObj(){await cn.setFilterObj(),this.filterObj=cn.filterObj}async setHomeVod(){await cn.setHomeVod(),this.homeVodList=cn.homeVodList}async setCategory(e,n,r,l){await cn.setCategory(e,n,r,l),this.vodList=cn.vodList}async setDetail(e){await cn.setDetail(e),this.vodDetail=cn.vodDetail}async setPlay(e,n,r){await cn.setPlay(e,n,r),this.playUrl=cn.playUrl,this.result=cn.result}async setSearch(e,n,r){await cn.setSearch(e,n,r),this.vodList=cn.vodList,this.result=cn.result}async setProxy(e,n){return await cn.proxy(e,n)}},ks=new _b;async function cG(t,e){return await ks.init(t,e)}async function fG(t,e){return await ks.home(t,e)}async function Mve(t,e){return await ks.homeVod(t,e)}async function pG(t,e){return await ks.category(t,e)}async function dG(t,e){return await ks.detail(t,e)}async function hG(t,e){return await ks.play(t,e)}async function mG(t,e){return await ks.search(t,e)}async function $ve(t,e){return await ks.proxy(t,e)}var gG={meta:{key:cn.getJSName(),name:cn.getName(),type:cn.getType()},api:async t=>{t.post("/init",cG),t.post("/home",fG),t.post("/category",pG),t.post("/detail",dG),t.post("/play",hG),t.post("/search",mG),t.get("/proxy/:what/:ids/:end",$ve)},spider:{init:cG,home:fG,homeVod:Mve,category:pG,detail:dG,play:hG,search:mG}};var Eb=class extends Yn{constructor(){super(),this.siteUrl="https://hongkongdollvideo.com"}getImgHeader(){let e=this.getHeader();return e.Proxy=!0,e}async spiderInit(e=null){e!==null?this.jsBase=await js2Proxy(e,"img",this.getImgHeader()):this.jsBase=await js2Proxy(!0,this.siteType,this.siteKey,"img/",this.getImgHeader())}async init(e){await super.init(e),await this.spiderInit(null)}async getHtml(e=this.siteUrl,n=!1,r=this.getHeader()){return super.getHtml(e,!0,r)}getName(){return"\u{1F51E}\u2503\u73A9\u5076\u59D0\u59D0\u2503\u{1F51E}"}getAppName(){return"\u73A9\u5076\u59D0\u59D0"}getJSName(){return"doll"}getType(){return 3}async parseVodShortListFromDoc(e){let n=[],r=e('[class="row"]').find('[class="video-detail"]');for(let l of r){let i=new nn;i.vod_id=e(l).find("a")[0].attribs.href;let s=e(e(l).find('[class="video-info"]')).find("a");i.vod_name=s[0].attribs.title,i.vod_remarks=e(s[1]).text();let a=e(l).find("img")[0].attribs["data-src"];i.vod_pic=a,n.push(i)}return n}async parseVodDetailFromDoc(e,n){let r=new An,l=e('[class="container-fluid"]');r.vod_name=e(e(l).find('[class="page-title"]')[0]).text(),r.vod_remarks=e(l).find('[class="tag my-1 text-center"]')[0].attribs.href.replaceAll("/","");let i=e(l).find("video")[0].attribs.poster;r.vod_pic=i;let s=e.html(),a=Yr(/var voteTag="(.*?)";/g,s);a=Qt.enc.Utf8.stringify(Qt.enc.Base64.parse(a));let o=[];for(let c=0;c<a.length;c++){let p=c%n.length;o.push(String.fromCharCode(a.charCodeAt(c)^n.charCodeAt(p)))}let f=decodeURIComponent(Qt.enc.Utf8.stringify(Qt.enc.Base64.parse(o.join(""))));return r.vod_play_from="\u73A9\u5076\u59D0\u59D0",r.vod_play_url="\u73A9\u5076\u59D0\u59D0$"+f,r}async setClasses(){let e=await this.getHtml(this.siteUrl),n=e('[class="list-unstyled topnav-menu d-flex d-lg-block align-items-center justify-content-center flex-fill topnav-menu-left m-0"]').find("li"),r=1,l=r.toString();this.classes=[],this.classes.push({type_name:"\u9996\u9875",type_id:"1"}),this.filterObj[l]=[];for(let s of n){let a=e(s).text().split(`
`),o=e(s).find("a"),f=[{n:"\u5168\u90E8",v:l}],c=r.toString();for(let p of o){let m=e(p).text().replaceAll(`
`,""),h=p.attribs.href;h!==void 0&&f.push({n:m,v:h})}a=a.filter(p=>p!==""),this.filterObj[l].push({key:c,name:a[0],value:f})}let i=e('[id="side-menu"]').find("li");for(let s of i){let a=e(s).find("a")[0].attribs.href;if(a!==void 0&&a.indexOf(this.siteUrl)>-1){let o={type_name:e(s).text(),type_id:a};this.classes.push(o)}}}async setHomeVod(){let e=await this.getHtml(this.siteUrl);this.homeVodList=await this.parseVodShortListFromDoc(e)}async setCategory(e,n,r,l){l[1]!==void 0&&l[1]!=="1"&&(e=l[1]),await this.jadeLog.info(`tid = ${e}`);let i="";e.indexOf(this.siteUrl)>-1?i=e+n.toString()+".html":i=this.siteUrl,this.limit=36;let s=await this.getHtml(i);this.vodList=await this.parseVodShortListFromDoc(s)}async setDetail(e){let n=await this.getHtml(e),r=Yr(/video\/(\w+).html/,e);this.vodDetail=await this.parseVodDetailFromDoc(n,r)}async setPlay(e,n,r){this.playUrl=n,this.playHeader={}}async setSearch(e,n){let r=this.siteUrl+"search/"+encodeURIComponent(e),l=await this.getHtml(r);this.vodList=await this.parseVodShortListFromDoc(l)}async proxy(e,n){return super.proxy(e,n)}},fn=new Eb;var bb=class extends Qn{constructor(){super()}getName(){return fn.getName()}getAppName(){return fn.getAppName()}getJSName(){return fn.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await fn.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await fn.initCookie(e.server.config.bilicookie),await fn.spiderInit(e),fn.cfgObj.code=0,fn.catOpenStatus=!0,fn.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await fn.setClasses(),this.classes=fn.classes}async setFilterObj(){await fn.setFilterObj(),this.filterObj=fn.filterObj}async setHomeVod(){await fn.setHomeVod(),this.homeVodList=fn.homeVodList}async setCategory(e,n,r,l){await fn.setCategory(e,n,r,l),this.vodList=fn.vodList}async setDetail(e){await fn.setDetail(e),this.vodDetail=fn.vodDetail}async setPlay(e,n,r){await fn.setPlay(e,n,r),this.playUrl=fn.playUrl,this.result=fn.result}async setSearch(e,n,r){await fn.setSearch(e,n,r),this.vodList=fn.vodList,this.result=fn.result}async setProxy(e,n){return await fn.proxy(e,n)}},Ps=new bb;async function yG(t,e){return await Ps.init(t,e)}async function vG(t,e){return await Ps.home(t,e)}async function jve(t,e){return await Ps.homeVod(t,e)}async function _G(t,e){return await Ps.category(t,e)}async function EG(t,e){return await Ps.detail(t,e)}async function bG(t,e){return await Ps.play(t,e)}async function TG(t,e){return await Ps.search(t,e)}async function Uve(t,e){return await Ps.proxy(t,e)}var SG={meta:{key:fn.getJSName(),name:fn.getName(),type:fn.getType()},api:async t=>{t.post("/init",yG),t.post("/home",vG),t.post("/category",_G),t.post("/detail",EG),t.post("/play",bG),t.post("/search",TG),t.get("/proxy/:what/:ids/:end",Uve)},spider:{init:yG,home:vG,homeVod:jve,category:_G,detail:EG,play:bG,search:TG}};var Bve="diao.com",H7=class{constructor(){this.channelMsg="",this.channelStatus=0,this.channelList=[],this.channelFilters={}}fromJsonString(e,n=0){let r=JSON.parse(e);this.channelMsg=r.msg,this.channelStatus=r.status;let l=[];for(let i of r.list){let s=new Tb;switch(n){case 0:s.fromJson(i),l.push(s);break;case 1:i.channelName!=="\u5348\u591C\u573A"&&i.channelName!=="\u5348\u591C\u76F4\u64AD"&&(s.fromJson(i),l.push(s));break;case 2:(i.channelName==="\u5348\u591C\u573A"||i.channelName==="\u5348\u591C\u76F4\u64AD")&&(s.fromJson(i),l.push(s));break}}this.channelList=l,this.channelFilters=r.filter}setChannelFilters(e){this.channelFilters=JSON.parse(e)}getValues(e,n,r){let l=[];l.push({n:"\u5168\u90E8",v:"0"});for(let i of e)l.push({n:i[n],v:i[r].toString()});return l}getFilters(){let e={};for(let n of this.channelList){e[n.channelId]=[];let r=this.channelFilters.sortsMap[parseInt(n.channelId)],l=this.getValues(r,"title","id");e[n.channelId].push({key:"1",name:"\u6392\u5E8F",value:l});let i=this.channelFilters.typesMap[parseInt(n.channelId)],s=this.getValues(i,"showTypeName","showTypeId");e[n.channelId].push({key:"2",name:"\u7C7B\u578B",value:s});let a=this.getValues(this.channelFilters.regions,"regionName","regionId");e[n.channelId].push({key:"3",name:"\u5730\u533A",value:a});let o=this.getValues(this.channelFilters.langs,"langName","langId");e[n.channelId].push({key:"4",name:"\u8BED\u8A00",value:o});let f=this.getValues(this.channelFilters.yearRanges,"name","code");e[n.channelId].push({key:"5",name:"\u5E74\u4EFD",value:f})}return e}getChannelFilters(){return this.channelFilters}getChannelMsg(){return this.channelMsg}getChannelStatus(){return this.channelStatus}getChannelList(){return this.channelList}getClassList(){let e=[];for(let n of this.channelList)e.push({type_id:n.channelId,type_name:n.channelName});return e}async save(){return await local.set("niba","niba_channel",this.toString()),this}clear(){this.channelMsg="",this.channelStatus=0,this.channelList=[]}async clearCache(){this.clear(),await local.set("niba","niba_channel","{}")}toString(){let e={msg:this.getChannelMsg(),status:this.getChannelStatus(),list:this.getChannelList(),filter:this.getChannelFilters()};return JSON.stringify(e)}};var Tb=class{constructor(){this.channelId=0,this.channelName=""}fromJsonString(e){let n=JSON.parse(e);this.channelId=n.channelId,this.channelName=n.channelName}fromJson(e){this.channelId=e.channelId,this.channelName=e.channelName}getChannelName(){return this.channelName}getChannelId(){return this.channelId}};function Hve(t){return!isNaN(parseInt(t))}function xG(t,e,n){let r=[],l=[];for(let i of t){let s="";Hve(i.episodeName)?s="\u7B2C"+i.episodeName+"\u96C6":s=i.episodeName,r.push(s+"$"+i.playIdCode+"@"+n)}for(let i=0;i<e.length;i++)l.push(r.join("#"));return{vod_play_url:l.join("$$$"),vod_play_from:e.map(i=>i).join("$$$")}}function Ds(){return{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36",Referer:"https://m.nivod.tv/","Content-Type":"application/x-www-form-urlencoded"}}function qve(t){return Qt.MD5(t).toString()}async function Ls(t=null){let e={_ts:Date.now(),app_version:"1.0",platform:"3",market_id:"web_nivod",device_code:"web",versioncode:1,oid:"8ca275aa5e12ba504b266d4c70d95d77a0c2eac5726198ea"},n=[];for(let s of Object.keys(e).sort())n.push(`${s}=${e[s]}`);let r="&__BODY::";if(t!==null){let s=[];for(let a of Object.keys(t).sort())s.push(`${a}=${t[a]}`);r=r+s.join("&")+"&"}let l="__QUERY::"+n.join("&")+r+"__KEY::2x_Give_it_a_shot",i=qve(l);return n.push(`sign=${i}`),"?"+n.join("&")}function Fs(t){let e=Qt.enc.Utf8.parse(Bve);return Qt.DES.decrypt({ciphertext:Qt.enc.Hex.parse(t)},e,{mode:Qt.mode.ECB,padding:Qt.pad.Pkcs7}).toString(Qt.enc.Utf8)}var Sb=class extends Yn{constructor(){super(),this.siteUrl="https://api.nivodz.com"}getName(){return"\u{1F51E}\u2503\u6CE5\u89C6\u989118+\u2503\u{1F51E}"}getAppName(){return"\u6CE5\u89C6\u989118+"}getJSName(){return"nivod_18"}getType(){return 3}async setClasses(){let e=this.siteUrl+"/show/channel/list/WEB/3.2"+await Ls(),n=Fs(await this.post(e,null,Ds()));if(n!==null){let r=new H7;r.fromJsonString(n,2);let l=this.siteUrl+"/show/filter/condition/WEB/3.2"+await Ls(),i=Fs(await this.post(l,null,Ds()));i!==null&&(r.setChannelFilters(i),this.classes=r.getClassList(),this.filterObj=r.getFilters())}}async parseVodShortListFromJson(e){let n=[];for(let r of e)for(let l of r.rows)for(let i of l.cells){let s=new nn;s.vod_id=i.show.showIdCode,s.vod_pic=i.img,s.vod_name=i.title,s.vod_remarks=this.getVodRemarks(i.show.hot,i.show.playResolutions),n.push(s)}return n}async parseVodDetailfromJson(e){let n=new An;return n.vod_id=e.showIdCode,n.vod_name=e.showTitle,n.vod_remarks=this.getVodRemarks(e.hot,e.playResolutions),n.vod_pic=e.showImg,n.vod_director=e.director,n.vod_actor=e.actors,n.vod_year=e.postYear,n.vod_content=e.showDesc,n.type_name=e.showTypeName,n.vod_area=e.regionName,n}getVodRemarks(e,n){let r;return this.catOpenStatus?r=`\u6E05\u6670\u5EA6:${n[0]}`:r=`\u6E05\u6670\u5EA6:${n[0]},\u70ED\u5EA6:${Math.floor(parseInt(e)/1e3).toString()}k`,r}getExtendDic(e,n){return e[5]===void 0||e[5]==="0"?delete n.year_range:n.year_range=e[5],e[1]!==void 0&&(n.sort_by=e[1]),e[2]!==void 0&&(n.show_type_id=e[2]),e[3]!==void 0&&(n.region_id=e[3]),e[4]!==void 0&&(n.lang_id=e[4]),n}async setHomeVod(){let e=this.siteUrl+"/index/mobile/WAP/3.0"+await Ls(),n=Fs(await this.post(e,null,Ds()));if(n!==null){let l=JSON.parse(n).list;for(let i of l)for(let s of i.rows)for(let a of s.cells){let o=new nn;o.vod_id=a.show.showIdCode,o.vod_pic=a.img,o.vod_name=a.title,o.vod_remarks=this.getVodRemarks(a.show.hot,a.show.playResolutions),this.homeVodList.push(o)}}}async setCategory(e,n,r,l){let i={sort_by:"0",channel_id:e.toString(),show_type_id:"0",region_id:"0",lang_id:"0",year_range:"2023",start:((parseInt(n)-1)*20).toString()};this.limit=20,i=this.getExtendDic(l,i);let s=this.siteUrl+"/show/filter/WEB/3.2"+await Ls(i),a=Fs(await this.post(s,i,Ds()));if(a!=null){let o=JSON.parse(a);for(let f of o.list){let c=new nn;c.vod_id=f.showIdCode,c.vod_name=f.showTitle,c.vod_pic=f.showImg,c.vod_remarks=this.getVodRemarks(f.hot,f.playResolutions),this.vodList.push(c)}}}async setDetail(e){let n={show_id_code:e.toString()},r=this.siteUrl+"/show/detail/WEB/3.2"+await Ls(n),l=Fs(await this.post(r,n,Ds()));if(l!=null){let s=JSON.parse(l).entity;this.vodDetail=await this.parseVodDetailfromJson(s);let a=xG(s.plays,["\u539F\u753B"],e.toString());this.vodDetail.vod_play_from=a.vod_play_from,this.vodDetail.vod_play_url=a.vod_play_url}}async setSearch(e,n){let r={cat_id:"1",keyword:e,keyword_type:"0",start:"0"},l=this.siteUrl+"/show/search/WEB/3.2"+await Ls(r),i=Fs(await this.post(l,r,Ds()));if(i!=null){let s=JSON.parse(i);for(let a of s.list){let o=await this.parseVodDetailfromJson(a);this.vodList.push(o)}}}async setPlay(e,n,r){let l=n.split("@")[0],s={show_id_code:n.split("@")[1],play_id_code:l},a=this.siteUrl+"/show/play/info/WEB/3.2"+await Ls(s),o=Fs(await this.post(a,s,Ds()));if(o!=null){let f=JSON.parse(o);this.playUrl=f.entity.playUrl}}},pn=new Sb;var xb=class extends Qn{constructor(){super()}getName(){return pn.getName()}getAppName(){return pn.getAppName()}getJSName(){return pn.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await pn.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await pn.initCookie(e.server.config.bilicookie),await pn.spiderInit(e),pn.cfgObj.code=0,pn.catOpenStatus=!0,pn.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await pn.setClasses(),this.classes=pn.classes}async setFilterObj(){await pn.setFilterObj(),this.filterObj=pn.filterObj}async setHomeVod(){await pn.setHomeVod(),this.homeVodList=pn.homeVodList}async setCategory(e,n,r,l){await pn.setCategory(e,n,r,l),this.vodList=pn.vodList}async setDetail(e){await pn.setDetail(e),this.vodDetail=pn.vodDetail}async setPlay(e,n,r){await pn.setPlay(e,n,r),this.playUrl=pn.playUrl,this.result=pn.result}async setSearch(e,n,r){await pn.setSearch(e,n,r),this.vodList=pn.vodList,this.result=pn.result}async setProxy(e,n){return await pn.proxy(e,n)}},Ms=new xb;async function AG(t,e){return await Ms.init(t,e)}async function wG(t,e){return await Ms.home(t,e)}async function Vve(t,e){return await Ms.homeVod(t,e)}async function RG(t,e){return await Ms.category(t,e)}async function OG(t,e){return await Ms.detail(t,e)}async function NG(t,e){return await Ms.play(t,e)}async function IG(t,e){return await Ms.search(t,e)}async function zve(t,e){return await Ms.proxy(t,e)}var CG={meta:{key:pn.getJSName(),name:pn.getName(),type:pn.getType()},api:async t=>{t.post("/init",AG),t.post("/home",wG),t.post("/category",RG),t.post("/detail",OG),t.post("/play",NG),t.post("/search",IG),t.get("/proxy/:what/:ids/:end",zve)},spider:{init:AG,home:wG,homeVod:Vve,category:RG,detail:OG,play:NG,search:IG}};function kG(t,{key:e,iv:n}={}){let r="B77A9FF7F323B5404902102257503C2F",l="B77A9FF7F323B5404902102257503C2F";var i=Qt.enc.Utf8.parse(t),s=Qt.AES.encrypt(i,Qt.enc.Utf8.parse(e||r),{iv:Qt.enc.Utf8.parse(n||l),mode:Qt.mode.CBC,padding:Qt.pad.Pkcs7});return Qt.enc.Base64.stringify(s.ciphertext)}function Gve(){let t=new Date;return kG(parseInt(t.getTime()/1e3)+t.getTimezoneOffset()*60+-1)}function Xve(t){let n=Qt.enc.Utf8.parse("46cc793c53dc451b"),r=Qt.AES.decrypt(t,n,{mode:Qt.mode.ECB,padding:Qt.pad.Pkcs7});return Qt.enc.Utf8.stringify(r).toString()}var Ab=class extends Yn{constructor(){super(),this.siteUrl="https://api.qianyuewenhua.xyz"}async spiderInit(e=null){e!==null?this.jsBase=await js2Proxy(e,"imgBt",this.getHeader()):this.jsBase=await js2Proxy(!0,this.siteType,this.siteKey,"imgBt/",this.getHeader())}async init(e){await super.init(e),this.danmuStaus=!0,await this.spiderInit(null)}getAppName(){return"\u542B\u7F9E\u8349"}getName(){return"\u{1F51E}\u2503\u542B\u7F9E\u8349\u2503\u{1F51E}"}getJSName(){return"hanxiucao"}getType(){return 3}getParams(e){return{endata:kG(JSON.stringify(e)),ents:Gve()}}async setClasses(){let e=this.getParams({channel:"pc"}),n=await this.post(this.siteUrl+"/panel/list",e,this.getHeader(),""),r=JSON.parse(n);for(let l of r.data.list){let i=l.panelId,s=l.panelName;s!=="\u9996\u9875"&&this.classes.push(this.getTypeDic(s,i))}}async getFilter(e){let n=[];for(let r of e){let l=JSON.parse(r.layoutContent);for(let i of l.sortKeys){let s={};i.label!=="\u7EFC\u5408\u6392\u5E8F"?(s={key:"sorts",name:i.label.toString(),value:[]},s.value.push({n:"\u5347\u5E8F",v:i.value.toString()+"-\u5347\u5E8F"}),s.value.push({n:"\u964D\u5E8F",v:i.value.toString()+"-\u964D\u5E8F"})):(s={key:"sorts",name:"\u6392\u5E8F",value:[]},s.value.push({n:i.label.toString(),v:i.value.toString()})),n.push(s)}}return n}async getNvYouFilter(e){let n=[],r={uids:[],page:1,length:20};for(let i=0;i<e.length;i++){let s=e[i],a=JSON.parse(s.layoutContent);r.uids=a.list;let o=JSON.parse(await this.post(this.siteUrl+"/user/getUpList",this.getParams(r),this.getHeader(),"")),f={key:"tags",name:s.layoutName,value:[]};for(let c of o.data.list)f.value.push({n:c.user_nicename,v:JSON.stringify(c)});n.push(f)}let l=[{key:"sorts",name:"\u53D1\u5E03\u65F6\u95F4",value:[{n:"\u5347\u5E8F",v:"1-\u5347\u5E8F"},{n:"\u964D\u5E8F",v:"1-\u964D\u5E8F"}]},{key:"sorts",name:"\u70B9\u8D5E\u6570\u91CF",value:[{n:"\u5347\u5E8F",v:"5-\u5347\u5E8F"},{n:"\u964D\u5E8F",v:"5-\u964D\u5E8F"}]},{key:"sorts",name:"\u6536\u85CF\u6570\u91CF",value:[{n:"\u5347\u5E8F",v:"6-\u5347\u5E8F"},{n:"\u964D\u5E8F",v:"6-\u964D\u5E8F"}]}];return[...n,...l]}async getZhuanTiFilter(e){let n=[],r={page:1,length:36,subjectIds:[]};for(let i=0;i<e.length;i++){let s=e[i],a=JSON.parse(s.layoutContent);r.subjectIds=a.list;let o=JSON.parse(await this.post(this.siteUrl+"/subject/list",this.getParams(r),this.getHeader(),"")),f={key:"tags",name:s.layoutName,value:[]};for(let c of o.data.list)f.value.push({n:c.name,v:JSON.stringify(c)});n.push(f)}let l={key:"sorts",name:"\u6392\u5E8F",value:[{n:"\u63A8\u8350",v:"8"},{n:"\u6700\u65B0",v:"1"},{n:"\u6700\u70ED",v:"2"}]};return n.push(l),n}async getChuanMeiFilter(e){let n=[],r={key:"tags",name:"\u4F20\u5A92",value:[]};for(let l=0;l<e.length;l++){let i=e[l];r.value.push({n:i.layoutName,v:i.layoutContent})}n.push(r);for(let l of JSON.parse(e[0].layoutContent).moreOrderType)r={key:"sorts",name:l.label.toString(),value:[]},r.value.push({n:"\u5347\u5E8F",v:l.value.toString()+"-\u5347\u5E8F"}),r.value.push({n:"\u964D\u5E8F",v:l.value.toString()+"-\u964D\u5E8F"}),n.push(r);return n.push(r),n}async getHeJiFilter(e){let n=[],r={page:1,length:24,gatherType:1,gatherIds:[]},l={key:"tags",name:"\u5408\u96C6",value:[]},i=JSON.parse(await this.post(this.siteUrl+"/gather/getList",this.getParams(r),this.getHeader(),""));for(let s of i.data.list)l.value.push({n:s.name,v:s.gatherId.toString()});return n.push(l),n}async setFilterObj(){for(let e=0;e<this.classes.length;e++){let n=this.classes[e],r=n.type_id,l=n.type_name,i=[];if(r!=="\u6700\u8FD1\u66F4\u65B0"){r=parseInt(r);let s=this.getParams({panelId:r}),a=await this.post(this.siteUrl+"/panel/get",s,this.getHeader(),""),o=JSON.parse(a),f=o.data.info.Layouts,c=JSON.parse(o.data.info.Layouts[0].layoutContent);if(r>174&&r<181){let p=JSON.parse(o.data.info.Layouts[0].layoutContent);r=r+"$"+JSON.stringify(p),i=await this.getFilter(f)}else switch(r){case 172:i=await this.getHeJiFilter(f),r=r+"$"+i[0].value[0].v;break;case 173:i=await this.getChuanMeiFilter(f),r=r+"$"+JSON.stringify(c);break;case 182:i=await this.getNvYouFilter(f),r=r+"$"+i[0].value[0].v;break;case 209:i=await this.getZhuanTiFilter(f),r=r+"$"+i[0].value[0].v;break;default:break}this.classes[e]=this.getTypeDic(l,r),this.filterObj[r]=i}}}async parseVodShortListFromJson(e){let n=[];for(let r of e){let l=new nn;l.vod_id=r.id,l.vod_name=r.name,l.vod_pic=this.jsBase+S3(r.coverImgUrl),r.hot===void 0?l.vod_remarks="\u89C2\u770B:"+(r.seeCount/1e4).toFixed(1).toString()+"W":l.vod_remarks="\u70ED\u5EA6:"+(r.hot/1e3).toFixed(1).toString()+"K",n.push(l)}return n}async parseVodShortListFromGatherJson(e){let n=[];for(let r of e){let l=new nn;l.vod_id=r.gatherId,l.vod_name=r.name,l.vod_pic=this.jsBase+S3(r.coverImgUrl),n.push(l)}return n}async parseVodDetailFromDoc(e){let n=new An;n.vod_name=e.name,n.vod_year=e.addTime,n.vod_pic=this.jsBase+S3(e.coverImgUrl),n.type_name=e.typeName,n.vod_content=e.tags;let r=[],l={videoId:e.id},s=JSON.parse(await this.post(this.siteUrl+"/videos/getPreUrl",this.getParams(l),this.getHeader(),"")).data.url.split("?"),a=s[0]+"?sign"+s[1].split("&sign").slice(-1)[0];r.push(n.vod_name+"$"+a);let o={\u7EBF\u8DEF1:r.join("#")};return n.vod_play_url=Ae.values(o).join("$$$"),n.vod_play_from=Ae.keys(o).join("$$$"),n}async getHomeVod(e){let n=this.getParams(e),r=await this.post(this.siteUrl+"/videos/getList",n,this.getHeader(),"");return await this.parseVodShortListFromJson(JSON.parse(r).data.list)}async setHomeVod(){let e=await this.getHomeVod({page:1,length:16,offset:0,typeIds:[],orderType:1,payType:[3,4]}),n=await this.getHomeVod({page:1,length:16,offset:0,typeIds:[],orderType:3,payType:[1]}),r=await this.getHomeVod({page:1,length:32,offset:0,typeIds:[],orderType:1,payType:[3]});this.homeVodList=[...e,...n,...r]}getSortParams(e,n){let r=n.sorts??"";if(!Ae.isEmpty(r)){let l=r.split("-")[0];e.orderType=parseInt(l);let i=r.split("-")[1],s=0;i==="\u5347\u5E8F"?s="1":s="0",e.orderMode=parseInt(s)}return e}getTopParams(e,n,r,l){let i;e===180?i="1":i="7";let s="1",a,o=l.sorts??i,f=!1;o.indexOf("-")>-1?(a=o.split("-")[0],o.split("-")[1]==="\u5347\u5E8F"?s="1":s="0",f=!0):a=i;let c={orderType:parseInt(a),tags:[],length:11,page:parseInt(r),typeIds:n.classs,payType:n.payType};return f&&(c.orderMode=parseInt(s)),c}getChuanMeiParams(e,n,r){let l;Ae.isEmpty(r.tags)?l=e:l=JSON.parse(r.tags);let i={page:parseInt(n),length:32,offset:32*parseInt(n-1),tag:l.videoLables.join(","),typeIds:l.classs,orderType:l.orderType,payType:l.payType};return i=this.getSortParams(i,r),i}getNvYouParams(e,n,r){let l;Ae.isEmpty(r.tags)?l=e:l=JSON.parse(r.tags);let i={videoSort:1,touid:l.id,page:parseInt(n),length:12,orderType:1};return i=this.getSortParams(i,r),i}getZhuantiParams(e,n,r){let l;Ae.isEmpty(r.tags)?l=e:l=JSON.parse(r.tags);let i=r.sorts??"8";return{page:parseInt(n),length:12,offset:12*(parseInt(n)-1),orderType:parseInt(i),subjectId:l.id}}async setCategory(e,n,r,l){let i=e.split("$"),s=parseInt(i[0]),a=JSON.parse(i[1]),o={},f="/videos/getList";if(s>174&&s<181)o=this.getTopParams(s,a,n,l);else switch(s){case 173:o=this.getChuanMeiParams(a,n,l);break;case 182:o=this.getNvYouParams(a,n,l),f="/user/getSpaceVideo";break;case 209:o=this.getZhuantiParams(a,n,l);break;case 172:let p=l.tags??a;o={gatherId:parseInt(p)},f="/gather/getDetail";break;default:break}let c=JSON.parse(await this.post(this.siteUrl+f,this.getParams(o),this.getHeader(),""));s===172?this.vodList=await this.parseVodShortListFromJson(c.data.info.videos):this.vodList=await this.parseVodShortListFromJson(c.data.list)}async setDetail(e){let n={videoId:parseInt(e),videoSort:1},r=JSON.parse(await this.post(this.siteUrl+"/videos/getInfo",this.getParams(n),this.getHeader(),""));this.vodDetail=await this.parseVodDetailFromDoc(r.data.info)}async proxy(e,n){let r=e[0],l=x2(e[1]);if(r==="imgBt"){let i=await req(l,{buffer:0});return JSON.stringify({code:200,buffer:2,content:Xve(i.content).replaceAll("data:image/jpeg;base64,","").replaceAll("data:image/jpg;base64,","").replaceAll("data:image/png;base64",""),headers:n})}}async setSearch(e,n,r){let l={page:parseInt(r),length:12,type:1,key:e},i=JSON.parse(await this.post(this.siteUrl+"/base/globalSearch",this.getParams(l),this.getHeader(),""));this.vodList=await this.parseVodShortListFromJson(i.data.infos),this.result.setPage(parseInt(r),i.data.count/12,12,i.data.count)}},dn=new Ab;var wb=class extends Qn{constructor(){super()}getName(){return dn.getName()}getAppName(){return dn.getAppName()}getJSName(){return dn.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await dn.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await dn.initCookie(e.server.config.bilicookie),await dn.spiderInit(e),dn.cfgObj.code=0,dn.catOpenStatus=!0,dn.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await dn.setClasses(),this.classes=dn.classes}async setFilterObj(){await dn.setFilterObj(),this.filterObj=dn.filterObj}async setHomeVod(){await dn.setHomeVod(),this.homeVodList=dn.homeVodList}async setCategory(e,n,r,l){await dn.setCategory(e,n,r,l),this.vodList=dn.vodList}async setDetail(e){await dn.setDetail(e),this.vodDetail=dn.vodDetail}async setPlay(e,n,r){await dn.setPlay(e,n,r),this.playUrl=dn.playUrl,this.result=dn.result}async setSearch(e,n,r){await dn.setSearch(e,n,r),this.vodList=dn.vodList,this.result=dn.result}async setProxy(e,n){return await dn.proxy(e,n)}},$s=new wb;async function PG(t,e){return await $s.init(t,e)}async function DG(t,e){return await $s.home(t,e)}async function Wve(t,e){return await $s.homeVod(t,e)}async function LG(t,e){return await $s.category(t,e)}async function FG(t,e){return await $s.detail(t,e)}async function MG(t,e){return await $s.play(t,e)}async function $G(t,e){return await $s.search(t,e)}async function Kve(t,e){return await $s.proxy(t,e)}var jG={meta:{key:dn.getJSName(),name:dn.getName(),type:dn.getType()},api:async t=>{t.post("/init",PG),t.post("/home",DG),t.post("/category",LG),t.post("/detail",FG),t.post("/play",MG),t.post("/search",$G),t.get("/proxy/:what/:ids/:end",Kve)},spider:{init:PG,home:DG,homeVod:Wve,category:LG,detail:FG,play:MG,search:$G}};var UG=[Oz,Lz,Hz,Kz,nG,uG,gG,SG,CG,jG],BG="/spider";async function Rb(t){UG.forEach(e=>{let n=BG+"/"+e.meta.key+"/"+e.meta.type;t.register(e.api,{prefix:n}),t.register(async r=>{r.get(n,async function(l,i){i.send({run:e.api})})}),console.log("Register spider: "+n)}),t.register(async e=>{e.get("/check",async function(n,r){r.send({run:!e.stop})}),e.get("/config",async function(n,r){let l={video:{sites:[]},read:{sites:[]},comic:{sites:[]},music:{sites:[]},pan:{sites:[]},color:e.config.color||[]};UG.forEach(i=>{let s=Object.assign({},i.meta);s.api=BG+"/"+s.key+"/"+s.type,s.key="nodejs_"+s.key;let a=i.meta.type;a<10?l.video.sites.push(s):a>=10&&a<20?l.read.sites.push(s):a>=20&&a<30?l.comic.sites.push(s):a>=30&&a<40?l.music.sites.push(s):a>=40&&a<50&&l.pan.sites.push(s)}),r.send(l)})})}var K7=_r(lX(),1);var t2=null,zb=new _4("\u670D\u52A1\u7BA1\u7406","DEBUG");async function f_e(t){t2=(0,iX.default)({serverFactory:catServerFactory,forceCloseConnections:!0,logger:process.env.NODE_ENV!=="development",maxParamLength:10240}),t2.messageToDart=async(e,n)=>{try{e.prefix||(e.prefix=n?n.server.prefix:""),console.log(e);let r=catDartServerPort();if(r==0)return null;let l=["https://jx.xmflv.com/?url=","https://jx.quankan.app/?url=","https://jx.yparse.com/index.php?url="];for(let i of l){e.opt.url=i+e.opt.url,e.opt.timeout=Math.floor(parseInt(e.opt.timeout)/l.length),await zb.debug(`\u55C5\u63A2,\u8BF7\u6C42URL\u4E3A:${`http://127.0.0.1:${r}/msg`},\u4F20\u53C2:${JSON.stringify(e)}`);let s=await y4.post(`http://127.0.0.1:${r}/msg`,e);if(s.data==="sniff timeout"){await zb.debug(`\u55C5\u63A2\u5931\u8D25,\u8FD4\u56DE\u7ED3\u679C\u4E3A:${JSON.stringify(s.data)},\u7EE7\u7EED\u55C5\u63A2`);continue}return await zb.debug(`\u55C5\u63A2\u6210\u529F,\u8FD4\u56DE\u7ED3\u679C\u4E3A:${JSON.stringify(s.data)},headers:${JSON.stringify(s.headers)}`),s.data}}catch{return null}},t2.address=function(){let e=this.server.address();return e.url=`http://${e.address}:${e.port}`,e.dynamic="js2p://_WEB_",e},t2.addHook("onError",async(e,n,r)=>(console.error(r),r.statusCode||(r.statusCode=500),r)),t2.stop=!1,t2.config=t,t2.db=new K7.JsonDB(new K7.Config((process.env.NODE_PATH||".")+"/db.json",!0,!0,"/",!0)),t2.register(Rb),t2.listen({port:process.env.DEV_HTTP_PORT||0,host:"127.0.0.1"})}async function p_e(){t2&&(t2.close(),t2.stop=!0),t2=null}0&&(module.exports={start,stop});
`,"").replaceAll("\u25CF",""),s=[],a=Yr(/var hlsUrl = '(.*?)';/,e.html());s.push(i+"$"+a);let o=[];o.push(s.join("#"));let f=["Jable"];return n.vod_play_from=f.join("$$$"),n.vod_play_url=o.join("$$$"),n}async setHomeVod(){let e=await this.getHtml(this.siteUrl);this.homeVodList=await this.parseVodShortListFromDoc(e)}async setDetail(e){let n=await this.getHtml(this.siteUrl+"/videos/"+e+"/");this.vodDetail=await this.parseVodDetailFromDoc(n)}async setCategory(e,n,r,l){let i=l.type??e,s=l.sort??"video_viewed";this.limit=24;let a;this.total=0,this.count=0,e.indexOf("latest-updates")>1?a=`https://jable.tv/latest-updates/?mode=async&function=get_block&block_id=list_videos_latest_videos_list&sort_by=post_date&from=${n}&_=1709730132217`:a=i+`/${n}/?mode=async&function=get_block&block_id=list_videos_common_videos_list&sort_by=${s}&_=${new Date().getTime()}`;let o=await this.getHtml(a);this.vodList=await this.parseVodShortListFromDoc(o);let f=o(o('[class="page-item"]').slice(-1)[0]).text();f.indexOf("\u6700\u5F8C")>-1||(parseInt(f)===this.page||Ae.isEmpty(f))&&(await this.jadeLog.debug("\u5206\u7C7B\u9875\u9762\u5230\u5E95\u4E86"),this.total=this.page,this.count=this.page)}async setSearch(e,n){let r=this.siteUrl+`/search/${e}/`,l=await this.getHtml(r);this.vodList=await this.parseVodShortListFromDocByCategory(l)}},an=new pb;var db=class extends Qn{constructor(){super()}getName(){return an.getName()}getAppName(){return an.getAppName()}getJSName(){return an.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await an.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await an.initCookie(e.server.config.bilicookie),await an.spiderInit(e),an.cfgObj.code=0,an.catOpenStatus=!0,an.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await an.setClasses(),this.classes=an.classes}async setFilterObj(){await an.setFilterObj(),this.filterObj=an.filterObj}async setHomeVod(){await an.setHomeVod(),this.homeVodList=an.homeVodList}async setCategory(e,n,r,l){await an.setCategory(e,n,r,l),this.vodList=an.vodList}async setDetail(e){await an.setDetail(e),this.vodDetail=an.vodDetail}async setPlay(e,n,r){await an.setPlay(e,n,r),this.playUrl=an.playUrl,this.result=an.result}async setSearch(e,n,r){await an.setSearch(e,n,r),this.vodList=an.vodList,this.result=an.result}async setProxy(e,n){return await an.proxy(e,n)}},Ns=new db;async function Vz(t,e){return await Ns.init(t,e)}async function zz(t,e){return await Ns.home(t,e)}async function Pve(t,e){return await Ns.homeVod(t,e)}async function Gz(t,e){return await Ns.category(t,e)}async function Xz(t,e){return await Ns.detail(t,e)}async function Wz(t,e){return await Ns.play(t,e)}async function Kz(t,e){return await Ns.search(t,e)}async function Dve(t,e){return await Ns.proxy(t,e)}var Yz={meta:{key:an.getJSName(),name:an.getName(),type:an.getType()},api:async t=>{t.post("/init",Vz),t.post("/home",zz),t.post("/category",Gz),t.post("/detail",Xz),t.post("/play",Wz),t.post("/search",Kz),t.get("/proxy/:what/:ids/:end",Dve)},spider:{init:Vz,home:zz,homeVod:Pve,category:Gz,detail:Xz,play:Wz,search:Kz}};var hb=class extends Yn{constructor(){super(),this.siteUrl="https://www.sehuatang.net"}getAppName(){return"\u8272\u82B1\u5802BT"}getName(){return"\u{1F51E}\u2503\u8272\u82B1\u5802BT\u2503\u{1F51E}"}getJSName(){return"sehuatang"}getType(){return 3}async init(e){await super.init(e),this.jsBaseDetail=await js2Proxy(!0,this.siteType,this.siteKey,"detail/",{})}getHeader(){return{"User-Agent":"PostmanRuntime/7.36.1",Host:"www.sehuatang.net",Cookie:"cPNj_2132_saltkey=Q4BKEOEC; cf_clearance=6Gz2tvOXPkkJP2UhLnSsN4s0RrnDUy0jBN0kUvC5FNQ-1706109144-1-AebvwBnAURwWWQhj0QRBrRPku2n8xI73PIeuZVj2ckqY9zjQ7zFzDviX7Gkex1P1bUw9SXHGEYnkBB9nmWe6Nhk=; _safe=vqd37pjm4p5uodq339yzk6b7jdt6oich"}}async parseVodShortListFromDoc(e){let n=[],r=e('[id="portal_block_43_content"]').find("li");for(let l of r){let i=new nn;i.vod_remarks=e(e(l).find("a")[1]).text(),i.vod_id=e(l).find("a")[2].attribs.href,i.vod_name=e(l).find("a")[2].attribs.title,i.vod_pic=this.jsBaseDetail+S3(i.vod_id),n.push(i)}return n}async parseVodShortListFromDocByCategory(e){let n=[],r=e(e('[class="bm_c"]')[0]).find("tbody");for(let l of r){let i=e(e(e(l).find("cite")).find("a")[0]).text();if(i!=="admin"&&i!==void 0&&!Ae.isEmpty(i)){let s=new nn;s.vod_id=e(l).find("a")[0].attribs.href,s.vod_remarks=e(e(l).find("a")[2]).text(),s.vod_name=e(e(l).find("a")[3]).text(),s.vod_pic=this.jsBaseDetail+S3(s.vod_id),n.push(s)}}return n}async parseVodDetailFromDoc(e){let n=new An,r=e('[class="t_f"]')[0],l=e(r).text().replaceAll("\uFF1A",":").replaceAll("\u3010","").replaceAll("\u3011","");return n.vod_pic=e(r).find("img")[0].attribs.file,n.vod_name=Yr(/影片名称(.*?)\n/,l).replaceAll(":","").replaceAll(`
`,""),n.vod_actor=Yr(/出演女优(.*?)\n/,l).replaceAll(":","").replaceAll(`
`,""),n.vod_remarks=Yr(/是否有码(.*?)\n/,l).replaceAll(":","").replaceAll(`
`,""),n.vod_play_from="BT",n.vod_play_url=n.vod_name+"$"+Yr(/磁力链接: (.*)复制代码/,l),n}async setClasses(){let e=await this.getHtml(),n=e('[id="category_1"]').find("tr").slice(0,-1);for(let r of n){let l=e(e(r).find('[class="fl_icn_g"]')).find("a");for(let i of l){let s=i.attribs.href,a=e(i).find("img")[0].attribs.alt;this.classes.push(this.getTypeDic(a,s))}}}async getFilter(e){let n=[],r={key:1,name:"\u7C7B\u578B",value:[]},l=e('[id="thread_types"]').find("a");for(let a of l){let o="";a.children.length>1?o=a.children[0].data+":"+e(a.children[1]).text():o=a.children[0].data,r.value.push({n:o,v:a.attribs.href})}n.push(r);let i={key:1,name:"\u4E3B\u9898",value:[]},s=e('[class="tf"]').find("a");for(let a of s){let o=e(a).text();o!=="\u66F4\u591A"&&o!=="\u663E\u793A\u7F6E\u9876"&&i.value.push({n:e(a).text(),v:a.attribs.href})}return n.push(i),n}async setFilterObj(){for(let e of this.classes){let n=e.type_name,r=e.type_id;if(n!=="\u6700\u8FD1\u66F4\u65B0"){let l=await this.getHtml(this.siteUrl+"/"+r);this.filterObj[r]=await this.getFilter(l)}}}async setHomeVod(){let e=await this.getHtml();this.homeVodList=await this.parseVodShortListFromDoc(e)}async setCategory(e,n,r,l){l[1]!==void 0&&l[1]==="javascript:;"||(e=l[1]??e);let i,s=e.split(".")[0].split("-");s.length>2?(s[2]=n,i=this.siteUrl+"/"+s.join("-")+".html"):i=this.siteUrl+"/"+e+"&page="+n;let a=await this.getHtml(i);this.vodList=await this.parseVodShortListFromDocByCategory(a)}async setDetail(e){let n=await this.getHtml(this.siteUrl+"/"+e);this.vodDetail=await this.parseVodDetailFromDoc(n)}async proxy(e,n){await this.jadeLog.debug(`\u6B63\u5728\u8BBE\u7F6E\u53CD\u5411\u4EE3\u7406 segments = ${e.join(",")},headers = ${JSON.stringify(n)}`);let r=e[0],l=x2(e[1]);if(r==="detail"){await this.jadeLog.debug(`\u53CD\u5411\u4EE3\u7406ID\u4E3A:${l}`);let i=await this.getHtml(this.siteUrl+"/"+l),s=await this.parseVodDetailFromDoc(i);await this.jadeLog.debug(`\u56FE\u7247\u5730\u5740\u4E3A:${s.vod_pic}`);let a;return Ae.isEmpty(n)?a=await req(s.vod_pic,{buffer:2,headers:{Referer:l,"User-Agent":ki}}):a=await req(s.vod_pic,{buffer:2,headers:n}),JSON.stringify({code:a.code,buffer:2,content:a.content,headers:a.headers})}return JSON.stringify({code:500,content:""})}},on=new hb;var mb=class extends Qn{constructor(){super()}getName(){return on.getName()}getAppName(){return on.getAppName()}getJSName(){return on.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await on.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await on.initCookie(e.server.config.bilicookie),await on.spiderInit(e),on.cfgObj.code=0,on.catOpenStatus=!0,on.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await on.setClasses(),this.classes=on.classes}async setFilterObj(){await on.setFilterObj(),this.filterObj=on.filterObj}async setHomeVod(){await on.setHomeVod(),this.homeVodList=on.homeVodList}async setCategory(e,n,r,l){await on.setCategory(e,n,r,l),this.vodList=on.vodList}async setDetail(e){await on.setDetail(e),this.vodDetail=on.vodDetail}async setPlay(e,n,r){await on.setPlay(e,n,r),this.playUrl=on.playUrl,this.result=on.result}async setSearch(e,n,r){await on.setSearch(e,n,r),this.vodList=on.vodList,this.result=on.result}async setProxy(e,n){return await on.proxy(e,n)}},Is=new mb;async function Jz(t,e){return await Is.init(t,e)}async function Qz(t,e){return await Is.home(t,e)}async function Lve(t,e){return await Is.homeVod(t,e)}async function Zz(t,e){return await Is.category(t,e)}async function eG(t,e){return await Is.detail(t,e)}async function tG(t,e){return await Is.play(t,e)}async function nG(t,e){return await Is.search(t,e)}async function Fve(t,e){return await Is.proxy(t,e)}var rG={meta:{key:on.getJSName(),name:on.getName(),type:on.getType()},api:async t=>{t.post("/init",Jz),t.post("/home",Qz),t.post("/category",Zz),t.post("/detail",eG),t.post("/play",tG),t.post("/search",nG),t.get("/proxy/:what/:ids/:end",Fve)},spider:{init:Jz,home:Qz,homeVod:Lve,category:Zz,detail:eG,play:tG,search:nG}};var gb=class extends Yn{constructor(){super(),this.siteUrl="https://hsck12.shop/"}getName(){return"\u{1F51E}\u2503\u9EC4\u8272\u4ED3\u5E93\u2503\u{1F51E}"}getAppName(){return"\u9EC4\u8272\u4ED3\u5E93"}getJSName(){return"hscangku"}getType(){return 3}async parseVodShortListFromDoc(e){let n=[],r=e('[class="stui-vodlist clearfix"]').find("li");for(let l of r){let i=new nn,s=e(l).find("a")[0];i.vod_id=s.attribs.href,i.vod_name=s.attribs.title,i.vod_pic=s.attribs["data-original"],n.push(i)}return n}async parseVodDetailFromDoc(e){let n=new An,r=e(e('[class="stui-pannel__head clearfix"]')[1]).find("h3"),i=e("div.stui-pannel-bd > div").find("video")[0];return n.vod_name=r.text(),n.vod_pic=i.attribs.poster,n.vod_play_from="\u9EC4\u8272\u4ED3\u5E93",n.vod_play_url=e(i).find("source")[0].attribs.src,n}async setClasses(){this.classes=[{type_name:"\u56FD\u4EA7\u89C6\u9891",type_id:"?type=gc"},{type_name:"\u56FD\u4EA7\u65B0\u7247",type_id:"?type=ycgc"},{type_name:"\u65E0\u7801\u4E2D\u6587\u5B57\u5E55",type_id:"?type=wz"},{type_name:"\u6709\u7801\u4E2D\u6587\u5B57\u5E55",type_id:"?type=yz"},{type_name:"\u65E5\u672C\u65E0\u7801",type_id:"?type=rw"}]}async setCategory(e,n,r,l){let i=this.siteUrl+e+"&p="+n.toString(),s=await this.fetch(i,null,this.getHeader());if(this.limit=40,s!==null){let a=br(s);this.vodList=await this.parseVodShortListFromDoc(a),this.total=parseInt(a('[class="active"]').find("span").text())}}async setDetail(e){let n=this.siteUrl+e,r=await this.fetch(n,null,this.getHeader());if(r!==null){let l=br(r);this.vodDetail=await this.parseVodDetailFromDoc(l)}}async setPlay(e,n,r){this.playUrl=n,this.playHeader={}}},un=new gb;var yb=class extends Qn{constructor(){super()}getName(){return un.getName()}getAppName(){return un.getAppName()}getJSName(){return un.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await un.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await un.initCookie(e.server.config.bilicookie),await un.spiderInit(e),un.cfgObj.code=0,un.catOpenStatus=!0,un.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await un.setClasses(),this.classes=un.classes}async setFilterObj(){await un.setFilterObj(),this.filterObj=un.filterObj}async setHomeVod(){await un.setHomeVod(),this.homeVodList=un.homeVodList}async setCategory(e,n,r,l){await un.setCategory(e,n,r,l),this.vodList=un.vodList}async setDetail(e){await un.setDetail(e),this.vodDetail=un.vodDetail}async setPlay(e,n,r){await un.setPlay(e,n,r),this.playUrl=un.playUrl,this.result=un.result}async setSearch(e,n,r){await un.setSearch(e,n,r),this.vodList=un.vodList,this.result=un.result}async setProxy(e,n){return await un.proxy(e,n)}},Cs=new yb;async function lG(t,e){return await Cs.init(t,e)}async function iG(t,e){return await Cs.home(t,e)}async function Mve(t,e){return await Cs.homeVod(t,e)}async function sG(t,e){return await Cs.category(t,e)}async function aG(t,e){return await Cs.detail(t,e)}async function oG(t,e){return await Cs.play(t,e)}async function uG(t,e){return await Cs.search(t,e)}async function $ve(t,e){return await Cs.proxy(t,e)}var cG={meta:{key:un.getJSName(),name:un.getName(),type:un.getType()},api:async t=>{t.post("/init",lG),t.post("/home",iG),t.post("/category",sG),t.post("/detail",aG),t.post("/play",oG),t.post("/search",uG),t.get("/proxy/:what/:ids/:end",$ve)},spider:{init:lG,home:iG,homeVod:Mve,category:sG,detail:aG,play:oG,search:uG}};var vb=class extends Yn{constructor(){super(),this.siteUrl="https://of.cilido.top",this.apiUrl="",this.vodShortObj={}}getName(){return"\u{1F51E}\u2503\u78C1\u529B\u591ABT\u2503\u{1F51E}"}getAppName(){return"\u78C1\u529B\u591ABT"}getJSName(){return"ciliduo"}getType(){return 3}getProxy(e){return x2(e)}async home(e){try{await this.jadeLog.info("\u6B63\u5728\u89E3\u6790\u9996\u9875\u7C7B\u522B",!0);let n=await this.getHtml(),r=Yr(/var proxy = atob\('(.*?)'\)/,n.html());this.apiUrl=this.getProxy(r);let l=`/?host=${eB(this.siteUrl).split("://").slice(-1)[0]}&v=1`,i=await this.fetch(this.apiUrl,l,this.getHeader());return await this.parseVodShortListFromDoc(br(i))}catch(n){await this.jadeLog.error(`\u9996\u9875\u89E3\u6790\u5931\u8D25,\u5931\u8D25\u539F\u56E0\u4E3A:${n}`)}}async parseVodShortListFromDoc(e){let r=e('[class="htab"]').find("a"),l=e('[class="hotwords"]').find("ul");for(let i=0;i<r.length;i++){let s=r[i];if(i!==r.length-1){let a=e(s).text();a==="\u70ED\u95E8"&&(a="\u6700\u8FD1\u66F4\u65B0"),this.classes.push(this.getTypeDic(a,a));let o=l[i],f=[];for(let c of e(o).find("a")){let p=new nn;p.vod_id=c.attribs.href,p.vod_name=e(c).html(),p.vod_pic=gs+"/resources/cili.jpg",f.push(p)}this.vodShortObj[a]=f}}return this.result.home(this.classes,[],this.filterObj)}async parseVodShortListFromDocBySearch(e){let n=[],r=e('[class="ssbox"]');for(let l of r.slice(0,-1)){let i=new nn;i.vod_id=e(l).find("a")[0].attribs.href,i.vod_name=e(e(l).find("a")[0]).text(),i.vod_remarks=e(e(l).find("span")[0]).text(),i.vod_pic=gs+"/resources/cili.jpg",n.push(i)}return n}async parseVodDetailFromDoc(e){let n=e.html(),r=new An;r.vod_name=e(e('[class="bt_title"]')).text(),r.vod_pic=gs+"/resources/cili.jpg",r.vod_remarks=Yr(/<br>收录时间:<span>(.*?)<\/span>/,e.html()),r.vod_content="\u4E0B\u8F7D\u901F\u5EA6:"+Yr(/下载速度:<span>(.*?)<\/span>/,e.html()),r.vod_play_from=["\u78C1\u529B\u8FDE\u63A5"].join("$$$");let l=[],i=e('[class="content"]').find("span")[0],s=i.attribs.href,a=i.attribs.title;return l.push(a+"$"+s),r.vod_play_url=[l.join("#")].join("$$$"),r}async setHomeVod(){this.homeVodList=this.vodShortObj.\u6700\u8FD1\u66F4\u65B0}async setCategory(e,n,r,l){this.vodList=this.vodShortObj[e]}async setDetail(e){if(e.indexOf("search")>-1){let l=await this.fetch(this.apiUrl+e,null,this.getHeader());e=(await this.parseVodShortListFromDocBySearch(br(l)))[0].vod_id}await this.jadeLog.debug(e);let n=this.apiUrl+e,r=await this.fetch(n,null,this.getHeader());this.vodDetail=await this.parseVodDetailFromDoc(br(r))}async setSearch(e,n){let r=this.apiUrl+`search?word=${e}`,l=await this.fetch(r,null,this.getHeader());this.vodList=await this.parseVodShortListFromDocBySearch(br(l))}},cn=new vb;var _b=class extends Qn{constructor(){super()}getName(){return cn.getName()}getAppName(){return cn.getAppName()}getJSName(){return cn.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await cn.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await cn.initCookie(e.server.config.bilicookie),await cn.spiderInit(e),cn.cfgObj.code=0,cn.catOpenStatus=!0,cn.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await cn.setClasses(),this.classes=cn.classes}async setFilterObj(){await cn.setFilterObj(),this.filterObj=cn.filterObj}async setHomeVod(){await cn.setHomeVod(),this.homeVodList=cn.homeVodList}async setCategory(e,n,r,l){await cn.setCategory(e,n,r,l),this.vodList=cn.vodList}async setDetail(e){await cn.setDetail(e),this.vodDetail=cn.vodDetail}async setPlay(e,n,r){await cn.setPlay(e,n,r),this.playUrl=cn.playUrl,this.result=cn.result}async setSearch(e,n,r){await cn.setSearch(e,n,r),this.vodList=cn.vodList,this.result=cn.result}async setProxy(e,n){return await cn.proxy(e,n)}},ks=new _b;async function fG(t,e){return await ks.init(t,e)}async function pG(t,e){return await ks.home(t,e)}async function jve(t,e){return await ks.homeVod(t,e)}async function dG(t,e){return await ks.category(t,e)}async function hG(t,e){return await ks.detail(t,e)}async function mG(t,e){return await ks.play(t,e)}async function gG(t,e){return await ks.search(t,e)}async function Uve(t,e){return await ks.proxy(t,e)}var yG={meta:{key:cn.getJSName(),name:cn.getName(),type:cn.getType()},api:async t=>{t.post("/init",fG),t.post("/home",pG),t.post("/category",dG),t.post("/detail",hG),t.post("/play",mG),t.post("/search",gG),t.get("/proxy/:what/:ids/:end",Uve)},spider:{init:fG,home:pG,homeVod:jve,category:dG,detail:hG,play:mG,search:gG}};var Eb=class extends Yn{constructor(){super(),this.siteUrl="https://cn.asianx.tube/"}getName(){return"\u{1F51E}\u2503\u6D77\u5916\u5B85\u2503\u{1F51E}"}getAppName(){return"\u6D77\u5916\u5B85"}getJSName(){return"asianx"}getType(){return 3}async getFilter(e){let n=e(e('[class="menu m-0 mb-2 mb-lg-0"]')).find("a").slice(6),r={key:"1",name:"\u5206\u7C7B",value:[{n:"\u5168\u90E8",v:"\u5168\u90E8"}]};for(let l of n){let i=e(e(l).find("span")).text(),s=l.attribs.href;r.value.push({n:i,v:s})}return[r]}async parseVodShortListFromDoc(e,n=!1){let r=[],l;n?l=e(e('[class="gal-box"]')).slice(12):l=e(e('[class="gal-box"]'));for(let i of l){let s=new nn,a=e(i).find("a");s.vod_id=a[0].attribs.href,s.vod_pic=e(a[0]).find("img")[0].attribs["data-src"],s.vod_name=a[1].attribs.title,s.vod_remarks=e(e(i).find('[class="meta text-muted text-truncate"]')).text(),r.push(s)}return r}async parseVodDetailFromDoc(e){let n=new An,r=Yr(/<script type="application\/ld\+json">(.*?)<\/script>/,e),l=JSON.parse(r),i=l.name.split(" ");n.vod_name=i[0],n.vod_play_from=["\u672A\u52A0\u5BC6\u7EBF\u8DEF","\u52A0\u5BC6\u7EBF\u8DEF"].join("$$$");let s=l.contentUrl,a=l.embedUrl;return n.vod_play_url=[`${i[0]}$${s}`,`${i[0]}$${a}`].join("$$$"),n.vod_remarks=l.uploadDate,n.vod_content=l.description,n}async setClasses(){this.classes=[],this.classes.push({type_name:"\u9996\u9875",type_id:"/"});let e=await this.fetch(this.siteUrl,null,this.getHeader());if(!Ae.isEmpty(e)){let n=br(e),r=n(n('[class="menu m-0 mb-2 mb-lg-0"]')).find("a").slice(0,5);for(let l of r){let i=n(n(l).find("span")).text(),s=l.attribs.href;this.classes.push({type_name:i,type_id:s})}this.filterObj[this.classes[0].type_id]=await this.getFilter(n)}}async setHomeVod(){let e=await this.fetch(this.siteUrl,null,this.getHeader());if(!Ae.isEmpty(e)){let n=br(e);this.homeVodList=await this.parseVodShortListFromDoc(n,!0)}}getExtend(e,n){return n[1]!==void 0?n[1]==="\u5168\u90E8"?this.siteUrl:this.siteUrl+n[1]+"/"+e:this.siteUrl}async setDetail(e){let n=await this.fetch(e,null,this.getHeader());Ae.isEmpty(n)||(this.vodDetail=await this.parseVodDetailFromDoc(n))}async setCategory(e,n,r,l){let i;e==="/"?i=this.getExtend(n,l):i=this.siteUrl+e+"/"+n;let s=await this.fetch(i,null,this.getHeader());if(!Ae.isEmpty(s)){let a=br(s);this.vodList=await this.parseVodShortListFromDoc(a,!1)}}},fn=new Eb;var bb=class extends Qn{constructor(){super()}getName(){return fn.getName()}getAppName(){return fn.getAppName()}getJSName(){return fn.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await fn.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await fn.initCookie(e.server.config.bilicookie),await fn.spiderInit(e),fn.cfgObj.code=0,fn.catOpenStatus=!0,fn.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await fn.setClasses(),this.classes=fn.classes}async setFilterObj(){await fn.setFilterObj(),this.filterObj=fn.filterObj}async setHomeVod(){await fn.setHomeVod(),this.homeVodList=fn.homeVodList}async setCategory(e,n,r,l){await fn.setCategory(e,n,r,l),this.vodList=fn.vodList}async setDetail(e){await fn.setDetail(e),this.vodDetail=fn.vodDetail}async setPlay(e,n,r){await fn.setPlay(e,n,r),this.playUrl=fn.playUrl,this.result=fn.result}async setSearch(e,n,r){await fn.setSearch(e,n,r),this.vodList=fn.vodList,this.result=fn.result}async setProxy(e,n){return await fn.proxy(e,n)}},Ps=new bb;async function vG(t,e){return await Ps.init(t,e)}async function _G(t,e){return await Ps.home(t,e)}async function Bve(t,e){return await Ps.homeVod(t,e)}async function EG(t,e){return await Ps.category(t,e)}async function bG(t,e){return await Ps.detail(t,e)}async function TG(t,e){return await Ps.play(t,e)}async function SG(t,e){return await Ps.search(t,e)}async function Hve(t,e){return await Ps.proxy(t,e)}var xG={meta:{key:fn.getJSName(),name:fn.getName(),type:fn.getType()},api:async t=>{t.post("/init",vG),t.post("/home",_G),t.post("/category",EG),t.post("/detail",bG),t.post("/play",TG),t.post("/search",SG),t.get("/proxy/:what/:ids/:end",Hve)},spider:{init:vG,home:_G,homeVod:Bve,category:EG,detail:bG,play:TG,search:SG}};var qve="diao.com",H7=class{constructor(){this.channelMsg="",this.channelStatus=0,this.channelList=[],this.channelFilters={}}fromJsonString(e,n=0){let r=JSON.parse(e);this.channelMsg=r.msg,this.channelStatus=r.status;let l=[];for(let i of r.list){let s=new Tb;switch(n){case 0:s.fromJson(i),l.push(s);break;case 1:i.channelName!=="\u5348\u591C\u573A"&&i.channelName!=="\u5348\u591C\u76F4\u64AD"&&(s.fromJson(i),l.push(s));break;case 2:(i.channelName==="\u5348\u591C\u573A"||i.channelName==="\u5348\u591C\u76F4\u64AD")&&(s.fromJson(i),l.push(s));break}}this.channelList=l,this.channelFilters=r.filter}setChannelFilters(e){this.channelFilters=JSON.parse(e)}getValues(e,n,r){let l=[];l.push({n:"\u5168\u90E8",v:"0"});for(let i of e)l.push({n:i[n],v:i[r].toString()});return l}getFilters(){let e={};for(let n of this.channelList){e[n.channelId]=[];let r=this.channelFilters.sortsMap[parseInt(n.channelId)],l=this.getValues(r,"title","id");e[n.channelId].push({key:"1",name:"\u6392\u5E8F",value:l});let i=this.channelFilters.typesMap[parseInt(n.channelId)],s=this.getValues(i,"showTypeName","showTypeId");e[n.channelId].push({key:"2",name:"\u7C7B\u578B",value:s});let a=this.getValues(this.channelFilters.regions,"regionName","regionId");e[n.channelId].push({key:"3",name:"\u5730\u533A",value:a});let o=this.getValues(this.channelFilters.langs,"langName","langId");e[n.channelId].push({key:"4",name:"\u8BED\u8A00",value:o});let f=this.getValues(this.channelFilters.yearRanges,"name","code");e[n.channelId].push({key:"5",name:"\u5E74\u4EFD",value:f})}return e}getChannelFilters(){return this.channelFilters}getChannelMsg(){return this.channelMsg}getChannelStatus(){return this.channelStatus}getChannelList(){return this.channelList}getClassList(){let e=[];for(let n of this.channelList)e.push({type_id:n.channelId,type_name:n.channelName});return e}async save(){return await local.set("niba","niba_channel",this.toString()),this}clear(){this.channelMsg="",this.channelStatus=0,this.channelList=[]}async clearCache(){this.clear(),await local.set("niba","niba_channel","{}")}toString(){let e={msg:this.getChannelMsg(),status:this.getChannelStatus(),list:this.getChannelList(),filter:this.getChannelFilters()};return JSON.stringify(e)}};var Tb=class{constructor(){this.channelId=0,this.channelName=""}fromJsonString(e){let n=JSON.parse(e);this.channelId=n.channelId,this.channelName=n.channelName}fromJson(e){this.channelId=e.channelId,this.channelName=e.channelName}getChannelName(){return this.channelName}getChannelId(){return this.channelId}};function Vve(t){return!isNaN(parseInt(t))}function AG(t,e,n){let r=[],l=[];for(let i of t){let s="";Vve(i.episodeName)?s="\u7B2C"+i.episodeName+"\u96C6":s=i.episodeName,r.push(s+"$"+i.playIdCode+"@"+n)}for(let i=0;i<e.length;i++)l.push(r.join("#"));return{vod_play_url:l.join("$$$"),vod_play_from:e.map(i=>i).join("$$$")}}function Ds(){return{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36",Referer:"https://m.nivod.tv/","Content-Type":"application/x-www-form-urlencoded"}}function zve(t){return Qt.MD5(t).toString()}async function Ls(t=null){let e={_ts:Date.now(),app_version:"1.0",platform:"3",market_id:"web_nivod",device_code:"web",versioncode:1,oid:"8ca275aa5e12ba504b266d4c70d95d77a0c2eac5726198ea"},n=[];for(let s of Object.keys(e).sort())n.push(`${s}=${e[s]}`);let r="&__BODY::";if(t!==null){let s=[];for(let a of Object.keys(t).sort())s.push(`${a}=${t[a]}`);r=r+s.join("&")+"&"}let l="__QUERY::"+n.join("&")+r+"__KEY::2x_Give_it_a_shot",i=zve(l);return n.push(`sign=${i}`),"?"+n.join("&")}function Fs(t){let e=Qt.enc.Utf8.parse(qve);return Qt.DES.decrypt({ciphertext:Qt.enc.Hex.parse(t)},e,{mode:Qt.mode.ECB,padding:Qt.pad.Pkcs7}).toString(Qt.enc.Utf8)}var Sb=class extends Yn{constructor(){super(),this.siteUrl="https://api.nivodz.com"}getName(){return"\u{1F51E}\u2503\u6CE5\u89C6\u989118+\u2503\u{1F51E}"}getAppName(){return"\u6CE5\u89C6\u989118+"}getJSName(){return"nivod_18"}getType(){return 3}async setClasses(){let e=this.siteUrl+"/show/channel/list/WEB/3.2"+await Ls(),n=Fs(await this.post(e,null,Ds()));if(n!==null){let r=new H7;r.fromJsonString(n,2);let l=this.siteUrl+"/show/filter/condition/WEB/3.2"+await Ls(),i=Fs(await this.post(l,null,Ds()));i!==null&&(r.setChannelFilters(i),this.classes=r.getClassList(),this.filterObj=r.getFilters())}}async parseVodShortListFromJson(e){let n=[];for(let r of e)for(let l of r.rows)for(let i of l.cells){let s=new nn;s.vod_id=i.show.showIdCode,s.vod_pic=i.img,s.vod_name=i.title,s.vod_remarks=this.getVodRemarks(i.show.hot,i.show.playResolutions),n.push(s)}return n}async parseVodDetailfromJson(e){let n=new An;return n.vod_id=e.showIdCode,n.vod_name=e.showTitle,n.vod_remarks=this.getVodRemarks(e.hot,e.playResolutions),n.vod_pic=e.showImg,n.vod_director=e.director,n.vod_actor=e.actors,n.vod_year=e.postYear,n.vod_content=e.showDesc,n.type_name=e.showTypeName,n.vod_area=e.regionName,n}getVodRemarks(e,n){let r;return this.catOpenStatus?r=`\u6E05\u6670\u5EA6:${n[0]}`:r=`\u6E05\u6670\u5EA6:${n[0]},\u70ED\u5EA6:${Math.floor(parseInt(e)/1e3).toString()}k`,r}getExtendDic(e,n){return e[5]===void 0||e[5]==="0"?delete n.year_range:n.year_range=e[5],e[1]!==void 0&&(n.sort_by=e[1]),e[2]!==void 0&&(n.show_type_id=e[2]),e[3]!==void 0&&(n.region_id=e[3]),e[4]!==void 0&&(n.lang_id=e[4]),n}async setHomeVod(){let e=this.siteUrl+"/index/mobile/WAP/3.0"+await Ls(),n=Fs(await this.post(e,null,Ds()));if(n!==null){let l=JSON.parse(n).list;for(let i of l)for(let s of i.rows)for(let a of s.cells){let o=new nn;o.vod_id=a.show.showIdCode,o.vod_pic=a.img,o.vod_name=a.title,o.vod_remarks=this.getVodRemarks(a.show.hot,a.show.playResolutions),this.homeVodList.push(o)}}}async setCategory(e,n,r,l){let i={sort_by:"0",channel_id:e.toString(),show_type_id:"0",region_id:"0",lang_id:"0",year_range:"2023",start:((parseInt(n)-1)*20).toString()};this.limit=20,i=this.getExtendDic(l,i);let s=this.siteUrl+"/show/filter/WEB/3.2"+await Ls(i),a=Fs(await this.post(s,i,Ds()));if(a!=null){let o=JSON.parse(a);for(let f of o.list){let c=new nn;c.vod_id=f.showIdCode,c.vod_name=f.showTitle,c.vod_pic=f.showImg,c.vod_remarks=this.getVodRemarks(f.hot,f.playResolutions),this.vodList.push(c)}}}async setDetail(e){let n={show_id_code:e.toString()},r=this.siteUrl+"/show/detail/WEB/3.2"+await Ls(n),l=Fs(await this.post(r,n,Ds()));if(l!=null){let s=JSON.parse(l).entity;this.vodDetail=await this.parseVodDetailfromJson(s);let a=AG(s.plays,["\u539F\u753B"],e.toString());this.vodDetail.vod_play_from=a.vod_play_from,this.vodDetail.vod_play_url=a.vod_play_url}}async setSearch(e,n){let r={cat_id:"1",keyword:e,keyword_type:"0",start:"0"},l=this.siteUrl+"/show/search/WEB/3.2"+await Ls(r),i=Fs(await this.post(l,r,Ds()));if(i!=null){let s=JSON.parse(i);for(let a of s.list){let o=await this.parseVodDetailfromJson(a);this.vodList.push(o)}}}async setPlay(e,n,r){let l=n.split("@")[0],s={show_id_code:n.split("@")[1],play_id_code:l},a=this.siteUrl+"/show/play/info/WEB/3.2"+await Ls(s),o=Fs(await this.post(a,s,Ds()));if(o!=null){let f=JSON.parse(o);this.playUrl=f.entity.playUrl}}},pn=new Sb;var xb=class extends Qn{constructor(){super()}getName(){return pn.getName()}getAppName(){return pn.getAppName()}getJSName(){return pn.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await pn.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await pn.initCookie(e.server.config.bilicookie),await pn.spiderInit(e),pn.cfgObj.code=0,pn.catOpenStatus=!0,pn.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await pn.setClasses(),this.classes=pn.classes}async setFilterObj(){await pn.setFilterObj(),this.filterObj=pn.filterObj}async setHomeVod(){await pn.setHomeVod(),this.homeVodList=pn.homeVodList}async setCategory(e,n,r,l){await pn.setCategory(e,n,r,l),this.vodList=pn.vodList}async setDetail(e){await pn.setDetail(e),this.vodDetail=pn.vodDetail}async setPlay(e,n,r){await pn.setPlay(e,n,r),this.playUrl=pn.playUrl,this.result=pn.result}async setSearch(e,n,r){await pn.setSearch(e,n,r),this.vodList=pn.vodList,this.result=pn.result}async setProxy(e,n){return await pn.proxy(e,n)}},Ms=new xb;async function wG(t,e){return await Ms.init(t,e)}async function RG(t,e){return await Ms.home(t,e)}async function Gve(t,e){return await Ms.homeVod(t,e)}async function OG(t,e){return await Ms.category(t,e)}async function NG(t,e){return await Ms.detail(t,e)}async function IG(t,e){return await Ms.play(t,e)}async function CG(t,e){return await Ms.search(t,e)}async function Xve(t,e){return await Ms.proxy(t,e)}var kG={meta:{key:pn.getJSName(),name:pn.getName(),type:pn.getType()},api:async t=>{t.post("/init",wG),t.post("/home",RG),t.post("/category",OG),t.post("/detail",NG),t.post("/play",IG),t.post("/search",CG),t.get("/proxy/:what/:ids/:end",Xve)},spider:{init:wG,home:RG,homeVod:Gve,category:OG,detail:NG,play:IG,search:CG}};var Ab=class extends E4{constructor(){super(),this.siteUrl="http://cj.ffzyapi.com",this.remove18=!1,this.type_id_18=34}getAppName(){return"\u975E\u51E1\u8D44\u6E9018+"}getName(){return"\u{1F51E}\u2503\u975E\u51E1\u8D44\u6E9018+\u2503\u{1F51E}"}getJSName(){return"feifan18"}getType(){return 3}async spiderInit(e){await super.spiderInit(e)}async init(e){await super.init(e),await this.spiderInit(null)}},dn=new Ab;var wb=class extends Qn{constructor(){super()}getName(){return dn.getName()}getAppName(){return dn.getAppName()}getJSName(){return dn.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await dn.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await dn.initCookie(e.server.config.bilicookie),await dn.spiderInit(e),dn.cfgObj.code=0,dn.catOpenStatus=!0,dn.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await dn.setClasses(),this.classes=dn.classes}async setFilterObj(){await dn.setFilterObj(),this.filterObj=dn.filterObj}async setHomeVod(){await dn.setHomeVod(),this.homeVodList=dn.homeVodList}async setCategory(e,n,r,l){await dn.setCategory(e,n,r,l),this.vodList=dn.vodList}async setDetail(e){await dn.setDetail(e),this.vodDetail=dn.vodDetail}async setPlay(e,n,r){await dn.setPlay(e,n,r),this.playUrl=dn.playUrl,this.result=dn.result}async setSearch(e,n,r){await dn.setSearch(e,n,r),this.vodList=dn.vodList,this.result=dn.result}async setProxy(e,n){return await dn.proxy(e,n)}},$s=new wb;async function PG(t,e){return await $s.init(t,e)}async function DG(t,e){return await $s.home(t,e)}async function Wve(t,e){return await $s.homeVod(t,e)}async function LG(t,e){return await $s.category(t,e)}async function FG(t,e){return await $s.detail(t,e)}async function MG(t,e){return await $s.play(t,e)}async function $G(t,e){return await $s.search(t,e)}async function Kve(t,e){return await $s.proxy(t,e)}var jG={meta:{key:dn.getJSName(),name:dn.getName(),type:dn.getType()},api:async t=>{t.post("/init",PG),t.post("/home",DG),t.post("/category",LG),t.post("/detail",FG),t.post("/play",MG),t.post("/search",$G),t.get("/proxy/:what/:ids/:end",Kve)},spider:{init:PG,home:DG,homeVod:Wve,category:LG,detail:FG,play:MG,search:$G}};var UG=[Nz,Fz,qz,Yz,rG,cG,yG,xG,kG,jG],BG="/spider";async function Rb(t){UG.forEach(e=>{let n=BG+"/"+e.meta.key+"/"+e.meta.type;t.register(e.api,{prefix:n}),t.register(async r=>{r.get(n,async function(l,i){i.send({run:e.api})})}),console.log("Register spider: "+n)}),t.register(async e=>{e.get("/check",async function(n,r){r.send({run:!e.stop})}),e.get("/config",async function(n,r){let l={video:{sites:[]},read:{sites:[]},comic:{sites:[]},music:{sites:[]},pan:{sites:[]},color:e.config.color||[]};UG.forEach(i=>{let s=Object.assign({},i.meta);s.api=BG+"/"+s.key+"/"+s.type,s.key="nodejs_"+s.key;let a=i.meta.type;a<10?l.video.sites.push(s):a>=10&&a<20?l.read.sites.push(s):a>=20&&a<30?l.comic.sites.push(s):a>=30&&a<40?l.music.sites.push(s):a>=40&&a<50&&l.pan.sites.push(s)}),r.send(l)})})}var K7=_r(lX(),1);var t2=null,zb=new _4("\u670D\u52A1\u7BA1\u7406","DEBUG");async function f_e(t){t2=(0,iX.default)({serverFactory:catServerFactory,forceCloseConnections:!0,logger:process.env.NODE_ENV!=="development",maxParamLength:10240}),t2.messageToDart=async(e,n)=>{try{e.prefix||(e.prefix=n?n.server.prefix:""),console.log(e);let r=catDartServerPort();if(r==0)return null;let l=["https://jx.xmflv.com/?url=","https://jx.quankan.app/?url=","https://jx.yparse.com/index.php?url="];for(let i of l){e.opt.url=i+e.opt.url,e.opt.timeout=Math.floor(parseInt(e.opt.timeout)/l.length),await zb.debug(`\u55C5\u63A2,\u8BF7\u6C42URL\u4E3A:${`http://127.0.0.1:${r}/msg`},\u4F20\u53C2:${JSON.stringify(e)}`);let s=await y4.post(`http://127.0.0.1:${r}/msg`,e);if(s.data==="sniff timeout"){await zb.debug(`\u55C5\u63A2\u5931\u8D25,\u8FD4\u56DE\u7ED3\u679C\u4E3A:${JSON.stringify(s.data)},\u7EE7\u7EED\u55C5\u63A2`);continue}return await zb.debug(`\u55C5\u63A2\u6210\u529F,\u8FD4\u56DE\u7ED3\u679C\u4E3A:${JSON.stringify(s.data)},headers:${JSON.stringify(s.headers)}`),s.data}}catch{return null}},t2.address=function(){let e=this.server.address();return e.url=`http://${e.address}:${e.port}`,e.dynamic="js2p://_WEB_",e},t2.addHook("onError",async(e,n,r)=>(console.error(r),r.statusCode||(r.statusCode=500),r)),t2.stop=!1,t2.config=t,t2.db=new K7.JsonDB(new K7.Config((process.env.NODE_PATH||".")+"/db.json",!0,!0,"/",!0)),t2.register(Rb),t2.listen({port:process.env.DEV_HTTP_PORT||0,host:"127.0.0.1"})}async function p_e(){t2&&(t2.close(),t2.stop=!0),t2=null}0&&(module.exports={start,stop});
/*! Bundled license information:
uri-js/dist/es5/uri.all.js:
+1 -1
View File
@@ -1 +1 @@
d80c5c5f48a2111372fc72c6e27bb531
94123f38ce5fc594eb342b13d983bb6f
+137 -137
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1 +1 @@
944282601a1c78f978b6e07949cb420c
b8fe79b4b4a7b7895c46a5588e73a49f
+59 -52
View File
@@ -1,6 +1,42 @@
{
"video": {
"sites": [
{
"key": "hanxiucao",
"name": "🔞┃含羞草┃🔞",
"playerType": 0,
"type": 3,
"api": "./js/hanxiucao.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "liangzi18",
"name": "🔞┃量子资源18+┃🔞",
"playerType": 0,
"type": 3,
"api": "./js/liangzi18.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "doll",
"name": "🔞┃玩偶姐姐┃🔞",
"playerType": 0,
"type": 3,
"api": "./js/doll.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "jable",
"name": "🔞┃Jable┃🔞",
"playerType": 0,
"type": 3,
"api": "./js/jable.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "sehuatang",
"name": "🔞┃色花堂BT┃🔞",
@@ -20,11 +56,11 @@
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "feifan18",
"name": "🔞┃非凡资源18+┃🔞",
"key": "ciliduo",
"name": "🔞┃磁力多BT┃🔞",
"playerType": 0,
"type": 3,
"api": "./js/feifan18.js",
"api": "./js/ciliduo.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
@@ -37,42 +73,6 @@
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "liangzi18",
"name": "🔞┃量子资源18+┃🔞",
"playerType": 0,
"type": 3,
"api": "./js/liangzi18.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "jable",
"name": "🔞┃Jable┃🔞",
"playerType": 0,
"type": 3,
"api": "./js/jable.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "ciliduo",
"name": "🔞┃磁力多BT┃🔞",
"playerType": 0,
"type": 3,
"api": "./js/ciliduo.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "doll",
"name": "🔞┃玩偶姐姐┃🔞",
"playerType": 0,
"type": 3,
"api": "./js/doll.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "nivod_18",
"name": "🔞┃泥视频18+┃🔞",
@@ -83,11 +83,11 @@
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "hanxiucao",
"name": "🔞┃含羞草┃🔞",
"key": "feifan18",
"name": "🔞┃非凡资源18+┃🔞",
"playerType": 0,
"type": 3,
"api": "./js/hanxiucao.js",
"api": "./js/feifan18.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
@@ -103,10 +103,17 @@
"read": {
"sites": [
{
"key": "audiomack",
"name": "🎵┃音声┃🎵",
"key": "dj0898_book_open",
"name": "🎵┃世纪DJ音乐网┃🎵",
"type": 3,
"api": "./js/audiomack.js",
"api": "./js/dj0898_book_open.js",
"ext": "{\"box\": \"CatOpen\"}"
},
{
"key": "bookan",
"name": "🎵┃看书┃🎵",
"type": 3,
"api": "./js/bookan.js",
"ext": "{\"box\": \"CatOpen\"}"
},
{
@@ -124,17 +131,17 @@
"ext": "{\"box\": \"CatOpen\"}"
},
{
"key": "dj0898_book_open",
"name": "🎵┃世纪DJ音乐网┃🎵",
"type": 3,
"api": "./js/dj0898_book_open.js",
"key": "mhdq",
"name": "🖌︎|韩漫18|🖌︎",
"type": 10,
"api": "./js/mhdq.js",
"ext": "{\"box\": \"CatOpen\"}"
},
{
"key": "bookan",
"name": "🎵┃看书┃🎵",
"key": "audiomack",
"name": "🎵┃音声┃🎵",
"type": 3,
"api": "./js/bookan.js",
"api": "./js/audiomack.js",
"ext": "{\"box\": \"CatOpen\"}"
}
]
+42 -42
View File
@@ -1,5 +1,41 @@
{
"sites": [
{
"key": "hanxiucao",
"name": "🔞┃含羞草┃🔞",
"playerType": 0,
"type": 3,
"api": "./js/hanxiucao.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "liangzi18",
"name": "🔞┃量子资源18+┃🔞",
"playerType": 0,
"type": 3,
"api": "./js/liangzi18.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "doll",
"name": "🔞┃玩偶姐姐┃🔞",
"playerType": 0,
"type": 3,
"api": "./js/doll.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "jable",
"name": "🔞┃Jable┃🔞",
"playerType": 0,
"type": 3,
"api": "./js/jable.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "sehuatang",
"name": "🔞┃色花堂BT┃🔞",
@@ -19,11 +55,11 @@
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "feifan18",
"name": "🔞┃非凡资源18+┃🔞",
"key": "ciliduo",
"name": "🔞┃磁力多BT┃🔞",
"playerType": 0,
"type": 3,
"api": "./js/feifan18.js",
"api": "./js/ciliduo.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
@@ -36,42 +72,6 @@
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "liangzi18",
"name": "🔞┃量子资源18+┃🔞",
"playerType": 0,
"type": 3,
"api": "./js/liangzi18.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "jable",
"name": "🔞┃Jable┃🔞",
"playerType": 0,
"type": 3,
"api": "./js/jable.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "ciliduo",
"name": "🔞┃磁力多BT┃🔞",
"playerType": 0,
"type": 3,
"api": "./js/ciliduo.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "doll",
"name": "🔞┃玩偶姐姐┃🔞",
"playerType": 0,
"type": 3,
"api": "./js/doll.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "nivod_18",
"name": "🔞┃泥视频18+┃🔞",
@@ -82,11 +82,11 @@
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "hanxiucao",
"name": "🔞┃含羞草┃🔞",
"key": "feifan18",
"name": "🔞┃非凡资源18+┃🔞",
"playerType": 0,
"type": 3,
"api": "./js/hanxiucao.js",
"api": "./js/feifan18.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
+181
View File
@@ -0,0 +1,181 @@
/*
* @File : mhdq.js
* @Author : jade
* @Date : 2024/1/24 9:15
* @Email : [email protected]
* @Software : Samples
* @Desc : 18+韩漫
*/
import {Spider} from "./spider.js";
import {BookDetail, BookShort} from "../lib/book.js";
class MHDQSpider extends Spider {
constructor() {
super();
this.siteUrl = 'https://www.18hanman.com';
}
getName() {
return "🖌︎|韩漫18|🖌︎"
}
getAppName() {
return "韩漫18"
}
getJSName() {
return "mhdq"
}
getType() {
return 20
}
async setClasses() {
this.classes = []
let $ = await this.getHtml(this.siteUrl + "/category/")
for (const a of $('div.classopen ul.duzhe a[href!="/"]')) {
this.classes.push({
type_id: a.attribs.href,
type_name: a.children[0].data.trim()
});
}
}
async parseVodShortListFromDocByCategory($) {
const list = eval($('div[class="row exemptComic-box"]')[0].attribs.list);
let books = [];
for (const book of list) {
let bookShort = this.parseVodShortFromJson(book)
books.push(bookShort)
}
return books
}
parseVodShortFromElement($, element) {
let bookShort = new BookShort()
const a = $(element).find('a:first')[0];
const img = $(element).find('img:first-child')[0];
bookShort.book_id = a.attribs.href
bookShort.book_name = $($(element).find("a").slice(-1)[0]).html()
bookShort.book_pic = img.attribs.src
bookShort.book_remarks = $($(element).find("span")).text()
return bookShort
}
async parseVodShortListFromDoc($) {
let vodElements = $('ul.catagory-list li')
let books = []
for (const vodElement of vodElements) {
let bookShort = await this.parseVodShortFromElement($, vodElement)
books.push(bookShort)
}
return books
}
async parseVodShortListFromDocBySearch($) {
let vodElements = $('ul.u_list')
let books = []
for (const vodElement of vodElements) {
let bookShort = await this.parseVodShortFromElement($, vodElement)
books.push(bookShort)
}
return books
}
async parseVodDetailFromDoc($, id) {
let html = $.html()
let bookDetail = new BookDetail()
bookDetail.book_id = id
bookDetail.book_name = $('div.title:first').text().trim()
bookDetail.pic = $($('div.img:first-child')).find("img")[0].attribs.src
let contentElements = $('div.info ').find("p")
for (const contentElelent of contentElements) {
if ($(contentElelent).text().indexOf("更新至")) {
bookDetail.book_remarks = $(contentElelent).text().replaceAll("更新至:","")
}
if ($(contentElelent).text().indexOf("作者")) {
bookDetail.book_director = $(contentElelent).text().replaceAll("作者:","")
}
}
bookDetail.book_content = $("[class=\"text\"]").text()
let urls = [];
const links = $('ul.list a[href!="/"]');
for (const l of links) {
let name = l.children[0].data;
let link = l.attribs.href;
urls.push(name + '$' + link);
}
bookDetail.volumes = '全卷';
bookDetail.urls = urls.join('#');
return bookDetail
}
async setCategory(tid, pg, filter, extend) {
const $ = await this.getHtml(this.siteUrl + `${tid}/page/${pg}`)
this.vodList = await this.parseVodShortListFromDoc($)
}
async setDetail(id) {
let $ = await this.getHtml(this.siteUrl + `${id}`)
this.vodDetail = await this.parseVodDetailFromDoc($, id)
}
async setPlay(flag, id, flags) {
const $ = await this.getHtml(this.siteUrl + id);
let content = [];
for (const l of $('div.chapterbox img')) {
const img = $(l).attr('src');
content.push(img);
}
this.playUrl = {
"content": content,
}
}
async setSearch(wd, quick) {
const $ = await this.getHtml(this.siteUrl + `/index.php/search?key=${wd}`);
this.vodList = await this.parseVodShortListFromDocBySearch($)
}
}
let spider = new MHDQSpider()
async function init(cfg) {
await spider.init(cfg)
}
async function home(filter) {
return await spider.home(filter)
}
async function homeVod() {
return await spider.homeVod()
}
async function category(tid, pg, filter, extend) {
return await spider.category(tid, pg, filter, extend)
}
async function detail(id) {
return await spider.detail(id)
}
async function play(flag, id, flags) {
return await spider.play(flag, id, flags)
}
async function search(wd, quick) {
return await spider.search(wd, quick)
}
export function __jsEvalReturn() {
return {
init: init, home: home, homeVod: homeVod, category: category, detail: detail, play: play, search: search,
};
}
export {spider}
+12 -10
View File
@@ -1,4 +1,4 @@
import {__jsEvalReturn} from './bilibili.js';
import {__jsEvalReturn} from './mhdq.js';
import * as Utils from "../lib/utils.js";
@@ -50,14 +50,14 @@ async function testMusicPlay(vodDetail) {
}
async function test() {
let siteKey = 'bilibili';
let siteKey = 'mhdq';
let siteType = 0;
await spider.init({
skey: siteKey, stype: siteType, ext: {
"token": "6827db23e5474d02a07fd7431d3d5a5a",
"box": "TV",
"code": "1",
"from": "bilibili",
"from": "mhdq",
"danmu": true,
"cookie": "buvid3=02675249-8ED3-C418-87F5-59E18316459714816infoc; b_nut=1704421014; _uuid=5D435F74-F574-D9AB-62C1-B9294DE465D913102infoc; buvid_fp=e8c5650c749398e9b5cad3f3ddb5081e; buvid4=007E85D1-52C1-7E6E-07CF-837FFBC9349516677-024010502-J5vTDSZDCw4fNnXRejbSVg%3D%3D; rpdid=|()kYJmulRu0J'u~|RRJl)JR; PVID=1; SESSDATA=3be091d3%2C1720332009%2C699ed%2A11CjAcCdwXG5kY1umhCOpQHOn_WP7L9xFBfWO7KKd4BPweodpR6VyIfeNyPiRmkr5jCqsSVjg0R0dZOVVHRUo3RnhPRTZFc3JPbGdiUjFCdHpiRDhiTkticmdKTjVyS1VhbDdvNjFMSDJlbUJydUlRdjFUNGFBNkJlV2ZTa0N1Q1BEVi1QYTQzTUh3IIEC; bili_jct=b0ee7b5d3f27df893545d811d95506d4; DedeUserID=78014638; DedeUserID__ckMd5=4c8c5d65065e468a; enable_web_push=DISABLE; header_theme_version=CLOSE; home_feed_column=5; CURRENT_BLACKGAP=0; CURRENT_FNVAL=4048; b_lsid=75E916AA_18EA1A8D995; bsource=search_baidu; FEED_LIVE_VERSION=V_HEADER_LIVE_NO_POP; browser_resolution=1507-691; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTIzNjk5MTMsImlhdCI6MTcxMjExMDY1MywicGx0IjotMX0.8zQW_fNTCSBlK_JkHnzu3gDw62wuTK1qgKcbGec3swM; bili_ticket_expires=171236985"
}
@@ -69,28 +69,30 @@ async function test() {
// 测试详情
let detail1 = JSON.parse(await spider.detail("/1874.html"))
await testPlay(detail1)
// //测试首页列表
let homeVod = JSON.parse(await spider.homeVod())
console.debug(JSON.stringify(homeVod));
let catePage = JSON.parse(await spider.category("/category/list/1", "1", undefined, {}));
console.debug(JSON.stringify(catePage));
// 测试搜索
let search_page = JSON.parse(await spider.search("王牌",false,2))
let search_page = JSON.parse(await spider.search("12",false,1))
console.debug(JSON.stringify(search_page))
// 测试详情
let detail1 = JSON.parse(await spider.detail("86534"))
await testPlay(detail1)
;
let catePage = JSON.parse(await spider.category("2", "1", undefined, {}));
console.debug(JSON.stringify(catePage));
+147 -140
View File
@@ -2,29 +2,20 @@
"video": {
"sites": [
{
"key": "cilixiong",
"name": "🐻┃磁力熊┃🐻",
"key": "haiwaikan",
"name": "☕┃海外看┃☕墙",
"playerType": 0,
"type": 3,
"api": "./js/cilixiong.js",
"api": "./js/haiwaikan.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "aiyingshi",
"name": "🚀‍┃爱影视┃🚀",
"key": "ikanbot",
"name": "🤖┃爱看机器人┃🤖",
"playerType": 0,
"type": 3,
"api": "./js/aiyingshi.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "dubo",
"name": "🛶┃独播影视┃🛶",
"playerType": 0,
"type": 3,
"api": "./js/dubo.js",
"api": "./js/ikanbot.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
@@ -38,49 +29,49 @@
"ext": "{\"box\": \"CatOpen\", \"danmu\": false, \"token\": \"6827db23e5474d02a07fd7431d3d5a5a\"}"
},
{
"key": "huya",
"name": "🐯┃虎牙直播┃🐯",
"key": "tiantian",
"name": "⛄┃天天影视┃⛄",
"playerType": 0,
"type": 3,
"api": "./js/huya.js",
"api": "./js/tiantian.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "nivod",
"name": "👑‍┃泥视频┃墙👑",
"key": "kuaikan",
"name": "🛥︎┃快看视频┃🛥︎",
"playerType": 0,
"type": 3,
"api": "./js/nivod.js",
"api": "./js/kuaikan.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "kankan70",
"name": "📺┃70看看┃📺",
"playerType": 0,
"type": 3,
"api": "./js/kankan70.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "liangzi",
"name": "🐝┃量子资源┃🐝",
"playerType": 0,
"type": 3,
"api": "./js/liangzi.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false, \"code\": 1}"
},
{
"key": "feifan",
"name": "🥗┃非凡资源┃🥗",
"key": "changzhang",
"name": "🏭️┃厂长直连┃🏭️",
"playerType": 0,
"type": 3,
"api": "./js/feifan.js",
"api": "./js/changzhang.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "nangua",
"name": "🎃┃南瓜影视┃🎃",
"playerType": 0,
"type": 3,
"api": "./js/nangua.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "mp4movie",
"name": "🍚┃Mp4电影┃🍚",
"playerType": 0,
"type": 3,
"api": "./js/mp4movie.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
"ext": "{\"box\": \"CatOpen\", \"danmu\": false, \"token\": \"6827db23e5474d02a07fd7431d3d5a5a\"}"
},
{
"key": "jiujiuliu",
@@ -92,49 +83,13 @@
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "pan_search",
"name": "🗂️┃阿里盘搜┃🗂️",
"key": "bilibili",
"name": "🏰┃哔哩哔哩┃🏰",
"playerType": 0,
"type": 3,
"api": "./js/pan_search.js",
"api": "./js/bilibili.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false, \"token\": \"6827db23e5474d02a07fd7431d3d5a5a\"}"
},
{
"key": "dygangs",
"name": "🏖️┃电影港┃🏖️",
"playerType": 0,
"type": 3,
"api": "./js/dygangs.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "tiantian",
"name": "⛄┃天天影视┃⛄",
"playerType": 0,
"type": 3,
"api": "./js/tiantian.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "douban",
"name": "🍥┃豆瓣┃🍥",
"playerType": 0,
"type": 3,
"api": "./js/douban.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "star",
"name": "☄️┃星视界┃墙☄️",
"playerType": 0,
"type": 3,
"api": "./js/star.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
"ext": "{\"box\": \"CatOpen\", \"danmu\": false, \"cookie\": \"buvid3=02675249-8ED3-C418-87F5-59E18316459714816infoc; b_nut=1704421014; _uuid=5D435F74-F574-D9AB-62C1-B9294DE465D913102infoc; buvid_fp=e8c5650c749398e9b5cad3f3ddb5081e; buvid4=007E85D1-52C1-7E6E-07CF-837FFBC9349516677-024010502-J5vTDSZDCw4fNnXRejbSVg%3D%3D; rpdid=|()kYJmulRu0J'u~|RRJl)JR; PVID=1; SESSDATA=3be091d3%2C1720332009%2C699ed%2A11CjAcCdwXG5kY1umhCOpQHOn_WP7L9xFBfWO7KKd4BPweodpR6VyIfeNyPiRmkr5jCqsSVjg0R0dZOVVHRUo3RnhPRTZFc3JPbGdiUjFCdHpiRDhiTkticmdKTjVyS1VhbDdvNjFMSDJlbUJydUlRdjFUNGFBNkJlV2ZTa0N1Q1BEVi1QYTQzTUh3IIEC; bili_jct=b0ee7b5d3f27df893545d811d95506d4; DedeUserID=78014638; DedeUserID__ckMd5=4c8c5d65065e468a; enable_web_push=DISABLE; header_theme_version=CLOSE; home_feed_column=5; CURRENT_BLACKGAP=0; CURRENT_FNVAL=4048; b_lsid=75E916AA_18EA1A8D995; bsource=search_baidu; FEED_LIVE_VERSION=V_HEADER_LIVE_NO_POP; browser_resolution=1507-691; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTIzNjk5MTMsImlhdCI6MTcxMjExMDY1MywicGx0IjotMX0.8zQW_fNTCSBlK_JkHnzu3gDw62wuTK1qgKcbGec3swM; bili_ticket_expires=171236985\"}"
},
{
"key": "xb6v",
@@ -155,38 +110,65 @@
"ext": "{\"box\": \"CatOpen\", \"danmu\": false, \"token\": \"6827db23e5474d02a07fd7431d3d5a5a\"}"
},
{
"key": "kankan70",
"name": "📺┃70看看┃📺",
"key": "sp360",
"name": "🥎┃360影视┃🥎",
"playerType": 0,
"type": 3,
"api": "./js/kankan70.js",
"api": "./js/sp360.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "kuaikan",
"name": "🛥︎┃快看视频┃🛥︎",
"key": "mp4movie",
"name": "🍚┃Mp4电影┃🍚",
"playerType": 0,
"type": 3,
"api": "./js/kuaikan.js",
"api": "./js/mp4movie.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "liangzi",
"name": "🐝┃量子资源┃🐝",
"key": "douban",
"name": "🍥┃豆瓣┃🍥",
"playerType": 0,
"type": 3,
"api": "./js/liangzi.js",
"api": "./js/douban.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false, \"code\": 1}"
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "mxanime",
"name": "🍒┃MX动漫┃🍒",
"key": "newvision",
"name": "🐼┃新视觉影院┃🐼",
"playerType": 0,
"type": 3,
"api": "./js/mxanime.js",
"api": "./js/newvision.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "nangua",
"name": "🎃┃南瓜影视┃🎃",
"playerType": 0,
"type": 3,
"api": "./js/nangua.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "feifan",
"name": "🥗┃非凡资源┃🥗",
"playerType": 0,
"type": 3,
"api": "./js/feifan.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "jianpian",
"name": "🌼┃荐片┃🌼",
"playerType": 0,
"type": 3,
"api": "./js/jianpian.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
@@ -199,6 +181,42 @@
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "aiyingshi",
"name": "🚀‍┃爱影视┃🚀",
"playerType": 0,
"type": 3,
"api": "./js/aiyingshi.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "nivod",
"name": "👑‍┃泥视频┃墙👑",
"playerType": 0,
"type": 3,
"api": "./js/nivod.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false, \"code\": 1}"
},
{
"key": "huya",
"name": "🐯┃虎牙直播┃🐯",
"playerType": 0,
"type": 3,
"api": "./js/huya.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "dygangs",
"name": "🏖️┃电影港┃🏖️",
"playerType": 0,
"type": 3,
"api": "./js/dygangs.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "wogg",
"name": "💂‍┃阿里玩偶┃💂",
@@ -209,13 +227,13 @@
"ext": "{\"box\": \"CatOpen\", \"danmu\": false, \"token\": \"6827db23e5474d02a07fd7431d3d5a5a\"}"
},
{
"key": "ikanbot",
"name": "🤖┃爱看机器人┃🤖",
"key": "pan_search",
"name": "🗂️┃阿里盘搜┃🗂️",
"playerType": 0,
"type": 3,
"api": "./js/ikanbot.js",
"api": "./js/pan_search.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
"ext": "{\"box\": \"CatOpen\", \"danmu\": false, \"token\": \"6827db23e5474d02a07fd7431d3d5a5a\"}"
},
{
"key": "aliyunpanshare",
@@ -227,56 +245,38 @@
"ext": "{\"box\": \"CatOpen\", \"danmu\": false, \"token\": \"6827db23e5474d02a07fd7431d3d5a5a\"}"
},
{
"key": "newvision",
"name": "🐼┃新视觉影院┃🐼",
"key": "cilixiong",
"name": "🐻┃磁力熊┃🐻",
"playerType": 0,
"type": 3,
"api": "./js/newvision.js",
"api": "./js/cilixiong.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "haiwaikan",
"name": "☕┃海外看┃☕墙",
"key": "mxanime",
"name": "🍒┃MX动漫┃🍒",
"playerType": 0,
"type": 3,
"api": "./js/haiwaikan.js",
"api": "./js/mxanime.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "bilibili",
"name": "🏰┃哔哩哔哩┃🏰",
"key": "dubo",
"name": "🛶┃独播影视┃🛶",
"playerType": 0,
"type": 3,
"api": "./js/bilibili.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false, \"cookie\": \"buvid3=02675249-8ED3-C418-87F5-59E18316459714816infoc; b_nut=1704421014; _uuid=5D435F74-F574-D9AB-62C1-B9294DE465D913102infoc; buvid_fp=e8c5650c749398e9b5cad3f3ddb5081e; buvid4=007E85D1-52C1-7E6E-07CF-837FFBC9349516677-024010502-J5vTDSZDCw4fNnXRejbSVg%3D%3D; rpdid=|()kYJmulRu0J'u~|RRJl)JR; PVID=1; SESSDATA=3be091d3%2C1720332009%2C699ed%2A11CjAcCdwXG5kY1umhCOpQHOn_WP7L9xFBfWO7KKd4BPweodpR6VyIfeNyPiRmkr5jCqsSVjg0R0dZOVVHRUo3RnhPRTZFc3JPbGdiUjFCdHpiRDhiTkticmdKTjVyS1VhbDdvNjFMSDJlbUJydUlRdjFUNGFBNkJlV2ZTa0N1Q1BEVi1QYTQzTUh3IIEC; bili_jct=b0ee7b5d3f27df893545d811d95506d4; DedeUserID=78014638; DedeUserID__ckMd5=4c8c5d65065e468a; enable_web_push=DISABLE; header_theme_version=CLOSE; home_feed_column=5; CURRENT_BLACKGAP=0; CURRENT_FNVAL=4048; b_lsid=75E916AA_18EA1A8D995; bsource=search_baidu; FEED_LIVE_VERSION=V_HEADER_LIVE_NO_POP; browser_resolution=1507-691; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTIzNjk5MTMsImlhdCI6MTcxMjExMDY1MywicGx0IjotMX0.8zQW_fNTCSBlK_JkHnzu3gDw62wuTK1qgKcbGec3swM; bili_ticket_expires=171236985\"}"
},
{
"key": "changzhang",
"name": "🏭️┃厂长直连┃🏭️",
"playerType": 0,
"type": 3,
"api": "./js/changzhang.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false, \"token\": \"6827db23e5474d02a07fd7431d3d5a5a\"}"
},
{
"key": "jianpian",
"name": "🌼┃荐片┃🌼",
"playerType": 0,
"type": 3,
"api": "./js/jianpian.js",
"api": "./js/dubo.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
{
"key": "sp360",
"name": "🥎┃360影视┃🥎",
"key": "star",
"name": "☄️┃星视界┃墙☄️",
"playerType": 0,
"type": 3,
"api": "./js/sp360.js",
"api": "./js/star.js",
"timeout": 30,
"ext": "{\"box\": \"CatOpen\", \"danmu\": false}"
},
@@ -292,10 +292,17 @@
"read": {
"sites": [
{
"key": "audiomack",
"name": "🎵┃音声┃🎵",
"key": "dj0898_book_open",
"name": "🎵┃世纪DJ音乐网┃🎵",
"type": 3,
"api": "./js/audiomack.js",
"api": "./js/dj0898_book_open.js",
"ext": "{\"box\": \"CatOpen\"}"
},
{
"key": "bookan",
"name": "🎵┃看书┃🎵",
"type": 3,
"api": "./js/bookan.js",
"ext": "{\"box\": \"CatOpen\"}"
},
{
@@ -313,17 +320,17 @@
"ext": "{\"box\": \"CatOpen\"}"
},
{
"key": "dj0898_book_open",
"name": "🎵┃世纪DJ音乐网┃🎵",
"type": 3,
"api": "./js/dj0898_book_open.js",
"key": "mhdq",
"name": "🖌︎|韩漫18|🖌︎",
"type": 10,
"api": "./js/mhdq.js",
"ext": "{\"box\": \"CatOpen\"}"
},
{
"key": "bookan",
"name": "🎵┃看书┃🎵",
"key": "audiomack",
"name": "🎵┃音声┃🎵",
"type": 3,
"api": "./js/bookan.js",
"api": "./js/audiomack.js",
"ext": "{\"box\": \"CatOpen\"}"
}
]
+130 -130
View File
@@ -1,29 +1,20 @@
{
"sites": [
{
"key": "cilixiong",
"name": "🐻┃磁力熊┃🐻",
"key": "haiwaikan",
"name": "☕┃海外看┃☕墙",
"playerType": 0,
"type": 3,
"api": "./js/cilixiong.js",
"api": "./js/haiwaikan.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "aiyingshi",
"name": "🚀‍┃爱影视┃🚀",
"key": "ikanbot",
"name": "🤖┃爱看机器人┃🤖",
"playerType": 0,
"type": 3,
"api": "./js/aiyingshi.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "dubo",
"name": "🛶┃独播影视┃🛶",
"playerType": 0,
"type": 3,
"api": "./js/dubo.js",
"api": "./js/ikanbot.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
@@ -37,49 +28,49 @@
"ext": "{\"box\": \"TVBox\", \"danmu\": false, \"token\": \"6827db23e5474d02a07fd7431d3d5a5a\"}"
},
{
"key": "huya",
"name": "🐯┃虎牙直播┃🐯",
"key": "tiantian",
"name": "⛄┃天天影视┃⛄",
"playerType": 0,
"type": 3,
"api": "./js/huya.js",
"api": "./js/tiantian.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "nivod",
"name": "👑‍┃泥视频┃墙👑",
"key": "kuaikan",
"name": "🛥︎┃快看视频┃🛥︎",
"playerType": 0,
"type": 3,
"api": "./js/nivod.js",
"api": "./js/kuaikan.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "kankan70",
"name": "📺┃70看看┃📺",
"playerType": 0,
"type": 3,
"api": "./js/kankan70.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "liangzi",
"name": "🐝┃量子资源┃🐝",
"playerType": 0,
"type": 3,
"api": "./js/liangzi.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false, \"code\": 1}"
},
{
"key": "feifan",
"name": "🥗┃非凡资源┃🥗",
"key": "changzhang",
"name": "🏭️┃厂长直连┃🏭️",
"playerType": 0,
"type": 3,
"api": "./js/feifan.js",
"api": "./js/changzhang.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "nangua",
"name": "🎃┃南瓜影视┃🎃",
"playerType": 0,
"type": 3,
"api": "./js/nangua.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "mp4movie",
"name": "🍚┃Mp4电影┃🍚",
"playerType": 0,
"type": 3,
"api": "./js/mp4movie.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
"ext": "{\"box\": \"TVBox\", \"danmu\": false, \"token\": \"6827db23e5474d02a07fd7431d3d5a5a\"}"
},
{
"key": "jiujiuliu",
@@ -91,49 +82,13 @@
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "pan_search",
"name": "🗂️┃阿里盘搜┃🗂️",
"key": "bilibili",
"name": "🏰┃哔哩哔哩┃🏰",
"playerType": 0,
"type": 3,
"api": "./js/pan_search.js",
"api": "./js/bilibili.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false, \"token\": \"6827db23e5474d02a07fd7431d3d5a5a\"}"
},
{
"key": "dygangs",
"name": "🏖️┃电影港┃🏖️",
"playerType": 0,
"type": 3,
"api": "./js/dygangs.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "tiantian",
"name": "⛄┃天天影视┃⛄",
"playerType": 0,
"type": 3,
"api": "./js/tiantian.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "douban",
"name": "🍥┃豆瓣┃🍥",
"playerType": 0,
"type": 3,
"api": "./js/douban.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "star",
"name": "☄️┃星视界┃墙☄️",
"playerType": 0,
"type": 3,
"api": "./js/star.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
"ext": "{\"box\": \"TVBox\", \"danmu\": false, \"cookie\": \"buvid3=02675249-8ED3-C418-87F5-59E18316459714816infoc; b_nut=1704421014; _uuid=5D435F74-F574-D9AB-62C1-B9294DE465D913102infoc; buvid_fp=e8c5650c749398e9b5cad3f3ddb5081e; buvid4=007E85D1-52C1-7E6E-07CF-837FFBC9349516677-024010502-J5vTDSZDCw4fNnXRejbSVg%3D%3D; rpdid=|()kYJmulRu0J'u~|RRJl)JR; PVID=1; SESSDATA=3be091d3%2C1720332009%2C699ed%2A11CjAcCdwXG5kY1umhCOpQHOn_WP7L9xFBfWO7KKd4BPweodpR6VyIfeNyPiRmkr5jCqsSVjg0R0dZOVVHRUo3RnhPRTZFc3JPbGdiUjFCdHpiRDhiTkticmdKTjVyS1VhbDdvNjFMSDJlbUJydUlRdjFUNGFBNkJlV2ZTa0N1Q1BEVi1QYTQzTUh3IIEC; bili_jct=b0ee7b5d3f27df893545d811d95506d4; DedeUserID=78014638; DedeUserID__ckMd5=4c8c5d65065e468a; enable_web_push=DISABLE; header_theme_version=CLOSE; home_feed_column=5; CURRENT_BLACKGAP=0; CURRENT_FNVAL=4048; b_lsid=75E916AA_18EA1A8D995; bsource=search_baidu; FEED_LIVE_VERSION=V_HEADER_LIVE_NO_POP; browser_resolution=1507-691; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTIzNjk5MTMsImlhdCI6MTcxMjExMDY1MywicGx0IjotMX0.8zQW_fNTCSBlK_JkHnzu3gDw62wuTK1qgKcbGec3swM; bili_ticket_expires=171236985\"}"
},
{
"key": "xb6v",
@@ -154,38 +109,65 @@
"ext": "{\"box\": \"TVBox\", \"danmu\": false, \"token\": \"6827db23e5474d02a07fd7431d3d5a5a\"}"
},
{
"key": "kankan70",
"name": "📺┃70看看┃📺",
"key": "sp360",
"name": "🥎┃360影视┃🥎",
"playerType": 0,
"type": 3,
"api": "./js/kankan70.js",
"api": "./js/sp360.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "kuaikan",
"name": "🛥︎┃快看视频┃🛥︎",
"key": "mp4movie",
"name": "🍚┃Mp4电影┃🍚",
"playerType": 0,
"type": 3,
"api": "./js/kuaikan.js",
"api": "./js/mp4movie.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "liangzi",
"name": "🐝┃量子资源┃🐝",
"key": "douban",
"name": "🍥┃豆瓣┃🍥",
"playerType": 0,
"type": 3,
"api": "./js/liangzi.js",
"api": "./js/douban.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false, \"code\": 1}"
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "mxanime",
"name": "🍒┃MX动漫┃🍒",
"key": "newvision",
"name": "🐼┃新视觉影院┃🐼",
"playerType": 0,
"type": 3,
"api": "./js/mxanime.js",
"api": "./js/newvision.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "nangua",
"name": "🎃┃南瓜影视┃🎃",
"playerType": 0,
"type": 3,
"api": "./js/nangua.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "feifan",
"name": "🥗┃非凡资源┃🥗",
"playerType": 0,
"type": 3,
"api": "./js/feifan.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "jianpian",
"name": "🌼┃荐片┃🌼",
"playerType": 0,
"type": 3,
"api": "./js/jianpian.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
@@ -198,6 +180,42 @@
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "aiyingshi",
"name": "🚀‍┃爱影视┃🚀",
"playerType": 0,
"type": 3,
"api": "./js/aiyingshi.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "nivod",
"name": "👑‍┃泥视频┃墙👑",
"playerType": 0,
"type": 3,
"api": "./js/nivod.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false, \"code\": 1}"
},
{
"key": "huya",
"name": "🐯┃虎牙直播┃🐯",
"playerType": 0,
"type": 3,
"api": "./js/huya.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "dygangs",
"name": "🏖️┃电影港┃🏖️",
"playerType": 0,
"type": 3,
"api": "./js/dygangs.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "wogg",
"name": "💂‍┃阿里玩偶┃💂",
@@ -208,13 +226,13 @@
"ext": "{\"box\": \"TVBox\", \"danmu\": false, \"token\": \"6827db23e5474d02a07fd7431d3d5a5a\"}"
},
{
"key": "ikanbot",
"name": "🤖┃爱看机器人┃🤖",
"key": "pan_search",
"name": "🗂️┃阿里盘搜┃🗂️",
"playerType": 0,
"type": 3,
"api": "./js/ikanbot.js",
"api": "./js/pan_search.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
"ext": "{\"box\": \"TVBox\", \"danmu\": false, \"token\": \"6827db23e5474d02a07fd7431d3d5a5a\"}"
},
{
"key": "aliyunpanshare",
@@ -226,56 +244,38 @@
"ext": "{\"box\": \"TVBox\", \"danmu\": false, \"token\": \"6827db23e5474d02a07fd7431d3d5a5a\"}"
},
{
"key": "newvision",
"name": "🐼┃新视觉影院┃🐼",
"key": "cilixiong",
"name": "🐻┃磁力熊┃🐻",
"playerType": 0,
"type": 3,
"api": "./js/newvision.js",
"api": "./js/cilixiong.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "haiwaikan",
"name": "☕┃海外看┃☕墙",
"key": "mxanime",
"name": "🍒┃MX动漫┃🍒",
"playerType": 0,
"type": 3,
"api": "./js/haiwaikan.js",
"api": "./js/mxanime.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "bilibili",
"name": "🏰┃哔哩哔哩┃🏰",
"key": "dubo",
"name": "🛶┃独播影视┃🛶",
"playerType": 0,
"type": 3,
"api": "./js/bilibili.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false, \"cookie\": \"buvid3=02675249-8ED3-C418-87F5-59E18316459714816infoc; b_nut=1704421014; _uuid=5D435F74-F574-D9AB-62C1-B9294DE465D913102infoc; buvid_fp=e8c5650c749398e9b5cad3f3ddb5081e; buvid4=007E85D1-52C1-7E6E-07CF-837FFBC9349516677-024010502-J5vTDSZDCw4fNnXRejbSVg%3D%3D; rpdid=|()kYJmulRu0J'u~|RRJl)JR; PVID=1; SESSDATA=3be091d3%2C1720332009%2C699ed%2A11CjAcCdwXG5kY1umhCOpQHOn_WP7L9xFBfWO7KKd4BPweodpR6VyIfeNyPiRmkr5jCqsSVjg0R0dZOVVHRUo3RnhPRTZFc3JPbGdiUjFCdHpiRDhiTkticmdKTjVyS1VhbDdvNjFMSDJlbUJydUlRdjFUNGFBNkJlV2ZTa0N1Q1BEVi1QYTQzTUh3IIEC; bili_jct=b0ee7b5d3f27df893545d811d95506d4; DedeUserID=78014638; DedeUserID__ckMd5=4c8c5d65065e468a; enable_web_push=DISABLE; header_theme_version=CLOSE; home_feed_column=5; CURRENT_BLACKGAP=0; CURRENT_FNVAL=4048; b_lsid=75E916AA_18EA1A8D995; bsource=search_baidu; FEED_LIVE_VERSION=V_HEADER_LIVE_NO_POP; browser_resolution=1507-691; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTIzNjk5MTMsImlhdCI6MTcxMjExMDY1MywicGx0IjotMX0.8zQW_fNTCSBlK_JkHnzu3gDw62wuTK1qgKcbGec3swM; bili_ticket_expires=171236985\"}"
},
{
"key": "changzhang",
"name": "🏭️┃厂长直连┃🏭️",
"playerType": 0,
"type": 3,
"api": "./js/changzhang.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false, \"token\": \"6827db23e5474d02a07fd7431d3d5a5a\"}"
},
{
"key": "jianpian",
"name": "🌼┃荐片┃🌼",
"playerType": 0,
"type": 3,
"api": "./js/jianpian.js",
"api": "./js/dubo.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},
{
"key": "sp360",
"name": "🥎┃360影视┃🥎",
"key": "star",
"name": "☄️┃星视界┃墙☄️",
"playerType": 0,
"type": 3,
"api": "./js/sp360.js",
"api": "./js/star.js",
"timeout": 30,
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
},