update CAT

This commit is contained in:
qist committed 2024-05-09 10:42:34 +08:00
1 parent 6605d4f19e
commit a585001061
7 files changed
+55 -49

No files matched your search

+2 -2
View File
@@ -398,7 +398,7 @@ function print() { __p += __j.call(arguments, '') }
`+i):l.stack=i}throw l}}_request(e,n){typeof e=="string"?(n=n||{},n.url=e):n=e||{},n=is(this.defaults,n);let{transitional:l,paramsSerializer:r,headers:i}=n;l!==void 0&&Sf.assertOptions(l,{silentJSONParsing:ua.transitional(ua.boolean),forcedJSONParsing:ua.transitional(ua.boolean),clarifyTimeoutError:ua.transitional(ua.boolean)},!1),r!=null&&(Z.isFunction(r)?n.paramsSerializer={serialize:r}:Sf.assertOptions(r,{encode:ua.function,serialize:ua.function},!0)),n.method=(n.method||this.defaults.method||"get").toLowerCase();let s=i&&Z.merge(i.common,i[n.method]);i&&Z.forEach(["delete","get","head","post","put","patch","common"],y=>{delete i[y]}),n.headers=s2.concat(s,i);let a=[],u=!0;this.interceptors.request.forEach(function(_){typeof _.runWhen=="function"&&_.runWhen(n)===!1||(u=u&&_.synchronous,a.unshift(_.fulfilled,_.rejected))});let o=[];this.interceptors.response.forEach(function(_){o.push(_.fulfilled,_.rejected)});let c,f=0,m;if(!u){let y=[wf.bind(this),void 0];for(y.unshift.apply(y,a),y.push.apply(y,o),m=y.length,c=Promise.resolve(n);f<m;)c=c.then(y[f++],y[f++]);return c}m=a.length;let d=n;for(f=0;f<m;){let y=a[f++],_=a[f++];try{d=y(d)}catch(S){_.call(this,S);break}}try{c=wf.call(this,d)}catch(y){return Promise.reject(y)}for(f=0,m=o.length;f<m;)c=c.then(o[f++],o[f++]);return c}getUri(e){e=is(this.defaults,e);let n=go(e.baseURL,e.url);return yo(n,e.params,e.paramsSerializer)}};Z.forEach(["delete","get","head","options"],function(e){j4.prototype[e]=function(n,l){return this.request(is(l||{},{method:e,url:n,data:(l||{}).data}))}});Z.forEach(["post","put","patch"],function(e){function n(l){return function(i,s,a){return this.request(is(a||{},{method:e,headers:l?{"Content-Type":"multipart/form-data"}:{},url:i,data:s}))}}j4.prototype[e]=n(),j4.prototype[e+"Form"]=n(!0)});var J6=j4;var Gw=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 l=this;this.promise.then(r=>{if(!l._listeners)return;let i=l._listeners.length;for(;i-- >0;)l._listeners[i](r);l._listeners=null}),this.promise.then=r=>{let i,s=new Promise(a=>{l.subscribe(a),i=a}).then(r);return s.cancel=function(){l.unsubscribe(i)},s},e(function(i,s,a){l.reason||(l.reason=new Dr(i,s,a),n(l.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(r){e=r}),cancel:e}}},hK=Gw;function Jw(t){return function(n){return t.apply(null,n)}}function Kw(t){return Z.isObject(t)&&t.isAxiosError===!0}var Xw={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(Xw).forEach(([t,e])=>{Xw[e]=t});var mK=Xw;function yK(t){let e=new J6(t),n=P6(J6.prototype.request,e);return Z.extend(n,J6.prototype,e,{allOwnKeys:!0}),Z.extend(n,e,null,{allOwnKeys:!0}),n.create=function(r){return yK(is(t,r))},n}var Jl=yK(P4);Jl.Axios=J6;Jl.CanceledError=Dr;Jl.CancelToken=hK;Jl.isCancel=M6;Jl.VERSION=_o;Jl.toFormData=ia;Jl.AxiosError=qe;Jl.Cancel=Jl.CanceledError;Jl.all=function(e){return Promise.all(e)};Jl.spread=Jw;Jl.isAxiosError=Kw;Jl.mergeConfig=is;Jl.AxiosHeaders=s2;Jl.formToJSON=t=>yf(Z.isHTMLForm(t)?new FormData(t):t);Jl.getAdapter=bf.getAdapter;Jl.HttpStatusCode=mK;Jl.default=Jl;var U4=Jl;var{Axios:KUe,AxiosError:XUe,CanceledError:WUe,isCancel:YUe,CancelToken:QUe,VERSION:ZUe,all:eMe,Cancel:tMe,isAxiosError:nMe,spread:lMe,toFormData:gK,AxiosHeaders:rMe,HttpStatusCode:iMe,formToJSON:sMe,getAdapter:aMe,mergeConfig:uMe}=U4;var xK=Ql(require("https"),1),AK=Ql(require("crypto"),1),OK=Ql(SK(),1),Qw={};globalThis.dataBase=null;globalThis.local={get:async function(t,e){return await _xe(t,e)},set:asy Line truncated `+i):l.stack=i}throw l}}_request(e,n){typeof e=="string"?(n=n||{},n.url=e):n=e||{},n=is(this.defaults,n);let{transitional:l,paramsSerializer:r,headers:i}=n;l!==void 0&&Sf.assertOptions(l,{silentJSONParsing:ua.transitional(ua.boolean),forcedJSONParsing:ua.transitional(ua.boolean),clarifyTimeoutError:ua.transitional(ua.boolean)},!1),r!=null&&(Z.isFunction(r)?n.paramsSerializer={serialize:r}:Sf.assertOptions(r,{encode:ua.function,serialize:ua.function},!0)),n.method=(n.method||this.defaults.method||"get").toLowerCase();let s=i&&Z.merge(i.common,i[n.method]);i&&Z.forEach(["delete","get","head","post","put","patch","common"],y=>{delete i[y]}),n.headers=s2.concat(s,i);let a=[],u=!0;this.interceptors.request.forEach(function(_){typeof _.runWhen=="function"&&_.runWhen(n)===!1||(u=u&&_.synchronous,a.unshift(_.fulfilled,_.rejected))});let o=[];this.interceptors.response.forEach(function(_){o.push(_.fulfilled,_.rejected)});let c,f=0,m;if(!u){let y=[wf.bind(this),void 0];for(y.unshift.apply(y,a),y.push.apply(y,o),m=y.length,c=Promise.resolve(n);f<m;)c=c.then(y[f++],y[f++]);return c}m=a.length;let d=n;for(f=0;f<m;){let y=a[f++],_=a[f++];try{d=y(d)}catch(S){_.call(this,S);break}}try{c=wf.call(this,d)}catch(y){return Promise.reject(y)}for(f=0,m=o.length;f<m;)c=c.then(o[f++],o[f++]);return c}getUri(e){e=is(this.defaults,e);let n=go(e.baseURL,e.url);return yo(n,e.params,e.paramsSerializer)}};Z.forEach(["delete","get","head","options"],function(e){j4.prototype[e]=function(n,l){return this.request(is(l||{},{method:e,url:n,data:(l||{}).data}))}});Z.forEach(["post","put","patch"],function(e){function n(l){return function(i,s,a){return this.request(is(a||{},{method:e,headers:l?{"Content-Type":"multipart/form-data"}:{},url:i,data:s}))}}j4.prototype[e]=n(),j4.prototype[e+"Form"]=n(!0)});var J6=j4;var Gw=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 l=this;this.promise.then(r=>{if(!l._listeners)return;let i=l._listeners.length;for(;i-- >0;)l._listeners[i](r);l._listeners=null}),this.promise.then=r=>{let i,s=new Promise(a=>{l.subscribe(a),i=a}).then(r);return s.cancel=function(){l.unsubscribe(i)},s},e(function(i,s,a){l.reason||(l.reason=new Dr(i,s,a),n(l.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(r){e=r}),cancel:e}}},hK=Gw;function Jw(t){return function(n){return t.apply(null,n)}}function Kw(t){return Z.isObject(t)&&t.isAxiosError===!0}var Xw={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(Xw).forEach(([t,e])=>{Xw[e]=t});var mK=Xw;function yK(t){let e=new J6(t),n=P6(J6.prototype.request,e);return Z.extend(n,J6.prototype,e,{allOwnKeys:!0}),Z.extend(n,e,null,{allOwnKeys:!0}),n.create=function(r){return yK(is(t,r))},n}var Jl=yK(P4);Jl.Axios=J6;Jl.CanceledError=Dr;Jl.CancelToken=hK;Jl.isCancel=M6;Jl.VERSION=_o;Jl.toFormData=ia;Jl.AxiosError=qe;Jl.Cancel=Jl.CanceledError;Jl.all=function(e){return Promise.all(e)};Jl.spread=Jw;Jl.isAxiosError=Kw;Jl.mergeConfig=is;Jl.AxiosHeaders=s2;Jl.formToJSON=t=>yf(Z.isHTMLForm(t)?new FormData(t):t);Jl.getAdapter=bf.getAdapter;Jl.HttpStatusCode=mK;Jl.default=Jl;var U4=Jl;var{Axios:KUe,AxiosError:XUe,CanceledError:WUe,isCancel:YUe,CancelToken:QUe,VERSION:ZUe,all:eMe,Cancel:tMe,isAxiosError:nMe,spread:lMe,toFormData:gK,AxiosHeaders:rMe,HttpStatusCode:iMe,formToJSON:sMe,getAdapter:aMe,mergeConfig:uMe}=U4;var xK=Ql(require("https"),1),AK=Ql(require("crypto"),1),OK=Ql(SK(),1),Qw={};globalThis.dataBase=null;globalThis.local={get:async function(t,e){return await _xe(t,e)},set:asy Line truncated
`},timeout:.1}),await dataBase.push(l,Qw)}globalThis.localLog={set:async function(t,e,n){wxe(t,e,n)}};function bxe(){bo.default.existsSync("log")||bo.default.mkdirSync("log");let t="log/info.log";return bo.default.existsSync(t)?bo.default.readFileSync(t).toString():(bo.default.writeFileSync(t,""),"")}function wxe(t){bo.default.writeFileSync("log/info.log",bxe()+` `},timeout:.1}),await dataBase.push(l,Qw)}globalThis.localLog={set:async function(t,e,n){wxe(t,e,n)}};function bxe(){bo.default.existsSync("log")||bo.default.mkdirSync("log");let t="log/info.log";return bo.default.existsSync(t)?bo.default.readFileSync(t).toString():(bo.default.writeFileSync(t,""),"")}function wxe(t){bo.default.writeFileSync("log/info.log",bxe()+`
`+t)}globalThis.req=Sxe;async function Sxe(t,e){try{let n=e&&e.data||null,l=e&&e.postType||null,r=e&&e.buffer||0,i=e&&e.timeout||5e3,s=(e&&e.redirect||1)===1,a=e.proxy??!1,u=e?e.headers||{}:{};l==="form"?(u["Content-Type"]="application/x-www-form-urlencoded",n!=null&&(n=TK.default.stringify(n,{encode:!1}))):l==="form-data"&&(u["Content-Type"]="multipart/form-data",n=gK(n));let o=r===1||r===2?"arraybuffer":void 0,c;a?c=OK.default.httpsOverHttp({proxy:{host:"127.0.0.1",port:7890}}):c=xK.default.Agent({rejectUnauthorized:!1});let f=await U4(t,{responseType:o,method:e&&e.method||"get",headers:u,data:n,timeout:i,maxRedirects:s?null:0,httpsAgent:c});n=f.data;let m={};for(let d of f.headers){let y=d[1];m[d[0]]=Array.isArray(y)&&y.length===1?y[0]:y}if(!r)typeof n=="object"&&(n=JSON.stringify(n));else{if(r===1)return{code:f.status,headers:m,content:n};if(r===2)return{code:f.status,headers:m,content:n.toString("base64")};if(r===3){let d=e.stream;return d.onResp&&await d.onResp({code:f.status,headers:m}),d.onData?(n.on("data",async y=>{await d.onData(y)}),n.on("end",async()=>{d.onDone&&await d.onDone()})):d.onDone&&await d.onDone(),"stream..."}}return{code:f.status,headers:m,content:n}}catch(n){let l=n.response;try{return{code:l.status,headers:l.headers,content:JSON.stringify(l.data)}}catch{return{headers:{},content:""}}}}globalThis.md5X=Txe;function Txe(t){return AK.default.createHash("md5").update(Buffer.from(t,"utf8")).digest("hex")}globalThis.js2Proxy=function(t,e,n){let l=Object.keys(n).length===0?" ":encodeURIComponent(JSON.stringify(n));return t.server.address().dynamic+t.server.prefix+"/proxy/"+encodeURIComponent(e)+"/"+l+"/"};var xxe=["DEBUG","INFO","WARNING","ERROR"];var $4=class{constructor(e,n="DEBUG"){this.app_name=e,this.level=n,this.level_index=xxe.indexOf(n)}format(e,n){let l=80;switch(e){case"INFO":l=l+1;break;case"WARNING":l=l-2;break;default:break}return n.length<l&&((l-n.length)%2===0?n="#".repeat(Math.floor((l-n.length)/2))+n+"#".repeat(Math.floor((l-n.length)/2)):n="#".repeat(Math.floor((l-n.length)/2))+n+"#".repeat(Math.floor((l-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,l){return l&&(n=this.format(e,n)),`${this.getTime()} - ${this.app_name} - ${e}: ${n}`}async log(e){console.debug(e),await req("http://127.0.0.1:8099/upload",{data:{log:e+` `+t)}globalThis.req=Sxe;async function Sxe(t,e){try{let n=e&&e.data||null,l=e&&e.postType||null,r=e&&e.buffer||0,i=e&&e.timeout||5e3,s=(e&&e.redirect||1)===1,a=e.proxy??!1,u=e?e.headers||{}:{};l==="form"?(u["Content-Type"]="application/x-www-form-urlencoded",n!=null&&(n=TK.default.stringify(n,{encode:!1}))):l==="form-data"&&(u["Content-Type"]="multipart/form-data",n=gK(n));let o=r===1||r===2?"arraybuffer":void 0,c;a?c=OK.default.httpsOverHttp({proxy:{host:"127.0.0.1",port:7890}}):c=xK.default.Agent({rejectUnauthorized:!1});let f=await U4(t,{responseType:o,method:e&&e.method||"get",headers:u,data:n,timeout:i,maxRedirects:s?null:0,httpsAgent:c});n=f.data;let m={};for(let d of f.headers){let y=d[1];m[d[0]]=Array.isArray(y)&&y.length===1?y[0]:y}if(!r)typeof n=="object"&&(n=JSON.stringify(n));else{if(r===1)return{code:f.status,headers:m,content:n};if(r===2)return{code:f.status,headers:m,content:n.toString("base64")};if(r===3){let d=e.stream;return d.onResp&&await d.onResp({code:f.status,headers:m}),d.onData?(n.on("data",async y=>{await d.onData(y)}),n.on("end",async()=>{d.onDone&&await d.onDone()})):d.onDone&&await d.onDone(),"stream..."}}return{code:f.status,headers:m,content:n}}catch(n){let l=n.response;try{return{code:l.status,headers:l.headers,content:JSON.stringify(l.data)}}catch{return{headers:{},content:""}}}}globalThis.md5X=Txe;function Txe(t){return AK.default.createHash("md5").update(Buffer.from(t,"utf8")).digest("hex")}globalThis.js2Proxy=function(t,e,n){let l=Object.keys(n).length===0?" ":encodeURIComponent(JSON.stringify(n));return t.server.address().dynamic+t.server.prefix+"/proxy/"+encodeURIComponent(e)+"/"+l+"/"};var xxe=["DEBUG","INFO","WARNING","ERROR"];var $4=class{constructor(e,n="DEBUG"){this.app_name=e,this.level=n,this.level_index=xxe.indexOf(n)}format(e,n){let l=80;switch(e){case"INFO":l=l+1;break;case"WARNING":l=l-2;break;default:break}return n.length<l&&((l-n.length)%2===0?n="#".repeat(Math.floor((l-n.length)/2))+n+"#".repeat(Math.floor((l-n.length)/2)):n="#".repeat(Math.floor((l-n.length)/2))+n+"#".repeat(Math.floor((l-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,l){return l&&(n=this.format(e,n)),`${this.getTime()} - ${this.app_name} - ${e}: ${n}`}async log(e){console.debug(e),await req("http://127.0.0.1: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 Ce=class extends Pe{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://127.0.0.1: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(l){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:"+l,!1)}}catch(l){await this.jadeLog.error(`\u521D\u59CB\u5316\u5931\u8D25,\u5931\u8D25\u539F\u56E0\u4E3A:${l}`)}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 B.isEmpty(e)?this.classes:e}async getFiletObjCache(){let e=await this.db.getObjectDefault(this.deviceKey+"filterObj",{});return B.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 l=e.body.id,r=e.body.page,i=!0,s=e.body.filters;if(this.page=parseInt(r),await this.jadeLog.info(`\u6B63\u5728\u89E3\u6790\u5206\u7C7B\u9875\u9762,tid = ${l},pg = ${r},extend = ${JSON.stringify(s)}`),l==="\u6700\u8FD1\u66F4\u65B0")return this.page=0,await this.homeVod();try{return this.vodList=[],await this.setCategory(l,r,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 r=(Array.isArray(e.body.id)?e.body.id:[e.body.id])[0];this.vodDetail=new Me,await this.jadeLog.info(`\u6B63\u5728\u83B7\u53D6\u8BE6\u60C5\u9875\u9762,id\u4E3A:${r}`);try{return await this.setDetail(r),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=r,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 l=e.body.flag,r=e.body.id,i=[];await this.jadeLog.info(`\u6B63\u5728\u89E3\u6790\u64AD\u653E\u9875\u9762,flag:${l},id:${r},flags:${i}`,!0);try{let s;if(await this.setPlay(l,r,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.messageToD Line truncated `},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 Ce=class extends Pe{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://127.0.0.1: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(l){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:"+l,!1)}}catch(l){await this.jadeLog.error(`\u521D\u59CB\u5316\u5931\u8D25,\u5931\u8D25\u539F\u56E0\u4E3A:${l}`)}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 B.isEmpty(e)?this.classes:e}async getFiletObjCache(){let e=await this.db.getObjectDefault(this.deviceKey+"filterObj",{});return B.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 l=e.body.id,r=e.body.page,i=!0,s=e.body.filters;if(this.page=parseInt(r),await this.jadeLog.info(`\u6B63\u5728\u89E3\u6790\u5206\u7C7B\u9875\u9762,tid = ${l},pg = ${r},extend = ${JSON.stringify(s)}`),l==="\u6700\u8FD1\u66F4\u65B0")return this.page=0,await this.homeVod();try{return this.vodList=[],await this.setCategory(l,r,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 r=(Array.isArray(e.body.id)?e.body.id:[e.body.id])[0];this.vodDetail=new Me,await this.jadeLog.info(`\u6B63\u5728\u83B7\u53D6\u8BE6\u60C5\u9875\u9762,id\u4E3A:${r}`);try{return await this.setDetail(r),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=r,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 l=e.body.flag,r=e.body.id,i=[];await this.jadeLog.info(`\u6B63\u5728\u89E3\u6790\u64AD\u653E\u9875\u9762,flag:${l},id:${r},flags:${i}`,!0);try{let s;if(await this.setPlay(l,r,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.messageToD Line truncated
"type": "{{tid}}", "type": "{{tid}}",
"p": "{{pg}}", "p": "{{pg}}",
"area": "{{ext.area|default(0)}}", "area": "{{ext.area|default(0)}}",
@@ -428,7 +428,7 @@ function print() { __p += __j.call(arguments, '') }
`,""),B.isEmpty(l.vod_pic)&&(l.vod_pic=Zs+"/resources/dygang.jpg"),l}async parseVodShortListFromDoc(e){let n=[],l=e('[class="index-tj-l"]').find("li");for(let r of l){let i=e(r).find("a")[0],s=this.parseVodShortFromElement(e,i);n.push(s)}return n}async parseVodShortListFromDocByCategory(e){let n=[],l=e('[class="index-area clearfix"]').find("li");for(let r of l){let i=e(r).find("a")[0],s=this.parseVodShortFromElement(e,i);n.push(s)}return n}async parseVodDetailFromDoc(e){let n=new Me,l=e('[ class="ct mb clearfix"]');n.vod_pic=e(l).find("img")[0].attribs.src,n.vod_name=we(/◎片  名 (.*?)<br>/,e(l).html()),n.vod_area=we(/◎产  地 (.*?)<br>/,e(l).html()),n.vod_year=we(/◎年  代 (.*?)<br>/,e(l).html()),n.type_name=we(/◎类  别 (.*?)<br>/,e(l).html()),n.vod_remarks=we(/◎集  数 (.*?)<br>/,e(l).html());let r=we(/◎主  演 (.*?)<\/p>/s,e(l).html());B.isEmpty(r)&&(r=we(/◎演  员 (.*?)<\/p>/s,e(l).html()));let i=[];for(let f of r.split(` `,""),B.isEmpty(l.vod_pic)&&(l.vod_pic=Zs+"/resources/dygang.jpg"),l}async parseVodShortListFromDoc(e){let n=[],l=e('[class="index-tj-l"]').find("li");for(let r of l){let i=e(r).find("a")[0],s=this.parseVodShortFromElement(e,i);n.push(s)}return n}async parseVodShortListFromDocByCategory(e){let n=[],l=e('[class="index-area clearfix"]').find("li");for(let r of l){let i=e(r).find("a")[0],s=this.parseVodShortFromElement(e,i);n.push(s)}return n}async parseVodDetailFromDoc(e){let n=new Me,l=e('[ class="ct mb clearfix"]');n.vod_pic=e(l).find("img")[0].attribs.src,n.vod_name=we(/◎片  名 (.*?)<br>/,e(l).html()),n.vod_area=we(/◎产  地 (.*?)<br>/,e(l).html()),n.vod_year=we(/◎年  代 (.*?)<br>/,e(l).html()),n.type_name=we(/◎类  别 (.*?)<br>/,e(l).html()),n.vod_remarks=we(/◎集  数 (.*?)<br>/,e(l).html());let r=we(/◎主  演 (.*?)<\/p>/s,e(l).html());B.isEmpty(r)&&(r=we(/◎演  员 (.*?)<\/p>/s,e(l).html()));let i=[];for(let f of r.split(`
`))i.push(f.replaceAll("\u3000\u3000\u3000\u3000&nbsp; \u3000","").replaceAll("<br>","").replaceAll("\u3000\u3000\u3000\u3000\u3000",""));n.vod_actor=i.join("/"),n.vod_director=we(/◎导  演 (.*?)<br>/,e(l).html()),n.vod_content=we(/◎简  介<\/p>(.*?)<br>/s,e(l).html()).replaceAll("<p>","").replaceAll(` `))i.push(f.replaceAll("\u3000\u3000\u3000\u3000&nbsp; \u3000","").replaceAll("<br>","").replaceAll("\u3000\u3000\u3000\u3000\u3000",""));n.vod_actor=i.join("/"),n.vod_director=we(/◎导  演 (.*?)<br>/,e(l).html()),n.vod_content=we(/◎简  介<\/p>(.*?)<br>/s,e(l).html()).replaceAll("<p>","").replaceAll(`
`,""),B.isEmpty(n.vod_content)&&(n.vod_content=we(/◎简  介<br>(.*?)<\/p>/s,e(l).html()).replaceAll("<p>","").replaceAll(` `,""),B.isEmpty(n.vod_content)&&(n.vod_content=we(/◎简  介<br>(.*?)<\/p>/s,e(l).html()).replaceAll("<p>","").replaceAll(`
`,""));let s=[],a=[],u=e('[class="playfrom tab8 clearfix"]'),o=e('[class="videourl clearfix"]');for(let f=0;f<u.length;f++){let m=u[f],d=e(e(m).find("li")).html();s.push(d.replaceAll('<i class="playerico ico-Azhan"></i> ',""));let y=[];for(let _ of e(o[f]).find("a")){let S=_.attribs.title,w=_.attribs.href;y.push(S+"$"+w)}a.push(y.join("#"))}let c=e(e(l).find("span")[0]).find("span");if(c.length>0){let f=e(c).html();s.push(we(/【(.*?)】/,f.replaceAll("\u4E0B\u8F7D\u5730\u5740","\u78C1\u529B\u94FE\u63A5")));let m=[];for(let d of e(e(e(l).find("tbody")).find("tr")).find("a")){let y=e(d).html().replaceAll(".mp4",""),_=d.attribs.href;m.push(y+"$"+_)}a.push(m.join("#"))}return n.vod_play_from=s.join("$$$"),n.vod_play_url=a.join("$$$"),n}async setHomeVod(){let e=await this.getHtml();this.homeVodList=await this.parseVodShortListFromDoc(e)}async setCategory(e,n,l,r){let i=this.siteUrl+e;r.\u6309\u7C7B\u578B!==void 0&&r.\u6309\u7C7B\u578B!=="0"&&(i=i+`${r.\u6309\u7C7B\u578B}/`),parseInt(n)>1&&(i=i+`index_${n}.html`);let s=await this.getHtml(i);this.vodList=await this.parseVodShortListFromDocByCategory(s)}async setDetail(e){let n=await this.getHtml(e);this.vodDetail=await this.parseVodDetailFromDoc(n)}async setSearch(e,n){let l=this.siteUrl+"/e/search/index.php",r={keyboard:e,submit:"\u641C \u7D22",show:"title,zhuyan",tempid:"1"},i=await this.post(l,r,this.getHeader()),s=Ue(i);this.vodList=await this.parseVodShortListFromDocByCategory(s)}async setPlay(e,n,l){if(n.indexOf("http")>-1){let r=await this.getHtml(n),i=we(/url: '(.*?)',/,r.html());if(B.isEmpty(i)){let s=r(r('[class="video"]')[0]).find("iframe")[0].attribs.src,a=await this.fetch(s,null,{"User-Agent":Gl});if(this.playUrl=we(/url: '(.*?)',/,a),B.isEmpty(this.playUrl)){let u=eq(s);this.playUrl=u+we(/var main = "(.*?)";/,a)}}else this.playUrl=i}else this.playUrl=n}},Un=new JS;var KS=class extends Ce{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,l,r){await Un.setCategory(e,n,l,r),this.vodList=Un.vodList}async setDetail(e){await Un.setDetail(e),this.vodDetail=Un.vodDetail}async setPlay(e,n,l){await Un.setPlay(e,n,l),this.playUrl=Un.playUrl,this.result=Un.result}async setSearch(e,n,l){await Un.setSearch(e,n,l),this.vodList=Un.vodList,this.result=Un.result}async setProxy(e,n){return await Un.proxy(e,n)}},ja=new KS;async function RY(t,e){return await ja.init(t,e)}async function IY(t,e){return await ja.home(t,e)}async function $Ae(t,e){return await ja.homeVod(t,e)}async function kY(t,e){return await ja.category(t,e)}async function DY(t,e){return await ja.detail(t,e)}async function PY(t,e){return await ja.play(t,e)}async function LY(t,e){return await ja.search(t,e)}async function BAe(t,e){return await ja.proxy(t,e)}var FY={meta:{key:Un.getJSName(),name:Un.getName(),type:Un.getType()},api:async t=>{t.post("/init",RY),t.post("/home",IY),t.post("/category",kY),t.post("/detail",DY),t.post("/play",PY),t.post("/search",LY),t.get("/proxy/:what/:ids/:end",BAe)},spider:{init:RY,home:IY,homeVod:$Ae,category:kY,detail:DY,play:PY,search:LY}};var XS=class extends Pe{constructor(){super(),this.siteUrl="https://tvfan.xxooo.cf",this.woggTypeObj={\u73A9\u5076\u7535\u5F71:"\u7535\u5F71",\u73A9\u5076\u5267\u96C6:"\u7535\u89C6\u5267"}}async init(e){await super.init(e),await z2(this.cfgObj.token),this.danmuStaus=!0}getName(){return"\u{1F482}\u200D\u2503\u963F\u91CC\u73A9\u5076\u2503\u{1F482}"}getAppName(){return"\u963F\u91CC\u73A9\u5076"}getJSName(){return"wogg"}getType(){return 3}async parseVodShortListFromDoc(e){let n=e(".module-item"),l=[];for(let r of n){let i=new Ne,s=e(r).find(".module-item-cover .module-item-pic a").first();i.vod_id=s.attr("href"),i.vod_name=s.attr("title"),i.vod_pic=e(r).find(".module-item-cover .module-item-pic img").first().attr("data-src"),i.vod_pic.indexOf("img.php?url=")>0&&(i.vod_pic=i.vod_pic.split("img.php?url=")[1]),i.vod_remarks=e(r).find(".module-item-text").first().text(),l.push(i)}return l}async parseVodDetailFromDoc(e){let n=new Me;n.vod_name=e(".page-title")[0].children[0].data,n.vod_pic=e(e(".mobile-play")).find(".lazyload")[0].attribs["data-src"],n.type_name=this.woggTypeObj[e('[class="video-info-aux"]').find("a")[0].attribs.title];let l=e(".video-info-items");n.vod_director=e(l[0]).find("a")[0].children[0].data;let r=e(l[1 Line truncated `,""));let s=[],a=[],u=e('[class="playfrom tab8 clearfix"]'),o=e('[class="videourl clearfix"]');for(let f=0;f<u.length;f++){let m=u[f],d=e(e(m).find("li")).html();s.push(d.replaceAll('<i class="playerico ico-Azhan"></i> ',""));let y=[];for(let _ of e(o[f]).find("a")){let S=_.attribs.title,w=_.attribs.href;y.push(S+"$"+w)}a.push(y.join("#"))}let c=e(e(l).find("span")[0]).find("span");if(c.length>0){let f=e(c).html();s.push(we(/【(.*?)】/,f.replaceAll("\u4E0B\u8F7D\u5730\u5740","\u78C1\u529B\u94FE\u63A5")));let m=[];for(let d of e(e(e(l).find("tbody")).find("tr")).find("a")){let y=e(d).html().replaceAll(".mp4",""),_=d.attribs.href;m.push(y+"$"+_)}a.push(m.join("#"))}return n.vod_play_from=s.join("$$$"),n.vod_play_url=a.join("$$$"),n}async setHomeVod(){let e=await this.getHtml();this.homeVodList=await this.parseVodShortListFromDoc(e)}async setCategory(e,n,l,r){let i=this.siteUrl+e;r.\u6309\u7C7B\u578B!==void 0&&r.\u6309\u7C7B\u578B!=="0"&&(i=i+`${r.\u6309\u7C7B\u578B}/`),parseInt(n)>1&&(i=i+`index_${n}.html`);let s=await this.getHtml(i);this.vodList=await this.parseVodShortListFromDocByCategory(s)}async setDetail(e){let n=await this.getHtml(e);this.vodDetail=await this.parseVodDetailFromDoc(n)}async setSearch(e,n){let l=this.siteUrl+"/e/search/index.php",r={keyboard:e,submit:"\u641C \u7D22",show:"title,zhuyan",tempid:"1"},i=await this.post(l,r,this.getHeader()),s=Ue(i);this.vodList=await this.parseVodShortListFromDocByCategory(s)}async setPlay(e,n,l){if(n.indexOf("http")>-1){let r=await this.getHtml(n),i=we(/url: '(.*?)',/,r.html());if(B.isEmpty(i)){let s=r(r('[class="video"]')[0]).find("iframe")[0].attribs.src,a=await this.fetch(s,null,{"User-Agent":Gl});if(this.playUrl=we(/url: '(.*?)',/,a),B.isEmpty(this.playUrl)){let u=eq(s);this.playUrl=u+we(/var main = "(.*?)";/,a)}}else this.playUrl=i}else this.playUrl=n}},Un=new JS;var KS=class extends Ce{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,l,r){await Un.setCategory(e,n,l,r),this.vodList=Un.vodList}async setDetail(e){await Un.setDetail(e),this.vodDetail=Un.vodDetail}async setPlay(e,n,l){await Un.setPlay(e,n,l),this.playUrl=Un.playUrl,this.result=Un.result}async setSearch(e,n,l){await Un.setSearch(e,n,l),this.vodList=Un.vodList,this.result=Un.result}async setProxy(e,n){return await Un.proxy(e,n)}},ja=new KS;async function RY(t,e){return await ja.init(t,e)}async function IY(t,e){return await ja.home(t,e)}async function $Ae(t,e){return await ja.homeVod(t,e)}async function kY(t,e){return await ja.category(t,e)}async function DY(t,e){return await ja.detail(t,e)}async function PY(t,e){return await ja.play(t,e)}async function LY(t,e){return await ja.search(t,e)}async function BAe(t,e){return await ja.proxy(t,e)}var FY={meta:{key:Un.getJSName(),name:Un.getName(),type:Un.getType()},api:async t=>{t.post("/init",RY),t.post("/home",IY),t.post("/category",kY),t.post("/detail",DY),t.post("/play",PY),t.post("/search",LY),t.get("/proxy/:what/:ids/:end",BAe)},spider:{init:RY,home:IY,homeVod:$Ae,category:kY,detail:DY,play:PY,search:LY}};var XS=class extends Pe{constructor(){super(),this.siteUrl="https://www.wogg.xyz",this.woggTypeObj={\u73A9\u5076\u7535\u5F71:"\u7535\u5F71",\u73A9\u5076\u5267\u96C6:"\u7535\u89C6\u5267"}}async init(e){await super.init(e),await z2(this.cfgObj.token),this.danmuStaus=!0}getName(){return"\u{1F482}\u200D\u2503\u963F\u91CC\u73A9\u5076\u2503\u{1F482}"}getAppName(){return"\u963F\u91CC\u73A9\u5076"}getJSName(){return"wogg"}getType(){return 3}async parseVodShortListFromDoc(e){let n=e(".module-item"),l=[];for(let r of n){let i=new Ne,s=e(r).find(".module-item-cover .module-item-pic a").first();i.vod_id=s.attr("href"),i.vod_name=s.attr("title"),i.vod_pic=e(r).find(".module-item-cover .module-item-pic img").first().attr("data-src"),i.vod_pic.indexOf("img.php?url=")>0&&(i.vod_pic=i.vod_pic.split("img.php?url=")[1]),i.vod_remarks=e(r).find(".module-item-text").first().text(),l.push(i)}return l}async parseVodDetailFromDoc(e){let n=new Me;n.vod_name=e(".page-title")[0].children[0].data,n.vod_pic=e(e(".mobile-play")).find(".lazyload")[0].attribs["data-src"],n.type_name=this.woggTypeObj[e('[class="video-info-aux"]').find("a")[0].attribs.title];let l=e(".video-info-items");n.vod_director=e(l[0]).find("a")[0].children[0].data;let r=e(l[1]) Line truncated
`,"").replace(" ","").replace("\u73A9\u5076",""),a={type_id:i,type_name:s};this.classes.push(a)}}}async getFilter(e){let n=e("[class='scroll-content']").slice(1),l=[];for(let r=0;r<n.length;r++){let i={key:(r+1).toString(),name:"",value:[]};if(r<n.length-1){i.name=e(e(n[r]).find("a")[0]).text(),i.value.push({n:"\u5168\u90E8",v:"0"});for(let s of e(n[r]).find("a").slice(1))i.value.push({n:e(s).text(),v:e(s).text()});l.push(i)}else i.name=e(e(n[r]).find("a")[0]).text(),i.value=[{n:"\u5168\u90E8",v:"0"},{n:e(e(n[r]).find("a")[1]).text(),v:"hits"},{n:e(e(n[r]).find("a")[2]).text(),v:"score"}],l.push(i)}return l}async setFilterObj(){for(let e of this.classes){let n=e.type_id;if(n!=="/"&&n!=="\u6700\u8FD1\u66F4\u65B0"){let l=this.siteUrl+`/index.php/vodshow/${n}--------1---.html`,r=await this.fetch(l,null,this.getHeader());if(r!=null){let i=Ue(r);this.filterObj[n]=await this.getFilter(i)}}}}async setHomeVod(){let e=await this.fetch(this.siteUrl,null,this.getHeader());if(!B.isEmpty(e)){let n=Ue(e);this.homeVodList=await this.parseVodShortListFromDoc(n)}}async setCategory(e,n,l,r){let i=[e.toString(),"","","","","","","",n.toString(),"","",""],s=this.get_extend_sort_dic(parseInt(e));for(let o of Object.keys(s))r[o]==="0"?i[s[o]]="":i[s[o]]=r[o];let a=this.siteUrl+"/index.php/vodshow/"+i.join("-")+".html",u=await this.fetch(a,null,this.getHeader());if(!B.isEmpty(u)){let o=Ue(u);this.vodList=await this.parseVodShortListFromDoc(o);let c=we(/\$\("\.mac_total"\)\.text\('(\d+)'\)/,u);this.limit=72,c.length>0&&(this.total=parseInt(c)),this.total<=this.limit?this.count=1:this.count=Math.ceil(this.total/this.limit)}}async setDetail(e){let n=this.siteUrl+e,l=await this.fetch(n,null,this.getHeader());if(!B.isEmpty(l)){let r=Ue(l);this.vodDetail=await this.parseVodDetailFromDoc(r)}}async setPlay(e,n,l){let r=await A3(e,n,l);this.playUrl=JSON.parse(r).url}async setSearch(e,n){let l=this.siteUrl+"/index.php/vodsearch/-------------.html?wd="+e,r=await this.fetch(l,null,this.getHeader());if(!B.isEmpty(r)){let i=Ue(r);this.vodList=await this.parseVodShortListFromDocBySearch(i)}}},Mn=new XS;var WS=class extends Ce{constructor(){super()}getName(){return Mn.getName()}getAppName(){return Mn.getAppName()}getJSName(){return Mn.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await Mn.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await Mn.initCookie(e.server.config.bilicookie),await Mn.spiderInit(e),Mn.cfgObj.code=0,Mn.catOpenStatus=!0,Mn.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await Mn.setClasses(),this.classes=Mn.classes}async setFilterObj(){await Mn.setFilterObj(),this.filterObj=Mn.filterObj}async setHomeVod(){await Mn.setHomeVod(),this.homeVodList=Mn.homeVodList}async setCategory(e,n,l,r){await Mn.setCategory(e,n,l,r),this.vodList=Mn.vodList}async setDetail(e){await Mn.setDetail(e),this.vodDetail=Mn.vodDetail}async setPlay(e,n,l){await Mn.setPlay(e,n,l),this.playUrl=Mn.playUrl,this.result=Mn.result}async setSearch(e,n,l){await Mn.setSearch(e,n,l),this.vodList=Mn.vodList,this.result=Mn.result}async setProxy(e,n){return await Mn.proxy(e,n)}},Ua=new WS;async function jY(t,e){return await Ua.init(t,e)}async function UY(t,e){return await Ua.home(t,e)}async function HAe(t,e){return await Ua.homeVod(t,e)}async function MY(t,e){return await Ua.category(t,e)}async function $Y(t,e){return await Ua.detail(t,e)}async function BY(t,e){return await Ua.play(t,e)}async function HY(t,e){return await Ua.search(t,e)}async function VAe(t,e){return await Ua.proxy(t,e)}var VY={meta:{key:Mn.getJSName(),name:Mn.getName(),type:Mn.getType()},api:async t=>{t.post("/init",jY),t.post("/home",UY),t.post("/category",MY),t.post("/detail",$Y),t.post("/play",BY),t.post("/search",HY),t.get("/proxy/:what/:ids/:end",VAe)},spider:{init:jY,home:UY,homeVod:HAe,category:MY,detail:$Y,play:BY,search:HY}};var YS=class extends Pe{constructor(){super(),this.siteUrl="https://www.pansearch.me/"}getName(){return"\u{1F5C2}\uFE0F\u2503\u963F\u91CC\u76D8\u641C\u2503\u{1F5C2}\uFE0F"}getAppName(){return"\u963F\u91CC\u76D8\u641C"}getJSName(){return"pan_search"}getType(){return 3}getSearchHeader(){let e=this.getHeader();return e["x-nextjs-data"]="1",e}async init(e){await super.init(e),await z2(this.cfgObj.token)}async parseVodDetailfromJson(e){let n=JSON.parse(e),l=new Me,r=n.content.split(` `,"").replace(" ","").replace("\u73A9\u5076",""),a={type_id:i,type_name:s};this.classes.push(a)}}}async getFilter(e){let n=e("[class='scroll-content']").slice(1),l=[];for(let r=0;r<n.length;r++){let i={key:(r+1).toString(),name:"",value:[]};if(r<n.length-1){i.name=e(e(n[r]).find("a")[0]).text(),i.value.push({n:"\u5168\u90E8",v:"0"});for(let s of e(n[r]).find("a").slice(1))i.value.push({n:e(s).text(),v:e(s).text()});l.push(i)}else i.name=e(e(n[r]).find("a")[0]).text(),i.value=[{n:"\u5168\u90E8",v:"0"},{n:e(e(n[r]).find("a")[1]).text(),v:"hits"},{n:e(e(n[r]).find("a")[2]).text(),v:"score"}],l.push(i)}return l}async setFilterObj(){for(let e of this.classes){let n=e.type_id;if(n!=="/"&&n!=="\u6700\u8FD1\u66F4\u65B0"){let l=this.siteUrl+`/index.php/vodshow/${n}--------1---.html`,r=await this.fetch(l,null,this.getHeader());if(r!=null){let i=Ue(r);this.filterObj[n]=await this.getFilter(i)}}}}async setHomeVod(){let e=await this.fetch(this.siteUrl,null,this.getHeader());if(!B.isEmpty(e)){let n=Ue(e);this.homeVodList=await this.parseVodShortListFromDoc(n)}}async setCategory(e,n,l,r){let i=[e.toString(),"","","","","","","",n.toString(),"","",""],s=this.get_extend_sort_dic(parseInt(e));for(let o of Object.keys(s))r[o]==="0"?i[s[o]]="":i[s[o]]=r[o];let a=this.siteUrl+"/index.php/vodshow/"+i.join("-")+".html",u=await this.fetch(a,null,this.getHeader());if(!B.isEmpty(u)){let o=Ue(u);this.vodList=await this.parseVodShortListFromDoc(o);let c=we(/\$\("\.mac_total"\)\.text\('(\d+)'\)/,u);this.limit=72,c.length>0&&(this.total=parseInt(c)),this.total<=this.limit?this.count=1:this.count=Math.ceil(this.total/this.limit)}}async setDetail(e){let n=this.siteUrl+e,l=await this.fetch(n,null,this.getHeader());if(!B.isEmpty(l)){let r=Ue(l);this.vodDetail=await this.parseVodDetailFromDoc(r)}}async setPlay(e,n,l){let r=await A3(e,n,l);this.playUrl=JSON.parse(r).url}async setSearch(e,n){let l=this.siteUrl+"/index.php/vodsearch/-------------.html?wd="+e,r=await this.fetch(l,null,this.getHeader());if(!B.isEmpty(r)){let i=Ue(r);this.vodList=await this.parseVodShortListFromDocBySearch(i)}}},Mn=new XS;var WS=class extends Ce{constructor(){super()}getName(){return Mn.getName()}getAppName(){return Mn.getAppName()}getJSName(){return Mn.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await Mn.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await Mn.initCookie(e.server.config.bilicookie),await Mn.spiderInit(e),Mn.cfgObj.code=0,Mn.catOpenStatus=!0,Mn.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await Mn.setClasses(),this.classes=Mn.classes}async setFilterObj(){await Mn.setFilterObj(),this.filterObj=Mn.filterObj}async setHomeVod(){await Mn.setHomeVod(),this.homeVodList=Mn.homeVodList}async setCategory(e,n,l,r){await Mn.setCategory(e,n,l,r),this.vodList=Mn.vodList}async setDetail(e){await Mn.setDetail(e),this.vodDetail=Mn.vodDetail}async setPlay(e,n,l){await Mn.setPlay(e,n,l),this.playUrl=Mn.playUrl,this.result=Mn.result}async setSearch(e,n,l){await Mn.setSearch(e,n,l),this.vodList=Mn.vodList,this.result=Mn.result}async setProxy(e,n){return await Mn.proxy(e,n)}},Ua=new WS;async function jY(t,e){return await Ua.init(t,e)}async function UY(t,e){return await Ua.home(t,e)}async function HAe(t,e){return await Ua.homeVod(t,e)}async function MY(t,e){return await Ua.category(t,e)}async function $Y(t,e){return await Ua.detail(t,e)}async function BY(t,e){return await Ua.play(t,e)}async function HY(t,e){return await Ua.search(t,e)}async function VAe(t,e){return await Ua.proxy(t,e)}var VY={meta:{key:Mn.getJSName(),name:Mn.getName(),type:Mn.getType()},api:async t=>{t.post("/init",jY),t.post("/home",UY),t.post("/category",MY),t.post("/detail",$Y),t.post("/play",BY),t.post("/search",HY),t.get("/proxy/:what/:ids/:end",VAe)},spider:{init:jY,home:UY,homeVod:HAe,category:MY,detail:$Y,play:BY,search:HY}};var YS=class extends Pe{constructor(){super(),this.siteUrl="https://www.pansearch.me/"}getName(){return"\u{1F5C2}\uFE0F\u2503\u963F\u91CC\u76D8\u641C\u2503\u{1F5C2}\uFE0F"}getAppName(){return"\u963F\u91CC\u76D8\u641C"}getJSName(){return"pan_search"}getType(){return 3}getSearchHeader(){let e=this.getHeader();return e["x-nextjs-data"]="1",e}async init(e){await super.init(e),await z2(this.cfgObj.token)}async parseVodDetailfromJson(e){let n=JSON.parse(e),l=new Me,r=n.content.split(`
`);l.vod_name=r[0].replaceAll(/<\\?[^>]+>/g,"").replace("\u540D\u79F0\uFF1A","");let i=new Date(n.time);l.vod_remarks=i.toLocaleDateString().replace(/\//g,"-")+" "+i.toTimeString().substr(0,8),l.vod_pic=n.image;let s="";for(let a of r)a.indexOf("\u63CF\u8FF0")>-1&&(l.vod_content=a.replace("\u63CF\u8FF0\uFF1A","").replaceAll(/<\\?[^>]+>/g,"")),a.indexOf("\u6807\u7B7E\uFF1A")>-1&&(l.type_name=a.replace("\u{1F3F7} \u6807\u7B7E\uFF1A","")),a.indexOf("\u94FE\u63A5\uFF1A")>-1&&(s=a.replaceAll(/<\\?[^>]+>/g,"").replace("\u94FE\u63A5\uFF1A",""));try{let a=await x3([s]);l.vod_play_url=a.vod_play_url,l.vod_play_from=a.vod_play_from}catch(a){await this.jadeLog.error(`\u83B7\u53D6\u963F\u91CC\u89C6\u9891\u64AD\u653E\u5931\u8D25,\u5931\u8D25\u539F\u56E0\u4E3A:${a}`)}return l}async parseVodShortListFromDocBySearch(e,n){let l=[],r=JSON.parse(e("script[id=__NEXT_DATA__]")[0].children[0].data).buildId,i=this.siteUrl+"_next/data/"+r+"/search.json?keyword="+encodeURIComponent(n)+"&pan=aliyundrive",s=await this.fetch(i,null,this.getSearchHeader());if(B.isEmpty(s))await this.jadeLog.error("\u641C\u7D22\u9875\u9762\u89E3\u6790\u5931\u8D25",!0);else{let a=JSON.parse(s).pageProps.data.data;for(let u of a){let o=new Ne;o.vod_id=JSON.stringify(u);let c=u.content.split(` `);l.vod_name=r[0].replaceAll(/<\\?[^>]+>/g,"").replace("\u540D\u79F0\uFF1A","");let i=new Date(n.time);l.vod_remarks=i.toLocaleDateString().replace(/\//g,"-")+" "+i.toTimeString().substr(0,8),l.vod_pic=n.image;let s="";for(let a of r)a.indexOf("\u63CF\u8FF0")>-1&&(l.vod_content=a.replace("\u63CF\u8FF0\uFF1A","").replaceAll(/<\\?[^>]+>/g,"")),a.indexOf("\u6807\u7B7E\uFF1A")>-1&&(l.type_name=a.replace("\u{1F3F7} \u6807\u7B7E\uFF1A","")),a.indexOf("\u94FE\u63A5\uFF1A")>-1&&(s=a.replaceAll(/<\\?[^>]+>/g,"").replace("\u94FE\u63A5\uFF1A",""));try{let a=await x3([s]);l.vod_play_url=a.vod_play_url,l.vod_play_from=a.vod_play_from}catch(a){await this.jadeLog.error(`\u83B7\u53D6\u963F\u91CC\u89C6\u9891\u64AD\u653E\u5931\u8D25,\u5931\u8D25\u539F\u56E0\u4E3A:${a}`)}return l}async parseVodShortListFromDocBySearch(e,n){let l=[],r=JSON.parse(e("script[id=__NEXT_DATA__]")[0].children[0].data).buildId,i=this.siteUrl+"_next/data/"+r+"/search.json?keyword="+encodeURIComponent(n)+"&pan=aliyundrive",s=await this.fetch(i,null,this.getSearchHeader());if(B.isEmpty(s))await this.jadeLog.error("\u641C\u7D22\u9875\u9762\u89E3\u6790\u5931\u8D25",!0);else{let a=JSON.parse(s).pageProps.data.data;for(let u of a){let o=new Ne;o.vod_id=JSON.stringify(u);let c=u.content.split(`
`);o.vod_name=c[0].replaceAll(/<\\?[^>]+>/g,"").replace("\u540D\u79F0\uFF1A","");let f=new Date(u.time);o.vod_remarks=f.toLocaleDateString().replace(/\//g,"-")+" "+f.toTimeString().substr(0,8),o.vod_pic=u.image,l.push(o)}return l}}async setDetail(e){this.vodDetail=await this.parseVodDetailfromJson(e)}async setSearch(e,n){let l=await this.fetch(this.siteUrl,null,this.getHeader());if(!B.isEmpty(l)){let r=Ue(l);this.vodList=await this.parseVodShortListFromDocBySearch(r,e)}}async play(e,n,l){return await A3(e,n,l)}},$n=new YS;var QS=class extends Ce{constructor(){super()}getName(){return $n.getName()}getAppName(){return $n.getAppName()}getJSName(){return $n.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await $n.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await $n.initCookie(e.server.config.bilicookie),await $n.spiderInit(e),$n.cfgObj.code=0,$n.catOpenStatus=!0,$n.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await $n.setClasses(),this.classes=$n.classes}async setFilterObj(){await $n.setFilterObj(),this.filterObj=$n.filterObj}async setHomeVod(){await $n.setHomeVod(),this.homeVodList=$n.homeVodList}async setCategory(e,n,l,r){await $n.setCategory(e,n,l,r),this.vodList=$n.vodList}async setDetail(e){await $n.setDetail(e),this.vodDetail=$n.vodDetail}async setPlay(e,n,l){await $n.setPlay(e,n,l),this.playUrl=$n.playUrl,this.result=$n.result}async setSearch(e,n,l){await $n.setSearch(e,n,l),this.vodList=$n.vodList,this.result=$n.result}async setProxy(e,n){return await $n.proxy(e,n)}},Ma=new QS;async function qY(t,e){return await Ma.init(t,e)}async function zY(t,e){return await Ma.home(t,e)}async function qAe(t,e){return await Ma.homeVod(t,e)}async function GY(t,e){return await Ma.category(t,e)}async function JY(t,e){return await Ma.detail(t,e)}async function KY(t,e){return await Ma.play(t,e)}async function XY(t,e){return await Ma.search(t,e)}async function zAe(t,e){return await Ma.proxy(t,e)}var WY={meta:{key:$n.getJSName(),name:$n.getName(),type:$n.getType()},api:async t=>{t.post("/init",qY),t.post("/home",zY),t.post("/category",GY),t.post("/detail",JY),t.post("/play",KY),t.post("/search",XY),t.get("/proxy/:what/:ids/:end",zAe)},spider:{init:qY,home:zY,homeVod:qAe,category:GY,detail:JY,play:KY,search:XY}};var GAe=["4k","4K"],ZS=class extends Pe{constructor(){super(),this.siteUrl="https://www.alypw.com"}async init(e){await super.init(e),await z2(this.cfgObj.token)}getName(){return"\u{1F94F}\u200D\u2503\u963F\u91CC\u4E91\u76D8\u5206\u4EAB\u2503\u{1F94F}\u200D"}getAppName(){return"\u963F\u91CC\u4E91\u76D8\u5206\u4EAB"}getJSName(){return"aliyunpanshare"}getType(){return 3}getRemarks(e,n){if(B.isEmpty(e)){for(let l of GAe)if(n.indexOf(l)>-1)return l}else return e}parseVodName(e){let n=we(/\[阿里云盘](.*?) /,e);return e.indexOf("\u5408\u96C6")>-1||(B.isEmpty(n)&&(n=we(/\[阿里云盘](.*?)(/,e)),n.indexOf("[")>-1&&(n=n.split("[")[0]),n.indexOf("\u3010")>-1&&(n=n.split("\u3010")[0]),n==="4K")?"":n}async parseVodShortListFromDoc(e){let n=[],l=e(e('[class="hometab"]').find('[class="box"]')).find("li");for(let r of l){let i=e(r).find('[class="imgr"]')[0],s=new Ne;s.vod_id=e(i).find("a")[0].attribs.href;let a=e(i).find("a")[0].attribs.title;s.vod_name=this.parseVodName(a),s.vod_pic=e(r).find("img")[0].attribs.src,s.vod_remarks=this.getRemarks(we(/【(.*?)】/,a),a),n.push(s)}return n}async parseVodShortListFromDocByCategory(e){let n=[],l=e('[class="main container"]'),r=e(e(l).find('[class="list"]')).find("li");r.length===0&&(r=e(l).find("li"));for(let i of r){let s=e(i).find("img")[0].attribs.alt.replaceAll("<strong>","").replaceAll("</strong>",""),a=new Ne;a.vod_id=e(i).find("a")[0].attribs.href,a.vod_name=this.parseVodName(s),a.vod_pic=e(i).find("img")[0].attribs.src,a.vod_remarks=this.getRemarks(we(/【(.*?)】/,s),s),B.isEmpty(a.vod_name)||n.push(a)}return n}async parseVodDetailFromDoc(e){let n=e('[class="mainl"]'),l=e(e(n).find('[class="title"]')[0]).text(),r=new Me;r.vod_name=we(/\[阿里云盘](.*?) /,l),r.vod_remarks=this.getRemarks(we(/【(.*?)】/,l),l);let i=e(n).find('[class="article_content"]');r.vod_pic=e(i).find("p>img")[0].attribs.src;let s=e(i).find("p"),a="";for(let f of s)a=a+e(f).text()+` `);o.vod_name=c[0].replaceAll(/<\\?[^>]+>/g,"").replace("\u540D\u79F0\uFF1A","");let f=new Date(u.time);o.vod_remarks=f.toLocaleDateString().replace(/\//g,"-")+" "+f.toTimeString().substr(0,8),o.vod_pic=u.image,l.push(o)}return l}}async setDetail(e){this.vodDetail=await this.parseVodDetailfromJson(e)}async setSearch(e,n){let l=await this.fetch(this.siteUrl,null,this.getHeader());if(!B.isEmpty(l)){let r=Ue(l);this.vodList=await this.parseVodShortListFromDocBySearch(r,e)}}async play(e,n,l){return await A3(e,n,l)}},$n=new YS;var QS=class extends Ce{constructor(){super()}getName(){return $n.getName()}getAppName(){return $n.getAppName()}getJSName(){return $n.getJSName()}async init(e,n){dataBase=e.server.db,this.getAppName().indexOf("\u963F\u91CC")>-1||this.getAppName()==="push_agent"?await $n.initAli(e.server.config.alitoken):this.getAppName()==="\u54D4\u54E9\u54D4\u54E9"&&await $n.initCookie(e.server.config.bilicookie),await $n.spiderInit(e),$n.cfgObj.code=0,$n.catOpenStatus=!0,$n.classes.push({type_name:"\u6700\u8FD1\u66F4\u65B0",type_id:"\u6700\u8FD1\u66F4\u65B0"}),await super.init(e,n)}async setClasses(){await $n.setClasses(),this.classes=$n.classes}async setFilterObj(){await $n.setFilterObj(),this.filterObj=$n.filterObj}async setHomeVod(){await $n.setHomeVod(),this.homeVodList=$n.homeVodList}async setCategory(e,n,l,r){await $n.setCategory(e,n,l,r),this.vodList=$n.vodList}async setDetail(e){await $n.setDetail(e),this.vodDetail=$n.vodDetail}async setPlay(e,n,l){await $n.setPlay(e,n,l),this.playUrl=$n.playUrl,this.result=$n.result}async setSearch(e,n,l){await $n.setSearch(e,n,l),this.vodList=$n.vodList,this.result=$n.result}async setProxy(e,n){return await $n.proxy(e,n)}},Ma=new QS;async function qY(t,e){return await Ma.init(t,e)}async function zY(t,e){return await Ma.home(t,e)}async function qAe(t,e){return await Ma.homeVod(t,e)}async function GY(t,e){return await Ma.category(t,e)}async function JY(t,e){return await Ma.detail(t,e)}async function KY(t,e){return await Ma.play(t,e)}async function XY(t,e){return await Ma.search(t,e)}async function zAe(t,e){return await Ma.proxy(t,e)}var WY={meta:{key:$n.getJSName(),name:$n.getName(),type:$n.getType()},api:async t=>{t.post("/init",qY),t.post("/home",zY),t.post("/category",GY),t.post("/detail",JY),t.post("/play",KY),t.post("/search",XY),t.get("/proxy/:what/:ids/:end",zAe)},spider:{init:qY,home:zY,homeVod:qAe,category:GY,detail:JY,play:KY,search:XY}};var GAe=["4k","4K"],ZS=class extends Pe{constructor(){super(),this.siteUrl="https://www.alypw.com"}async init(e){await super.init(e),await z2(this.cfgObj.token)}getName(){return"\u{1F94F}\u200D\u2503\u963F\u91CC\u4E91\u76D8\u5206\u4EAB\u2503\u{1F94F}\u200D"}getAppName(){return"\u963F\u91CC\u4E91\u76D8\u5206\u4EAB"}getJSName(){return"aliyunpanshare"}getType(){return 3}getRemarks(e,n){if(B.isEmpty(e)){for(let l of GAe)if(n.indexOf(l)>-1)return l}else return e}parseVodName(e){let n=we(/\[阿里云盘](.*?) /,e);return e.indexOf("\u5408\u96C6")>-1||(B.isEmpty(n)&&(n=we(/\[阿里云盘](.*?)(/,e)),n.indexOf("[")>-1&&(n=n.split("[")[0]),n.indexOf("\u3010")>-1&&(n=n.split("\u3010")[0]),n==="4K")?"":n}async parseVodShortListFromDoc(e){let n=[],l=e(e('[class="hometab"]').find('[class="box"]')).find("li");for(let r of l){let i=e(r).find('[class="imgr"]')[0],s=new Ne;s.vod_id=e(i).find("a")[0].attribs.href;let a=e(i).find("a")[0].attribs.title;s.vod_name=this.parseVodName(a),s.vod_pic=e(r).find("img")[0].attribs.src,s.vod_remarks=this.getRemarks(we(/【(.*?)】/,a),a),n.push(s)}return n}async parseVodShortListFromDocByCategory(e){let n=[],l=e('[class="main container"]'),r=e(e(l).find('[class="list"]')).find("li");r.length===0&&(r=e(l).find("li"));for(let i of r){let s=e(i).find("img")[0].attribs.alt.replaceAll("<strong>","").replaceAll("</strong>",""),a=new Ne;a.vod_id=e(i).find("a")[0].attribs.href,a.vod_name=this.parseVodName(s),a.vod_pic=e(i).find("img")[0].attribs.src,a.vod_remarks=this.getRemarks(we(/【(.*?)】/,s),s),B.isEmpty(a.vod_name)||n.push(a)}return n}async parseVodDetailFromDoc(e){let n=e('[class="mainl"]'),l=e(e(n).find('[class="title"]')[0]).text(),r=new Me;r.vod_name=we(/\[阿里云盘](.*?) /,l),r.vod_remarks=this.getRemarks(we(/【(.*?)】/,l),l);let i=e(n).find('[class="article_content"]');r.vod_pic=e(i).find("p>img")[0].attribs.src;let s=e(i).find("p"),a="";for(let f of s)a=a+e(f).text()+`
+1 -1
View File
@@ -1 +1 @@
880995fd4c5d4db2a34315a562333cf8 4c0357154fb6018c7a01bd8623f71eb3
+1 -1
View File
@@ -485,7 +485,7 @@
{ {
"name": "live", "name": "live",
"type": 0, "type": 0,
"url": "https://agit.ai/fantaiying/0/raw/branch/main/tvlive.txt", "url": "https://gh.con.sh/https://github.com/jadehh/LiveSpider/blob/main/live/live.txt",
"playerType": 1, "playerType": 1,
"ua": "okhttp/3.15", "ua": "okhttp/3.15",
"epg": "http://epg.112114.xyz/?ch={name}&date={date}", "epg": "http://epg.112114.xyz/?ch={name}&date={date}",
+37 -18
View File
@@ -10,11 +10,13 @@ import {Spider} from "./spider.js";
import {_} from "../lib/cat.js"; import {_} from "../lib/cat.js";
import * as Utils from "../lib/utils.js"; import * as Utils from "../lib/utils.js";
import {VodDetail, VodShort} from "../lib/vod.js"; import {VodDetail, VodShort} from "../lib/vod.js";
class CNTVSpider extends Spider { class CNTVSpider extends Spider {
constructor() { constructor() {
super(); super();
this.siteUrl = "https://tv.cctv.com/m/index.shtml" this.siteUrl = "https://tv.cctv.com/m/index.shtml"
this.apiUrl = "https://api.app.cctv.com" this.apiUrl = "https://api.app.cctv.com"
this.liveJsonUrl = "https://gh.con.sh/https://github.com/jadehh/LiveSpider/blob/main/json/live.json"
} }
@@ -34,6 +36,15 @@ class CNTVSpider extends Spider {
return 3 return 3
} }
async spiderInit() {
await super.spiderInit();
this.liveJson = JSON.parse(await this.fetch(this.liveJsonUrl, null, null))
}
async init(cfg) {
await super.init(cfg);
await this.spiderInit()
}
async getFilterByLive(dataList) { async getFilterByLive(dataList) {
let extend_list = [] let extend_list = []
@@ -47,10 +58,10 @@ class CNTVSpider extends Spider {
return extend_list return extend_list
} }
arrayIsinclude(str,items){ arrayIsinclude(str, items) {
let isInclude = false let isInclude = false
for (const data of items){ for (const data of items) {
if (str === data["title"]){ if (str === data["title"]) {
return true return true
} }
} }
@@ -64,12 +75,12 @@ class CNTVSpider extends Spider {
let extend_dic = {"key": data["classname"], "name": data["title"], "value": []} let extend_dic = {"key": data["classname"], "name": data["title"], "value": []}
for (const extendData of data["items"]) { for (const extendData of data["items"]) {
if (data["classname"] === "nianfen") { if (data["classname"] === "nianfen") {
if (!this.arrayIsinclude("2024",data["items"]) && extendData["title"] !== "全部" && !add_year_status) { if (!this.arrayIsinclude("2024", data["items"]) && extendData["title"] !== "全部" && !add_year_status) {
extend_dic["value"].push({"n": "2024", "v": "2024"}) extend_dic["value"].push({"n": "2024", "v": "2024"})
add_year_status = true add_year_status = true
} }
} }
extend_dic["value"].push({"n": extendData["title"], "v":extendData["title"]}) extend_dic["value"].push({"n": extendData["title"], "v": extendData["title"]})
} }
extend_list.push(extend_dic) extend_list.push(extend_dic)
} }
@@ -150,15 +161,23 @@ class CNTVSpider extends Spider {
let liveResponse = await req(liveApiUrl, {"headers": this.getHeader()}) let liveResponse = await req(liveApiUrl, {"headers": this.getHeader()})
let liveJson = JSON.parse(liveResponse["content"]) let liveJson = JSON.parse(liveResponse["content"])
let playList = {} let playList = {}
playList["直播"] = ["点击播放$" + liveJson["hls_url"]["hls2"]] let channelName = obj["channelName"].split(" ")[0].replaceAll("-", "").toLowerCase()
let liveUrl = this.liveJson[channelName] ?? liveJson["hls_url"]["hls2"]
playList["直播"] = ["点击播放$" + liveUrl]
await this.jadeLog.info(`liveJson:${JSON.stringify(liveJson)}`) await this.jadeLog.info(`liveJson:${JSON.stringify(liveJson)}`)
let vod_items = [] let vod_items = []
for (const data of obj["program"]) { if (this.liveJson[channelName] !== undefined) {
let episodeName = data["showTime"] + "-" + data["t"]
let episodeUrl = liveJson["hls_url"]["hls1"] + `?begintimeabs=${data["st"] * 1000}&endtimeabs=${data["et"] * 1000}` } else {
vod_items.push(episodeName + "$" + episodeUrl) for (const data of obj["program"]) {
let episodeName = data["showTime"] + "-" + data["t"]
let episodeUrl = liveUrl + `?begintimeabs=${data["st"] * 1000}&endtimeabs=${data["et"] * 1000}`
vod_items.push(episodeName + "$" + episodeUrl)
}
}
if (vod_items.length > 0){
playList["点播"] = vod_items.join("#")
} }
playList["点播"] = vod_items.join("#")
return playList return playList
} }
@@ -233,11 +252,11 @@ class CNTVSpider extends Spider {
this.homeVodList = await this.parseVodShortListFromJson(resJson["data"]["templates"]) this.homeVodList = await this.parseVodShortListFromJson(resJson["data"]["templates"])
} }
getExtendValue(extend,key){ getExtendValue(extend, key) {
if (extend[key] !== undefined && extend[key] !== "全部"){ if (extend[key] !== undefined && extend[key] !== "全部") {
return extend[key] return extend[key]
} }
return "" return ""
} }
async setCategory(tid, pg, filter, extend) { async setCategory(tid, pg, filter, extend) {
@@ -247,10 +266,10 @@ class CNTVSpider extends Spider {
let response = JSON.parse(await this.fetch(url, null, this.getHeader())) let response = JSON.parse(await this.fetch(url, null, this.getHeader()))
this.vodList = this.parseVodShortByJson(response["data"]["templates"][0]["items"]) this.vodList = this.parseVodShortByJson(response["data"]["templates"][0]["items"])
} else { } else {
let letter = this.getExtendValue(extend,"zimu") let letter = this.getExtendValue(extend, "zimu")
let area = this.getExtendValue(extend,"diqu") let area = this.getExtendValue(extend, "diqu")
let type = this.getExtendValue(extend,"leixing") let type = this.getExtendValue(extend, "leixing")
let year = this.getExtendValue(extend,"nianfen") let year = this.getExtendValue(extend, "nianfen")
const limit = 12 const limit = 12
let url = "https://api.cntv.cn" + `/newVideoset/getCboxVideoAlbumList` let url = "https://api.cntv.cn" + `/newVideoset/getCboxVideoAlbumList`
let params = { let params = {
+12 -25
View File
@@ -1,4 +1,4 @@
import {__jsEvalReturn} from './lovemovie18.js'; import {__jsEvalReturn} from './cntv.js';
import * as Utils from "../lib/utils.js"; import * as Utils from "../lib/utils.js";
@@ -51,49 +51,36 @@ async function testMusicPlay(vodDetail) {
} }
async function test() { async function test() {
let siteKey = 'lovemovie18'; let siteKey = 'cntv';
let siteType = 3; let siteType = 3;
await spider.init({ await spider.init({
skey: siteKey, stype: siteType, ext: { skey: siteKey, stype: siteType, ext: {
"token": "6827db23e5474d02a07fd7431d3d5a5a", "token": "6827db23e5474d02a07fd7431d3d5a5a",
"box": "TV", "box": "TV",
"code": "1", "code": "1",
"from": "lovemovie18", "from": "cntv",
"danmu": true, "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" "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"
} }
}); });
let classes = JSON.parse(await spider.home(true)); let classes = JSON.parse(await spider.home(true));
console.debug(JSON.stringify(classes)) console.debug(JSON.stringify(classes))
// 测试详情
let detail1 = JSON.parse(await spider.detail("/shechu/HODV21864binv1riSEXyoutiancaiyexiangqibing/"))
await testPlay(detail1)
// 测试搜索
let search_page = JSON.parse(await spider.search("完美世界",false,1))
console.debug(JSON.stringify(search_page))
// 测试分类
let catePage = JSON.parse(await spider.category("/tvb/", "2", undefined, {"class":"/guochan/"}));
console.debug(JSON.stringify(catePage));
//测试首页列表 //测试首页列表
let homeVod = JSON.parse(await spider.homeVod()) let homeVod = JSON.parse(await spider.homeVod())
console.debug(JSON.stringify(homeVod)); console.debug(JSON.stringify(homeVod));
// 测试分类
let catePage = JSON.parse(await spider.category("72", "2", undefined, {"live":"101"}));
console.debug(JSON.stringify(catePage))
// 测试详情
let detail1 = JSON.parse(await spider.detail("live-cctv2-https://app.cctv.com/special/appchannellogo/rectangle/l/cctv1.png?q=75"))
await testPlay(detail1)
// 测试搜索
let search_page = JSON.parse(await spider.search("完美世界", false, 1))
console.debug(JSON.stringify(search_page))
+1 -1
View File
@@ -16,7 +16,7 @@ import {Spider} from "./spider.js";
class WoggSpider extends Spider { class WoggSpider extends Spider {
constructor() { constructor() {
super(); super();
this.siteUrl = 'https://tvfan.xxooo.cf'; this.siteUrl = 'https://www.wogg.xyz';
this.woggTypeObj = {"玩偶电影":"电影","玩偶剧集":"电视剧"} this.woggTypeObj = {"玩偶电影":"电影","玩偶剧集":"电视剧"}
} }
+1 -1
View File
@@ -725,7 +725,7 @@
{ {
"name": "live", "name": "live",
"type": 0, "type": 0,
"url": "https://agit.ai/fantaiying/0/raw/branch/main/tvlive.txt", "url": "https://gh.con.sh/https://github.com/jadehh/LiveSpider/blob/main/live/live.txt",
"playerType": 1, "playerType": 1,
"ua": "okhttp/3.15", "ua": "okhttp/3.15",
"epg": "http://epg.112114.xyz/?ch={name}&date={date}", "epg": "http://epg.112114.xyz/?ch={name}&date={date}",