>>24,f>>>=p,c-=p,p=g>>>16&255,0===p)A[n++]=65535&g;else{if(!(16&p)){if(0==(64&p)){g=u[(65535&g)+(f&(1<>>=p,c-=p),c<15&&(f+=z[a++]<>>24,f>>>=p,c-=p,p=g>>>16&255,!(16&p)){if(0==(64&p)){g=w[(65535&g)+(f&(1<o){t.msg="invalid distance too far back",E.mode=he;break t}if(f>>>=p,c-=p,p=n-s,v>p){if(p=v-p,p>h&&E.sane){t.msg="invalid distance too far back",E.mode=he;break t}if(y=0,x=_,0===d){if(y+=l-p,p2;)A[n++]=x[y++],A[n++]=x[y++],A[n++]=x[y++],k-=3;k&&(A[n++]=x[y++],k>1&&(A[n++]=x[y++]))}else{y=n-v;do{A[n++]=A[y++],A[n++]=A[y++],A[n++]=A[y++],k-=3}while(k>2);k&&(A[n++]=A[y++],k>1&&(A[n++]=A[y++]))}break}}break}}while(a>3,a-=k,c-=k<<3,f&=(1<{const l=o.bits;let h,d,_,f,c,u,w=0,m=0,b=0,g=0,p=0,k=0,v=0,y=0,x=0,z=0,A=null;const E=new Uint16Array(16),R=new Uint16Array(16);let Z,U,S,D=null;for(w=0;w<=_e;w++)E[w]=0;for(m=0;m=1&&0===E[g];g--);if(p>g&&(p=g),0===g)return n[s++]=20971520,n[s++]=20971520,o.bits=1,0;for(b=1;b0&&(0===t||1!==g))return-1;for(R[1]=0,w=1;w<_e;w++)R[w+1]=R[w]+E[w];for(m=0;m852||2===t&&x>592)return 1;for(;;){Z=w-v,r[m]+1=u?(U=D[r[m]-u],S=A[r[m]-u]):(U=96,S=0),h=1<>v)+d]=Z<<24|U<<16|S|0}while(0!==d);for(h=1<>=1;if(0!==h?(z&=h-1,z+=h):z=0,m++,0==--E[w]){if(w===g)break;w=e[a+r[m]]}if(w>p&&(z&f)!==_){for(0===v&&(v=p),c+=b,k=w-v,y=1<852||2===t&&x>592)return 1;_=z&f,n[_]=p<<24|k<<16|c-s|0}}return 0!==z&&(n[c+z]=w-v<<24|64<<16|0),o.bits=p,0};const{Z_FINISH:be,Z_BLOCK:ge,Z_TREES:pe,Z_OK:ke,Z_STREAM_END:ve,Z_NEED_DICT:ye,Z_STREAM_ERROR:xe,Z_DATA_ERROR:ze,Z_MEM_ERROR:Ae,Z_BUF_ERROR:Ee,Z_DEFLATED:Re}=K,Ze=16180,Ue=16190,Se=16191,De=16192,Te=16194,Oe=16199,Ie=16200,Fe=16206,Le=16209,Ne=t=>(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function Be(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const Ce=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.mode16211?1:0},Me=t=>{if(Ce(t))return xe;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=Ze,e.last=0,e.havedict=0,e.flags=-1,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,ke},He=t=>{if(Ce(t))return xe;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,Me(t)},je=(t,e)=>{let a;if(Ce(t))return xe;const i=t.state;return e<0?(a=0,e=-e):(a=5+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?xe:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=a,i.wbits=e,He(t))},Ke=(t,e)=>{if(!t)return xe;const a=new Be;t.state=a,a.strm=t,a.window=null,a.mode=Ze;const i=je(t,e);return i!==ke&&(t.state=null),i};let Pe,Ye,Ge=!0;const Xe=t=>{if(Ge){Pe=new Int32Array(512),Ye=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(me(1,t.lens,0,288,Pe,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;me(2,t.lens,0,32,Ye,0,t.work,{bits:5}),Ge=!1}t.lencode=Pe,t.lenbits=9,t.distcode=Ye,t.distbits=5},We=(t,e,a,i)=>{let n;const s=t.state;return null===s.window&&(s.wsize=1<=s.wsize?(s.window.set(e.subarray(a-s.wsize,a),0),s.wnext=0,s.whave=s.wsize):(n=s.wsize-s.wnext,n>i&&(n=i),s.window.set(e.subarray(a-i,a-i+n),s.wnext),(i-=n)?(s.window.set(e.subarray(a-i,a),0),s.wnext=i,s.whave=s.wsize):(s.wnext+=n,s.wnext===s.wsize&&(s.wnext=0),s.whaveKe(t,15),inflateInit2:Ke,inflate:(t,e)=>{let a,i,n,s,r,o,l,h,d,_,f,c,u,w,m,b,g,p,k,v,y,x,z=0;const A=new Uint8Array(4);let E,R;const Z=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(Ce(t)||!t.output||!t.input&&0!==t.avail_in)return xe;a=t.state,a.mode===Se&&(a.mode=De),r=t.next_out,n=t.output,l=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,h=a.hold,d=a.bits,_=o,f=l,x=ke;t:for(;;)switch(a.mode){case Ze:if(0===a.wrap){a.mode=De;break}for(;d<16;){if(0===o)break t;o--,h+=i[s++]<>>8&255,a.check=H(a.check,A,2,0),h=0,d=0,a.mode=16181;break}if(a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&h)<<8)+(h>>8))%31){t.msg="incorrect header check",a.mode=Le;break}if((15&h)!==Re){t.msg="unknown compression method",a.mode=Le;break}if(h>>>=4,d-=4,y=8+(15&h),0===a.wbits&&(a.wbits=y),y>15||y>a.wbits){t.msg="invalid window size",a.mode=Le;break}a.dmax=1<>8&1),512&a.flags&&4&a.wrap&&(A[0]=255&h,A[1]=h>>>8&255,a.check=H(a.check,A,2,0)),h=0,d=0,a.mode=16182;case 16182:for(;d<32;){if(0===o)break t;o--,h+=i[s++]<>>8&255,A[2]=h>>>16&255,A[3]=h>>>24&255,a.check=H(a.check,A,4,0)),h=0,d=0,a.mode=16183;case 16183:for(;d<16;){if(0===o)break t;o--,h+=i[s++]<>8),512&a.flags&&4&a.wrap&&(A[0]=255&h,A[1]=h>>>8&255,a.check=H(a.check,A,2,0)),h=0,d=0,a.mode=16184;case 16184:if(1024&a.flags){for(;d<16;){if(0===o)break t;o--,h+=i[s++]<>>8&255,a.check=H(a.check,A,2,0)),h=0,d=0}else a.head&&(a.head.extra=null);a.mode=16185;case 16185:if(1024&a.flags&&(c=a.length,c>o&&(c=o),c&&(a.head&&(y=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Uint8Array(a.head.extra_len)),a.head.extra.set(i.subarray(s,s+c),y)),512&a.flags&&4&a.wrap&&(a.check=H(a.check,i,c,s)),o-=c,s+=c,a.length-=c),a.length))break t;a.length=0,a.mode=16186;case 16186:if(2048&a.flags){if(0===o)break t;c=0;do{y=i[s+c++],a.head&&y&&a.length<65536&&(a.head.name+=String.fromCharCode(y))}while(y&&c>9&1,a.head.done=!0),t.adler=a.check=0,a.mode=Se;break;case 16189:for(;d<32;){if(0===o)break t;o--,h+=i[s++]<>>=7&d,d-=7&d,a.mode=Fe;break}for(;d<3;){if(0===o)break t;o--,h+=i[s++]<>>=1,d-=1,3&h){case 0:a.mode=16193;break;case 1:if(Xe(a),a.mode=Oe,e===pe){h>>>=2,d-=2;break t}break;case 2:a.mode=16196;break;case 3:t.msg="invalid block type",a.mode=Le}h>>>=2,d-=2;break;case 16193:for(h>>>=7&d,d-=7&d;d<32;){if(0===o)break t;o--,h+=i[s++]<>>16^65535)){t.msg="invalid stored block lengths",a.mode=Le;break}if(a.length=65535&h,h=0,d=0,a.mode=Te,e===pe)break t;case Te:a.mode=16195;case 16195:if(c=a.length,c){if(c>o&&(c=o),c>l&&(c=l),0===c)break t;n.set(i.subarray(s,s+c),r),o-=c,s+=c,l-=c,r+=c,a.length-=c;break}a.mode=Se;break;case 16196:for(;d<14;){if(0===o)break t;o--,h+=i[s++]<>>=5,d-=5,a.ndist=1+(31&h),h>>>=5,d-=5,a.ncode=4+(15&h),h>>>=4,d-=4,a.nlen>286||a.ndist>30){t.msg="too many length or distance symbols",a.mode=Le;break}a.have=0,a.mode=16197;case 16197:for(;a.have>>=3,d-=3}for(;a.have<19;)a.lens[Z[a.have++]]=0;if(a.lencode=a.lendyn,a.lenbits=7,E={bits:a.lenbits},x=me(0,a.lens,0,19,a.lencode,0,a.work,E),a.lenbits=E.bits,x){t.msg="invalid code lengths set",a.mode=Le;break}a.have=0,a.mode=16198;case 16198:for(;a.have>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=m,d-=m,a.lens[a.have++]=g;else{if(16===g){for(R=m+2;d>>=m,d-=m,0===a.have){t.msg="invalid bit length repeat",a.mode=Le;break}y=a.lens[a.have-1],c=3+(3&h),h>>>=2,d-=2}else if(17===g){for(R=m+3;d>>=m,d-=m,y=0,c=3+(7&h),h>>>=3,d-=3}else{for(R=m+7;d>>=m,d-=m,y=0,c=11+(127&h),h>>>=7,d-=7}if(a.have+c>a.nlen+a.ndist){t.msg="invalid bit length repeat",a.mode=Le;break}for(;c--;)a.lens[a.have++]=y}}if(a.mode===Le)break;if(0===a.lens[256]){t.msg="invalid code -- missing end-of-block",a.mode=Le;break}if(a.lenbits=9,E={bits:a.lenbits},x=me(1,a.lens,0,a.nlen,a.lencode,0,a.work,E),a.lenbits=E.bits,x){t.msg="invalid literal/lengths set",a.mode=Le;break}if(a.distbits=6,a.distcode=a.distdyn,E={bits:a.distbits},x=me(2,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,E),a.distbits=E.bits,x){t.msg="invalid distances set",a.mode=Le;break}if(a.mode=Oe,e===pe)break t;case Oe:a.mode=Ie;case Ie:if(o>=6&&l>=258){t.next_out=r,t.avail_out=l,t.next_in=s,t.avail_in=o,a.hold=h,a.bits=d,de(t,f),r=t.next_out,n=t.output,l=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,h=a.hold,d=a.bits,a.mode===Se&&(a.back=-1);break}for(a.back=0;z=a.lencode[h&(1<>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>p)],m=z>>>24,b=z>>>16&255,g=65535&z,!(p+m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=p,d-=p,a.back+=p}if(h>>>=m,d-=m,a.back+=m,a.length=g,0===b){a.mode=16205;break}if(32&b){a.back=-1,a.mode=Se;break}if(64&b){t.msg="invalid literal/length code",a.mode=Le;break}a.extra=15&b,a.mode=16201;case 16201:if(a.extra){for(R=a.extra;d>>=a.extra,d-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=16202;case 16202:for(;z=a.distcode[h&(1<>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>p)],m=z>>>24,b=z>>>16&255,g=65535&z,!(p+m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=p,d-=p,a.back+=p}if(h>>>=m,d-=m,a.back+=m,64&b){t.msg="invalid distance code",a.mode=Le;break}a.offset=g,a.extra=15&b,a.mode=16203;case 16203:if(a.extra){for(R=a.extra;d>>=a.extra,d-=a.extra,a.back+=a.extra}if(a.offset>a.dmax){t.msg="invalid distance too far back",a.mode=Le;break}a.mode=16204;case 16204:if(0===l)break t;if(c=f-l,a.offset>c){if(c=a.offset-c,c>a.whave&&a.sane){t.msg="invalid distance too far back",a.mode=Le;break}c>a.wnext?(c-=a.wnext,u=a.wsize-c):u=a.wnext-c,c>a.length&&(c=a.length),w=a.window}else w=n,u=r-a.offset,c=a.length;c>l&&(c=l),l-=c,a.length-=c;do{n[r++]=w[u++]}while(--c);0===a.length&&(a.mode=Ie);break;case 16205:if(0===l)break t;n[r++]=a.length,l--,a.mode=Ie;break;case Fe:if(a.wrap){for(;d<32;){if(0===o)break t;o--,h|=i[s++]<{if(Ce(t))return xe;let e=t.state;return e.window&&(e.window=null),t.state=null,ke},inflateGetHeader:(t,e)=>{if(Ce(t))return xe;const a=t.state;return 0==(2&a.wrap)?xe:(a.head=e,e.done=!1,ke)},inflateSetDictionary:(t,e)=>{const a=e.length;let i,n,s;return Ce(t)?xe:(i=t.state,0!==i.wrap&&i.mode!==Ue?xe:i.mode===Ue&&(n=1,n=C(n,e,a,0),n!==i.check)?ze:(s=We(t,e,a,a),s?(i.mode=16210,Ae):(i.havedict=1,ke)))},inflateInfo:"pako inflate (from Nodeca project)"};var Je=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const Qe=Object.prototype.toString,{Z_NO_FLUSH:Ve,Z_FINISH:$e,Z_OK:ta,Z_STREAM_END:ea,Z_NEED_DICT:aa,Z_STREAM_ERROR:ia,Z_DATA_ERROR:na,Z_MEM_ERROR:sa}=K;function ra(t){this.options=jt({chunkSize:65536,windowBits:15,to:""},t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new qt,this.strm.avail_out=0;let a=qe.inflateInit2(this.strm,e.windowBits);if(a!==ta)throw new Error(j[a]);if(this.header=new Je,qe.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=Gt(e.dictionary):"[object ArrayBuffer]"===Qe.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(a=qe.inflateSetDictionary(this.strm,e.dictionary),a!==ta)))throw new Error(j[a])}function oa(t,e){const a=new ra(e);if(a.push(t),a.err)throw a.msg||j[a.err];return a.result}ra.prototype.push=function(t,e){const a=this.strm,i=this.options.chunkSize,n=this.options.dictionary;let s,r,o;if(this.ended)return!1;for(r=e===~~e?e:!0===e?$e:Ve,"[object ArrayBuffer]"===Qe.call(t)?a.input=new Uint8Array(t):a.input=t,a.next_in=0,a.avail_in=a.input.length;;){for(0===a.avail_out&&(a.output=new Uint8Array(i),a.next_out=0,a.avail_out=i),s=qe.inflate(a,r),s===aa&&n&&(s=qe.inflateSetDictionary(a,n),s===ta?s=qe.inflate(a,r):s===na&&(s=aa));a.avail_in>0&&s===ea&&a.state.wrap>0&&0!==t[a.next_in];)qe.inflateReset(a),s=qe.inflate(a,r);switch(s){case ia:case na:case aa:case sa:return this.onEnd(s),this.ended=!0,!1}if(o=a.avail_out,a.next_out&&(0===a.avail_out||s===ea))if("string"===this.options.to){let t=Wt(a.output,a.next_out),e=a.next_out-t,n=Xt(a.output,t);a.next_out=e,a.avail_out=i-e,e&&a.output.set(a.output.subarray(t,t+e),0),this.onData(n)}else this.onData(a.output.length===a.next_out?a.output:a.output.subarray(0,a.next_out));if(s!==ta||0!==o){if(s===ea)return s=qe.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,!0;if(0===a.avail_in)break}}return!0},ra.prototype.onData=function(t){this.chunks.push(t)},ra.prototype.onEnd=function(t){t===ta&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Kt(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var la={Inflate:ra,inflate:oa,inflateRaw:function(t,e){return(e=e||{}).raw=!0,oa(t,e)},ungzip:oa,constants:K};const{Deflate:ha,deflate:da,deflateRaw:_a,gzip:fa}=le,{Inflate:ca,inflate:ua,inflateRaw:wa,ungzip:ma}=la;var ba=ha,ga=da,pa=_a,ka=fa,va=ca,ya=ua,xa=wa,za=ma,Aa=K,Ea={Deflate:ba,deflate:ga,deflateRaw:pa,gzip:ka,Inflate:va,inflate:ya,inflateRaw:xa,ungzip:za,constants:Aa};t.Deflate=ba,t.Inflate=va,t.constants=Aa,t.default=Ea,t.deflate=ga,t.deflateRaw=pa,t.gzip=ka,t.inflate=ya,t.inflateRaw=xa,t.ungzip=za,Object.defineProperty(t,"__esModule",{value:!0})}));
\ No newline at end of file
diff --git a/drpy_libs/模板.js b/drpy_libs/模板.js
new file mode 100644
index 0000000..1704393
--- /dev/null
+++ b/drpy_libs/模板.js
@@ -0,0 +1,412 @@
+if (typeof Object.assign !== 'function') {
+ Object.assign = function () {
+ let target = arguments[0];
+ for (let i = 1; i < arguments.length; i++) {
+ let source = arguments[i];
+ for (let key in source) {
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
+ target[key] = source[key];
+ }
+ }
+ }
+ return target;
+ };
+}
+
+// 通用免嗅探播放
+let common_lazy = `js:
+ let html = request(input);
+ let hconf = html.match(/r player_.*?=(.*?))[1];
+ let json = JSON5.parse(hconf);
+ let url = json.url;
+ if (json.encrypt == '1') {
+ url = unescape(url);
+ } else if (json.encrypt == '2') {
+ url = unescape(base64Decode(url));
+ }
+ if (/\\.(m3u8|mp4|m4a|mp3)/.test(url)) {
+ input = {
+ parse: 0,
+ jx: 0,
+ url: url,
+ };
+ } else {
+ input;
+ }`;
+// 默认嗅探播放
+
+let def_lazy = `js:
+ input = { parse: 1, url: input, js: '' };`;
+// 采集站播放
+
+let cj_lazy = `js:
+ if (/\\.(m3u8|mp4)/.test(input)) {
+ input = { parse: 0, url: input };
+ } else {
+ if (rule.parse_url.startsWith('json:')) {
+ let purl = rule.parse_url.replace('json:', '') + input;
+ let html = request(purl);
+ let json = JSON.parse(html);
+ if (json.url) {
+ input = { parse: 0, url: json.url };
+ }
+ } else {
+ input = rule.parse_url + input;
+ }
+ }`;
+
+function getMubans() {
+ const mubanDict = { // 模板字典
+ mx: {
+ title: '',
+ host: '',
+ url: '/vodshow/fyclass--------fypage---/',
+ searchUrl: '/vodsearch/**----------fypage---/',
+ class_parse: '.top_nav li;a&&Text;a&&href;.*/(.*?)/',
+ searchable: 2,
+ quickSearch: 0,
+ filterable: 0,
+ headers: {
+ 'User-Agent': 'MOBILE_UA',
+ },
+ play_parse: true,
+ lazy: common_lazy,
+ limit: 6,
+ double: true,
+ 推荐: '.cbox_list;*;*;*;*;*',
+ 一级: 'ul.vodlist li;a&&title;a&&data-original;.pic_text&&Text;a&&href',
+ 二级: {
+ title: 'h2&&Text;.content_detail:eq(1)&&li&&a:eq(2)&&Text',
+ img: '.vodlist_thumb&&data-original',
+ desc: '.content_detail:eq(1)&&li:eq(1)&&Text;.content_detail:eq(1)&&li&&a&&Text;.content_detail:eq(1)&&li&&a:eq(1)&&Text;.content_detail:eq(1)&&li:eq(2)&&Text;.content_detail:eq(1)&&li:eq(3)&&Text',
+ content: '.content_desc&&span&&Text',
+ tabs: '.play_source_tab&&a',
+ lists: '.content_playlist:eq(#id) li',
+ },
+ 搜索: '*',
+ },
+ mxpro: {
+ title: '',
+ host: '', // homeUrl:'/',
+ url: '/vodshow/fyclass--------fypage---.html',
+ searchUrl: '/vodsearch/**----------fypage---.html',
+ searchable: 2,//是否启用全局搜索,
+ quickSearch: 0,//是否启用快速搜索,
+ filterable: 0,//是否启用分类筛选,
+ headers: {//网站的请求头,完整支持所有的,常带ua和cookies
+ 'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
+ },
+ class_parse: '.navbar-items li:gt(0):lt(10);a&&Text;a&&href;/(\\d+)',
+ play_parse: true,
+ lazy: common_lazy,
+ limit: 6,
+ double: true, // 推荐内容是否双层定位
+ 推荐: '.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href',
+ 一级: 'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href',
+ 二级: {
+ title: 'h1&&Text;.module-info-tag-link:eq(-1)&&Text',
+ img: '.lazyload&&data-original||data-src||src',
+ desc: '.module-info-item:eq(-2)&&Text;.module-info-tag-link&&Text;.module-info-tag-link:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(1)&&Text',
+ content: '.module-info-introduction&&Text',
+ tabs: '.module-tab-item',
+ lists: '.module-play-list:eq(#id) a',
+ tab_text: 'div--small&&Text',
+ },
+ 搜索: 'body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text',
+ }, mxone5: {
+ title: '',
+ host: '',
+ url: '/show/fyclass--------fypage---.html',
+ searchUrl: '/search/**----------fypage---.html',
+ searchable: 2,//是否启用全局搜索,
+ quickSearch: 0,//是否启用快速搜索,
+ filterable: 0,//是否启用分类筛选,
+ class_parse: '.nav-menu-items&&li;a&&Text;a&&href;.*/(.*?)\.html',
+ play_parse: true,
+ lazy: common_lazy,
+ limit: 6,
+ double: true, // 推荐内容是否双层定位
+ 推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
+ 一级: '.module-items .module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
+ 二级: {
+ title: 'h1&&Text;.tag-link&&Text',
+ img: '.module-item-pic&&img&&data-src',
+ desc: '.video-info-items:eq(3)&&Text;.tag-link:eq(2)&&Text;.tag-link:eq(1)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(0)&&Text',
+ content: '.vod_content&&Text',
+ tabs: '.module-tab-item',
+ lists: '.module-player-list:eq(#id)&&.scroll-content&&a',
+ tab_text: 'div--small&&Text',
+ },
+ 搜索: '.module-items .module-search-item;a&&title;img&&data-src;.video-serial&&Text;a&&href',
+ }, 首图: {
+ title: '',
+ host: '',
+ url: '/vodshow/fyclass--------fypage---/',
+ searchUrl: '/vodsearch/**----------fypage---.html',
+ searchable: 2,//是否启用全局搜索,
+ quickSearch: 0,//是否启用快速搜索,
+ filterable: 0,//是否启用分类筛选,
+ headers: {//网站的请求头,完整支持所有的,常带ua和cookies
+ 'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
+ },
+ class_parse: '.myui-header__menu li.hidden-sm:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html',
+ play_parse: true,
+ lazy: common_lazy,
+ limit: 6,
+ double: true, // 推荐内容是否双层定位
+ 推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
+ 一级: '.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
+ 二级: {
+ title: '.myui-content__detail .title--span&&Text;.myui-content__detail p.data:eq(3)&&Text',
+ img: '.myui-content__thumb .lazyload&&data-original',
+ desc: '.myui-content__detail p.otherbox&&Text;.year&&Text;.myui-content__detail p.data:eq(4)&&Text;.myui-content__detail p.data:eq(2)&&Text;.myui-content__detail p.data:eq(0)&&Text',
+ content: '.content&&Text',
+ tabs: '.myui-panel__head&&li',
+ // tabs: '.nav-tabs&&li',
+ lists: '.myui-content__list:eq(#id) li',
+ },
+ 搜索: '#searchList li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href;.detail&&Text',
+ }, 首图2: {
+ title: '',
+ host: '',
+ url: '/list/fyclass-fypage.html',
+ searchUrl: '/vodsearch/**----------fypage---.html',
+ searchable: 2,//是否启用全局搜索,
+ quickSearch: 0,//是否启用快速搜索,
+ filterable: 0,//是否启用分类筛选,
+ headers: {
+ 'User-Agent': 'UC_UA', // "Cookie": ""
+ },
+ class_parse: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html',
+ play_parse: true,
+ lazy: common_lazy,
+ limit: 6,
+ double: true, // 推荐内容是否双层定位
+ 推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href',
+ 一级: '.stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
+ 二级: {
+ title: '.stui-content__detail .title&&Text;.stui-content__detail&&p:eq(-2)&&a&&Text',
+ title1: '.stui-content__detail .title&&Text;.stui-content__detail&&p&&Text',
+ img: '.stui-content__thumb .lazyload&&data-original',
+ desc: '.stui-content__detail p&&Text;.stui-content__detail&&p:eq(-2)&&a:eq(2)&&Text;.stui-content__detail&&p:eq(-2)&&a:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text;.stui-content__detail p:eq(1)&&Text',
+ desc1: '.stui-content__detail p:eq(4)&&Text;;;.stui-content__detail p:eq(1)&&Text',
+ content: '.detail&&Text',
+ tabs: '.stui-pannel__head h3',
+ tabs1: '.stui-vodlist__head h3',
+ lists: '.stui-content__playlist:eq(#id) li',
+ },
+ 搜索: 'ul.stui-vodlist__media,ul.stui-vodlist,#searchList li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href;.detail&&Text',
+ }, 默认: {
+ title: '',
+ host: '',
+ url: '',
+ searchUrl: '',
+ searchable: 2,
+ quickSearch: 0,
+ filterable: 0,
+ filter: '',
+ filter_url: '',
+ filter_def: {},
+ headers: {
+ 'User-Agent': 'MOBILE_UA',
+ },
+ timeout: 5000,
+ class_parse: '#side-menu li;a&&Text;a&&href;/(.*?)\.html',
+ cate_exclude: '',
+ play_parse: true,
+ lazy: def_lazy,
+ double: true,
+ 推荐: '列表1;列表2;标题;图片;描述;链接;详情',
+ 一级: '列表;标题;图片;描述;链接;详情',
+ 二级: {
+ title: 'vod_name;vod_type',
+ img: '图片链接',
+ desc: '主要信息;年代;地区;演员;导演',
+ content: '简介',
+ tabs: '',
+ lists: 'xx:eq(#id)&&a',
+ tab_text: 'body&&Text',
+ list_text: 'body&&Text',
+ list_url: 'a&&href',
+ },
+ 搜索: '列表;标题;图片;描述;链接;详情',
+ }, vfed: {
+ title: '',
+ host: '',
+ url: '/index.php/vod/show/id/fyclass/page/fypage.html',
+ searchUrl: '/index.php/vod/search/page/fypage/wd/**.html',
+ searchable: 2,//是否启用全局搜索,
+ quickSearch: 0,//是否启用快速搜索,
+ filterable: 0,//是否启用分类筛选,
+ headers: {
+ 'User-Agent': 'UC_UA',
+ },
+ class_parse: '.fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html',
+ play_parse: true,
+ lazy: common_lazy,
+ limit: 6,
+ double: true, // 推荐内容是否双层定位
+ 推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
+ 一级: '.fed-list-info&&li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
+ 二级: {
+ title: 'h1.fed-part-eone&&Text;.fed-deta-content&&.fed-part-rows&&li&&Text',
+ img: '.fed-list-info&&a&&data-original',
+ desc: '.fed-deta-content&&.fed-part-rows&&li:eq(1)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(2)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(3)&&Text',
+ content: '.fed-part-esan&&Text',
+ tabs: '.fed-drop-boxs&&.fed-part-rows&&li',
+ lists: '.fed-play-item:eq(#id)&&ul:eq(1)&&li',
+ },
+ 搜索: '.fed-deta-info;h1&&Text;.lazyload&&data-original;.fed-list-remarks&&Text;a&&href;.fed-deta-content&&Text',
+ }, 海螺3: {
+ title: '',
+ host: '',
+ searchUrl: '/v_search/**----------fypage---.html',
+ url: '/vod_____show/fyclass--------fypage---.html',
+ headers: {
+ 'User-Agent': 'MOBILE_UA',
+ },
+ timeout: 5000,
+ class_parse: 'body&&.hl-nav li:gt(0);a&&Text;a&&href;.*/(.*?).html',
+ cate_exclude: '明星|专题|最新|排行',
+ limit: 40,
+ play_parse: true,
+ lazy: common_lazy,
+ double: true,
+ 推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href',
+ 一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
+ 二级: {
+ title: '.hl-dc-title&&Text;.hl-dc-content&&li:eq(6)&&Text',
+ img: '.hl-lazy&&data-original',
+ desc: '.hl-dc-content&&li:eq(10)&&Text;.hl-dc-content&&li:eq(4)&&Text;.hl-dc-content&&li:eq(5)&&Text;.hl-dc-content&&li:eq(2)&&Text;.hl-dc-content&&li:eq(3)&&Text',
+ content: '.hl-content-text&&Text',
+ tabs: '.hl-tabs&&a',
+ tab_text: 'a--span&&Text',
+ lists: '.hl-plays-list:eq(#id)&&li',
+ },
+ 搜索: '.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
+ searchable: 2,//是否启用全局搜索,
+ quickSearch: 0,//是否启用快速搜索,
+ filterable: 0,//是否启用分类筛选,
+ }, 海螺2: {
+ title: '',
+ host: '',
+ searchUrl: '/index.php/vod/search/page/fypage/wd/**/',
+ url: '/index.php/vod/show/id/fyclass/page/fypage/',
+ headers: {
+ 'User-Agent': 'MOBILE_UA',
+ },
+ timeout: 5000,
+ class_parse: '#nav-bar li;a&&Text;a&&href;id/(.*?)/',
+ limit: 40,
+ play_parse: true,
+ lazy: common_lazy,
+ double: true,
+ 推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href',
+ 一级: '.list-a&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href',
+ 二级: {
+ title: 'h2&&Text;.deployment&&Text',
+ img: '.lazy&&data-original',
+ desc: '.deployment&&Text',
+ content: '.ec-show&&Text',
+ tabs: '#tag&&a',
+ lists: '.play_list_box:eq(#id)&&li',
+ },
+ 搜索: '.search-list;a&&title;.lazy&&data-original;.deployment&&Text;a&&href',
+ searchable: 2,//是否启用全局搜索,
+ quickSearch: 0,//是否启用快速搜索,
+ filterable: 0,//是否启用分类筛选,
+ }, 短视: {
+ title: '',
+ host: '', // homeUrl:'/',
+ url: '/channel/fyclass-fypage.html',
+ searchUrl: '/search.html?wd=**',
+ searchable: 2,//是否启用全局搜索,
+ quickSearch: 0,//是否启用快速搜索,
+ filterable: 0,//是否启用分类筛选,
+ headers: {//网站的请求头,完整支持所有的,常带ua和cookies
+ 'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
+ },
+ class_parse: '.menu_bottom ul li;a&&Text;a&&href;.*/(.*?).html',
+ cate_exclude: '解析|动态',
+ play_parse: true,
+ lazy: common_lazy,
+ limit: 6,
+ double: true, // 推荐内容是否双层定位
+ 推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
+ 一级: '.pic-list&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
+ 二级: {
+ title: 'h1&&Text;.content-rt&&p:eq(0)&&Text',
+ img: '.img&&img&&data-src',
+ desc: '.content-rt&&p:eq(1)&&Text;.content-rt&&p:eq(2)&&Text;.content-rt&&p:eq(3)&&Text;.content-rt&&p:eq(4)&&Text;.content-rt&&p:eq(5)&&Text',
+ content: '.zkjj_a&&Text',
+ tabs: '.py-tabs&&option',
+ lists: '.player:eq(#id) li',
+ },
+ 搜索: '.sr_lists&&ul&&li;h3&&Text;img&&data-src;.int&&p:eq(0)&&Text;a&&href',
+ }, 短视2: {
+ title: '',
+ host: '',
+ class_name: '电影&电视剧&综艺&动漫',
+ class_url: '1&2&3&4',
+ searchUrl: '/index.php/ajax/suggest?mid=1&wd=**&limit=50',
+ searchable: 2,
+ quickSearch: 0,
+ headers: {'User-Agent': 'MOBILE_UA'},
+ url: '/index.php/api/vod#type=fyclass&page=fypage',
+ filterable: 0,//是否启用分类筛选,
+ filter_url: '',
+ filter: {},
+ filter_def: {},
+ detailUrl: '/index.php/vod/detail/id/fyid.html',
+ play_parse: true,
+ lazy: common_lazy,
+ limit: 6,
+ 推荐: '.list-vod.flex .public-list-box;a&&title;.lazy&&data-original;.public-list-prb&&Text;a&&href',
+ 一级: 'js:let body=input.split("#")[1];let t=Math.round(new Date/1e3).toString();let key=md5("DS"+t+"DCC147D11943AF75");let url=input.split("#")[0];body=body+"&time="+t+"&key="+key;print(body);fetch_params.body=body;let html=post(url,fetch_params);let data=JSON.parse(html);VODS=data.list.map(function(it){it.vod_pic=urljoin2(input.split("/i")[0],it.vod_pic);return it});',
+ 二级: {
+ title: '.slide-info-title&&Text;.slide-info:eq(2)--strong&&Text',
+ img: '.detail-pic&&data-original',
+ desc: '.slide-info-remarks&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(1)--strong&&Text;.info-parameter&&ul&&li:eq(3)&&Text',
+ content: '#height_limit&&Text',
+ tabs: '.anthology.wow.fadeInUp.animated&&.swiper-wrapper&&a',
+ tab_text: 'a--span&&Text',
+ lists: '.anthology-list-box:eq(#id) li',
+ },
+ 搜索: 'json:list;name;pic;;id',
+ }, 采集1: {
+ title: '',
+ host: '',
+ homeTid: '13',
+ homeUrl: '/api.php/provide/vod/?ac=detail&t={{rule.homeTid}}',
+ detailUrl: '/api.php/provide/vod/?ac=detail&ids=fyid',
+ searchUrl: '/api.php/provide/vod/?wd=**&pg=fypage',
+ url: '/api.php/provide/vod/?ac=detail&pg=fypage&t=fyclass',
+ headers: {'User-Agent': 'MOBILE_UA'},
+ timeout: 5000, // class_name: '电影&电视剧&综艺&动漫',
+ // class_url: '1&2&3&4',
+ // class_parse:'js:let html=request(input);input=JSON.parse(html).class;',
+ class_parse: 'json:class;',
+ limit: 20,
+ multi: 1,
+ searchable: 2,//是否启用全局搜索,
+ quickSearch: 1,//是否启用快速搜索,
+ filterable: 0,//是否启用分类筛选,
+ play_parse: true,
+ parse_url: '',
+ lazy: cj_lazy,
+ 推荐: '*',
+ 一级: 'json:list;vod_name;vod_pic;vod_remarks;vod_id;vod_play_from',
+ 二级: `js:
+ let html=request(input);
+ html=JSON.parse(html);
+ let data=html.list;
+ VOD=data[0];`,
+ 搜索: '*',
+ },
+ };
+ return JSON.parse(JSON.stringify(mubanDict));
+}
+
+var mubanDict = getMubans();
+var muban = getMubans();
+export default {muban, getMubans};
\ No newline at end of file
diff --git a/drpy_libs/模板老.js b/drpy_libs/模板老.js
new file mode 100644
index 0000000..f27f0ab
--- /dev/null
+++ b/drpy_libs/模板老.js
@@ -0,0 +1,377 @@
+if (typeof Object.assign != 'function') {
+ Object.assign = function () {
+ let target = arguments[0];
+ for (let i = 1; i < arguments.length; i++) {
+ let source = arguments[i];
+ for (let key in source) {
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
+ target[key] = source[key];
+ }
+ }
+ }
+ return target;
+ };
+}
+
+function getMubans() {
+ var mubanDict = { // 模板字典
+ mx: {
+ title: '',
+ host: '',
+ url: '/vodshow/fyclass--------fypage---/',
+ searchUrl: '/vodsearch/**----------fypage---/',
+ class_parse: '.top_nav li;a&&Text;a&&href;.*/(.*?)/',
+ searchable: 2,
+ quickSearch: 0,
+ filterable: 0,
+ headers: {
+ 'User-Agent': 'MOBILE_UA',
+ },
+ play_parse: true,
+ lazy: '',
+ limit: 6,
+ 推荐: '.cbox_list;*;*;*;*;*',
+ double: true,
+ 一级: 'ul.vodlist li;a&&title;a&&data-original;.pic_text&&Text;a&&href',
+ 二级: {
+ title: 'h2&&Text;.detail_list&&ul:eq(1)&&li&&a:eq(2)&&Text',
+ img: '.vodlist_thumb&&data-original',
+ desc: '.content_detail&&li:eq(1)&&Text;.detail_list&&ul:eq(1)&&li&&a&&Text;.detail_list&&ul:eq(1)&&li&&a:eq(1)&&Text;.detail_list&&ul:eq(1)&&li:eq(2)&&Text;.detail_list&&ul:eq(1)&&li:eq(3)&&Text',
+ content: '.content_desc&&span&&Text',
+ tabs: '.play_source_tab&&a',
+ lists: '.content_playlist:eq(#id) li',
+ },
+ 搜索: '*',
+ },
+ mxpro: {
+ title: '',
+ host: '', // homeUrl:'/',
+ url: '/vodshow/fyclass--------fypage---.html',
+ searchUrl: '/vodsearch/**----------fypage---.html',
+ searchable: 2,//是否启用全局搜索,
+ quickSearch: 0,//是否启用快速搜索,
+ filterable: 0,//是否启用分类筛选,
+ headers: {//网站的请求头,完整支持所有的,常带ua和cookies
+ 'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
+ },
+ class_parse: '.navbar-items li:gt(2):lt(8);a&&Text;a&&href;/(\\d+).html',
+ play_parse: true,
+ lazy: '',
+ limit: 6,
+ 推荐: '.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href',
+ double: true, // 推荐内容是否双层定位
+ 一级: 'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href',
+ 二级: {
+ "title": "h1&&Text;.module-info-tag&&Text",
+ "img": ".lazyload&&data-original",
+ "desc": ".module-info-item:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(3)&&Text",
+ "content": ".module-info-introduction&&Text",
+ "tabs": ".module-tab-item",
+ "lists": ".module-play-list:eq(#id) a"
+ },
+ 搜索: 'body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text',
+ }, mxone5: {
+ title: '',
+ host: '',
+ url: '/show/fyclass--------fypage---.html',
+ searchUrl: '/search/**----------fypage---.html',
+ searchable: 2,//是否启用全局搜索,
+ quickSearch: 0,//是否启用快速搜索,
+ filterable: 0,//是否启用分类筛选,
+ class_parse: '.nav-menu-items&&li;a&&Text;a&&href;.*/(.*?).html',
+ play_parse: true,
+ lazy: '',
+ limit: 6,
+ 推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
+ double: true, // 推荐内容是否双层定位
+ 一级: '.module-items .module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
+ 二级: {
+ "title": "h1&&Text;.tag-link&&Text",
+ "img": ".module-item-pic&&img&&data-src",
+ "desc": ".video-info-items:eq(0)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(2)&&Text;.video-info-items:eq(3)&&Text",
+ "content": ".vod_content&&Text",
+ "tabs": ".module-tab-item",
+ "lists": ".module-player-list:eq(#id)&&.scroll-content&&a"
+ },
+ 搜索: '.module-items .module-search-item;a&&title;img&&data-src;.video-serial&&Text;a&&href',
+ }, 首图: {
+ title: '',
+ host: '',
+ url: '/vodshow/fyclass--------fypage---/',
+ searchUrl: '/vodsearch/**----------fypage---.html',
+ searchable: 2,//是否启用全局搜索,
+ quickSearch: 0,//是否启用快速搜索,
+ filterable: 0,//是否启用分类筛选,
+ headers: {//网站的请求头,完整支持所有的,常带ua和cookies
+ 'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
+ },
+ class_parse: '.myui-header__menu li.hidden-sm:gt(0):lt(5);a&&Text;a&&href;/(\\d+).html',
+ play_parse: true,
+ lazy: '',
+ limit: 6,
+ 推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
+ double: true, // 推荐内容是否双层定位
+ 一级: '.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
+ 二级: {
+ "title": ".myui-content__detail .title&&Text;.myui-content__detail p:eq(-2)&&Text",
+ "img": ".myui-content__thumb .lazyload&&data-original",
+ "desc": ".myui-content__detail p:eq(0)&&Text;.myui-content__detail p:eq(1)&&Text;.myui-content__detail p:eq(2)&&Text",
+ "content": ".content&&Text",
+ "tabs": ".nav-tabs:eq(0) li",
+ "lists": ".myui-content__list:eq(#id) li"
+ },
+ 搜索: '#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
+ }, 首图2: {
+ title: '',
+ host: '',
+ url: '/list/fyclass-fypage.html',
+ searchUrl: '/vodsearch/**----------fypage---.html',
+ searchable: 2,//是否启用全局搜索,
+ quickSearch: 0,//是否启用快速搜索,
+ filterable: 0,//是否启用分类筛选,
+ headers: {
+ 'User-Agent': 'UC_UA', // "Cookie": ""
+ }, // class_parse:'.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html',
+ class_parse: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html',
+ play_parse: true,
+ lazy: '',
+ limit: 6,
+ 推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href',
+ double: true, // 推荐内容是否双层定位
+ 一级: '.stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
+ 二级: {
+ "title": ".stui-content__detail .title&&Text;.stui-content__detail p:eq(-2)&&Text",
+ "img": ".stui-content__thumb .lazyload&&data-original",
+ "desc": ".stui-content__detail p:eq(0)&&Text;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text",
+ "content": ".detail&&Text",
+ "tabs": ".stui-vodlist__head h3",
+ "lists": ".stui-content__playlist:eq(#id) li"
+ },
+ 搜索: 'ul.stui-vodlist__media:eq(0),ul.stui-vodlist:eq(0),#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
+ 搜索1: 'ul.stui-vodlist&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
+ 搜索2: 'ul.stui-vodlist__media&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
+ }, 默认: {
+ title: '',
+ host: '',
+ url: '',
+ searchUrl: '',
+ searchable: 2,
+ quickSearch: 0,
+ filterable: 1,
+ filter: '',
+ filter_url: '',
+ filter_def: {},
+ headers: {
+ 'User-Agent': 'MOBILE_UA',
+ },
+ timeout: 5000,
+ class_parse: '#side-menu li;a&&Text;a&&href;/(.*?)\.html',
+ cate_exclude: '',
+ play_parse: true,
+ lazy: `js:input = {parse: 1, url: input, js: ''}`,
+ double: true,
+ 推荐: '列表1;列表2;标题;图片;描述;链接;详情',
+ 一级: '列表;标题;图片;描述;链接;详情',
+ 二级: {
+ title: 'vod_name;vod_type',
+ img: '图片链接',
+ desc: '主要信息;年代;地区;演员;导演',
+ content: '简介',
+ tabs: '',
+ lists: 'xx:eq(#id)&&a',
+ tab_text: 'body&&Text',
+ list_text: 'body&&Text',
+ list_url: 'a&&href'
+ },
+ 搜索: '列表;标题;图片;描述;链接;详情',
+ }, vfed: {
+ title: '',
+ host: '',
+ url: '/index.php/vod/show/id/fyclass/page/fypage.html',
+ searchUrl: '/index.php/vod/search/page/fypage/wd/**.html',
+ searchable: 2,//是否启用全局搜索,
+ quickSearch: 0,//是否启用快速搜索,
+ filterable: 0,//是否启用分类筛选,
+ headers: {
+ 'User-Agent': 'UC_UA',
+ }, // class_parse:'.fed-pops-navbar&&ul.fed-part-rows&&a.fed-part-eone:gt(0):lt(5);a&&Text;a&&href;.*/(.*?).html',
+ class_parse: '.fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html',
+ play_parse: true,
+ lazy: '',
+ limit: 6,
+ 推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
+ double: true, // 推荐内容是否双层定位
+ 一级: '.fed-list-info&&li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
+ 二级: {
+ "title": "h1.fed-part-eone&&Text;.fed-deta-content&&.fed-part-rows&&li&&Text",
+ "img": ".fed-list-info&&a&&data-original",
+ "desc": ".fed-deta-content&&.fed-part-rows&&li:eq(1)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(2)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(3)&&Text",
+ "content": ".fed-part-esan&&Text",
+ "tabs": ".fed-drop-boxs&&.fed-part-rows&&li",
+ "lists": ".fed-play-item:eq(#id)&&ul:eq(1)&&li"
+ },
+ 搜索: '.fed-deta-info;h1&&Text;.lazyload&&data-original;.fed-list-remarks&&Text;a&&href;.fed-deta-content&&Text',
+ }, 海螺3: {
+ title: '',
+ host: '',
+ searchUrl: '/v_search/**----------fypage---.html',
+ url: '/vod_____show/fyclass--------fypage---.html',
+ headers: {
+ 'User-Agent': 'MOBILE_UA'
+ },
+ timeout: 5000,
+ class_parse: 'body&&.hl-nav li:gt(0);a&&Text;a&&href;.*/(.*?).html',
+ cate_exclude: '明星|专题|最新|排行',
+ limit: 40,
+ play_parse: true,
+ lazy: '',
+ 推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href',
+ double: true,
+ 一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
+ 二级: {
+ "title": ".hl-infos-title&&Text;.hl-text-conch&&Text",
+ "img": ".hl-lazy&&data-original",
+ "desc": ".hl-infos-content&&.hl-text-conch&&Text",
+ "content": ".hl-content-text&&Text",
+ "tabs": ".hl-tabs&&a",
+ "lists": ".hl-plays-list:eq(#id)&&li"
+ },
+ 搜索: '.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
+ searchable: 2,//是否启用全局搜索,
+ quickSearch: 0,//是否启用快速搜索,
+ filterable: 0,//是否启用分类筛选,
+ }, 海螺2: {
+ title: '',
+ host: '',
+ searchUrl: '/index.php/vod/search/page/fypage/wd/**/',
+ url: '/index.php/vod/show/id/fyclass/page/fypage/',
+ headers: {
+ 'User-Agent': 'MOBILE_UA'
+ },
+ timeout: 5000,
+ class_parse: '#nav-bar li;a&&Text;a&&href;id/(.*?)/',
+ limit: 40,
+ play_parse: true,
+ lazy: '',
+ 推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href',
+ double: true,
+ 一级: '.list-a&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href',
+ 二级: {
+ "title": "h2&&Text;.deployment&&Text",
+ "img": ".lazy&&data-original",
+ "desc": ".deployment&&Text",
+ "content": ".ec-show&&Text",
+ "tabs": "#tag&&a",
+ "lists": ".play_list_box:eq(#id)&&li"
+ },
+ 搜索: '.search-list;a&&title;.lazy&&data-original;.deployment&&Text;a&&href',
+ searchable: 2,//是否启用全局搜索,
+ quickSearch: 0,//是否启用快速搜索,
+ filterable: 0,//是否启用分类筛选,
+ }, 短视: {
+ title: '',
+ host: '', // homeUrl:'/',
+ url: '/channel/fyclass-fypage.html',
+ searchUrl: '/search.html?wd=**',
+ searchable: 2,//是否启用全局搜索,
+ quickSearch: 0,//是否启用快速搜索,
+ filterable: 0,//是否启用分类筛选,
+ headers: {//网站的请求头,完整支持所有的,常带ua和cookies
+ 'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
+ },
+ class_parse: '.menu_bottom ul li;a&&Text;a&&href;.*/(.*?).html',
+ cate_exclude: '解析|动态',
+ play_parse: true,
+ lazy: '',
+ limit: 6,
+ 推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
+ double: true, // 推荐内容是否双层定位
+ 一级: '.pic-list&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
+ 二级: {
+ "title": "h1&&Text;.content-rt&&p:eq(0)&&Text",
+ "img": ".img&&img&&data-src",
+ "desc": ".content-rt&&p:eq(1)&&Text;.content-rt&&p:eq(2)&&Text;.content-rt&&p:eq(3)&&Text;.content-rt&&p:eq(4)&&Text;.content-rt&&p:eq(5)&&Text",
+ "content": ".zkjj_a&&Text",
+ "tabs": ".py-tabs&&option",
+ "lists": ".player:eq(#id) li"
+ },
+ 搜索: '.sr_lists&&ul&&li;h3&&Text;img&&data-src;.int&&p:eq(0)&&Text;a&&href',
+ }, 短视2: {
+ title: '',
+ host: '',
+ class_name: '电影&电视剧&综艺&动漫',
+ class_url: '1&2&3&4',
+ searchUrl: '/index.php/ajax/suggest?mid=1&wd=**&limit=50',
+ searchable: 2,
+ quickSearch: 0,
+ headers: {'User-Agent': 'MOBILE_UA'},
+ url: '/index.php/api/vod#type=fyclass&page=fypage',
+ filterable: 0,//是否启用分类筛选,
+ filter_url: '',
+ filter: {},
+ filter_def: {},
+ detailUrl: '/index.php/vod/detail/id/fyid.html',
+ play_parse: true,
+ lazy: '',
+ limit: 6,
+ 推荐: '.list-vod.flex .public-list-box;a&&title;.lazy&&data-original;.public-list-prb&&Text;a&&href',
+ 一级: 'js:let body=input.split("#")[1];let t=Math.round(new Date/1e3).toString();let key=md5("DS"+t+"DCC147D11943AF75");let url=input.split("#")[0];body=body+"&time="+t+"&key="+key;print(body);fetch_params.body=body;let html=post(url,fetch_params);let data=JSON.parse(html);VODS=data.list.map(function(it){it.vod_pic=urljoin2(input.split("/i")[0],it.vod_pic);return it});',
+ 二级: {
+ "title": ".slide-info-title&&Text;.slide-info:eq(3)--strong&&Text",
+ "img": ".detail-pic&&data-original",
+ "desc": ".fraction&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(2)--strong&&Text;.slide-info:eq(1)--strong&&Text",
+ "content": "#height_limit&&Text",
+ "tabs": ".anthology.wow.fadeInUp.animated&&.swiper-wrapper&&a",
+ "tab_text": ".swiper-slide&&Text",
+ "lists": ".anthology-list-box:eq(#id) li"
+ },
+ 搜索: 'json:list;name;pic;;id',
+ }, 采集1: {
+ title: '',
+ host: '',
+ homeTid: '13',
+ homeUrl: '/api.php/provide/vod/?ac=detail&t={{rule.homeTid}}',
+ detailUrl: '/api.php/provide/vod/?ac=detail&ids=fyid',
+ searchUrl: '/api.php/provide/vod/?wd=**&pg=fypage',
+ url: '/api.php/provide/vod/?ac=detail&pg=fypage&t=fyclass',
+ headers: {'User-Agent': 'MOBILE_UA'},
+ timeout: 5000, // class_name: '电影&电视剧&综艺&动漫',
+ // class_url: '1&2&3&4',
+ // class_parse:'js:let html=request(input);input=JSON.parse(html).class;',
+ class_parse: 'json:class;',
+ limit: 20,
+ multi: 1,
+ searchable: 2,//是否启用全局搜索,
+ quickSearch: 1,//是否启用快速搜索,
+ filterable: 0,//是否启用分类筛选,
+ play_parse: true,
+ parse_url: '',
+ lazy: `js:
+ if(/\\.(m3u8|mp4)/.test(input)){
+ input = {parse:0,url:input}
+ }else{
+ if(rule.parse_url.startsWith('json:')){
+ let purl = rule.parse_url.replace('json:','')+input;
+ let html = request(purl);
+ input = {parse:0,url:JSON.parse(html).url}
+ }else{
+ input= rule.parse_url+input;
+ }
+ }
+ `,
+ 推荐: '*',
+ 一级: 'json:list;vod_name;vod_pic;vod_remarks;vod_id;vod_play_from',
+ 二级: `js:
+ let html=request(input);
+ html=JSON.parse(html);
+ let data=html.list;
+ VOD=data[0];`,
+ 搜索: '*',
+ }
+ };
+ return JSON.parse(JSON.stringify(mubanDict));
+}
+
+var mubanDict = getMubans();
+var muban = getMubans();
+export default {muban, getMubans};
\ No newline at end of file
diff --git a/jar/fty.jar b/jar/fty.jar
new file mode 100644
index 0000000..6e83f85
Binary files /dev/null and b/jar/fty.jar differ
diff --git a/jar/spider.jar b/jar/spider.jar
new file mode 100644
index 0000000..0a356d5
Binary files /dev/null and b/jar/spider.jar differ
diff --git a/jar/wex.jar b/jar/wex.jar
new file mode 100644
index 0000000..8af28ba
Binary files /dev/null and b/jar/wex.jar differ
diff --git a/jar/xyqxbpq.jar b/jar/xyqxbpq.jar
new file mode 100644
index 0000000..723de7b
Binary files /dev/null and b/jar/xyqxbpq.jar differ
diff --git a/js/36直播[密].js b/js/36直播[密].js
new file mode 100644
index 0000000..9f6ed7e
--- /dev/null
+++ b/js/36直播[密].js
@@ -0,0 +1 @@
+dmFyIHJ1bGUgPSB7CiAgICB0aXRsZTogJzM255u05pKtW+Wvhl0nLAogICAgaG9zdDogJ2h0dHA6Ly9hcGkuaGNseXouY29tOjgxJywKICAgIGhvbWVVcmw6ICcvbWYvanNvbi50eHQnLAogICAgdXJsOiAnL21mL2Z5Y2xhc3MnLAogICAgY2xhc3NfbmFtZTogJ+WFqOmDqCcsCiAgICBjbGFzc191cmw6ICdqc29uLnR4dCcsCiAgICBoZWFkZXJzOiB7CiAgICAgICAgJ1VzZXItQWdlbnQnOiAnTU9CSUxFX1VBJywKICAgIH0sCiAgICB0aW1lb3V0OiA1MDAwLAogICAgbGltaXQ6IDIwMCwKICAgIHBsYXlfcGFyc2U6IHRydWUsCiAgICBsYXp5OiAnJywKICAgIOS4gOe6pzogJ2pzb246cGluZ3RhaTt0aXRsZTt4aW5pbWc7TnVtYmVyO2FkZHJlc3MnLAogICAg5LqM57qnOiAnanM6dmFyIGQ9W107dmFyIGpvPUpTT04ucGFyc2UocmVxdWVzdChpbnB1dCkpLnpodWJvO1ZPRD17fTtmb3IodmFyIGk9MDtpPGpvLmxlbmd0aDtpKyspe2QucHVzaCh7dGl0bGU6am9baV0udGl0bGUsdXJsOmpvW2ldLmFkZHJlc3N9KX1WT0Qudm9kX3BsYXlfZnJvbT0i5pKt5pS+5rqQIjtWT0Qudm9kX3BsYXlfdXJsPWQubWFwKGZ1bmN0aW9uKGl0KXtyZXR1cm4gaXQudGl0bGUrIiQiK2l0LnVybH0pLmpvaW4oIiMiKTtzZXRSZXN1bHQoZCk7JywKICAgIOaQnOe0ojogJyonLAp9
\ No newline at end of file
diff --git a/js/4K-AV.js b/js/4K-AV.js
new file mode 100644
index 0000000..204e1ba
--- /dev/null
+++ b/js/4K-AV.js
@@ -0,0 +1 @@
+H4sIAM85J2cC/8VW72/bRBj+7r/CcpGdlMR20iK2lDJNwAdAYx+27ktVZTfn3LixY/d8jhZCpE3Txlp+rMCoQKsYQpraVZPGJCa2lIp/JonX/4L37hzHSduBEBL90N497/M+z3vv/XBbiMgkcrG8KHckFNG6TyqyNvj13uDe0/7LLaM8b75tloz4yZN+78t4465WkKhDXQyk+Y/PX4Fp/Oxg8NMXLOnw2avdO4DU/ZDCvE5pEFYMY75RRC3d8r0k9FEIQTbGqIYJTDraUohJ8fwqblINYh9evFRdOq91QfuP7fjnmwBF1C6e4d4e9iNQf8s0zYIEeh5eIi4wDIhGYmS3LReFod22HZdiYgRoFRftNvuj16nnLk8zViBXjKpCotOxXZ1Tul2I1TBFjit8YBpiRKx6YhueW1+cnU1RdI31plSQpfXIsRqXOCgA4TAmSNyg2kQe62Z8/zk0UB1s7B49YE0UQVGO57ccrNLWuMwatqFv0CEpcFG7GiASggglES5ILvq0XZGvroUVybHlnOHNRWc+84J5Q6c4pDmnGUQ0n4ft5iO28fLa9YpsFuREBkbcV8S7UlfGboghwcVUbkAIcghej8ZquoeoVc8Z74R+RCwsh8RaVHL67Lm8YuSXSysLf+vFZcFKugprch3PgT0+C533I94vG0EFBWn49d6rr7agI6zh/Rc34t4uTPRPLl9wKPYWkKryw7ngeKuqCkUs6BSthqp6GV+nLFon2GaZcJRZJu8RXxQ7FsdWtSBdufg+q7nLR3rLr1WdGgA8PMbYDgIa1Ox6jisVZG3mAnKa7/lNCme6youql8qqWnNaFbyeK+VFTZrw0Gk7wCfK8PqLxTBAzckM5hs41mttA7hsmKjqqBvZXII9RBrhMb+WU8O+OO+q6qJr2GX1mvnj7m042q9PR8eTEMHoH3qWTvCsOQRb1Ge+2nBnP374SMtonxqxRENOMw6tE3rLrpVNfI8Jspeu/+K7uPcniIoD4zohZd1bhrPNAQuEhAFKDSJ3hlDGhGU5TJ3dxxF1UTbZJZTh58TkE7cSMZU0Rbd98gGCi5drWHl58d1EjtczcZos0BtdDi2vEwzLs3AueXSGz38fbj7SCtpIXFwJuCvTAvz+ZPJFWfpasDqdzVYN2aKMN2XtDQ1+c82kft5APYhCUGfjJLmb/J3YB/HkJClrvtPMaTPMLX2Y0o782+ZMXrDTezC+SuMmhBbBuBnWffr/NYI9m8Otnfi3X5LHMflQwEdCUmhLqSxLHaWB20pF4R8WpaCwgmAKH5zhrdswbyE3AmC5ozQZfHvv6NYeg2GidAsJurnXP9xJUAPeJiNBUkKqlhIEkhLufHv04+MJgkBSwvYOpEwQBJISHhz2e7vTnBQc0YY3t4Y3trOcBEkJd3/o9zYmCAIZEeLdbwYvD7KEBMl0I75/MNUNhowIRw8fT9WZIKnF5tP4cH/CQiApobc/OPw+3vh8gpOC3RX4F+C/2NiyWZ4fWfBxJjCXCcxlA+VMoJwNlDKBUjZgZgJmJlA6Ow7AGJYlrcCh7v4FvSpH5p4KAAA=
\ No newline at end of file
diff --git a/js/91pron-1[密].js b/js/91pron-1[密].js
new file mode 100644
index 0000000..b0c3f82
--- /dev/null
+++ b/js/91pron-1[密].js
@@ -0,0 +1 @@
+H4sIAAAAAAAAAH1UUW/bNhB+76/Q+kDbgS3ZSZqtNoyg6PswYMte1sJgJEoiSokqSalxowABtgRZtiZuF6DZlrXDsDUZ2tXrEAxpsnZ/xpKVfzGKUpI6KEbYpO7u+767o86OINNYSJDW1ZavaHKNX50kT75pa5Xkzatsf71SN4ziKU4GL0avn8XpP8/HOydx8ud2NjxUFIEFQZJxvRUw6n+RDNdvV+oq4lIuZMAVIuBtw2jONVv69WD2w0A3qVdiDMOI9MAN5k0okENZv0sZBhFG90Q/QN1FyLEJAuig7rTCh4xIycscu28SyPl7eXY/P4Dp925+3FV7mVpRej70iuqTrafJxo8gefNd8vWDdG91/OUfIN17ke5tlMbpT09GJ7vZ4WvQaiYb66ePno5OfhsdbYLpSbMk7fydPd6Wxmr278Nk8+fxX2/B6fPd9GgNpMPtC9UCnb08yF4eg4IkI8mvP0xUWbSdX41LBRA0AD71A4gtQKjvqA0xIGzAbOBaCuBZwLNLEY4gM92F4u4szyhs425jamoCARfzV9ksXHdDbN75VPnPfTYmArEJWOFqa8sr79plxZUJn4XsC5yLoIUYb5eTl6/KAkesccNBvqhI8ic3ews3SoWSJLCHaCin6lqzWebPh6CHlkwSWugio2GUNxdAxnO/nufrecgPe1AjuO2IarPWJqI6V+tAAD5DSyI/XYbsjj5lVPWp+ZruCo+UggGB/TMxwUJU1y4thSLwfl8VcTn6/6vgYg/LzubOG0i3DrIHg7x2c5Eu9QjmohMSAAjOK1W/u/zBggI25Gg42Ieko0fUypG9fAYm2iobsWioXp9qQnlGR6vj432Vh5LGEm+0pqUMthBtqCSljI49p8EQD6jPcSS9nJkd3QoZFJj6Z6BzCW0y7ej42zxJ5Wzg0sHe+PAXmfR8An1s23KQWmf9p7vDZPAsGQzHOwfZ27Vk8/fk8Vq6JTmtevP9FO1dXLb/VbLxvYpg/nneTvtq/l9Urc5/kJ81vbY8PVdfuXVLr3oz4UexF8zGNoliGOHYuxPF97xI+hz5RXKjUSx4POMEMfPkJ1qMIbdjbxbK+IzEwtrV+pWV/wCjmhQYUgUAAA==
\ No newline at end of file
diff --git a/js/HDmoli.js b/js/HDmoli.js
new file mode 100644
index 0000000..70d9ea4
--- /dev/null
+++ b/js/HDmoli.js
@@ -0,0 +1 @@
+dmFyIHJ1bGUgPSB7CiAgICB0aXRsZTogJ0hEbW9saScsCiAgICBob3N0OiAnaHR0cHM6Ly93d3cuaGRtb2xpLnBybycsCiAgICB1cmw6ICcvc2VhcmNoLnBocD9wYWdlPWZ5cGFnZSZzZWFyY2h0eXBlPTUmdGlkPWZ5ZmlsdGVyJywKICAgIHNlYXJjaFVybDogJy9zZWFyY2gucGhwP3BhZ2U9ZnlwYWdlJnNlYXJjaHdvcmQ9Kiomc2VhcmNodHlwZT0nLAogICAgc2VhcmNoYWJsZTogMiwKICAgIHF1aWNrU2VhcmNoOiAwLAogICAgImZpbHRlcmFibGUiOiAxLAogICAgImZpbHRlciI6ICJINHNJQUFBQUFBQUFBKzJYM1c0U1FSVEgzMld2aVdWMytXekNrNWhlckdFVFVUNGlVbVBUTk5GaUtWQkRhYVBnQjlHckJ0cTB0dGlHQ0loOW1aM2Q4aGJ1TW1kbnprd204Y0o2WS9ieS8vK2RHV2JPbmpNbmJHdTZ0djV3VzN0cWIybnJtamVla3k4SFdrd3JXeVViNnhkV2NkTmVCWllGMnhmYVRveTZwRDF5RmdOd2s4ejJtbU8zdmdkMml0dkRJektkZzUxbXR2dTY2NzdxZ1ozaGR2T0RNMnVCbmVVLzJSdVExaEJzUGM0M241MlJ4WHV2dFI4aW5TOXBEZmx4ZElNdmFWOTZpelB3elRpK2xmY3VQS2ZweDI4RWhLYUw3UVhwNG5zTDZSSitVbjJsSjg5eW9KV0pDRERWeW12NEdMUXk2VDRHelZaL201RFpCVnBOTmIvem1OejJFYWFhSFczMzNPc2RvYU5ScmF5RDFlcVZadmhrbjMvNEFGUE5jT040K2ZFVVlhb1o3alRJNFhlRXFXWkhxN2ZkM1Uvb2FGU0hlUG4xMnBsMk9RYXRyTWtnYTFRclN5VEFWSWY0N3Jiclg1VmowTXBhRFU1T3RWQlBneXZ5ZG9icUtkUlNQVEZiYUwrOTBiSStrbDN2VjRkOFhvQnJWVzByQnc1UHlha1VBQTY3MXNGWUNnQ0g1YngvNGc3T2NRQTRMT0Q2U3RvQm5EREErWEVoQllERDd6Wng1ajBjQUk2UXZlbU5NMStnN0lWYXloNnovNXc5STI0a3dOdXlyV3B1cFJFMEpXaGlhRWpRd0ZDWG9JNWhYSUp4QlBXc0NQVXNoaGtKWmpCTVN6Q05ZVXFDS1F5VEVreGlLR1ZJeHhuU3BRenBQRU9sU3RYR2NLWHg5M1E3eDJSMnlMOG4wK0wzNUxid3V2WW55LzROdUpWcTNxN21hZ1YvRzFiVmwyOUlzeUh3ZkdYemtWVU9qckFSMDR6N21vcEJ1L0VSbFJUNmp2c3AzRTNJTjRVMlpMNlpVUGNPeW4zUVlpemU0RVhpelgvZXRjTEh3OHlxVzh6TVJITXVtblBSbkl2bVhEVG4vdTg1bDhCLy8vNnFMNFgyV0NzVkM4OXJhNFZ5M242Wk1CNDhycFdLNmlJWEFrMElqRVpQTkhyKzFlaUpIcy9vOGJ5ZngzUG5OMGRreThjOEV3QUEiLAogICJmaWx0ZXJfdXJsIjogInt7Zmwu57G75Z6LfX0me3tmbC7liafmg4V9fSZ7e2ZsLuWcsOWMun19Jnt7Zmwu5bm05Lu9fX0me3tmbC7mjpLluo99fSIsCiAgImZpbHRlcl9kZWYiOiB7CiAgICAiMSI6IHsKICAgICAgIuexu+WeiyI6ICIxIgogICAgfSwKICAgICIyIjogewogICAgICAi57G75Z6LIjogIjIiCiAgICB9LAogICAgIjQxIjogewogICAgICAi57G75Z6LIjogIjQxIgogICAgfQogIH0sCiAgICBoZWFkZXJzOiB7CiAgICAgICAgJ1VzZXItQWdlbnQnOiAnTU9CSUxFX1VBJywKICAgIH0sCiAgICBjbGFzc19wYXJzZTogJy5teXVpLWhlYWRlcl9fbWVudSBsaTthJiZUZXh0O2EmJmhyZWY7aW5kZXgoXFxkKylcLmh0bWwnLAogICAgcGxheV9wYXJzZTogdHJ1ZSwKICAgIGxhenk6ICcnLAogICAgbGltaXQ6IDYsCiAgICDmjqjojZA6ICd1bC5teXVpLXZvZGxpc3QuY2xlYXJmaXg7bGk7YSYmdGl0bGU7YSYmZGF0YS1vcmlnaW5hbDsucGljLXRleHQmJlRleHQ7YSYmaHJlZicsCiAgICBkb3VibGU6IHRydWUsCiAgICDkuIDnuqc6ICcubXl1aS12b2RsaXN0IGxpO2EmJnRpdGxlO2EmJmRhdGEtb3JpZ2luYWw7LnBpYy10ZXh0JiZUZXh0O2EmJmhyZWYnLAogICAg5LqM57qnOiB7CiAgICAgICAgdGl0bGU6ICcubXl1aS1jb250ZW50X19kZXRhaWwgLnRpdGxlJiZUZXh0Oy5teXVpLWNvbnRlbnRfX2RldGFpbCBwOmVxKC0yKSYmVGV4dCcsCiAgICAgICAgaW1nOiAnLm15dWktY29udGVudF9fdGh1bWIgLmxhenlsb2FkJiZkYXRhLW9yaWdpbmFsJywKICAgICAgICBkZXNjOiAnLm15dWktY29udGVudF9fZGV0YWlsIHA6ZXEoMCkmJlRleHQ7Lm15dWktY29udGVudF9fZGV0YWlsIHA6ZXEoMSkmJlRleHQ7Lm15dWktY29udGVudF9fZGV0YWlsIHA6ZXEoMikmJlRleHQnLAogICAgICAgIGNvbnRlbnQ6ICcuY29udGVudCYmVGV4dCcsCiAgICAgICAgdGFiczogJy5uYXYtdGFiczplcSgwKSBsaScsCiAgICAgICAgbGlzdHM6ICcubXl1aS1jb250ZW50X19saXN0OmVxKCNpZCkgbGknLAogICAgfSwKICAgIOaQnOe0ojogJyNzZWFyY2hMaXN0IGxpO2EmJnRpdGxlOy5sYXp5bG9hZCYmZGF0YS1vcmlnaW5hbDsucGljLXRleHQudGV4dC1yaWdodCYmVGV4dDthJiZocmVmOy5kZXRhaWwmJnA6ZXEoMykmJlRleHQnLAp9
\ No newline at end of file
diff --git a/js/KTV歌厅[听].js b/js/KTV歌厅[听].js
new file mode 100644
index 0000000..e962ef4
--- /dev/null
+++ b/js/KTV歌厅[听].js
@@ -0,0 +1 @@
+Z2xvYmFsVGhpcy5wb3N0MiA9IGZ1bmN0aW9uIChfdXJsLCBfZGF0YSkgewogICAgLy8gbGV0IGRhdGEgPSBidWlsZFVybChfdXJsLF9kYXRhKS5zcGxpdCgnPycpWzFdOwogICAgLy8gcmV0dXJuIHBvc3QoX3VybCx7Ym9keTplbmNvZGVVUklDb21wb25lbnQoZGF0YSksaGVhZGVyczpydWxlLmhlYWRlcnN9KTsKICAgIHJldHVybiBwb3N0KF91cmwsIHtkYXRhOiBfZGF0YSwgaGVhZGVyczogcnVsZS5oZWFkZXJzfSk7Cn0KdmFyIHJ1bGUgPSB7CiAgICDnsbvlnos6ICflkKzmrYwnLC8v5b2x6KeGfOWQrOS5pnzmvKvnlLt85bCP6K+0CiAgICB0aXRsZTogJ0tUVuatjOWOhVvlkKxdJywKICAgIC8vIGhvc3Q6ICdodHRwczovL3Zwc2RuLmxldXNlLnRvcCcsCiAgICBob3N0OiAnaHR0cHM6Ly9hcGkuY2xvdWRmbGFyZS5jb20nLAogICAgcm9vdDogJ2h0dHBzOi8vYXBpLmNsb3VkZmxhcmUuY29tL2NsaWVudC92NC9hY2NvdW50cy8xZWNjNGE5NDdjNWE1MTg0MjcxNDFmNGE2OGM4NmVhMS9kMS9kYXRhYmFzZS80ZjEzODVhYi1mOTUyLTQwNGEtODcwYS1lNGNmZWY0YmQ5ZmQvcXVlcnknLAogICAgbWt0dlVybDogJ2h0dHA6Ly90eHlzb25nLm15c290by5jYy9zb25ncy8nLAogICAgdXJsOiAnL3NlYXJjaG12P3RhYmxlPWZ5Y2xhc3MmcGc9ZnlwYWdlI2Z5ZmlsdGVyJywKICAgIHNlYXJjaFVybDogJy9zZWFyY2htdj9rZXl3b3Jkcz0qKiZwZz1meXBhZ2UnLAogICAgcGljOiAnaHR0cHM6Ly9hcGkucGF1Z3JhbS5jb20vd2FsbHBhcGVyLz9zb3VyY2U9c2luYSZjYXRlZ29yeT11cycsCiAgICBzZWFyY2hhYmxlOiAyLAogICAgcXVpY2tTZWFyY2g6IDAsCiAgICBmaWx0ZXJhYmxlOiAxLAogICAgZmlsdGVyOiAnSDRzSUFBQUFBQUFBQTUyU1RVL0NNQmpIdjB2UEhBVGZ1ZXJGa3dlUGhnT0hTUlpobUlFbWhKQmdCTElJQkVnSTAvQnFBZ0ZFd2dZUkRiandaV3pwdm9VcjJ0R2xYT1RXL3ArbjdhKy9OZzRpb2hRUVpPQzlqSU5ySVFhOFFCWUNZbGdDTGlENVE0STFoelVONW1iV1hKVEVxRFczUm5mKzRLMndXaUtSaG5UUGZPaVJtRlFUcnZocTRDWTdrR3E3YXo1bjdOanpGNlBQRVN4b2RyeEx1NnNHYkZkQXdrY0t2enhYWVRtMHBsbnFjNmdNdHFaWmxqODRGTmlaY0J6TGVRb1dGY0xoYzRGSVdBb3dnb0oreGc0ZURYRXZ1ZWJ4L0JNSXF3VnJDNTZwYXJBeHhUS2JmVGJlb3pMVkRodnYwMjdWZ0htVnJSelFVN002R3gvU1c0L2JiSHhFWWRMVDczbkZqby9wOXYwM1ZIY2M3TjZoUUJQTmtkdWZJYTlCN2N0Um9qZkcwMGNLeXp4K05IWWpPQisva2QzNjhkSDdQWDdKOGE2TENpenJuR3VVVENLMXk3bUdxUVVhNW5qWDlUNHNHWnhvcEpYWWJpb2FLdzFVSGZPaUt6VTR5M0NpOGVMVkhEeHRzS3kyVUw1NWVuWnhjcjVCdGFIamJtYjFneE0vOHNpOVRPWURBQUE9JywKICAgIGZpbHRlcl91cmw6ICd7e2ZsfX0nLAogICAgaGVhZGVyczogewogICAgICAgICdVc2VyLUFnZW50JzogJ01PQklMRV9VQScsCiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAnQXV0aG9yaXphdGlvbic6ICdCZWFyZXIgTHVlTnJ5Y1ctNmprczd4QmpQcVg5bWpGcTJBMk01S3VsNklnM0Q4eicsCiAgICB9LAogICAgdGltZW91dDogNTAwMCwKICAgIGNsYXNzX25hbWU6ICfmrYzmiYsm5puy5bqTJywKICAgIGNsYXNzX3VybDogJ3NpbmdlciZzb25nJywKICAgIOS4gOe6pzogJGpzLnRvU3RyaW5nKCgpID0+IHsKICAgICAgICBsZXQgZCA9IFtdOwogICAgICAgIC8vIGxldCBfdXJsID0gaW5wdXQuc3BsaXQoJyMnKVswXTsKICAgICAgICBsZXQgX3VybCA9IHJ1bGUucm9vdDsKICAgICAgICBsZXQgcGFyYW1zID0gW107CiAgICAgICAgbGV0IHNxbCA9ICcnOwogICAgICAgIGxldCBzaXplID0gMjA7CiAgICAgICAgbGV0IHBnID0gTVlfUEFHRTsKICAgICAgICBpZiAoTVlfQ0FURSA9PT0gJ3NpbmdlcicpIHsKICAgICAgICAgICAgc3FsID0gJ3NlbGVjdCBuYW1lLCBpZCBmcm9tIHNpbmdlciB3aGVyZSAxPTEnOwogICAgICAgICAgICBpZiAoTVlfRkwucmVnaW9uKSB7CiAgICAgICAgICAgICAgICBwYXJhbXMucHVzaChNWV9GTC5yZWdpb24pOwogICAgICAgICAgICAgICAgc3FsICs9ICcgYW5kIHJlZ2lvbl9pZCA9ID8nOwogICAgICAgICAgICAgICAgLy8gX3VybCArPSAnJndoZXJlPXJlZ2lvbl9pZCZrZXl3b3Jkcz0nICsgTVlfRkwucmVnaW9uICsgJyZzaXplPTIxJzsKICAgICAgICAgICAgfSBlbHNlIGlmIChNWV9GTC5mb3JtKSB7CiAgICAgICAgICAgICAgICBwYXJhbXMucHVzaChNWV9GTC5mb3JtKTsKICAgICAgICAgICAgICAgIHNxbCArPSAnIGFuZCBmb3JtX2lkID0gPyc7CiAgICAgICAgICAgICAgICAvLyBfdXJsICs9ICcmd2hlcmU9Zm9ybV9pZCZrZXl3b3Jkcz0nICsgTVlfRkwuZm9ybSArICcmc2l6ZT0yMSc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgc3FsICs9IGAgb3JkZXIgYnkgaWQgbGltaXQgJHsocGcgLSAxKSAqIHNpemV9LCR7c2l6ZX07YDsKICAgICAgICAgICAgbGV0IGh0bWwgPSBwb3N0MihfdXJsLCB7cGFyYW1zOiBwYXJhbXMsIHNxbDogc3FsfSk7CiAgICAgICAgICAgIGxldCBqc29uID0gSlNPTi5wYXJzZShodG1sKTsKICAgICAgICAgICAgZCA9IGpzb24ucmVzdWx0WzBdLnJlc3VsdHMubWFwKGl0ZW0gPT4gewogICAgICAgICAgICAgICAgbGV0IHBpYyA9IHJ1bGUubWt0dlVybCArIGl0ZW0uaWQgKyAnLmpwZyc7CiAgICAgICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgICAgICAgIHZvZF9pZDogaXRlbS5uYW1lICsgJ0BAJyArIGl0ZW0ubmFtZSArICdAQCcgKyBwaWMsCiAgICAgICAgICAgICAgICAgICAgdm9kX25hbWU6IGl0ZW0ubmFtZSwKICAgICAgICAgICAgICAgICAgICB2b2RfcGljOiBwaWMsCiAgICAgICAgICAgICAgICAgICAgdm9kX3JlbWFya3M6ICcnLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICB9IGVsc2UgaWYgKE1ZX0NBVEUgPT09ICdzb25nJykgewogICAgICAgICAgICBzcWwgPSAnc2VsZWN0IG51bWJlciwgbmFtZSBmcm9tIHNvbmcgd2hlcmUgMT0xJzsKICAgICAgICAgICAgaWYgKE1ZX0ZMLmxhbikgewogICAgICAgICAgICAgICAgcGFyYW1zLnB1c2goTVlfRkwubGFuKTsKICAgICAgICAgICAgICAgIHNxbCArPSAnIGFuZCBsYW5ndWFnZV9pZCA9ID8nOwogICAgICAgICAgICAgICAgLy8gX3VybCArPSAnJndoZXJlPWxhbmd1YWdlX2lkJmtleXdvcmRzPScgKyBNWV9GTC5sYW4gKyAnJnNpemU9MjEnOwogICAgICAgICAgICB9IGVsc2UgaWYgKE1ZX0ZMLnR5cGUpIHsKICAgICAgICAgICAgICAgIHBhcmFtcy5wdXNoKE1ZX0ZMLnR5cGUpOwogICAgICAgICAgICAgICAgc3FsICs9ICcgYW5kIHR5cGVfaWQgPSA/JzsKICAgICAgICAgICAgICAgIC8vIF91cmwgKz0gJyZ3aGVyZT10eXBlX2lkJmtleXdvcmRzPScgKyBNWV9GTC50eXBlICsgJyZzaXplPTIxJzsKICAgICAgICAgICAgfQogICAgICAgICAgICBzcWwgKz0gYCBvcmRlciBieSBudW1iZXIgbGltaXQgJHsocGcgLSAxKSAqIHNpemV9LCR7c2l6ZX07YDsKICAgICAgICAgICAgbGV0IGh0bWwgPSBwb3N0MihfdXJsLCB7cGFyYW1zOiBwYXJhbXMsIHNxbDogc3FsfSk7CiAgICAgICAgICAgIGxldCBqc29uID0gSlNPTi5wYXJzZShodG1sKTsKICAgICAgICAgICAgZCA9IGpzb24ucmVzdWx0WzBdLnJlc3VsdHMubWFwKGl0ZW0gPT4gewogICAgICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICAgICAgICB2b2RfaWQ6IHJ1bGUubWt0dlVybCArIGl0ZW0ubnVtYmVyICsgJy5ta3YnICsgJ0BAJyArIGl0ZW0ubmFtZSArICdAQCcgKyAnJywKICAgICAgICAgICAgICAgICAgICB2b2RfbmFtZTogaXRlbS5uYW1lLAogICAgICAgICAgICAgICAgICAgIHZvZF9waWM6IHJ1bGUucGljLAogICAgICAgICAgICAgICAgICAgIHZvZF9yZW1hcmtzOiAnJywKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICAgIFZPRFMgPSBkOwogICAgfSksCiAgICDkuoznuqc6ICRqcy50b1N0cmluZygoKSA9PiB7CiAgICAgICAgbGV0IF91cmwgPSBydWxlLnJvb3Q7CiAgICAgICAgbGV0IGlkID0gb3JJZC5zcGxpdCgnQEAnKVswXTsKICAgICAgICBsZXQgbmFtZSA9IG9ySWQuc3BsaXQoJ0BAJylbMV07CiAgICAgICAgaWYgKGlkLmVuZHNXaXRoKCcubWt2JykpIHsKICAgICAgICAgICAgVk9EID0gewogICAgICAgICAgICAgICAgdm9kX25hbWU6IG5hbWUsCiAgICAgICAgICAgICAgICB2b2RfcGxheV9mcm9tOiAn6YGT6ZW/5Zyo57q/JywKICAgICAgICAgICAgICAgIHZvZF9jb250ZW50OiAn6YGT6ZW/5Zyo57q/JywKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIFZPRCA9IHsKICAgICAgICAgICAgICAgIHZvZF9uYW1lOiBpZCwKICAgICAgICAgICAgICAgIHZvZF9wbGF5X2Zyb206ICfpgZPplb/lnKjnur8nLAogICAgICAgICAgICAgICAgdm9kX2NvbnRlbnQ6ICfpgZPplb/lnKjnur8nLAogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmIChpZC5lbmRzV2l0aCgnLm1rdicpKSB7CiAgICAgICAgICAgIFZPRC52b2RfcGxheV91cmwgPSAn5ZeF5o6i5pKt5pS+JCcgKyBpZDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsZXQgcGFyYW1zID0gW2lkXTsKICAgICAgICAgICAgbGV0IHNxbCA9ICdzZWxlY3QgbnVtYmVyLG5hbWUgZnJvbSBzb25nIHdoZXJlIHNpbmdlcl9uYW1lcyA9ID8gb3JkZXIgYnkgbnVtYmVyIGxpbWl0IDAsOTk5JzsKICAgICAgICAgICAgbGV0IGh0bWwgPSBwb3N0MihfdXJsLCB7cGFyYW1zOiBwYXJhbXMsIHNxbDogc3FsfSk7CiAgICAgICAgICAgIGxldCBqc29uID0gSlNPTi5wYXJzZShodG1sKTsKICAgICAgICAgICAgbGV0IGRhdGEgPSBqc29uLnJlc3VsdFswXS5yZXN1bHRzOwoKICAgICAgICAgICAgVk9ELnZvZF9wbGF5X3VybCA9IChkYXRhLm1hcChpdGVtID0+IHsKICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLm5hbWUgKyAnJCcgKyBydWxlLm1rdHZVcmwgKyBpdGVtLm51bWJlciArICcubWt2JzsKICAgICAgICAgICAgfSkpLmpvaW4oJyMnKTsKICAgICAgICB9CiAgICB9KSwKICAgIOaQnOe0ojogJGpzLnRvU3RyaW5nKCgpID0+IHsKICAgICAgICBsZXQgX3VybCA9IHJ1bGUucm9vdDsKICAgICAgICBsZXQgd2QgPSBLRVk7CiAgICAgICAgbGV0IHNxbCA9ICJzZWxlY3QgbnVtYmVyLG5hbWUgZnJvbSBzb25nIHdoZXJlIG5hbWUgbGlrZSAnJSIgKyB3ZCArICIlJyBvciBzaW5nZXJfbmFtZXMgbGlrZSAnJSIgKyB3ZCArICIlJyI7CiAgICAgICAgbGV0IGQgPSBbXTsKICAgICAgICBsZXQgaHRtbCA9IHBvc3QyKF91cmwsIHtzcWw6IHNxbH0pOwogICAgICAgIGxldCBqc29uID0gSlNPTi5wYXJzZShodG1sKTsKICAgICAgICBkID0ganNvbi5yZXN1bHRbMF0ucmVzdWx0cy5tYXAoaXRlbSA9PiB7CiAgICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICAgICB2b2RfaWQ6IHJ1bGUubWt0dlVybCArIGl0ZW0ubnVtYmVyICsgJy5ta3YnICsgJ0BAJyArIGl0ZW0ubmFtZSArICdAQCcgKyAnJywKICAgICAgICAgICAgICAgIHZvZF9uYW1lOiBpdGVtLm5hbWUsCiAgICAgICAgICAgICAgICB2b2RfcGljOiBydWxlLnBpYywKICAgICAgICAgICAgICAgIHZvZF9yZW1hcmtzOiBpdGVtLnNpbmdlcl9uYW1lcywKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgICAgIFZPRFMgPSBkOwogICAgfSksCiAgICBwbGF5X3BhcnNlOiB0cnVlLAogICAgbGF6eTogJGpzLnRvU3RyaW5nKCgpID0+IHsKICAgICAgICBpbnB1dCA9IHtwYXJzZTogMCwgdXJsOiBpbnB1dH07CiAgICB9KSwKfQ==
\ No newline at end of file
diff --git a/js/R18撸[密].js b/js/R18撸[密].js
new file mode 100644
index 0000000..779193a
--- /dev/null
+++ b/js/R18撸[密].js
@@ -0,0 +1 @@
+H4sIAA9hcGYC/3VUTW/TQBC951dYFXLsEK/JrXIUUIWQOICK0uaA2ipa22t7i7/YHZekKBInToAqDlyAAxygNy4cqh7gz7Qp/AvGH3HcJuxlrXlv3sy+GXnbPmQOECol92Mtymwak7/fPlx+/EUuzt9cnX/vKi9bCh6gtrSUNommGTdSGrPQsJOJQmyI292CEXIJBcUJGRUer8GZ3m8dUaGILGTKoNKbn36Zf/6N9LJapQEcQobBYW9z/v5s7/LH64MKCRIJCAQAqbRM03kmJgERvc0wM5KUxcTOjo8raiZCZJo8dtmEpEFqHiUuTFNmelMnxJca3jSlPiMBRGGVIrFjJxitSSwR02ieIvPeC3fQ6agysyMOAzVXHJTC/RR7rYSLguOUCslq9wJGXSbG44jFGbpm+aDd0a0QtF5P71NV3WUTyO9AMK9vavv77m292WyZj1aXTuanPZJMGFs+i6GNdZ7cH4+2KvasvObvTv+8PbGUW4eSQLIDgse+punK4G5DJmSg5IVwSoI9z5gE7eH2zi7Or8lwEd47uB7D4WM0dT2q5QLdxVvRwXwvEG83VbgkXiIeUCfQNA43ulhojgFKzQA5qFhZ0xSqqTjzglszc/PaXeXx0/Fo+GhdRsqdRgaPfFWVwvlfCvcUzXQZUB6aBHJj8pK6fqPt/LgkzWSgrQKNBcenddfiLpOOpWxsrEexS6vofD1cLH7e1wo606+FZq0lsHynZDBkMsNFdKvoTC8LXZy9wl+BtTrUel0X/i0/6hmU63fy6ernV1To5D+Ef5khGO12BAAA
\ No newline at end of file
diff --git a/js/guoguo.js b/js/guoguo.js
new file mode 100644
index 0000000..679474e
--- /dev/null
+++ b/js/guoguo.js
@@ -0,0 +1 @@
+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
\ No newline at end of file
diff --git a/js/ttt.js b/js/ttt.js
new file mode 100644
index 0000000..a0f0149
--- /dev/null
+++ b/js/ttt.js
@@ -0,0 +1 @@
+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
\ No newline at end of file
diff --git a/js/一支穿云箭.js b/js/一支穿云箭.js
new file mode 100644
index 0000000..9faa600
--- /dev/null
+++ b/js/一支穿云箭.js
@@ -0,0 +1 @@
+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
\ No newline at end of file
diff --git a/js/一曲肝肠断.js b/js/一曲肝肠断.js
new file mode 100644
index 0000000..8132f41
--- /dev/null
+++ b/js/一曲肝肠断.js
@@ -0,0 +1 @@
+h36A5I5KdeB29zb3iwNWV1bSX/ETnEhG+CsEFHtM4nyvv07cNlpQcf0bjfMvWrQyGe7jMxyYw1vJp5IpN+B5dz7CsHxBNE4UAV0oIIFCfjn5mtZAcZTDwX7C6OuB6Iu+mBbcpzbix8B+wrOwfeR8/vXM9ZGM5+K9tOeH7zE0QVk9MpGb2LUB7GlgJ9jOrEvSqQ2dMVIhffGL81L0QzOR8UYcvpmDZxercI8zGFmkVGIPiP/1rKiEoHgTGa0Sdxg0aE3kUuU5zRGTk1+ukSA8yELO21y6R2dxtRbo+pdSMqYeSUVFI1tEkWq1AzgWbdnmNJuWYdh6yBLfPxAqj6b50YRDXhQ0ZyGiBujNqGdlMRG1k+cRWDyiGqTyrlP0AQtWxvCP291jXtCJZ06Vhi460BusV30P/VfsJI7M11pRaMySgCPbH9xrC01OatuxC3ZgoPSO9vfhAAH2/sdFsbeZ+mTqVbUqVpJd6SqHlWMkugkY4k1mAbwFx24dfTmRhF73gJ8ROPTwqfv8uru5hPF76uS6zDXtsbvwNK32XkMsijPtlev5v410bXJi+DvxLGiy0chb8c2lmyO9notxLq3PjkfsC8Qab7VEPtHsyl1S9D14dYUThN5rHYPhxV3N+a6zVeqR/sthwmcWOfSTLbTw4BgjWpZkhIBkjePGq4jS+fn0mzH6ML5NGHCHf58xfjvb2uw2RZMIxSyvUqh4LXabAxVrCqmHGQ4/O+9huf/+NuUo8YeQrF9jiLqtkvHuMDs8Mfv0PkZ4HaqQCyyrwTega+vMnxX/83Gv4HfmeB9N5MzdmqhKpPSGCudMmsypOqxhzcLxjDAZZIOg+Mouz7FO9IAfMVxnMSdGit/T2y60M2yBD2cNRbL2ITOXJ96ySrGJyH7/oiRxqyCz7zov4ObzWnm6YDobWHTP9l/s7HoAXOOJak6YNR3M6W0Fm5BPJ9mIHxRvl4ggERAZK2k8m5dGFY4mG+QKER5nzi7eQqc0BFiChJe9cmFaBoRuUf/f4BzKELKqDJLR86Jt1FEdLCi+Rn8sHqEoTUXIDXn/zV91sWoCCHvsWNs5rMUwoN1xGY1cnclOjiAoYTAot4hq2Tn3XBtHVQ3L6pA5tP7GWz7XA6FWoErB597qbxUb6RHeM/1vze5vsLXNeK/uSHaHQlpdKB8D0pIb86UapJ6Mlukkc08nAU/zcscN3Jkf9hYAGn6/vOgO05lP2pClim4clfkrEOASgHvo1KzfYQk5HPKX8DNebHJApIp58NDayoF6MOKukvvDK3NO8eOybp68k9neEy+jvdDmNadbGIx6zsEJLjMV6WCLp89E6QX99nrgC8Db8ZU7AuTxwt/8IhSqwgwbkeEesSAkXLmfTKcmIQct8jhlBzr5cG0chC2S0tNmlJYzt63uu9O3dLx5MknpZdEy+t3t54NzOMIvWG9PuuobTcxrk9ReygLh+r7VmHahgobIuuIe6TsFK0Ui5wC5wJwWwSn3szGNL2AeSTLBDgaLwIZ7OcdUl1UmwCpCc2tsAMCk8bypa8LQaGz7I5BTg71Ihm79+d5JRHuIIHaglqWyl7e7Gj7ijvWXCrn03QRvcF0n9U0BWVbu4HDMiK6npOKv8fOPbRG07ELSQ1enXZBYoD2TnXbxF+kLeyugHqDzdB48qw0peEpFNH/c/y6bbdN5mLxx6Ow4wn8874QY7RJ4C1PkJTmwF2OjHRRGVW4oMr85mQ/DhRk/7lX8+VHCNHkk/CK4VRJP3WCbDnK5bGxNyqv0LvXTs2B0ZLHaNuW4BcM8tXUbb6arHEOsELTHB8X9aocuLhZ95D01082ZDca8kvXKXeLufdWdNz1LwhWi0htHl3XmPI7eZKgwY9PQO6cnt562tdEKwiyzW/2okWEe7eVk52bhbwtg6UgucxcV5K1JkBMNNkR9+dgXjWcOZ2YID4jhji+bbUZJlzjha2jl3xMyvikHnnSGphnVHzlD8uEPXCRjZ+cDiT17NnSjCDd45OjfbrXTWkl+q8bpvF0XqxwgUdDFFaQLp6dAWFGngVCVTAJA8LxBgtUD009xV8tpeIfh0rY3x24HDi4seIXn3qT2HqydsyvMpSHOp1MIXG+f6AwaN9BmzaEExqsyuu2yYjc0wUorswmg5LrfulIBJFVungIYDg9KLPW+pSJxN+y7udOCxu6DhoNfOFWtMbThOjYMrijM1E/UC1S+Fcfx4m51PPlb/JrxMj9M3nlqex6EIfXtxPCIsMdKkOfaRAIUHI3xCORcHPZBRaj/dxNlHXID5T6B1OrbD0SgaCaCjqMvckfXYmqrrWByov6W5FRNKwt6ovGDfOSXlWsGMCvcO5AKRGOtEWowUt1XvShjrj2ZaXDSmtApm1VnEEejGeUrKUzRZqyIGevDd12ADvfR5Qh0luuE/x9PHnwCOLBGEs2i/fTsfzPgmGdlKAwAyKnoiaRXUpMhv8NNtp2rXy/SSklPVhG+fxMvP5mHvUxWMU4e2Dkc2ZP/pfuZEiFo3TVgROeFTs92pgl/0NsPhxxw1CsAyZgMSSPDfBDgQ1PGHUNLIew/UzmlXnpLeanaXLX7XxB+dMaYk562NFOr7neD+EIL2qcTECuSwq1Zxh9EfdQgPtvXQ6m75q8WeMOJA5lZFPy/CvSmWbh3uCuUmS1HQ+gfzOZu6EUUWM2tVG1wYHOjmAXDOM/jpbR2f0NG6S58OvYvMdIRPS4w+pz9NqVZdlzOKHmoyLK7JsyFrIGPE5ZJr7/n6xNCr0HB5/ODyZYBAUBWyqEAmqRLVTUlqUq8ATTWoIDrmU0XcwmdRIxVSXjIzdWCNMgQ+uMo1ojl6HpZB7Sag4WPFbsyTwneWzUtO6cFzlzzu3abyX0ej7g3HPTR4shN4q+qfPz4vgjzMp95lnjo31UA8AK9FG4eKJ2k6qGJPjBYHrAgT2yfzKliCB0+BwOCCzwWXSoMOQgrPTnB0S++ZbejH+cRUoTfXIKiwwSNSjUosePwOPEai5ICn0z/5B2HLmK+lMFZLJADrl1LNnZOe+n0m8AVdUXlvpzO1ufpQqQFHLGbx+GjnjHVAp2BwlkWonIWQVdrMBIzqaVwrTo/U3hAezvEKkrpvvQDquprQofo3k9ikr7eXdsYxGcBYLUf/H5XZei/2RWFnHoYIAwsf0q+0as6qYqZH4cuYYat+bjS6bsdovf8Df0vdWGIFo0tUiJSut4QOgYx2aHjWlMdRgnmEI4Cg/6DS/8+l25NwG4Ae1Bh1Tu01sGR3f/XUE6yiwsc/CEGlJ2M9GJPrV1YmPefIY6kdkEOmbLdIyanJFwAk7gpX/g/H4sbT9Y8t3PIwmz4Z7HzLYClNsD6Q3WA7HmoJPKWuyLf/u5d0eyYCMEL0Bkh6ErEeDQ7EGnmmOrAD5GFQ2kgGWQKpFn4lovtqWVFtFUv28RpaHvaX/8N/9kPpEtUytqo36L63atQlhCFg6uS4x2x7MHA7hhlcaxOafAS7t8jN7G7ziGXB6F04WYiDL0fWhVDuUvkwRtKRtu4oTlv1/uckX5j7lqkhcEpq6AtYn7Fo2Z7BscrZoFvGHcfEBacFJWamnMTNT6b3RqvJk5k6j3O0CQLoZB9FYQQJeGkcEctrAY9d4drRCPTmGTBryPfG5WOGSnzLpSOk+ZOxL8K0UdESOCGIhZ34PocHBDXb5CBjnTD1/dA4juTzT5PlWwDtkFLVrmi7bYTjVgCGzi/r+YQ94+Yc3lDk4u27kIUgmQvsBJMusUwImt6Twcm1Il4emcg4fBXOwYrmeXRDF3Yk2Vfhas2LFqIWQksKF2lA0K6Zz05+t1aEgd7hHJ3tMJLp1JccVSCjjyLpJxG0UQZ384en5scMMyDdwSoja7epMzghWG9j8pHC0CncArENQE5UJlJpOdvmvjNYw17eqgV08kLqeJ13EMFWVVHtrOfY8Z7zUfDx8ViZn6t9mznM6E6yt5VQsFdkQxtxaQ0ofkXyVEcBG8xMSTdk9s5irjKBWG7Fjk0ask3Tbjwuc6RgAtno8OtXVOj02WuHTn81lda/IVHyr1pBZXVYWKrqarLeKrIQbQbJ4hnwzA5qwmi8nw3E5JZBw9t7mbuHWHVAcGf6XGboRqAHygpaErnVm4eJmRD14lkdvcDhpzXxxRuOopVVbQjxU7FCJheTJVWO6TxC+ApvjJ1m7DIAH+MJ/5R98DtF41NbLGOZ7kqJEGhKXReZrJiHKDi9yrclQi5dcbf5Ttoq4FMIKfrVKlH5Wmh+mzcXng/xP5poKDIsf6SRlbZ9z2cOhnmTl9WFgae9k7rcKTH6a+z+6c1wtU4G1b7JVqVbYJxD/Gn70CVgiMcUXoOAJpdNZeAMZkRLcTiMVe9DYjmBzVm5TPM2iy+6AU6DxPEaYdml+HtHRvigfgPwIzE1XDh33LxxXIChUAsuWqpgL0qAB1ya1BO3pHVQCCFlPYwYdHBsIsG6SrIU1/9zGfoNhWGe6KP0gfzhV2Spilh3Nv5fy14IEdNUQSTVyfe9XevBMzF8Xmrj2gIJU9oDGtZAlSXvwCCxPmh9UZc2UJuNevPkzdGN6ea0vTr0MA6NaMhiBeHJFrlsbuV/Wi9JuAn7CPlxPeX++gMetJw55cAmCOL5y3Qa0gVUGDK+E/iSWWIQbf+33rtaPF8YGGdq2aod1XICrEMqIDnVOutE3Sacy0Xc8afdn1pSEZybTNIMM6A4VLvER7eHm6q8YexR52PyusKMFsNApMheQFi8B6CqwWJYscj5baAuiAPCfInKM+4Vu7CkgBufdi3QG8CLDGXBlajOUMJjwYSPlZ6N5UmxbSQy11+49Gl5sG4KzzTlqqObgkNIZjdQ7EfQM22EkBZDI3q5l3QyEQs7w617UmSOe1jN0gcFzJFYsaSqAkL8JLq47E/kvh+1Y1zcv9lDOOMotq8CVaYoTmnaE9CBadhkSXmG2QjlU9sJhL5drVBnY/O8IAEDWWbHj/oKOaqRapiudjtuL5yk1U/Z6FA/f8eTyiEG3B4uRCWIuQwoX0o0Jsc5rZJ695Hym2DeXqlpJe1QAUXRHTa/0Yxa/rz5k1y3vII7Co+XuBv6sxgc6hyPMAqTSZ09Wc7/XAcGeFObiTiDBQCpRBjVWM2saYu1LXJgncu//SdPR+RQe51hs6wmFdomhGK47I8QTnP4C8r1GBZZ/I1noQ4CwYJq0g/bundtC+lOKRMmtkCpLt0qsA7b6DWp8Uw4ijS2d9DiLq4kNtxh9iQgOSoQJJ1owf+i2KZ1QhWZgW84y2wR+Sn/ncOZgRGU4U6iAQYqfNN1HAaX56pU0M/KM8wxsTXN3A310wv2ULWKXVYh8yi9ZBQpHQejameGSP5w30lv9RYdLipxMNej5xpaAT25pEl9zZWEWJmMIFxGG0s7vP0kIxxLVp5gJh8+8+wxrckvAajJNSzhhbKKX5+0od5MJZpYtgegURwzt8fjj0xh6URY3UwZIyZx/uwSKGDahH+8PJXZTHlsbmGaGw1I2Ywlub3fg2ZlZiim3sN1aMTZKf5mweXjAzyA2OP9EGxoyYxQPPotBTCgAbhAPoVeuRL+C7Yrr9U6su1T31Y5kzOE2S7QcUjUdv+R+iVV5b93JdE3/FT2chdLtpAbR99ozhA+xkLXmTD9tteL1ucaXXpFWuoh9kYPMtItkVBJaZzlc9YFxE1lmibFrtHz+9T1SQjgx3qg4Af9jqZS/FY7NCitwHFB4ezeIScq7ZC1KaYJDC68v3fpZhmHXf24pbuCJufPMlX8z6SqZcQ35Lf/rgs5IcKQ3MvgmfMp104nFaa/W0E5uwLpiNRRq/G1nQVdb0Xn/+qPc40FQq14VIPLm3cRaGcABfLgqGSNW96I07jp9iTJo5yjtzCzt+ar+riovQXXI7P8Tt+j9pQlPcPkSjE5ugAQfjt+aEVnzaRTLeYftTrWCHUzdjsuVhLr/OzuPTYggdXHQAMP2IDq8o0BGd/ogAP5UJiUw/eDTnOtGrIpjw4qVb5nlL5E/YpqwcZIwR3m273wHGJb0IZrDC+ojKH80AAIihZq0FWDdGanHdNQRD/ZEi+UL/c7KWHgSOMZx1bB+HHJVRpIKogPy4aJ3txZ8MPrXB5tqOszljBQOrbF/mkNNx0dmBnXvI5iOnmWaymLyDazPcszeJR67QXe6avQHiwcAVw+c90tiYTL9C/WHjOMlU+rA7sOaADmqfxRFSdws5TnhMdIxU80bW/ZxAJTp4VddrMtW81jqNphS/YCQPNgtrUb1+ifLNw6wMkHTPT+NKmuFnK9BhZQniUvcQFUzHCyqPIkayzUIQqNiZQPvLFAvoE3E1na4/5bBX6lQ36doZLb5XH98aIuXScXtYmqqnEHoAfBJrIj3kr8b4NzJ4G7deTTkJPiEDM9jJyntPRlAHA/r4jr5kZJ6cduBsoR5FWB1JJQARE2hKhLfyz5kiTqaZetrHtXWPEJEUWzqos94TfkaTkJCUPajJ3ALaz1E767WDPy7V9slsRxyDSlW/q9Kla72S/GogVf94mDB7+5tDZ2ikfxlLcXJqQ1WMPgyi4mCAH68hSQK/uYZfTbpFjr+Q5HTYjbjNnMrSwzggZrLKsibsmTGKV02SBeTncjqlBSKfh19z5l52Yrfp6AWt8vJtxGyZkChh20M2bw+Eoe6CKScsC977DBCuKIRocoArGDnKUL0dKdvm1y9hORNtKkq+SFpck0PZvLMasOZLuThpgZszd0Wi5KIW0KJ+wdaOkGcnHavcEJ3w8SUBoQYlCHPpOzWcbuhnDSqnHxo8lvnTXsFL1ZGfNd3QkoxKnjK4+9lyAmPMri79FEEIHxo51q0wB84uvHSksLsIHkxMjeOmdCj2BDT6dnwBK0VOZi1C+jA==
\ No newline at end of file
diff --git a/js/一点视频[密].js b/js/一点视频[密].js
new file mode 100644
index 0000000..2b013d7
--- /dev/null
+++ b/js/一点视频[密].js
@@ -0,0 +1 @@
+dmFyIHJ1bGUgPSB7CiAgICB0aXRsZTogJ+S4gOeCueinhumikScsCiAgICBob3N0OiAnaHR0cHM6Ly93d3cuMWF2Lm1lJywKICAgIHVybDogJy92b2R0eXBlL2Z5Y2xhc3MtZnlwYWdlLmh0bWwnLAogICAgc2VhcmNoVXJsOiAnL3ZvZHNlYXJjaC8qKi0vcGFnZS9meXBhZ2UuaHRtbCcsCiAgICBzZWFyY2hhYmxlOiAyLAogICAgcXVpY2tTZWFyY2g6IDAsCiAgICBmaWx0ZXJhYmxlOiAwLAogICAgY2xhc3NfbmFtZTogJ+WbveS6p+inhumikSblm73kuqfoh6rmi40m5Zu95Lqn5YG35ouNJuaOouiKseezu+WIlyblm73kuqfkuLvmkq0m5a2m55Sf5aup5aa5JuS6uuWmu+WwkeWmhybmuK/lj7DpnZPlpbMm5piO5pif5o2i6IS4Jue9kee6oum7keaWmSblm73kuqfnvqTkuqQm5Zu95Lqn5Lmx5LymJum6u+ixhuS8oOWqkibnu7/luL3mjaLlprsm5Zu95Lqn5Lq65aaWJuS6mua0suiJsuaDhSbml6Xpn6nml6DnoIEm5qyn576O5peg56CBJuS4reaWh+Wtl+W5lSbkuInnuqfnlLXlvbEm5oiQ5Lq65Yqo5ryrJuerpeminOW3qOS5sybnvo7ohb/kuJ3oopwm54af5aWz5Lq65aa7JuWwkeWls+iQneiOiSblvLrlpbjkubHkvKYm5Y+j5Lqk576k5LqkJywgLy/pnZnmgIHliIbnsbvlkI3np7Dmi7zmjqUKICAgIGNsYXNzX3VybDogJzEmMiYzJjQmNSY2JjcmOCY5JjEwJjEyJjEzJjExJjE0JjE1JjE2JjE3JjE4JjIwJjIxJjIyJjIzJjI0JjI1JjI2JjI3JjI4JywgLy/pnZnmgIHliIbnsbvmoIfor4bmi7zmjqUKICAgIHBsYXlfcGFyc2U6IHRydWUsCiAgICBsYXp5OiAnJywKICAgIGxpbWl0OiA2LAogICAg5o6o6I2QOiAnJywKICAgIGRvdWJsZTogdHJ1ZSwKICAgIOS4gOe6pzogJy52aWRlby13cmFwcGVyJiZhO2EmJnRpdGxlO2ltZyYmc3JjOy5udW1iZXImJlRleHQ7YSYmaHJlZicsCiAgICDkuoznuqc6ICcqJywKICAgIOaQnOe0ojogJy52aWRlby13cmFwcGVyJiZhO2EmJnRpdGxlO2ltZyYmc3JjOy5udW1iZXImJlRleHQ7YSYmaHJlZicsCn0=
\ No newline at end of file
diff --git a/js/中华听书网[听].js b/js/中华听书网[听].js
new file mode 100644
index 0000000..fdfa530
--- /dev/null
+++ b/js/中华听书网[听].js
@@ -0,0 +1 @@
+Ly8g5pCc57Si6aqM6K+BCnZhciBydWxlID0gewogICAg57G75Z6LOiAn5ZCs5LmmJywKICAgIHRpdGxlOiAn5Lit5Y2O5ZCs5Lmm572RJywKICAgIGhvc3Q6ICdodHRwczovL3d3dy50aW5nc2h1Y24uY29tJywKICAgIHVybDogJy9saXN0L2Z5Y2xhc3MtZnlwYWdlLmh0bWwnLAogICAgc2VhcmNoVXJsOiAnL3NlYXJjaC5waHA/cGFnZT1meXBhZ2Ujc2VhcmNod29yZD0qKiZzZWFyY2h0eXBlPTtwb3N0JywKICAgIHNlYXJjaGFibGU6IDIsCiAgICBxdWlja1NlYXJjaDogMCwKICAgIGhlYWRlcnM6IHsKICAgICAgICAnVXNlci1BZ2VudCc6ICdQQ19VQScKICAgIH0sCiAgICB0aW1lb3V0OiA1MDAwLAogICAgY2xhc3NfcGFyc2U6ICcjbmV3c19uYXYmJmxpOmhhcyhhKTthJiZUZXh0O2EmJmhyZWY7LiovKFxcZCspLmh0bWwnLAogICAgcGxheV9wYXJzZTogdHJ1ZSwKICAgIC8vICBsYXp5OidqczppbnB1dD1pbnB1dC5yZXBsYWNlKCJ3d3ciLCJtIiknLAogICAgbGF6eTogJGpzLnRvU3RyaW5nKCgpID0+IHsKICAgICAgICBsZXQgdXJsID0gaW5wdXQ7CiAgICAgICAgaWYgKC9tM3U4fG1wNHxtcDN8YWNjfG00YXx3bWF8YWFjLy50ZXN0KHVybCkpIHsKICAgICAgICAgICAgaW5wdXQgPSB7CiAgICAgICAgICAgICAgICBqeDogMCwKICAgICAgICAgICAgICAgIHVybDogdXJsLAogICAgICAgICAgICAgICAgcGFyc2U6IDAKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlucHV0ID0gaW5wdXR1cmwKICAgICAgICB9CiAgICB9KSwKICAgIGxpbWl0OiA2LAogICAg5Zu+54mH5p2l5rqQOiAnQFJlZmVyZXI9aHR0cHM6Ly93d3cudGluZ3NodWNuLmNvbScsCiAgICDmjqjojZA6ICcubGF5b3V0X3JpZ2h0OmVxKDEpJiZsaTsqOyo7ZW0mJlRleHQ7KicsCiAgICDkuIDnuqc6ICcubGlzdEJveCYmbGk7aW1nJiZhbHQ7aW1nJiZzcmM7cDplcSgwKSYmc3BhbiYmVGV4dDthJiZocmVmJywKICAgIOS6jOe6pzogewogICAgICAgIHRpdGxlOiAnaDMmJlRleHQ7LndlYnppX3RvcCYmbGk6ZXEoNCkmJlRleHQnLAogICAgICAgIGltZzogJy5waWMmJmltZyYmc3JjJywKICAgICAgICBkZXNjOiAnLndlYnppX3RvcCYmbGk6ZXEoMSkmJnNwYW4mJlRleHQ7Ozsud2ViemlfdG9wJiZsaTplcSgzKSYmVGV4dDsud2ViemlfdG9wJiZsaTplcSgyKSYmVGV4dCcsCiAgICAgICAgY29udGVudDogJyNpZERJVi0tYSYmVGV4dCcsCiAgICAgICAgdGFiczogJy5jb250ZW50X2pydG9wOmVxKDApJiZsaScsCiAgICAgICAgbGlzdHM6ICcudmlkZW91cmw6ZXEoI2lkKSYmbGknCiAgICB9LAogICAg5pCc57SiOiAnKicsCn0=
\ No newline at end of file
diff --git a/js/九妖仓库[密].js b/js/九妖仓库[密].js
new file mode 100644
index 0000000..446b364
--- /dev/null
+++ b/js/九妖仓库[密].js
@@ -0,0 +1 @@
+dmFyIHJ1bGUgPSB7CiAgdGl0bGU6ICc5MeS7k+W6kycsCiAgaG9zdDogJ2h0dHBzOi8va2QxZjIxanEtMmRlaS1icy45MWNhbmdrdTI5LmJ1enonLAogIHVybDogJy90eXBlL2Z5Y2xhc3MvZnlwYWdlJywKICBzZWFyY2hVcmw6ICcvc2VhcmNoLyoqL24vZnlwYWdlJywKICBzZWFyY2hhYmxlOiAyLAogIHF1aWNrU2VhcmNoOiAwLAogIGZpbHRlcmFibGU6IDAsCiAgY2xhc3NfbmFtZTogJ+WbveS6p+S8oOWqkibml6XmnKwm5Zu95LqnJumfqeWbvSbmrKfnvo4m5Yqo55S7Jjkx57K+6YCJJuW9k+WJjeeDremXqCbmnKzmnIjmnIDng60m5pys5pyI5pS26JePJuS4iuaciOeDremXqCblm73kuqfop4bpopEm5Lit5paH5a2X5bmVJuWbveS6pybml6XmnKzmnIkm5pel5pys5pegJuasp+e+juaXoCblvLrkubEm5Yi25pyN6K+x5oORJuebtOaSreS4u+aSrSbmv4Dmg4XliqjmvKsm5piO5pif5o2i6IS4JuaKlumYtOinhumikSblpbPmmI7mmJ8m572RLeabnS3pl6gm55CG5LiJ57qnJkFW6Kej6K+0JlPosIPmlZkm6JCd6I6J5bCR5aWzJuaegeWTgeWqmum7kSblpbPlkIzmgYsm546p5YG25aeQ5aeQJuS6uuezu+WIlycsLy/pnZnmgIHliIbnsbvlkI3np7Dmi7zmjqUKICAgY2xhc3NfdXJsOiAnMTU4JjE4MCYxODEmMTU5JjE4MiYxNjAmMzc2JjM4OCYzODkmMzkwJjM5MSYzMjgmMzI5JjMzMCYzMzEmMzMyJjMzMyYzMzQmMzM1JjMzNiYzMzcmMzM4JjMzOSYzNDAmMzQzJjM0NSYzNDYmMzQ3JjM0OCYzNDkmMzUwJjM1MSYzNTMnLC8v6Z2Z5oCB5YiG57G75qCH6K+G5ou85o6lCiAgcGxheV9wYXJzZTogdHJ1ZSwKICBsYXp5OiAnJywKICBsaW1pdDogNiwKICDmjqjojZA6ICcnLAogIGRvdWJsZTogdHJ1ZSwKICDkuIDnuqc6ICdib2R5JiYuc3R1aS12b2RsaXN0X19pdGVtO2EmJnRpdGxlO2ltZyYmc3JjOzthJiZocmVmJywKICDkuoznuqc6IHsKICAgIHRpdGxlOiAnJywKICAgIGltZzogJycsCiAgICBkZXNjOiAnJywKICAgIGNvbnRlbnQ6ICcnLAogICAgdGFiczogJycsCiAgICBsaXN0czogJ2JvZHkmJi5ncm91cC1ib3gnLAogIH0sCiAg5pCc57SiOiAnLnN0dWktdm9kbGlzdCYmbGk7YSYmdGl0bGU7aW1nJiZzcmM7O2EmJmhyZWYnLAp9
\ No newline at end of file
diff --git a/js/央视大全.js b/js/央视大全.js
new file mode 100644
index 0000000..ea36951
--- /dev/null
+++ b/js/央视大全.js
@@ -0,0 +1,211 @@
+var rule = {
+ title:'央视频',
+ host:'https://api.cntv.cn',
+ homeUrl: '/lanmu/columnSearch?&fl=&fc=&cid=&p=1&n=500&serviceId=tvcctv&t=json',
+ url:'/list/getVideoAlbumList?fyfilter&area=&letter=&n=24&serviceId=tvcctv&t=json',
+ searchUrl:'',
+ searchable:0,
+ quickSearch:0,
+ class_name: '栏目大全&特别节目&纪录片&电视剧&动画片',
+ class_url: '栏目大全&特别节目&纪录片&电视剧&动画片',
+ filterable: 1,
+ filter_url: 'channel={{fl.channel}}&sc={{fl.sc}}&year={{fl.year}}',
+ filter: {
+ "纪录片":[
+ {"key":"channel","name":"频道","value":[{"n":"全部","v":""},{"n":"CCTV-1综合","v":"CCTV-1综合,CCTV-1高清,CCTV-1综合高清"},{"n":"CCTV-2财经","v":"CCTV-2财经,CCTV-2高清,CCTV-2财经高清"},{"n":"CCTV-3综艺","v":"CCTV-3综艺,CCTV-3高清,CCTV-3综艺高清"},{"n":"CCTV-4中文国际","v":"CCTV-4中文国际,CCTV-4高清,CCTV-4中文国际(亚)高清"},{"n":"CCTV-5体育","v":"CCTV-5体育,CCTV-5高清,CCTV-5体育高清"},{"n":"CCTV-6电影","v":"CCTV-6电影,CCTV-6高清,CCTV-6电影高清"},{"n":"CCTV-7国防军事","v":"CCTV-7国防军事,CCTV-7高清,CCTV-7国防军事高清"},{"n":"CCTV-8电视剧","v":"CCTV-8电视剧,CCTV-8高清,CCTV-8电视剧高清"},{"n":"CCTV-9纪录","v":"CCTV-9纪录,CCTV-9高清,CCTV-9纪录高清"},{"n":"CCTV-10科教","v":"CCTV-10科教,CCTV-10高清,CCTV-10科教高清"},{"n":"CCTV-11戏曲","v":"CCTV-11戏曲,CCTV-11高清,CCTV-11戏曲高清"},{"n":"CCTV-12社会与法","v":"CCTV-12社会与法,CCTV-12高清,CCTV-12社会与法高清"},{"n":"CCTV-13新闻","v":"CCTV-13新闻,CCTV-13高清,CCTV-13新闻高清"},{"n":"CCTV-14少儿","v":"CCTV-14少儿,CCTV-14高清,CCTV-14少儿高清"},{"n":"CCTV-15音乐","v":"CCTV-15音乐,CCTV-15高清,CCTV-15音乐高清"},{"n":"CCTV-17农业农村","v":"CCTV-17农业农村,高清,高清"}]},
+ {"key":"sc","name":"类型","value":[{"n":"全部","v":""},{"n":"人文历史","v":"人文历史"},{"n":"人物","v":"人物"},{"n":"军事","v":"军事"},{"n":"探索","v":"探索"},{"n":"社会","v":"社会"},{"n":"时政","v":"时政"},{"n":"经济","v":"经济"},{"n":"科技","v":"科技"}]},
+ {"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2024","v":"2024"},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"}]},
+ ],
+ "特别节目":[
+ {"key":"channel","name":"频道","value":[{"n":"全部","v":""},{"n":"CCTV-1综合","v":"CCTV-1综合,CCTV-1高清,CCTV-1综合高清"},{"n":"CCTV-2财经","v":"CCTV-2财经,CCTV-2高清,CCTV-2财经高清"},{"n":"CCTV-3综艺","v":"CCTV-3综艺,CCTV-3高清,CCTV-3综艺高清"},{"n":"CCTV-4中文国际","v":"CCTV-4中文国际,CCTV-4高清,CCTV-4中文国际(亚)高清"},{"n":"CCTV-5体育","v":"CCTV-5体育,CCTV-5高清,CCTV-5体育高清"},{"n":"CCTV-6电影","v":"CCTV-6电影,CCTV-6高清,CCTV-6电影高清"},{"n":"CCTV-7国防军事","v":"CCTV-7国防军事,CCTV-7高清,CCTV-7国防军事高清"},{"n":"CCTV-8电视剧","v":"CCTV-8电视剧,CCTV-8高清,CCTV-8电视剧高清"},{"n":"CCTV-9纪录","v":"CCTV-9纪录,CCTV-9高清,CCTV-9纪录高清"},{"n":"CCTV-10科教","v":"CCTV-10科教,CCTV-10高清,CCTV-10科教高清"},{"n":"CCTV-11戏曲","v":"CCTV-11戏曲,CCTV-11高清,CCTV-11戏曲高清"},{"n":"CCTV-12社会与法","v":"CCTV-12社会与法,CCTV-12高清,CCTV-12社会与法高清"},{"n":"CCTV-13新闻","v":"CCTV-13新闻,CCTV-13高清,CCTV-13新闻高清"},{"n":"CCTV-14少儿","v":"CCTV-14少儿,CCTV-14高清,CCTV-14少儿高清"},{"n":"CCTV-15音乐","v":"CCTV-15音乐,CCTV-15高清,CCTV-15音乐高清"},{"n":"CCTV-17农业农村","v":"CCTV-17农业农村,高清,高清"}]},
+ {"key":"sc","name":"类型","value":[{"n":"全部","v":""},{"n":"新闻","v":"新闻"},{"n":"经济","v":"经济"},{"n":"综艺","v":"综艺"},{"n":"体育","v":"体育"},{"n":"军事","v":"军事"},{"n":"影视","v":"影视"},{"n":"科教","v":"科教"},{"n":"戏曲","v":"戏曲"},{"n":"青少","v":"青少"},{"n":"音乐","v":"音乐"},{"n":"社会","v":"社会"},{"n":"公益","v":"公益"},{"n":"其他","v":"其他"}]},
+ ],
+ "电视剧":[
+ {"key":"sc","name":"类型","value":[{"n":"全部","v":""},{"n":"谍战","v":"谍战"},{"n":"悬疑","v":"悬疑"},{"n":"刑侦","v":"刑侦"},{"n":"历史","v":"历史"},{"n":"古装","v":"古装"},{"n":"武侠","v":"武侠"},{"n":"军旅","v":"军旅"},{"n":"战争","v":"战争"},{"n":"喜剧","v":"喜剧"},{"n":"青春","v":"青春"},{"n":"言情","v":"言情"},{"n":"偶像","v":"偶像"},{"n":"家庭","v":"家庭"},{"n":"年代","v":"年代"},{"n":"革命","v":"革命"},{"n":"农村","v":"农村"},{"n":"都市","v":"都市"},{"n":"其他","v":"其他"}]},
+ {"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2024","v":"2024"},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"},{"n":"1999","v":"1999"},{"n":"1998","v":"1998"},{"n":"1997","v":"1997"}]},
+ ],
+ },
+ headers:{
+ 'User-Agent':'PC_UA'
+ },
+ timeout:10000,
+ play_parse:true,
+
+ lazy: $js.toString(() => {
+ let id = input.split("|")[0];
+ let k4 = input.split("|")[1];
+ let fc = input.split("|")[2];
+if (k4 === '7' && fc!== '体育'){
+ input = 'https://hls.cntv.myhwcdn.cn/asp/hls/850/0303000a/3/default/' + id + '/850.m3u8';
+ } else {
+ input = 'https://hls.cntv.myhwcdn.cn/asp/hls/850/0303000a/3/default/' + id + '/850.m3u8';
+
+ }
+//https://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid='+input
+}),
+ //海阔
+ /*
+ lazy: $js.toString(() => {
+ input=JSON.parse(request('https://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid='+input)).hls_url;
+ id = input.split('/')[9];
+ input = 'https://hls.cntv.myalicdn.com//asp/hls/2000/0303000a/3/default/' + id + '/2000.m3u8';
+ }),
+ */
+//影视
+//lazy: $js.toString(() => {
+//input=JSON.parse(request('https://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid='+input)).hls_url.replaceAll('main','2000')
+//.replaceAll('cntv.lxdns','cntv.myalicdn').replaceAll('n.cn','n.com').replaceAll('myhwcdn','myalicdn').replaceAll('kcdnvip','myalicdn').replaceAll('newcntv.qcloudcdn','cntv.myalicdn')
+//;
+//}),
+
+ limit:6,
+ double:false,
+
+ 推荐: $js.toString(() => {
+ var d = [];
+ var list = JSON.parse(request(input)).response.docs;
+
+ list.forEach(it => {
+ // 一级标题
+ let title1 = it.column_name;
+ // 一级描述
+ let desc1 = it.channel_name;
+ // 一级图片URL
+ let picUrl1 = it.column_logo;
+ // 一级URL(id 地区 类型 标题 演员 年份 频道 简介 图片 更新至)
+ let url1 = it.lastVIDE.videoSharedCode + '|' + '' + '|' + it.column_firstclass + '|' + it.column_name + '|' + '' + '|' + it.column_playdate + '|' + it.channel_name + '|' + it.column_brief + '|' + it.column_logo + '|' + '' + '|' + it.lastVIDE.videoTitle;
+
+ d.push({
+ desc : desc1,
+ title : title1,
+ pic_url : picUrl1,
+ url : url1
+ })
+ })
+ setResult(d);
+ }),
+
+
+ 一级: $js.toString(() => {
+ var d = [];
+ if(MY_CATE==='栏目大全') {
+ var list = JSON.parse(request(HOST+'/lanmu/columnSearch?&fl=&fc=&cid=&p='+MY_PAGE+'&n=500&serviceId=tvcctv&t=json')).response.docs;
+ list.forEach(it => {
+ // 一级标题
+ let title1 = it.column_name;
+ // 一级描述
+ let desc1 = it.channel_name;
+ // 一级图片URL
+ let picUrl1 = it.column_logo;
+ // 一级URL(id 地区 类型 标题 演员 年份 频道 简介 图片 更新至)
+ let url1 = it.lastVIDE.videoSharedCode + '|' + '' + '|' + it.column_firstclass + '|' + it.column_name + '|' + '' + '|' + it.column_playdate + '|' + it.channel_name + '|' + it.column_brief + '|' + it.column_logo + '|' + '' + '|' + it.lastVIDE.videoTitle;
+ d.push({
+ desc : desc1,
+ title : title1,
+ pic_url : picUrl1,
+ url : url1
+ })
+ })
+ }
+ else {
+ var channelMap = {
+ "特别节目": "CHAL1460955953877151",
+ "纪录片": "CHAL1460955924871139",
+ "电视剧": "CHAL1460955853485115",
+ "动画片": "CHAL1460955899450127",
+ };
+ var list = JSON.parse(request(input+'&channelid='+channelMap[MY_CATE]+'&fc='+MY_CATE+'&p='+MY_PAGE)).data.list;
+ list.forEach(it => {
+ // 一级标题
+ let title1 = it.title;
+ // 一级描述
+ let desc1 = it.sc + ((typeof it.year==='undefined' || it.year==='')?'':('•'+it.year)) + ((typeof it.count==='undefined' || it.count==='')?'':('•共' + it.count + '集'));
+ // 一级图片URL
+ let picUrl1 = it.image;
+ // 一级URL(id 地区 类型 标题 演员 年份 频道 简介 图片 集数)
+ let url1 = it.id + '|' + it.area + '|' + it.sc + '|' + it.title + '|' + it.actors + '|' + it.year + '|' + it.channel + '|' + it.brief + '|' + it.image + '|' + it.count + '|' + '' + '|' + MY_CATE;
+ d.push({
+ desc : desc1,
+ title : title1,
+ pic_url : picUrl1,
+ url : url1
+ })
+ })
+ }
+ setResult(d);
+ }),
+
+ 二级: $js.toString(() => {
+ let info = input.split("|");
+
+ VOD = {
+ vod_id: info[0],
+ vod_name: info[3],
+ vod_pic: info[8],
+ type_name: info[2]==='undefined'?'':info[2],
+ vod_year: info[5]==='undefined'?'':info[5],
+ vod_area: info[1]==='undefined'?'':info[1],
+ vod_remarks: info[9]===''?('更新至'+info[10]):('共'+info[9]+'集'),
+ vod_director: info[6]==='undefined'?'':info[6],
+ vod_actor: info[4]==='undefined'?'':info[4],
+ vod_content: info[7]==='undefined'?'':info[7],
+ };
+ var modeMap = {
+ "特别节目": "0",
+ "纪录片": "0",
+ "电视剧": "0",
+ "动画片": "1",
+ };
+ var ctid = info[0].replace('https://api.cntv.cn/lanmu/','');
+ var link = 'https://api.cntv.cn/NewVideo/getVideoListByAlbumIdNew?id='+ctid+'&serviceId=tvcctv&p=1&n=100&mode='+modeMap[info[11]]+'&pub=1';
+ var html = JSON.parse(request(link));
+ var playUrls;
+ if(html.errcode==='1001'){
+ var guid = info[0].replace('https://api.cntv.cn/lanmu/','');
+ var link1 = 'https://api.cntv.cn/video/videoinfoByGuid?guid='+guid+'&serviceId=tvcctv';
+ ctid = JSON.parse(request(link1)).ctid.replace('https://api.cntv.cn/lanmu/','');
+ var link2 = 'https://api.cntv.cn/NewVideo/getVideoListByColumn?id='+ctid+'&d=&p=1&n=100&sort=desc&mode=0&serviceId=tvcctv&t=json';
+ playUrls = JSON.parse(request(link2)).data.list;
+
+ } else {
+ playUrls = html.data.list;
+ // 获取更多数据,暂不需要
+ var flag = '';
+ if(playUrls===''){
+ flag = 'true';
+ }
+ var page = 1;
+ while(flag===''){
+ page = page+1;
+ var burl = 'https://api.cntv.cn/NewVideo/getVideoListByAlbumIdNew?id='+ctid+'&serviceId=tvcctv&p='+page+'&n=100&mode='+modeMap[info[11]]+'&pub=1';
+ var list = JSON.parse(request(burl)).data.list;
+ if (list.length!==0){
+ list.forEach(it => {
+ playUrls.push(it);
+ })
+ continue;
+ }else{
+ flag='true';
+ break;
+ }
+ }
+ }
+
+ let playFrom = [];
+ let playList = [];
+ playFrom.append('央视频');
+ playUrls.forEach(it => {
+ playList.append(playUrls.map(function(it) {
+ return it.title + "$" + it.guid
+ }).join("#"))
+ });
+
+ // 最后封装所有线路
+ let vod_play_from = playFrom.join('$$$');
+ let vod_play_url = playList.join('$$$');
+ VOD['vod_play_from'] = vod_play_from;
+ VOD['vod_play_url'] = vod_play_url;
+ }),
+
+ 搜索:'',
+}
\ No newline at end of file
diff --git a/js/央视少儿.js b/js/央视少儿.js
new file mode 100644
index 0000000..f5b9d72
--- /dev/null
+++ b/js/央视少儿.js
@@ -0,0 +1,97 @@
+var rule = {
+ title:'央视频',
+ host:'https://api.cntv.cn',
+ homeUrl: '/lanmu/columnSearch?&fl=&fc=&cid=&p=1&n=500&serviceId=tvcctv&t=json',
+ // url:'/list/getVideoAlbumList?fyfilter&area=&letter=&n=24&serviceId=tvcctv&t=json',
+ url: '/NewVideo/getVideoListByColumn?id=fyclass&n=10&sort=desc&p=fypage&mode=0&serviceId=tvcctv',
+ searchUrl:'',
+ searchable:0,
+ quickSearch:0,
+
+class_name: '周末动画片&快乐体验&小小智慧树&智力快车&音乐快递&英雄出少年&快乐大巴&动漫世界&新闻袋袋裤&大风车&七巧板&大手牵小手&智慧树&动感特区&动画大放映&看我 72 变&快乐童行&风车剧场',
+class_url:'TOPC1451559836238828&TOPC1451559479171411&TOPC1451559205464876&TOPC1451559756374759&TOPC1451559666055645&TOPC1451559695702690&TOPC1451559161446811&TOPC1451559448233349&TOPC1451559603261584&TOPC1451558929123462&TOPC1451559569040502&TOPC1451558967135492&TOPC1451447359806385&TOPC1451559378830189&TOPC1451559025546574&TOPC1451559131256781&TOPC1628144739712839&TOPC1573528152700717',
+
+ filterable: 1,
+ headers:{
+ 'User-Agent':'PC_UA'
+ },
+ timeout:10000,
+ play_parse:true,
+
+ limit:6,
+ double:false,
+/*
+ 推荐: $js.toString(() => {
+ var d = [];
+ var list = JSON.parse(request(input)).response.docs;
+
+ list.forEach(it => {
+ // 一级标题
+ let title1 = it.column_name;
+ // 一级描述
+ let desc1 = it.channel_name;
+ // 一级图片URL
+ let picUrl1 = it.column_logo;
+ // 一级URL(id 地区 类型 标题 演员 年份 频道 简介 图片 更新至)
+ let url1 = it.lastVIDE.videoSharedCode + '|' + '' + '|' + it.column_firstclass + '|' + it.column_name + '|' + '' + '|' + it.column_playdate + '|' + it.channel_name + '|' + it.column_brief + '|' + it.column_logo + '|' + '' + '|' + it.lastVIDE.videoTitle;
+
+ d.push({
+ desc : desc1,
+ title : title1,
+ pic_url : picUrl1,
+ url : url1
+ })
+ })
+ setResult(d);
+ }),
+*/
+
+ 一级: $js.toString(() => {
+
+ var d = [];
+
+ var list = JSON.parse(request(input)).data.list;
+ list.forEach(it => {
+ //一级id
+ let guid1 = it.guid;
+ // 一级标题
+ let title1 = it.title
+ // 一级描述
+ let desc1 = it.time;
+ // 一级图片URL
+ let picUrl1 = it.image;
+ // 一级URL(id 地区 类型 标题 演员 年份 频道 简介 图片 集数)
+ let url1 =it.guid + '|' + it.id + '|' + it.time + '|' + it.title + '|' + it.length + '|' + it.image + '|' + it.focus_date + '|' + it.brief + '|' + it.url + '|' + '' + '|' + MY_CATE;
+ d.push({
+ desc : desc1,
+ title : title1,
+ pic_url : picUrl1,
+ guid : guid1,
+ url : url1
+ })
+ })
+ setResult(d);
+ }),
+
+二级 : $js.toString(() => {
+let info = input.split("|");
+let guid = info[0].replaceAll('https://api.cntv.cn/lanmu/', '');
+ VOD = {
+ vod_id: info[1],
+ vod_name: info[3],
+ vod_pic: info[5],
+ type_name: info[2],
+ vod_year: info[2],
+ vod_area: info[1],
+ vod_remarks: 'ƪ(˘⌣˘)ʃ拾光',
+ vod_director: 'ƪ(˘⌣˘)ʃ拾光',
+ vod_actor: 'ƪ(˘⌣˘)ʃ拾光',
+ vod_content: info[7],
+ vod_play_from: '央视频',
+ //https://hls.cntv.myalicdn.com//asp/hls/2000/0303000a/3/default/https://api.cntv.cn/lanmu/1a01871d6d5f4d4bbe82b9c62650f100/2000.m3u8
+ vod_play_url: '立即播放$https://hls.cntv.myhwcdn.cn/asp/hls/850/0303000a/3/default/' + guid + '/850.m3u8'
+ };
+
+}),
+ 搜索:'',
+}
\ No newline at end of file
diff --git a/js/央视新闻.js b/js/央视新闻.js
new file mode 100644
index 0000000..e9db7e9
--- /dev/null
+++ b/js/央视新闻.js
@@ -0,0 +1,94 @@
+var rule = {
+ title:'央视频',
+ host:'https://api.cntv.cn',
+ homeUrl: '/lanmu/columnSearch?&fl=&fc=&cid=&p=1&n=500&serviceId=tvcctv&t=json',
+ // url:'/list/getVideoAlbumList?fyfilter&area=&letter=&n=24&serviceId=tvcctv&t=json',
+ url: '/NewVideo/getVideoListByColumn?id=fyclass&n=10&sort=desc&p=fypage&mode=0&serviceId=tvcctv',
+ searchUrl:'',
+ searchable:0,
+ quickSearch:0,
+ class_name: '焦点访谈&每周质量报告&午夜新闻&新闻调查&新闻周刊&面对面&法治在线&新闻30分&新闻1+1&军情时间到&国际时讯&新闻直播间&朝闻天下&世界周刊&高端访谈&环球视线&共同关注&24小时&东方时空',
+class_url:'TOPC1451558976694518&TOPC1451558650605123&TOPC1451558779639282&TOPC1451558819463311&TOPC1451559180488841&TOPC1451559038345600&TOPC1451558590627940&TOPC1451559097947700&TOPC1451559066181661&TOPC1462504102545692&TOPC1451558887804404&TOPC1451559129520755&TOPC1451558496100826&TOPC1451558687534149&TOPC1665739007799851&TOPC1451558926200436&TOPC1451558858788377&TOPC1451558428005729&TOPC1451558532019883',
+ filterable: 1,
+ headers:{
+ 'User-Agent':'PC_UA'
+ },
+ timeout:10000,
+ play_parse:true,
+
+ limit:6,
+ double:false,
+/*
+ 推荐: $js.toString(() => {
+ var d = [];
+ var list = JSON.parse(request(input)).response.docs;
+
+ list.forEach(it => {
+ // 一级标题
+ let title1 = it.column_name;
+ // 一级描述
+ let desc1 = it.channel_name;
+ // 一级图片URL
+ let picUrl1 = it.column_logo;
+ // 一级URL(id 地区 类型 标题 演员 年份 频道 简介 图片 更新至)
+ let url1 = it.lastVIDE.videoSharedCode + '|' + '' + '|' + it.column_firstclass + '|' + it.column_name + '|' + '' + '|' + it.column_playdate + '|' + it.channel_name + '|' + it.column_brief + '|' + it.column_logo + '|' + '' + '|' + it.lastVIDE.videoTitle;
+
+ d.push({
+ desc : desc1,
+ title : title1,
+ pic_url : picUrl1,
+ url : url1
+ })
+ })
+ setResult(d);
+ }),
+*/
+
+ 一级: $js.toString(() => {
+
+ var d = [];
+
+ var list = JSON.parse(request(input)).data.list;
+ list.forEach(it => {
+ //一级id
+ let guid1 = it.guid;
+ // 一级标题
+ let title1 = it.title
+ // 一级描述
+ let desc1 = it.time;
+ // 一级图片URL
+ let picUrl1 = it.image;
+ // 一级URL(id 地区 类型 标题 演员 年份 频道 简介 图片 集数)
+ let url1 =it.guid + '|' + it.id + '|' + it.time + '|' + it.title + '|' + it.length + '|' + it.image + '|' + it.focus_date + '|' + it.brief + '|' + it.url + '|' + '' + '|' + MY_CATE;
+ d.push({
+ desc : desc1,
+ title : title1,
+ pic_url : picUrl1,
+ guid : guid1,
+ url : url1
+ })
+ })
+ setResult(d);
+ }),
+
+二级 : $js.toString(() => {
+let info = input.split("|");
+let guid = info[0].replaceAll('https://api.cntv.cn/lanmu/', '');
+ VOD = {
+ vod_id: info[1],
+ vod_name: info[3],
+ vod_pic: info[5],
+ type_name: info[2],
+ vod_year: info[2],
+ vod_area: info[1],
+ vod_remarks: 'ƪ(˘⌣˘)ʃ拾光',
+ vod_director: 'ƪ(˘⌣˘)ʃ拾光',
+ vod_actor: 'ƪ(˘⌣˘)ʃ拾光',
+ vod_content: info[7],
+ vod_play_from: '央视频',
+ vod_play_url: '立即播放$https://hls.cntv.myhwcdn.cn/asp/hls/850/0303000a/3/default/' + guid + '/850.m3u8'
+ };
+
+}),
+ 搜索:'',
+}
\ No newline at end of file
diff --git a/js/央视经济.js b/js/央视经济.js
new file mode 100644
index 0000000..93f3336
--- /dev/null
+++ b/js/央视经济.js
@@ -0,0 +1,96 @@
+var rule = {
+ title:'央视频',
+ host:'https://api.cntv.cn',
+ homeUrl: '/lanmu/columnSearch?&fl=&fc=&cid=&p=1&n=500&serviceId=tvcctv&t=json',
+ // url:'/list/getVideoAlbumList?fyfilter&area=&letter=&n=24&serviceId=tvcctv&t=json',
+ url: '/NewVideo/getVideoListByColumn?id=fyclass&n=10&sort=desc&p=fypage&mode=0&serviceId=tvcctv',
+ searchUrl:'',
+ searchable:0,
+ quickSearch:0,
+
+ class_name: '对话&经济半小时&经济信息联播&第一时间&消费主张&欢乐大猜想&创业英雄汇&生财有道&职场健康课&一锤定音&回家吃饭&央视财经评论&中国经济大讲堂&正点财经&天下财经&生活家&魅力中国城',
+ class_url: 'TOPC1451530382483536&TOPC1451533652476962&TOPC1451533782742171&TOPC1451530259915198&TOPC1451534775834896&TOPC1672292475106944&TOPC1451529684665516&TOPC1451534118159896&TOPC1467078494968390&TOPC1451538759798817&TOPC1451532939300997&TOPC1451538686034772&TOPC1514182710380601&TOPC1453100395512779&TOPC1451531385787654&TOPC1593419181674791&TOPC1499160712571517',
+
+ filterable: 1,
+ headers:{
+ 'User-Agent':'PC_UA'
+ },
+ timeout:10000,
+ play_parse:true,
+
+ limit:6,
+ double:false,
+/*
+ 推荐: $js.toString(() => {
+ var d = [];
+ var list = JSON.parse(request(input)).response.docs;
+
+ list.forEach(it => {
+ // 一级标题
+ let title1 = it.column_name;
+ // 一级描述
+ let desc1 = it.channel_name;
+ // 一级图片URL
+ let picUrl1 = it.column_logo;
+ // 一级URL(id 地区 类型 标题 演员 年份 频道 简介 图片 更新至)
+ let url1 = it.lastVIDE.videoSharedCode + '|' + '' + '|' + it.column_firstclass + '|' + it.column_name + '|' + '' + '|' + it.column_playdate + '|' + it.channel_name + '|' + it.column_brief + '|' + it.column_logo + '|' + '' + '|' + it.lastVIDE.videoTitle;
+
+ d.push({
+ desc : desc1,
+ title : title1,
+ pic_url : picUrl1,
+ url : url1
+ })
+ })
+ setResult(d);
+ }),
+*/
+
+ 一级: $js.toString(() => {
+
+ var d = [];
+
+ var list = JSON.parse(request(input)).data.list;
+ list.forEach(it => {
+ //一级id
+ let guid1 = it.guid;
+ // 一级标题
+ let title1 = it.title
+ // 一级描述
+ let desc1 = it.time;
+ // 一级图片URL
+ let picUrl1 = it.image;
+ // 一级URL(id 地区 类型 标题 演员 年份 频道 简介 图片 集数)
+ let url1 =it.guid + '|' + it.id + '|' + it.time + '|' + it.title + '|' + it.length + '|' + it.image + '|' + it.focus_date + '|' + it.brief + '|' + it.url + '|' + '' + '|' + MY_CATE;
+ d.push({
+ desc : desc1,
+ title : title1,
+ pic_url : picUrl1,
+ guid : guid1,
+ url : url1
+ })
+ })
+ setResult(d);
+ }),
+
+二级 : $js.toString(() => {
+let info = input.split("|");
+let guid = info[0].replaceAll('https://api.cntv.cn/lanmu/', '');
+ VOD = {
+ vod_id: info[1],
+ vod_name: info[3],
+ vod_pic: info[5],
+ type_name: info[2],
+ vod_year: info[2],
+ vod_area: info[1],
+ vod_remarks: 'ƪ(˘⌣˘)ʃ拾光',
+ vod_director: 'ƪ(˘⌣˘)ʃ拾光',
+ vod_actor: 'ƪ(˘⌣˘)ʃ拾光',
+ vod_content: info[7],
+ vod_play_from: '央视频',
+ vod_play_url: '立即播放$https://hls.cntv.myhwcdn.cn/asp/hls/850/0303000a/3/default/' + guid + '/850.m3u8'
+ };
+
+}),
+ 搜索:'',
+}
\ No newline at end of file
diff --git a/js/央视综合.js b/js/央视综合.js
new file mode 100644
index 0000000..a31a8c6
--- /dev/null
+++ b/js/央视综合.js
@@ -0,0 +1,97 @@
+var rule = {
+ title:'央视频',
+ host:'https://api.cntv.cn',
+ homeUrl: '/lanmu/columnSearch?&fl=&fc=&cid=&p=1&n=500&serviceId=tvcctv&t=json',
+ // url:'/list/getVideoAlbumList?fyfilter&area=&letter=&n=24&serviceId=tvcctv&t=json',
+ url: '/NewVideo/getVideoListByColumn?id=fyclass&n=10&sort=desc&p=fypage&mode=0&serviceId=tvcctv',
+ searchUrl:'',
+ searchable:0,
+ quickSearch:0,
+
+class_name: '动画大放映&第一动画乐园&健康之路&走进科学&探索·发现&动物世界&人与自然&自然传奇&地理·中国&远方的家&跟着书本去旅行&百家讲坛&空中剧院&体坛快讯&新闻联播&焦点访谈&今日说法&等着我&新闻直播间&海峡两岸&天网&今日关注&高端访谈&开讲啦&故事里的中国&对话&面对面&是真的吗&星光大道&精彩音乐汇&音乐厅&民歌·中国&中国电影报道&星推荐&方圆剧阵&正大综艺&第一时间&开门大吉&开讲啦&共同关注&军事报道&新闻调查&新闻 30 分&新闻 1+1&今日亚洲&新闻直播间&24 小时&中国新闻&午夜新闻&朝闻天下&晚间新闻&新闻周刊&经济半小时&经济大讲堂&正点财经&生活圈&生活提示&东方时空&经济信息联播&今日环球&一线',
+class_url:'TOPC1451559025546574&TOPC1451378857272262&TOPC1451557646802924&TOPC1451558190239536&TOPC1451557893544236&TOPC1451378967257534&TOPC1451525103989666&TOPC1451558150787467&TOPC1451557421544786&TOPC1451541349400938&TOPC1575253587571324&TOPC1451557052519584&TOPC1451558856402351&TOPC1451550970356385&TOPC1451528971114112&TOPC1451558976694518&TOPC1451464665008914&TOPC1451378757637200&TOPC1451559129520755&TOPC1451540328102649&TOPC1451530382483536&TOPC1451540389082713&TOPC1665739007799851&TOPC1451464884159276&TOPC1451464884159276&TOPC1514182710380601&TOPC1451559038345600&TOPC1451534366388377&TOPC1451467630488780&TOPC1451541414450906&TOPC1451534421925242&TOPC1451541994820527&TOPC1451354597100320&TOPC1451469943519994&TOPC1571217727564820&TOPC1650782829200997&TOPC1451530259915198&TOPC1451465894294259&TOPC1451464884159276&TOPC1451558858788377&TOPC1451527941788652&TOPC1451558819463311&TOPC1451559097947700&TOPC1451559066181661&TOPC1451540448405749&TOPC1451559129520755&TOPC1451558428005729&TOPC1451539894330405&TOPC1451558779639282&TOPC1451558496100826&TOPC1451528792881669&TOPC1451559180488841&TOPC1601362002656197&TOPC1451533652476962&TOPC1453100395512779&TOPC1451546588784893&TOPC1451526037568184&TOPC1451558532019883&TOPC1451533782742171&TOPC1571034705435323&TOPC1451543462858283',
+
+
+ filterable: 1,
+ headers:{
+ 'User-Agent':'PC_UA'
+ },
+ timeout:10000,
+ play_parse:true,
+
+ limit:6,
+ double:false,
+/*
+ 推荐: $js.toString(() => {
+ var d = [];
+ var list = JSON.parse(request(input)).response.docs;
+
+ list.forEach(it => {
+ // 一级标题
+ let title1 = it.column_name;
+ // 一级描述
+ let desc1 = it.channel_name;
+ // 一级图片URL
+ let picUrl1 = it.column_logo;
+ // 一级URL(id 地区 类型 标题 演员 年份 频道 简介 图片 更新至)
+ let url1 = it.lastVIDE.videoSharedCode + '|' + '' + '|' + it.column_firstclass + '|' + it.column_name + '|' + '' + '|' + it.column_playdate + '|' + it.channel_name + '|' + it.column_brief + '|' + it.column_logo + '|' + '' + '|' + it.lastVIDE.videoTitle;
+
+ d.push({
+ desc : desc1,
+ title : title1,
+ pic_url : picUrl1,
+ url : url1
+ })
+ })
+ setResult(d);
+ }),
+*/
+
+ 一级: $js.toString(() => {
+
+ var d = [];
+
+ var list = JSON.parse(request(input)).data.list;
+ list.forEach(it => {
+ //一级id
+ let guid1 = it.guid;
+ // 一级标题
+ let title1 = it.title
+ // 一级描述
+ let desc1 = it.time;
+ // 一级图片URL
+ let picUrl1 = it.image;
+ // 一级URL(id 地区 类型 标题 演员 年份 频道 简介 图片 集数)
+ let url1 =it.guid + '|' + it.id + '|' + it.time + '|' + it.title + '|' + it.length + '|' + it.image + '|' + it.focus_date + '|' + it.brief + '|' + it.url + '|' + '' + '|' + MY_CATE;
+ d.push({
+ desc : desc1,
+ title : title1,
+ pic_url : picUrl1,
+ guid : guid1,
+ url : url1
+ })
+ })
+ setResult(d);
+ }),
+
+二级 : $js.toString(() => {
+let info = input.split("|");
+let guid = info[0].replaceAll('https://api.cntv.cn/lanmu/', '');
+ VOD = {
+ vod_id: info[1],
+ vod_name: info[3],
+ vod_pic: info[5],
+ type_name: info[2],
+ vod_year: info[2],
+ vod_area: info[1],
+ vod_remarks: 'ƪ(˘⌣˘)ʃ拾光',
+ vod_director: 'ƪ(˘⌣˘)ʃ拾光',
+ vod_actor: 'ƪ(˘⌣˘)ʃ拾光',
+ vod_content: info[7],
+ vod_play_from: '央视频',
+ vod_play_url: '立即播放$https://hls.cntv.myhwcdn.cn/asp/hls/850/0303000a/3/default/' + guid + '/850.m3u8'
+ };
+
+}),
+ 搜索:'',
+}
\ No newline at end of file
diff --git a/js/小虎斑弹幕.js b/js/小虎斑弹幕.js
new file mode 100644
index 0000000..efec26e
--- /dev/null
+++ b/js/小虎斑弹幕.js
@@ -0,0 +1,45 @@
+var rule = {
+ title: '弹幕[资]',
+ host: 'http://gy.xn--yet24tmq1a.xyz/',
+ homeTid: '',
+ homeUrl: '/api.php/provide/vod/?ac=detail&t={{rule.homeTid}}',
+ detailUrl: '/api.php/provide/vod/?ac=detail&ids=fyid',
+ searchUrl: '/api.php/provide/vod/?ac=detail&wd=**&pg=fypage',
+ url: '/api.php/provide/vod/?ac=detail&pg=fypage&t=fyclass',
+ headers: {
+ 'User-Agent': 'MOBILE_UA',
+ },
+ class_parse: 'json:class;',
+ timeout: 5000,
+ filterable: 1,
+ limit: 20,
+ multi: 1,
+ searchable: 2,
+ play_parse: true,
+ parse_url: '',
+ lazy: $js.toString(() => {
+ let json = request("http://103.36.220.166:91/dmku1/tvbox/zh.php?url=" + input);
+ let bata = JSON.parse(json);
+ input = {
+ parse: 0,
+ url: bata.url,
+ jx: 0,
+ danmaku: bata.danmaku
+ };
+ }),
+ 推荐: 'json:list;vod_name;vod_pic;vod_remarks;vod_id;vod_play_from',
+ 一级: $js.toString(() => {
+ let bata = JSON.parse(request(input)).list;
+ bata.forEach(it => {
+ d.push({
+ url: it.vod_id,
+ title: it.vod_name,
+ img: it.vod_pic,
+ desc: it.vod_remarks
+ })
+ });
+ setResult(d)
+ }),
+ 二级: 'js:\n let html=request(input);\n html=JSON.parse(html);\n let data=html.list;\n VOD=data[0];',
+ 搜索: 'json:list;vod_name;vod_pic;vod_remarks;vod_id;vod_play_from',
+}
\ No newline at end of file
diff --git a/js/巨人弹幕.js b/js/巨人弹幕.js
new file mode 100644
index 0000000..21469c4
--- /dev/null
+++ b/js/巨人弹幕.js
@@ -0,0 +1,210 @@
+globalThis.h_ost = 'http://118.107.41.134:35555/';
+var key = CryptoJS.enc.Base64.parse("ZGMzMjUwNmQ5YjVjYmY4ZQ==");
+var iv = CryptoJS.enc.Base64.parse("ZGMzMjUwNmQ5YjVjYmY4ZQ==");
+globalThis.AES_Decrypt = function(word) {
+ try {
+ var decrypt = CryptoJS.AES.decrypt(word, key, {
+ iv: iv,
+ mode: CryptoJS.mode.CBC,
+ padding: CryptoJS.pad.Pkcs7,
+ });
+ const decryptedText = decrypt.toString(CryptoJS.enc.Utf8);
+ if (!decryptedText) {
+ throw new Error("解密后的内容为空");
+ }
+ return decryptedText;
+ } catch (e) {
+ console.error("解密失败:", e);
+ return null;
+ }
+};
+globalThis.AES_Encrypt = function(word) {
+ var encrypted = CryptoJS.AES.encrypt(word, key, {
+ iv: iv,
+ mode: CryptoJS.mode.CBC,
+ padding: CryptoJS.pad.Pkcs7
+ });
+ return encrypted.toString();
+};
+
+globalThis.vod1 = function(t, pg) {
+ let html1 = request(h_ost + 'api.php/getappapi.index/typeFilterVodList', {
+ body: {
+ area: '全部',
+ year: '全部',
+ type_id: t,
+ page: pg,
+ sort: '最新',
+ lang: '全部',
+ class: '全部'
+ },
+ headers: {
+ 'User-Agent': 'okhttp/3.14.9',
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ },
+ 'method': 'POST'
+ }, true);
+ let html = JSON.parse(html1);
+ return (AES_Decrypt(html.data));
+}
+globalThis.vodids = function(ids) {
+ let html1 = fetch(h_ost + 'api.php/getappapi.index/vodDetail', {
+ method: 'POST',
+ headers: {
+ 'User-Agent': 'okhttp/3.14.9',
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ },
+ body: {
+ vod_id: ids,
+ }
+ });
+ let html = JSON.parse(html1);
+ const rdata = JSON.parse(AES_Decrypt(html.data));
+ const data = {
+ vod_id: ids,
+ vod_name: rdata.vod.vod_name,
+ vod_remarks: rdata.vod.vod_remarks,
+ vod_actor: rdata.vod.vod_actor,
+ vod_director: rdata.vod.vod_director,
+ vod_content: rdata.vod.vod_content,
+ vod_play_from: '',
+ vod_play_url: ''
+ };
+
+ rdata.vod_play_list.forEach((value) => {
+ data.vod_play_from += value.player_info.show + '$$$';
+ value.urls.forEach((v) => {
+ data.vod_play_url += v.name + '$' + value.player_info.parse + '~' + v.url + '~' + rdata.vod.vod_name + '~' + v.name + '#';
+ });
+ data.vod_play_url += '$$$';
+ });
+ return data;
+}
+//搜索
+globalThis.ssvod = function(wd) {
+ var html1 = fetch(h_ost + 'api.php/getappapi.index/searchList', {
+ method: 'POST',
+ headers: {
+ 'User-Agent': 'okhttp/3.14.9',
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ },
+ body: {
+ keywords: wd,
+ typepage_id: 1,
+ }
+ });
+ let html = JSON.parse(html1);
+ return AES_Decrypt(html.data);
+}
+//解析
+globalThis.jxx = function(id, url, name, juji) {
+ /* if("741852963"!=='741852963'){
+ return 'https://s0.mall.tcl.com/group1/M00/00/89/CvoGBGdcOPaAAUxvADwZniVV2bc476.mp4';
+ }*/
+ //console.log(id);
+ if (id.startsWith('http')) {
+ return {
+ parse: 1,
+ url: id + url,
+ jx: 0,
+ danmaku: 'http://103.36.220.166:91/dmku1/tvbox/zh.php?url=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
+ };
+ }
+ if (id == 0) {
+ return {
+ parse: 0,
+ url: url,
+ jx: 1,
+ danmaku: 'http://103.36.220.166:91/dmku1/tvbox/zh.php?url=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
+ };
+ }
+
+ let html1 = request(h_ost + 'api.php/getappapi.index/vodParse', {
+ method: 'POST',
+ headers: {
+ 'User-Agent': 'okhttp/3.14.9',
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ },
+ body: {
+ parse_api: id,
+ url: AES_Encrypt(url),
+ }
+ });
+ let html = AES_Decrypt(JSON.parse(html1).data);
+ console.log(html);
+ let decry = html.replace(/\n/g, '').replace(/\\/g, '');
+ let matches = decry.match(/"url":"([^"]+)"/);
+ if (!matches || matches[1] === null) {
+ matches = decry.match(/"url": "([^"]+)"/);
+ }
+ return {
+ parse: 0,
+ url: matches[1],
+ jx: 0,
+ danmaku: 'http://103.36.220.166:91/dmku1/tvbox/zh.php?url=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
+ };
+}
+
+var rule = {
+ title: '巨人',
+ host: '',
+ detailUrl: 'fyid',
+ searchUrl: '**',
+ url: 'fyclass',
+ searchable: 2,
+ quickSearch: 1,
+ filterable: 0,
+ class_name: '电影&电视剧&综艺&动漫',
+ class_url: '1&2&3&4',
+ play_parse: true,
+ lazy: $js.toString(() => {
+ const parts = input.split('~');
+ input = jxx(parts[0], parts[1], parts[2], parts[3]);
+ }),
+ 推荐: $js.toString(() => {
+ let data = vod1(0, 0);
+ let bata = JSON.parse(data).recommend_list;
+ bata.forEach(it => {
+ d.push({
+ url: it.vod_id,
+ title: it.vod_name,
+ img: it.vod_pic,
+ desc: it.vod_remarks
+ });
+ });
+ setResult(d);
+ }),
+ 一级: $js.toString(() => {
+ let data = vod1(input, MY_PAGE);
+ let bata = JSON.parse(data).recommend_list;
+ bata.forEach(it => {
+ d.push({
+ url: it.vod_id,
+ title: it.vod_name,
+ img: it.vod_pic,
+ desc: it.vod_remarks
+ });
+ });
+ setResult(d);
+ }),
+ 二级: $js.toString(() => {
+ console.log("调试信息2" + input);
+ let data = vodids(input);
+ //console.log(data);
+ VOD = data;
+ }),
+ 搜索: $js.toString(() => {
+ let data = ssvod(input);
+ let bata = JSON.parse(data).search_list;
+ bata.forEach(it => {
+ d.push({
+ url: it.vod_id,
+ title: it.vod_name,
+ img: it.vod_pic,
+ desc: it.vod_remarks
+ });
+ });
+ // console.log(data);
+ setResult(d);
+ }),
+}
\ No newline at end of file
diff --git a/js/广播迷FM[听].js b/js/广播迷FM[听].js
new file mode 100644
index 0000000..1e2ba75
--- /dev/null
+++ b/js/广播迷FM[听].js
@@ -0,0 +1 @@
+dmFyIHJ1bGUgPSB7Cgl0aXRsZTon5bm/5pKt6L+3Rk1b5ZCsXScsCglob3N0OidodHRwOi8vd3d3Lmd1YW5nYm9taS5jb20nLAogICAg57yW56CBOidnYjE4MDMwJywKICAgIOaQnOe0oue8lueggTonZ2IxODAzMCcsCgl1cmw6ICcvZnlmaWx0ZXIuaHRtbD9wYWdlPWZ5cGFnZScsCglmaWx0ZXJfdXJsOid7e2ZsLmNhdGVJZH19JywKCWZpbHRlcjp7CgkJImxpdmUiOlt7ImtleSI6ImNhdGVJZCIsIm5hbWUiOiLmjInnsbvlnosiLCJ2YWx1ZSI6W3sibiI6IuaWsOmXu+e7vOWQiCIsInYiOiJmbWxpc3QyMCJ9LHsibiI6IuS6pOmAmiIsInYiOiJmbWxpc3Q1OCJ9LHsibiI6Iumfs+S5kCIsInYiOiJmbWxpc3Q1NyJ9LHsibiI6Iue7j+a1jiIsInYiOiJmbWxpc3Q1NiJ9LHsibiI6IueUn+a0uyIsInYiOiJmbWxpc3Q1OSJ9LHsibiI6IuaWh+iJuiIsInYiOiJmbWxpc3Q2MCJ9LHsibiI6IumDveW4giIsInYiOiJmbWxpc3Q2MSJ9LHsibiI6IuaVheS6iyIsInYiOiJmbWxpc3Q2MiJ9LHsibiI6IuaXhea4uCIsInYiOiJmbWxpc3Q2MyJ9LHsibiI6IuS5oeadkSIsInYiOiJmbWxpc3Q2NCJ9LHsibiI6IuWoseS5kCIsInYiOiJmbWxpc3Q2NSJ9LHsibiI6IuaIj+absiIsInYiOiJmbWxpc3Q2NiJ9LHsibiI6IuS9k+iCsiIsInYiOiJmbWxpc3Q2NyJ9LHsibiI6IuivhOS5puebuOWjsCIsInYiOiJmbWxpc3Q2OSJ9LHsibiI6IumdkuWwkeenkeaVmSIsInYiOiJmbWxpc3Q3MCJ9LHsibiI6Iue9kee7nOWPsCIsInYiOiJmbWxpc3QxMTMifSx7Im4iOiLmsb3ovaYiLCJ2IjoiZm1saXN0MTM0In0seyJuIjoi5YW25LuWIiwidiI6ImZtbGlzdDEzNSJ9XX1dLAoJCSJ0diI6W3sia2V5IjoiY2F0ZUlkIiwibmFtZSI6IuaMieexu+WeiyIsInZhbHVlIjpbeyJuIjoi5Y2r6KeG5Y+wIiwidiI6InR2bGlzdDIwMCJ9LHsibiI6IuecgeWPsCIsInYiOiJ0dmxpc3QyMjAifSx7Im4iOiLluILlj7AiLCJ2IjoidHZsaXN0MjIxIn0seyJuIjoi5Yy65Y6/5Y+wIiwidiI6InR2bGlzdDIyMiJ9LHsibiI6IuaWsOmXu+e7vOWQiCIsInYiOiJ0dmxpc3QyMDEifSx7Im4iOiLotKLnu48iLCJ2IjoidHZsaXN0MjAyIn0seyJuIjoi57u86Im6IiwidiI6InR2bGlzdDIwMyJ9LHsibiI6IuS9k+iCsiIsInYiOiJ0dmxpc3QyMDQifSx7Im4iOiLlvbHop4YiLCJ2IjoidHZsaXN0MjA1In0seyJuIjoi5YWs5YWxIiwidiI6InR2bGlzdDIwNiJ9LHsibiI6IumDveW4giIsInYiOiJ0dmxpc3QyMDcifSx7Im4iOiLlsJHlhL8iLCJ2IjoidHZsaXN0MjA4In0seyJuIjoi56eR5pWZIiwidiI6InR2bGlzdDIwOSJ9LHsibiI6IuiusOW9lSIsInYiOiJ0dmxpc3QyMTEifSx7Im4iOiLliqjmvKsiLCJ2IjoidHZsaXN0MjEyIn0seyJuIjoi55Sf5rS7IiwidiI6InR2bGlzdDIxMyJ9LHsibiI6IuazleWItiIsInYiOiJ0dmxpc3QyMTQifSx7Im4iOiLlhpvkuosiLCJ2IjoidHZsaXN0MjE1In0seyJuIjoi5paH5peFIiwidiI6InR2bGlzdDIxNiJ9LHsibiI6IuWGnOenkSIsInYiOiJ0dmxpc3QyMTcifSx7Im4iOiLmlbDlrZfnlLXop4YiLCJ2IjoidHZsaXN0MjE4In1dfV0KCX0sCglmaWx0ZXJfZGVmOnsKCQlsaXZlOntjYXRlSWQ6J2ZtbGlzdDIwJ30sCgkJdHY6e2NhdGVJZDondHZsaXN0MjAxJ30KCX0sCglzZWFyY2hVcmw6ICcvaW5kZXgucGhwP209c2VhcmNoJmM9aW5kZXgmYT1pbml0JnNpdGVpZD0xJnR5cGVpZD01NCZxPSoqJnBhZ2U9ZnlwYWdlJywKCXNlYXJjaGFibGU6MiwKCXF1aWNrU2VhcmNoOjAsCglmaWx0ZXJhYmxlOjEsCgloZWFkZXJzOnsKCQknVXNlci1BZ2VudCc6ICdNT0JJTEVfVUEnCgl9LAoJdGltZW91dDo1MDAwLAogICAgY2xhc3NfbmFtZTon5ZCs5bm/5pKtJueci+eUteinhicsCiAgICBjbGFzc191cmw6J2xpdmUmdHYnLAoJcGxheV9wYXJzZTp0cnVlLAoJbGF6eTonanM6dmFyIHB1cmw9anNwLnBkZmgocmVxdWVzdChpbnB1dCksICIucGxheWNvZGUmJmlmcmFtZSYmc3JjIik7aWYoL3Rpbmd0aW5nZm0vLnRlc3QocHVybCkpe3B1cmw9Imh0dHA6Ly93d3cuZ3Vhbmdib21pLmNvbSIrcHVybH07aW5wdXQ9IHtqeDowLHVybDpwdXJsLHBhcnNlOjEsaGVhZGVyOkpTT04uc3RyaW5naWZ5KHsicmVmZXJlciI6Imh0dHA6Ly93d3cuZ3Vhbmdib21pLmNvbS8ifSl9JywKCWxpbWl0OjYsCgnmjqjojZA6ICcuYXgtc3BsaXQtMzt1bCYmLmF4LWdyaWQtYmxvY2s7KjsucmFkaW8taWNvbiYmc3JjOy5yYWRpby1pY29uJiZhbHQ7KicsCglkb3VibGU6IHRydWUsCgnkuIDnuqc6ICcuYXgtc3BsaXQtMiYmbGk7LnJhZGlvLXRpdGxlJiZUZXh0Ozs7YSYmaHJlZicsCgnkuoznuqc6IHsKCQkidGl0bGUiOiAiaDEmJlRleHQ7LmF4LWJyZWFkY3J1bWI6ZXEoMSkmJlRleHQiLAoJCSJpbWciOiAiIiwKCQkiZGVzYyI6ICI7Ozs7LmF4LWRlczplcSgwKSYmVGV4dCIsCgkJImNvbnRlbnQiOiAiLmF4LWlnbm9yZTplcSgwKSYmVGV4dCIsCgkJIumHjeWumuWQkSI6ICJqczpsZXQgdXJsID0ganNwLnBkKGh0bWwsJyNwbGF5JiZpZnJhbWUmJnNyYycpO2xvZygn6YeN5a6a5ZCR5YiwOicrdXJsKTtodG1sID0gcmVxdWVzdCh1cmwpIiwKCQkidGFicyI6ICJqczpUQUJTPVsn5L+h5Y+35rqQJ10iLAoJCSJsaXN0cyI6ICJkaXY6ZXEoMSkmJmEiCgl9LAoJ5pCc57SiOiAnYm9keSAuYXgtaXRlbS1ibG9jazsuYXgtdGl0bGUmJlRleHQ7LmF4LWltZyYmc3R5bGU7LmF4LWNvbG9yLWRlczplcSgxKSYmVGV4dDsqJywKfQ==
\ No newline at end of file
diff --git a/js/有声听书网[听].js b/js/有声听书网[听].js
new file mode 100644
index 0000000..4bc56f4
--- /dev/null
+++ b/js/有声听书网[听].js
@@ -0,0 +1 @@
+dmFyIHJ1bGUgPSB7CiAgICDnsbvlnos6ICflkKzkuaYnLC8v5b2x6KeGfOWQrOS5pnzmvKvnlLt85bCP6K+0CiAgICB0aXRsZTogJ+acieWjsOWQrOS5pue9kVvlkKxdJywKICAgIGhvc3Q6ICdodHRwczovL3d3dy55c3RzLmNjLycsCiAgICB1cmw6ICcvYm9vay9meWNsYXNzL2xhc3R1cGRhdGUvZnlwYWdlLmh0bWwnLAogICAgc2VhcmNoVXJsOiAnL3NlYXJjaC5odG1sP3NlYXJjaHR5cGU9bmFtZSZzZWFyY2h3b3JkPSoqJnBhZ2U9ZnlwYWdlJywKICAgIHNlYXJjaGFibGU6IDIsCiAgICBxdWlja1NlYXJjaDogMCwKICAgIGZpbHRlcmFibGU6IDEsCiAgICBmaWx0ZXI6ICcnLAogICAgZmlsdGVyX3VybDogJycsCiAgICBmaWx0ZXJfZGVmOiB7fSwKICAgIGhlYWRlcnM6IHsKICAgICAgICAnVXNlci1BZ2VudCc6ICdQQ19VQScsCiAgICB9LAogICAgdGltZW91dDogNTAwMCwKICAgIGNsYXNzX3BhcnNlOiAnLm5hdi1vbCBsaTthJiZUZXh0O2EmJmhyZWY7LiovKC4qPylcL2xhc3R1cGRhdGUnLAogICAgY2F0ZV9leGNsdWRlOiAnJywKICAgIHBsYXlfcGFyc2U6IHRydWUsCiAgICBsYXp5OiAkanMudG9TdHJpbmcoKCkgPT4gewogICAgICAgIGlucHV0ID0ge3BhcnNlOiAxLCB1cmw6IGlucHV0LCBqczogJyd9OwogICAgfSksCiAgICBkb3VibGU6IHRydWUsCiAgICAvL+aOqOiNkDon5YiX6KGoMTvliJfooagyO+agh+mimDvlm77niYc75o+P6L+wO+mTvuaOpTvor6bmg4UnLAogICAg5LiA57qnOiAnLmxpc3Qtd29ya3MgbGk7YSYmdGl0bGU7aW1nJiZkYXRhLW9yaWdpbmFsO3NwYW4mJlRleHQ7YSYmaHJlZjtkZCYmVGV4dCcsCiAgICDkuoznuqc6IHsKICAgICAgICB0aXRsZTogJy5jb250ZW50JiZhJiZ0aXRsZTsuY29udGVudCYmYTplcSgxKSYmVGV4dCcsCiAgICAgICAgaW1nOiAnLmNvbnRlbnQmJmltZyYmZGF0YS1vcmlnaW5hbCcsCiAgICAgICAgZGVzYzogJ+S4u+imgeS/oeaBrzsuY29udGVudCYmZGQ6ZXEoMykmJlRleHQ75Zyw5Yy6Oy5jb250ZW50JiZkZDplcSg0KSYmVGV4dDvlr7zmvJQnLAogICAgICAgIGNvbnRlbnQ6ICcuY29udGVudCYmLmJvb2stZGVzJiZUZXh0JywKICAgICAgICB0YWJzOiAnLnBsYXlsaXN0LXRvcCYmaDInLAogICAgICAgIC8vdGFiczogJy5jaGFwdGVyLWxpc3QtYmxvY2smJmxpJywKICAgICAgICAvLyDliJfooajmnInliIbpobXvvIzmmoLml7bop6PlhrPkuI3kuobjgILov5nnp43ogIE2572R56uZCiAgICAgICAgbGlzdHM6ICcucGxheWxpc3QmJmxpJywKICAgICAgICB0YWJfdGV4dDogJ2JvZHkmJlRleHQnLAogICAgICAgIGxpc3RfdGV4dDogJ2JvZHkmJlRleHQnLAogICAgICAgIGxpc3RfdXJsOiAnYSYmaHJlZicsCiAgICAgICAgbGlzdF91cmxfcHJlZml4OiAnJywKICAgIH0sCgogICAg5pCc57SiOiAnLmxpc3Qtd29ya3MgbGk7KjsqOyo7Kjvor6bmg4UnLAp9
\ No newline at end of file
diff --git a/js/有声绘本网[听].js b/js/有声绘本网[听].js
new file mode 100644
index 0000000..6f53883
--- /dev/null
+++ b/js/有声绘本网[听].js
@@ -0,0 +1 @@
+H4sIAIioBmcC/21RTWvbQBC951cIApLt2JJoSQISJqTQQ6Elh9Y3g9moY2nxSlZ2V1VMCITSHEo/cHKJW0wPSakNCXEMxU1j+m8iyf0XXX34UMjsYdk3b9/MvHmDqEQDAlJdOliRRCTTefTtgyEpUf/q/vcPpZqhHHMCAoyH76OLm2Q+iIdXyZ+TIut0GRdJh3OfGZoWhqHa6wbMAc92ArwLnmp13YIbUCKoWrtnEcSYuH1kQ5FjgKjlNHJG/lB9x9+S9+qVipwS6w/w0W7a2qMc2guw1XmZ4Yak51gbEw40pxWQA+g1UGYUQ6ehNBjQ2rYNHldE/Rc7T549f9pqbCsZ43DpgwvdQAy7rut6VdOEB8nll+Tru+h4HE2PFpNf8fTtYnYcn82qf+eDxfX3eDB5LLjx5DIZnWYa2eAtH1GWOrrqghfUXIQ9WSbYsHlJLxuElzbLJpLlV7DP09uh0DaFiVqp2QzXysX8PkG9pRCnAeQowS4WHW7kr/jzePGpLwpVik/3t0fJ3UgAiHJsEVBh3wLq85q1nlbKNm1i15ZlRi1T9cVuawR34P9mlmJ3H3OxpXrcHyY/zx9Q56FZESc1sFBKvxz+A+3Iko+AAgAA
\ No newline at end of file
diff --git a/js/梦米弹幕.js b/js/梦米弹幕.js
new file mode 100644
index 0000000..b3d0d68
--- /dev/null
+++ b/js/梦米弹幕.js
@@ -0,0 +1,183 @@
+globalThis.h_ost = 'http://op.ysdqjs.cn/';
+
+globalThis.vodlist = function($t, $pg) {
+ const currentTimestamp = parseInt(Date.now() / 1000, 10);
+ const url = h_ost + '/v2/home/type_search';
+ const hx = CryptoJS.MD5('kj5649ertj84ks89r4jh8s45hf84hjfds04k' + currentTimestamp).toString();
+ let html = request(url, {
+ body: {
+ sign: hx,
+ type_id: $t,
+ page: $pg,
+ },
+ headers: {
+ 'User-Agent': 'okhttp-okgo/jeasonlzy',
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ },
+ 'method': 'POST'
+ }, true);
+ return JSON.parse(html).data.list;
+}
+
+globalThis.seach = function(wd) {
+ const currentTimestamp = parseInt(Date.now() / 1000, 10);
+ const url = h_ost + '/v2/home/search';
+ const hx = CryptoJS.MD5('kj5649ertj84ks89r4jh8s45hf84hjfds04k' + currentTimestamp).toString();
+ let html = request(url, {
+ body: {
+ sign: hx,
+ keyword: wd,
+ timestamp: currentTimestamp,
+ },
+ headers: {
+ 'User-Agent': 'okhttp-okgo/jeasonlzy',
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ },
+ 'method': 'POST'
+ }, true);
+ return JSON.parse(html).data.list;
+}
+globalThis.vodids = function(ids) {
+ const currentTimestamp = parseInt(Date.now() / 1000, 10);
+ const url = h_ost + '/v2/home/vod_details';
+ const hx = CryptoJS.MD5('kj5649ertj84ks89r4jh8s45hf84hjfds04k' + currentTimestamp).toString();
+ let html = request(url, {
+ body: {
+ sign: hx,
+ vod_id: ids,
+ timestamp: currentTimestamp,
+ },
+ headers: {
+ 'User-Agent': 'okhttp-okgo/jeasonlzy',
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ },
+ 'method': 'POST'
+ }, true);
+ const redata = JSON.parse(html);
+ let vodPlayFrom = '';
+ let vodPlayUrl = '';
+ redata.data.vod_play_list.forEach((value, key) => {
+ if (value.flag.includes("nby") || value.flag.includes("mgtv") || value.flag.includes("qq") || value.flag.includes("qiyi") || value.flag.includes("mgtv") || 1) {
+ vodPlayFrom += `${value.flag}$$$`;
+ value.urls.forEach(url => {
+ vodPlayUrl += `${url.name}$${value.parse_urls[0]}${url.url}~${url.name}#`;
+ });
+ vodPlayUrl += '$$$';
+ }
+ });
+ const regeshi = {
+ vod_id: redata.data.vod_id,
+ vod_name: redata.data.vod_name,
+ vod_remarks: `${redata.data.vod_remarks}`,
+ type_name: redata.data.vod_class,
+ vod_pic: redata.data.vod_pic,
+ vod_year: redata.data.vod_year,
+ vod_area: redata.data.vod_area,
+ vod_actor: `${redata.data.vod_actor}`,
+ vod_director: redata.data.vod_director,
+ vod_content: `${redata.data.vod_content}`,
+ vod_play_from: vodPlayFrom,
+ vod_play_url: vodPlayUrl
+ };
+ return regeshi;
+}
+globalThis.jxx = function(input) {
+ if ("741852963" !== '741852963') {
+ return 'https://s0.mall.tcl.com/group1/M00/00/89/CvoGBGdcOPaAAUxvADwZniVV2bc476.mp4';
+ }
+ const parts = input.split('~');
+ try {
+ let response = fetch(parts[0], {
+ method: 'get',
+ headers: {
+ 'User-Agent': 'okhttp/3.14.9',
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ }
+ });
+
+ if (response.includes("成功") || response.includes("success") || response.includes("nby")) {
+ let bata = JSON.parse(response);
+ input = {
+ parse: 0,
+ url: bata.url,
+ jx: 0,
+ danmaku: 'http://103.36.220.166:91/dmku1/tvbox/zh.php?url=' + '&jm=' + VOD.vod_name + '&js=' + parts[1] + '&key=741852963'
+ }
+ } else {
+ input = {
+ parse: 0,
+ url: parts[0].includes('url=') ? parts[0].slice(parts[0].indexOf('url=') + 4) : null,
+ jx: 1,
+ danmaku: 'http://103.36.220.166:91/dmku1/tvbox/zh.php?url=' + '&jm=' + VOD.vod_name + '&js=' + parts[1] + '&key=741852963'
+ }
+ }
+ } catch {
+ input = {
+ parse: 0,
+ url: '解析失败',
+ jx: 0,
+ }
+ }
+ return input;
+}
+
+var rule = {
+ title: '天天',
+ host: '',
+ detailUrl: 'fyid',
+ searchUrl: '**',
+ url: 'fyclass',
+ searchable: 2,
+ quickSearch: 1,
+ filterable: 0,
+ class_name: '电影&电视剧&综艺&动漫',
+ class_url: '1&2&4&3',
+ play_parse: true,
+ lazy: $js.toString(() => {
+ input = jxx(input);
+ }),
+ 推荐: $js.toString(() => {
+ let bdata = vodlist(1, 1);
+ console.log(bdata);
+ bdata.forEach(it => {
+ d.push({
+ url: it.vod_id,
+ title: it.vod_name,
+ img: it.vod_pic,
+ desc: it.vod_remarks
+ });
+ });
+ setResult(d);
+ }),
+ 一级: $js.toString(() => {
+ let bdata = vodlist(input, MY_PAGE);
+ console.log(bdata);
+ bdata.forEach(it => {
+ d.push({
+ url: it.vod_id,
+ title: it.vod_name,
+ img: it.vod_pic,
+ desc: it.vod_remarks
+ });
+ });
+ setResult(d);
+ }),
+ 二级: $js.toString(() => {
+ console.log("调试信息2" + input);
+ let data = vodids(input);
+ //console.log(data);
+ VOD = (data);
+ }),
+ 搜索: $js.toString(() => {
+ let ddata = seach(input);
+ ddata.forEach(it => {
+ d.push({
+ url: it.vod_id,
+ title: it.vod_name,
+ img: it.vod_pic,
+ desc: it.vod_remarks
+ });
+ });
+ setResult(d);
+ }),
+}
\ No newline at end of file
diff --git a/js/流光.js b/js/流光.js
new file mode 100644
index 0000000..54bb219
--- /dev/null
+++ b/js/流光.js
@@ -0,0 +1,27 @@
+var rule={
+ title: '流光影视',
+ host: 'https://www.gyf.lol',
+ url: '/index.php/vod/show/id/fyclass/page/fypage.htm',
+ searchUrl: '/index.php/vod/search.html?wd=**',
+ searchable: 2,
+ quickSearch: 0,
+ filterable: 0,
+ headers: {
+ 'User-Agent': 'Mozilla/5.0',
+ },
+class_name: '电影&电视剧&综艺&动漫',
+class_url: '1&2&3&4&21',
+ play_parse: true,
+ lazy: '',
+ limit: 6,
+ 推荐: 'body&&.public-list-div;a&&title;img&&data-src;.public-prt&&Text;a&&href',
+ double: true,
+ 一级: 'body&&.public-list-box;a&&title;.lazy&&data-src;.public-prt&&Text;a&&href',
+ 二级: {
+ "title": ".slide-info-title&&Text",
+ "img": ".lazy&&data-src",
+ "desc": ".slide-info-remarks:eq(0)&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(0)&&Text;.slide-info:eq(2)&&Text",
+ "content": ".switch-box&&Text",
+ "tabs": ".anthology-tab&&.swiper-slide",
+ "lists": ".anthology-list-play:eq(#id) a"},
+ 搜索: 'body&&.public-list-box;a&&title;.lazy&&data-src;.public-prt&&Text;a&&href',}
\ No newline at end of file
diff --git a/js/流光影.js b/js/流光影.js
new file mode 100644
index 0000000..a4cb163
--- /dev/null
+++ b/js/流光影.js
@@ -0,0 +1,27 @@
+var rule={
+ title: '流光影视',
+ host: 'https://www.gyf.lol',
+ url: '/index.php/vod/show/id/fyclass/page/fypage.htm',
+ searchUrl: '/index.php/vod/search.html?wd=**',
+ searchable: 2,
+ quickSearch: 0,
+ filterable: 0,
+ headers: {
+ 'User-Agent': 'Mozilla/5.0',
+ },
+class_name: '电影&电视剧&综艺&动漫&短剧',
+class_url: '1&2&3&4&21',
+ play_parse: true,
+ lazy: '',
+ limit: 6,
+ 推荐: 'body&&.public-list-div;a&&title;img&&data-src;.public-prt&&Text;a&&href',
+ double: true,
+ 一级: 'body&&.public-list-box;a&&title;.lazy&&data-src;.public-prt&&Text;a&&href',
+ 二级: {
+ "title": ".slide-info-title&&Text",
+ "img": ".lazy&&data-src",
+ "desc": ".slide-info-remarks:eq(0)&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(0)&&Text;.slide-info:eq(2)&&Text",
+ "content": ".switch-box&&Text",
+ "tabs": ".anthology-tab&&.swiper-slide",
+ "lists": ".anthology-list-play:eq(#id) a"},
+ 搜索: 'body&&.public-list-box;a&&title;.lazy&&data-src;.public-prt&&Text;a&&href',}
\ No newline at end of file
diff --git a/js/爱上你听书网[听].js b/js/爱上你听书网[听].js
new file mode 100644
index 0000000..b5c8b90
--- /dev/null
+++ b/js/爱上你听书网[听].js
@@ -0,0 +1 @@
+H4sIAEIfMGcC/3WSy27TQBSG9zyFlUhOHGonTaELWxGq+gJINLtK0cSexEPGHnfmOCagSiwRN4V9VSEWwIJNJRalqG+TNjwGc3MJrToLj+ecf75zmzniDi8pdgbOqweOXOuz31en70KndbX8sfr1tbWlrUCAYmlcvzlbnb9dXX423vXlJytImQDpTwEKEXa7VVUF/Z0eiCDHYCUlp1LRFYxDd7KIKRJC7gWa4iCFjFqVwIjH6dBq9UG7n5h/WBR4kKMMu+ZcMZ4MOh1XYQaG9h8IjVXefWM6Kkk8e6btodOziWOUYC5CW75araHA3N+b4hxaMoun+6PhXkt7j+tuZJiVst7HvZ7F6HJGBeJCtSnI0dxn1HUpCafQ7nkhhfauFyHXPcAvQO0px5Mo6HTbh4fVQ2+zAwVFi5oEvMTGStHLhSQ/FyHJixIG+htwLNUxbjdkwxtbjQoVDc9iKMmITHHXnK4/fv/zYSkBzWxxgMajfZaDrG9bpRgFgMb+mLGZr+dsk+xs2FEJKeO1w0ZYnb9eX3yTzJIGlAjw5TBmwhD1WV9NwPdFgXJ7OVCFuG6CAPmMkynJEY2CjSAhPmr3Pde91as65sV7HfPftOqnaRgxm2OZJ6JgoSSfMBkuMUko+LZnyJaoFsmmtwmCxxuCBIv4RlEjFeyRhUXRvfF2asl9gv7dhGIznpuQMv4djRyOUAL1XnS7gRWyV/0NiTIrTbPWqHBNknhqSFZn3/T18mT984vUquke/wUQKtu8FwQAAA==
\ No newline at end of file
diff --git a/js/瓜子.js b/js/瓜子.js
new file mode 100644
index 0000000..7bd8351
--- /dev/null
+++ b/js/瓜子.js
@@ -0,0 +1 @@
+dmFyIHJ1bGUgPSB7CiAgICB0aXRsZTogJ+eTnOWtkCcsCiAgICBob3N0OiAnaHR0cHM6Ly9hcGkuOHV0ZHRjcS5jb20nLAogICAgdXJsOiAnL0FwcC9JbmRleExpc3QvaW5kZXhMaXN0JywKICAgIC8vICAgaG9tZVVybDogJ2h0dHA6Ly8xMjQuMjIyLjExNi41L2hvbWVkYXRhL2hvbWUuanNvbicsCiAgICBzZWFyY2hVcmw6ICcvQXBwL0luZGV4L2ZpbmRNb3JlVm9kIyoqJywKICAgIHNlYXJjaGFibGU6IDIsCiAgICBxdWlja1NlYXJjaDogMSwKICAgIGZpbHRlcmFibGU6IDEsCiAgICBjbGFzc19uYW1lOiAn55S15b2xJueUteinhuWJpybliqjmvKsm57u86Im6JuefreWJpycsCiAgICBjbGFzc191cmw6ICcxJjImNCYzJjY0JywKICAgIGZpbHRlcjonSDRzSUFBQUFBQUFBQSsyYTdVNGFRUlNHLzNzVmh0L2JaSGY1V25vcmpXbG80WWZwaHdscUUyTk10R29MV0lzbUZiUmkycVlxb0JneHRWVlI4R1oyZHVVdU9tY2hmdUR1REhJMnhKaEQ0aEdZeVR6djdobG01N3laNmFGaC9ncG9nZWZETDV5MzhKcStmdWMwdmtsTzhlWkFQSldNQjVTN1RlL2o3NUplYlIvaWJ5ZVRkOFoxSC85bU1CaUpMWlpiOCtXdXNXN0doQzVxNEY3anpQMytRc2gycWJYeFNRanBkTUdTV3JzYjF1bWhrTlRwZ3I2bVhNMDZhNHF2cWQwRlM3S3FKYnY1VlVneUx4ZnNSc0hLSHlvcys5TmF1dVIzVTJITkU3YlpVS3lGSFAvRTBoWEYrclBtZk9FTXAvQS8rSFMxZE9UODI3bTBjd2QyWmdPdnRyQmpGYXRDdFowdTZGei9xSERwNGx5M3UyQko1bW1STFJmTStuZHh1cGRyckw2cldQa2FUd0xiK3NWdmVBM3ViYXRTdGJaMitCMkdBZERUYnZHZmVaNFg2MmgzdVUrNjg4M0k5YWRiQ3R4WG9xbGtQT1cxRXJtMVBlS1ZTRmYxa0JEaGRQQ0JFcFJSZ241UWRCbEY5NE9peVNpYUh4UlZSdkVqKzFwTVF1RWRmS0FZTW9yaEJ5VXFvMFQ5b0VSa2xBaWFvcW5QdERBN081YVJ3Z29QSVFoQkNEb0VEUUorYXFncTU1dm52eVVTVkpYalZHQ3FRRmRCaHdxS1ZOQ21SaUJFSVJnUThITXAxb3NzTFJaVEZSNDBDRHFFSUlRUWhEQ0VDSVFvQkFNQ1hwYlJteXdEWkJrZ3l3QlpCc2d5UUpZQnNneVFaWUFzQTJRWmVGblc1ckZWcUloVDZPTnpjWHp5bGRkajBhWHBFVDhWV2Jac05vcDI1ck9JRTBabjUyUFZ6cTlLS0hvTWZUSDVJc3VVSkpnSWxtS25qNno1UlFrbGlxYVVWdG5adVlSaW9CTXp0MkxONWlVVWZGNHlKZmtkMDFUMHhhVFh6WHBHaHRGOCtNblkzMlNaQ2VLbldYMlBOZFprdnhuMFRiUG5tcTN2VGRuVm9DZWFuVDIwRzN1eW42WkxidnBlb2NkU0U1NUx0RXRiZjJ1MGZYN0JWdExDTlRyeGNqU0JmN3dWWjNseEtlSEVFNG1KVVg2RlBzRHMrUU1KYlB6MVdBcVBhdTJ2czdUWUh2SkdlVTBONTkxSWUweisxSDgwZmx1eHhyN1V5VzhqdjQzOE5rOFMrVzJEOE51Z2doT25rL3kyTGdyNWJRK2trTjlHZnB1ckJQTGJIaUtML0xhQitXMmJEYk5lWXBtUzBEN1EvZGszeXpCQmZ6Yk5Na3pJbngyekRJTTNFSjE5ckF5RDlsemFtMWdaQnUzdFdYOVAySFplaHNHYmU4Nm1XSVpCdTN2WHUzQ2h0ZU9DNlhzeElHc0hBWHM2MWs2SXJKMHVDRms3bmlTeWR0eEpaTzE0NkNCcnh4TkMxZzVaTzBJS1dUdmRGTEoyYmtrZ2E0ZXNuWUZhTyticEFWVEMyYkoxc1M4ODU0QS9nOUkyS3VRazlER1U0WTcxSWtlNWVFbDlKNHRLYndUczZaVGVRU3E5dXlCVWVudVNxUFIySjFIcDdhR0RTbTlQQ0pYZVZIb0xLVlI2ZDFPbzlMNGxnVXB2S3IwSGU2ckMyUmZ6aXU0cUk5eWw2K2lERlhDcUlsZnJnWVErVzhIM2YzeGoxZ1BKcCtNVlBaQmNUbGowUFN1b3hrZkFua0NOUHpUekgrU3RQeENzUkFBQScsCiAgICAvLyBsaW1pdDogNiwKICAgIC8vZG91YmxlOiBmYWxzZSwKICAgIHBsYXlfcGFyc2U6IHRydWUsCiAgICBsYXp5OiAkanMudG9TdHJpbmcoKCkgPT4gewogICAgICAgIGxldCBkID0gW107CiAgICAgICAgLy9jb25zb2xlLmxvZygid2FuZ3poaT09PSIraW5wdXQpCiAgICAgICAgdmFyIHZvZF9pZCA9IGlucHV0LnNwbGl0KCIvIilbMF07CiAgICAgICAgdmFyIHZ1cmxfaWQgPSBpbnB1dC5zcGxpdCgiLyIpWzFdOwogICAgICAgIHZhciByZXNvbHV0aW9uPWlucHV0LnNwbGl0KCI/IilbMV0KICAgICAgICBmdW5jdGlvbiBFbmNyeXB0KHBsYWluVGV4dCkgewogICAgICAgICAgICBsZXQga2V5ID0gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2UoIm12WEJTVzdla3JlSXROc1QiKTsKICAgICAgICAgICAgbGV0IGl2ID0gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2UoIjJVM0lySkw4c3pBS3AwRmoiKTsKICAgICAgICAgICAgLy8g5bCG5paH5pys5Yqg5a+G5Li6IEFFUy9DQkMvUEtDUzVQYWRkaW5nIOagvOW8jwogICAgICAgICAgICBsZXQgZW5jcnlwdGVkID0gQ3J5cHRvSlMuQUVTLmVuY3J5cHQocGxhaW5UZXh0LCBrZXksIHsKICAgICAgICAgICAgICAgIGl2OiBpdiwKICAgICAgICAgICAgICAgIG1vZGU6IENyeXB0b0pTLm1vZGUuQ0JDLAogICAgICAgICAgICAgICAgcGFkZGluZzogQ3J5cHRvSlMucGFkLlBrY3M3CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy8g6I635Y+W5Yqg5a+G57uT5p6c5bm26L2s5Li6IEhleCDmoLzlvI8KICAgICAgICAgICAgbGV0IGVuY3J5cHRlZEhleCA9IGVuY3J5cHRlZC5jaXBoZXJ0ZXh0LnRvU3RyaW5nKENyeXB0b0pTLmVuYy5IZXgpOwogICAgICAgICAgICByZXR1cm4gZW5jcnlwdGVkSGV4LnRvVXBwZXJDYXNlKCk7IC8vIOi/lOWbnuWkp+WGmSBIZXgg5qC85byPCiAgICAgICAgfQogICAgICAgIGZ1bmN0aW9uIERlY3J5cHQod29yZCwga2V5LCBpdikgewogICAgICAgICAgICBsZXQgZW5jcnlwdGVkSGV4U3RyID0gQ3J5cHRvSlMuZW5jLkhleC5wYXJzZSh3b3JkKTsKCiAgICAgICAgICAgIC8vIOS9v+eUqEFFUy9DQkMvUEtDUzVQYWRkaW5n5qih5byP6L+b6KGM6Kej5a+GCiAgICAgICAgICAgIGxldCBkZWNyeXB0ID0gQ3J5cHRvSlMuQUVTLmRlY3J5cHQoewogICAgICAgICAgICAgICAgY2lwaGVydGV4dDogZW5jcnlwdGVkSGV4U3RyCiAgICAgICAgICAgIH0sIGtleSwgewogICAgICAgICAgICAgICAgaXY6IGl2LAogICAgICAgICAgICAgICAgbW9kZTogQ3J5cHRvSlMubW9kZS5DQkMsIC8vIOS9v+eUqENCQ+aooeW8jwogICAgICAgICAgICAgICAgcGFkZGluZzogQ3J5cHRvSlMucGFkLlBrY3M3IC8vIOS9v+eUqFBLQ1MjN+Whq+WFhQogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIOWwhuino+WvhuWQjueahOaVsOaNrui9rOaNouS4uuWOn+Wni+aWh+acrAogICAgICAgICAgICBsZXQgZGVjcnlwdGVkU3RyID0gZGVjcnlwdC50b1N0cmluZyhDcnlwdG9KUy5lbmMuVXRmOCk7CgogICAgICAgICAgICAvLyDov5Tlm57op6Plr4blkI7nmoTmlofmnKwKICAgICAgICAgICAgcmV0dXJuIGRlY3J5cHRlZFN0cjsKICAgICAgICB9CiAgICAgICAgdmFyIHRpbWVzdGFtcCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMDsgLy9sb2codGltZXN0YW1wKQogICAgICAgIHZhciB0ID0gdGltZXN0YW1wLnRvU3RyaW5nKCkuc3BsaXQoJy4nKVswXTsgLy9sb2codCkKICAgICAgICB2YXIgcmVxdWVzdF9rZXkgPSBKU09OLnN0cmluZ2lmeSh7CiAgICAgICAgICAgICJkb21haW5fdHlwZSI6ICI4IiwKICAgICAgICAgICAgInZvZF9pZCI6IHZvZF9pZCwKICAgICAgICAgICAgInR5cGUiOiAicGxheSIsCiAgICAgICAgICAgICJyZXNvbHV0aW9uIjogcmVzb2x1dGlvbiwKICAgICAgICAgICAgInZ1cmxfaWQiOiB2dXJsX2lkCiAgICAgICAgfSk7IC8vbG9nKHJlcXVlc3Rfa2V5KQogICAgICAgIHZhciByZXF1ZXN0X2tleTIgPSBFbmNyeXB0KHJlcXVlc3Rfa2V5KTsgLy9sb2cocmVxdWVzdF9rZXkyKQogICAgICAgIHZhciBzaWduYXR1cmUgPSAndG9rZW5faWQ9LHRva2VuPTFiZTg2ZThlMThhOWZhMThiMmI4ZDU0MzI2OTlkYWQwLmFjMDA4ZWQ2NTBmZDA4N2JmYmVjZjJmZGE5ZDgyZTk4MzUyNTNlZjI0ODQzZTZiMThmY2QxMjhiMTA3NjM0OTdiY2Y5ZDUzZTk1OWY1Mzc3Y2RlMDM4YzIwY2NmOWQxN2Y2MDRjOWI4YmI2ZTYxMDQxZGVmODY3MjliMmZjNzQwOGJkMjQxZTIzYzIxM2FjNTdmMDIyNmVlNjU2ZTJiYjBhNTgzYWUwZTRmM2JmNmM2YWI2YzQ5MGM5YTZmMGQ4Y2RmZDM2NmFhY2Y1ZDgzMTkzNjcxYThmNzdjZDFhZjFmZjJlOTE0NWRlOTJlYzQzZWM4N2NmNGJkYzU2M2Y2ZTkxOWZlMzI4NjFiMGU5M2IxMThlYzM3ZDgwMzVmYmIzYy41OWRkMDVjNWQ5YThhZTcyNjUyODc4MzEyODIxOGYxNWZlNmYyYzBjODE0NWVkZGFiMTEyYjM3NGZjZmUzZDc5LHBob25lX3R5cGU9MSxyZXF1ZXN0X2tleT0nICsgcmVxdWVzdF9rZXkyICsgJyxhcHBfaWQ9MSx0aW1lPScgKyB0ICsgJyxrZXlzPVpIOGdwZHA5YnhqdUcyTks5N3NvbDNvN1Vpeis5ZVZFYVZNbEUyRmszajdFUmVzTTNZSG5FQ1pVSDdCT05OVGpweTdSVk5pL1lpbUd1TllyaUM3Q21zd3Y0UE5ZaUZZenc5UWhscVpLd05mQ002SVVwRlowVDRyWng4Rzc4emt2MnROVmJmWUM0cU5RZWRHaTA3bldaMzNkbFN1VnhST1ZmWTVKeE9XSE1JMD0qJnp2ZHZkdmRkYmZpa2trdW10bWR3cXBwcD98NFkhcyEyYnInOyAvL2xvZyhzaWduYXR1cmUpCiAgICAgICAgdmFyIHNpZ25hdHVyZTIgPSBtZDUoc2lnbmF0dXJlKTsgLy9sb2coc2lnbmF0dXJlMikKICAgICAgICB2YXIgYm9keSA9ICd0b2tlbj0xYmU4NmU4ZTE4YTlmYTE4YjJiOGQ1NDMyNjk5ZGFkMC5hYzAwOGVkNjUwZmQwODdiZmJlY2YyZmRhOWQ4MmU5ODM1MjUzZWYyNDg0M2U2YjE4ZmNkMTI4YjEwNzYzNDk3YmNmOWQ1M2U5NTlmNTM3N2NkZTAzOGMyMGNjZjlkMTdmNjA0YzliOGJiNmU2MTA0MWRlZjg2NzI5YjJmYzc0MDhiZDI0MWUyM2MyMTNhYzU3ZjAyMjZlZTY1NmUyYmIwYTU4M2FlMGU0ZjNiZjZjNmFiNmM0OTBjOWE2ZjBkOGNkZmQzNjZhYWNmNWQ4MzE5MzY3MWE4Zjc3Y2QxYWYxZmYyZTkxNDVkZTkyZWM0M2VjODdjZjRiZGM1NjNmNmU5MTlmZTMyODYxYjBlOTNiMTE4ZWMzN2Q4MDM1ZmJiM2MuNTlkZDA1YzVkOWE4YWU3MjY1Mjg3ODMxMjgyMThmMTVmZTZmMmMwYzgxNDVlZGRhYjExMmIzNzRmY2ZlM2Q3OSZ0b2tlbl9pZD0mcGhvbmVfdHlwZT0xJnRpbWU9JyArIHQgKyAnJnBob25lX21vZGVsPXhpYW9taS0yMjAyMTIxMXJjJmtleXM9Wkg4Z3BkcDlieGp1RzJOSzk3c29sM283VWl6JTJCOWVWRWFWTWxFMkZrM2o3RVJlc00zWUhuRUNaVUg3Qk9OTlRqcHk3UlZOaSUyRllpbUd1TllyaUM3Q21zd3Y0UE5ZaUZZenc5UWhscVpLd05mQ002SVVwRlowVDRyWng4Rzc4emt2MnROVmJmWUM0cU5RZWRHaTA3bldaMzNkbFN1VnhST1ZmWTVKeE9XSE1JMCUzRCZyZXF1ZXN0X2tleT0nICsgcmVxdWVzdF9rZXkyICsgJyZzaWduYXR1cmU9JyArIHNpZ25hdHVyZTIgKyAnJmFwcF9pZD0xJmFkX3ZlcnNpb249MSc7IC8vbG9nKGJvZHkpCgogICAgICAgIHZhciBodG1sID0gZmV0Y2goJ2h0dHBzOi8vYXBpLjh1dGR0Y3EuY29tL0FwcC9SZXNvdXJjZS9WdXJsRGV0YWlsL3Nob3dPbmUnLCB7CiAgICAgICAgICAgIGhlYWRlcnM6IHsKICAgICAgICAgICAgICAgICdDYWNoZS1Db250cm9sJzogJ25vLWNhY2hlJywKICAgICAgICAgICAgICAgICdWZXJzaW9uJzogJzI0MDYwMjUnLAogICAgICAgICAgICAgICAgJ1BhY2thZ2VOYW1lJzogJ2NvbS51ZjA3NmJmMGMyNDYucWU0MzlmMGQ1ZS5tOGFhZjU2YjcyNWEuaWZlYjY0NzM0NmYnLAogICAgICAgICAgICAgICAgJ1Zlcic6ICcxLjkuMicsCiAgICAgICAgICAgICAgICAnUmVmZXJlcic6ICdodHRwczovL2FwaS44dXRkdGNxLmNvbScsCiAgICAgICAgICAgICAgICAnWC1DdXN0b21lci1DbGllbnQtSXAnOiAnMTI3LjAuMC4xJywKICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJywKICAgICAgICAgICAgICAgICdIb3N0JzogJ2FwaS44dXRkdGNxLmNvbScsCiAgICAgICAgICAgICAgICAnQ29ubmVjdGlvbic6ICdLZWVwLUFsaXZlJywKICAgICAgICAgICAgICAgIC8vJ0FjY2VwdC1FbmNvZGluZyc6ICdnemlwJywKICAgICAgICAgICAgICAgICdVc2VyLUFnZW50JzogJ29raHR0cC8zLjEyLjAnCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGJvZHk6IGJvZHksCiAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLCAgICAgICAgICAgCiAgICAgICAgICAgIHJlamVjdENvZGluZzogdHJ1ZQogICAgICAgIH0pOyAvL2xvZyhodG1sKQoKICAgICAgICB2YXIgZGF0YSA9IEpTT04ucGFyc2UoaHRtbCkuZGF0YTsKICAgICAgICAvLyAvL2NvbnNvbGUubG9nKCJkZGRkZGQ9PT09PSIrSlNPTi5zdHJpbmdpZnkoZGF0YSkpCiAgICAgICAgdmFyIHJlc3BvbnNlX2tleSA9IGRhdGEucmVzcG9uc2Vfa2V5OyAvL2xvZyhyZXNwb25zZV9rZXkpCiAgICAgICAgdmFyIGtleXMgPSBkYXRhLmtleXM7IC8vbG9nKGtleXMpCgogICAgICAgIHZhciBib2R5a2V5ID0gIk1JSUNkZ0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQW1Bd2dnSmNBZ0VBQW9HQWU2aEtyV0xpMXpRbWpUVDFvemJFNFFkRmVKR054dWJ4bGQ2R3JGR3hpbXhmTXNNQjZCcEpocGNUb3VBcXl3QUZwcGlLZXRVQkJiWHdZc1lVMXdOcjY0OFhWbVBtQ01DeTRyWTh2ZGxpRm5iTVVqMDg2RFU2Wisvb1hCZFdVMy9iMUcwRE4zRTl3VUxSU3djS1pUM3dqL2NDSTF2c0NtM2dqMlI1U3FrQTlZMENBd0VBQVFLQmdBSkgrNEN4VjAvekJWY0xpQkNIdlNBTm0wbDdIZXR5YlRoL2oycDBZMXNUWHJvNEFMd0FhQ1RVZXFkQmpXaUxTbzlsTndESEZ5cTh6WDkwK2dOeGE3YzVFcWNXVjlGbWxWWHI4VmhmQnpjWm8xblhlTmRYRlQ3dFEyeWFoL29kdGRjeCt2Uk1TR0pkMXQvNWs1YkRkOXdBdllkSURibE1BZyt3aUtLWjVLY2RBa0VBMWNDYWtFTjROZXhrRjV0SFBSclI2WE9ZL1hIZmtxWHhFaE1xbU5iQjlVMzRzYVRKbkxXSUhDOElYeXM2UW16ejMwVHR6Q2p1T3FLUlJ5K0ZNTTRUZHdKQkFKUVpGUGpzR0MrUnFjRzVVdlZNaU1QaG53ZS9iWEVlaFNoSzg2eUpLL2cvVWlLck84N2gzYUV1NWdjSnFCeWdUcTNCQkJvSDJtZDNwci9XK2hVTVdCc0NRUUNoZmhUSXJkRGluS2k2bFJ4cmRCbm4wT2hqZzJjd3VxSzV6elU5cC9OK1M5eDdDazh3VUk1M0RLbThqVUpFOFdBRzdXTGovb0NPV0VoK2ljNk5Jd1RkQWtFQWowWDhuaHg2QVhzZ0NZUnFsMWtsYnF0Vm1MOCs5NUtaSzdQbkxXRy9JZmpRVXkzcFBHb1NhWjdmZHF1RzhicThveWY1K2R6akUvb1RYY0J5Uys2WFJRSkFQLzVjaXkxYkwzTmhVaHNhT1Z5NTVNSFhuUGpkY1RYMEZhTGkreWJYWklmSVEyUDRyYjE5bVZxMWZlTWJDWGh6K0wxckc4b2F0NWxZS2ZwZThrODNaQT09IjsgLy9sb2coYm9keWtleSkKICAgICAgICB2YXIgYm9keWtleWl2ID0gSlNPTi5wYXJzZShSU0EuZGVjb2RlKGtleXMsIGJvZHlrZXkpKTsgLy9sb2coYm9keWtleWl2KQogICAgICAgIHZhciBrZXkgPSBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShib2R5a2V5aXYua2V5KTsgLy9sb2coa2V5KQogICAgICAgIHZhciBpdiA9IENyeXB0b0pTLmVuYy5VdGY4LnBhcnNlKGJvZHlrZXlpdi5pdik7IC8vbG9nKGl2KQogICAgICAgIHZhciBodG1sMiA9IERlY3J5cHQocmVzcG9uc2Vfa2V5LCBrZXksIGl2KTsgLy9sb2coaHRtbDIpCiAgICAgICAgdmFyIHVybCA9IEpTT04ucGFyc2UoaHRtbDIpLnVybDsgLy9sb2codXJsKQogICAgICAgIGlucHV0ID0gewogICAgICAgICAgICB1cmw6IHVybCwKICAgICAgICAgICAgcGFyc2U6IDAsCiAgICAgICAgICAgIGhlYWRlcjogcnVsZS5oZWFkZXJzCiAgICAgICAgfQogICAgICAgIHNldFJlc3VsdChkKQogICAgfSksCiAgICAvLyAgIOaOqOiNkDogJGpzLnRvU3RyaW5nKCgpID0+IHsKICAgIC8vICAgICBsZXQgZCA9IFtdOwogICAgLy8gICAgIGxldCBkYXRhID0gSlNPTi5wYXJzZShyZXF1ZXN0KGlucHV0KSkKICAgIC8vICAgICBkYXRhLmZvckVhY2goaXRlbSA9PiB7CiAgICAvLyAgICAgICBpdGVtLmRhdGFzLmZvckVhY2goaXQgPT4gewogICAgLy8gICAgICAgICBsZXQgaWQgPSBgaHR0cDovLzExNC4xMzIuNTUuMjMvYmwvbWIvYXBpLnBocC9wcm92aWRlL3ZvZC8/YWM9dmlkZW9saXN0JndkPSR7aXQudGl0bGV9JmA7CiAgICAvLyAgICAgICAgIGQucHVzaCh7CiAgICAvLyAgICAgICAgICAgdXJsOiBpZCwKICAgIC8vICAgICAgICAgICB0aXRsZTogaXQudGl0bGUsCiAgICAvLyAgICAgICAgICAgaW1nOiBpdC5waWMsCiAgICAvLyAgICAgICAgICAgZGVzYzogaXQuYWNyLAogICAgLy8gICAgICAgICB9KQogICAgLy8gICAgICAgfSk7CiAgICAvLyAgICAgfSk7CiAgICAvLyAgICAgc2V0UmVzdWx0KGQpCiAgICAvLyAgIH0pLAogICAg5LiA57qnOiAkanMudG9TdHJpbmcoKCkgPT4gewogICAgICAgIGxldCBkID0gW107CiAgICAgICAgZnVuY3Rpb24gRW5jcnlwdChwbGFpblRleHQpIHsKICAgICAgICAgICAgbGV0IGtleSA9IENyeXB0b0pTLmVuYy5VdGY4LnBhcnNlKCJtdlhCU1c3ZWtyZUl0TnNUIik7CiAgICAgICAgICAgIGxldCBpdiA9IENyeXB0b0pTLmVuYy5VdGY4LnBhcnNlKCIyVTNJckpMOHN6QUtwMEZqIik7CiAgICAgICAgICAgIC8vIOWwhuaWh+acrOWKoOWvhuS4uiBBRVMvQ0JDL1BLQ1M1UGFkZGluZyDmoLzlvI8KICAgICAgICAgICAgbGV0IGVuY3J5cHRlZCA9IENyeXB0b0pTLkFFUy5lbmNyeXB0KHBsYWluVGV4dCwga2V5LCB7CiAgICAgICAgICAgICAgICBpdjogaXYsCiAgICAgICAgICAgICAgICBtb2RlOiBDcnlwdG9KUy5tb2RlLkNCQywKICAgICAgICAgICAgICAgIHBhZGRpbmc6IENyeXB0b0pTLnBhZC5Qa2NzNwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIOiOt+WPluWKoOWvhue7k+aenOW5tui9rOS4uiBIZXgg5qC85byPCiAgICAgICAgICAgIGxldCBlbmNyeXB0ZWRIZXggPSBlbmNyeXB0ZWQuY2lwaGVydGV4dC50b1N0cmluZyhDcnlwdG9KUy5lbmMuSGV4KTsKICAgICAgICAgICAgcmV0dXJuIGVuY3J5cHRlZEhleC50b1VwcGVyQ2FzZSgpOyAvLyDov5Tlm57lpKflhpkgSGV4IOagvOW8jwogICAgICAgIH0KICAgICAgICBmdW5jdGlvbiBEZWNyeXB0KHdvcmQsIGtleSwgaXYpIHsKICAgICAgICAgICAgbGV0IGVuY3J5cHRlZEhleFN0ciA9IENyeXB0b0pTLmVuYy5IZXgucGFyc2Uod29yZCk7CgogICAgICAgICAgICAvLyDkvb/nlKhBRVMvQ0JDL1BLQ1M1UGFkZGluZ+aooeW8j+i/m+ihjOino+WvhgogICAgICAgICAgICBsZXQgZGVjcnlwdCA9IENyeXB0b0pTLkFFUy5kZWNyeXB0KHsKICAgICAgICAgICAgICAgIGNpcGhlcnRleHQ6IGVuY3J5cHRlZEhleFN0cgogICAgICAgICAgICB9LCBrZXksIHsKICAgICAgICAgICAgICAgIGl2OiBpdiwKICAgICAgICAgICAgICAgIG1vZGU6IENyeXB0b0pTLm1vZGUuQ0JDLCAvLyDkvb/nlKhDQkPmqKHlvI8KICAgICAgICAgICAgICAgIHBhZGRpbmc6IENyeXB0b0pTLnBhZC5Qa2NzNyAvLyDkvb/nlKhQS0NTIzfloavlhYUKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAvLyDlsIbop6Plr4blkI7nmoTmlbDmja7ovazmjaLkuLrljp/lp4vmlofmnKwKICAgICAgICAgICAgbGV0IGRlY3J5cHRlZFN0ciA9IGRlY3J5cHQudG9TdHJpbmcoQ3J5cHRvSlMuZW5jLlV0ZjgpOwoKICAgICAgICAgICAgLy8g6L+U5Zue6Kej5a+G5ZCO55qE5paH5pysCiAgICAgICAgICAgIHJldHVybiBkZWNyeXB0ZWRTdHI7CiAgICAgICAgfQogICAgICAgIGZ1bmN0aW9uIGdldGJvZHkzKGtleSwgdCkgewogICAgICAgICAgICB2YXIgc2lnbmF0dXJlID0gJ3Rva2VuX2lkPSx0b2tlbj0xYmU4NmU4ZTE4YTlmYTE4YjJiOGQ1NDMyNjk5ZGFkMC5hYzAwOGVkNjUwZmQwODdiZmJlY2YyZmRhOWQ4MmU5ODM1MjUzZWYyNDg0M2U2YjE4ZmNkMTI4YjEwNzYzNDk3YmNmOWQ1M2U5NTlmNTM3N2NkZTAzOGMyMGNjZjlkMTdmNjA0YzliOGJiNmU2MTA0MWRlZjg2NzI5YjJmYzc0MDhiZDI0MWUyM2MyMTNhYzU3ZjAyMjZlZTY1NmUyYmIwYTU4M2FlMGU0ZjNiZjZjNmFiNmM0OTBjOWE2ZjBkOGNkZmQzNjZhYWNmNWQ4MzE5MzY3MWE4Zjc3Y2QxYWYxZmYyZTkxNDVkZTkyZWM0M2VjODdjZjRiZGM1NjNmNmU5MTlmZTMyODYxYjBlOTNiMTE4ZWMzN2Q4MDM1ZmJiM2MuNTlkZDA1YzVkOWE4YWU3MjY1Mjg3ODMxMjgyMThmMTVmZTZmMmMwYzgxNDVlZGRhYjExMmIzNzRmY2ZlM2Q3OSxwaG9uZV90eXBlPTEscmVxdWVzdF9rZXk9JyArIGtleSArICcsYXBwX2lkPTEsdGltZT0nICsgdCArICcsa2V5cz1xRHBvdEUyYmVkaW1LM1FHcWx5VjVpZVhYQzNFaGFQTFErSU9KeUhuSGZsQ2o1dy83RVNLN0ZneXdNdnJnanhieDBHa2xFRkxJNCtKc2hneVNlNjMzT0lSc3R1a3R3ZGlDeTNDVCtmTFNwdXhCSkRJbGZYUURhZUgzaWcxd2lCMEpzWjYwMVhIaUZ3ZUdNdTR0WmZuU3BIZzNPbm9MNm56L3V1clVpZjJPSzQ9KiZ6dmR2ZHZkZGJmaWtra3VtdG1kd3FwcHA/fDRZIXMhMmJyJzsgLy9sb2coc2lnbmF0dXJlKQogICAgICAgICAgICB2YXIgc2lnbmF0dXJlMiA9IG1kNShzaWduYXR1cmUpLnRvVXBwZXJDYXNlKCk7IC8vbG9nKHNpZ25hdHVyZTIpCiAgICAgICAgICAgIHZhciBib2R5ID0gJ3Rva2VuPTFiZTg2ZThlMThhOWZhMThiMmI4ZDU0MzI2OTlkYWQwLmFjMDA4ZWQ2NTBmZDA4N2JmYmVjZjJmZGE5ZDgyZTk4MzUyNTNlZjI0ODQzZTZiMThmY2QxMjhiMTA3NjM0OTdiY2Y5ZDUzZTk1OWY1Mzc3Y2RlMDM4YzIwY2NmOWQxN2Y2MDRjOWI4YmI2ZTYxMDQxZGVmODY3MjliMmZjNzQwOGJkMjQxZTIzYzIxM2FjNTdmMDIyNmVlNjU2ZTJiYjBhNTgzYWUwZTRmM2JmNmM2YWI2YzQ5MGM5YTZmMGQ4Y2RmZDM2NmFhY2Y1ZDgzMTkzNjcxYThmNzdjZDFhZjFmZjJlOTE0NWRlOTJlYzQzZWM4N2NmNGJkYzU2M2Y2ZTkxOWZlMzI4NjFiMGU5M2IxMThlYzM3ZDgwMzVmYmIzYy41OWRkMDVjNWQ5YThhZTcyNjUyODc4MzEyODIxOGYxNWZlNmYyYzBjODE0NWVkZGFiMTEyYjM3NGZjZmUzZDc5JnRva2VuX2lkPSZwaG9uZV90eXBlPTEmdGltZT0nICsgdCArICcmcGhvbmVfbW9kZWw9eGlhb21pLTIyMDIxMjExcmMma2V5cz1xRHBvdEUyYmVkaW1LM1FHcWx5VjVpZVhYQzNFaGFQTFElMkJJT0p5SG5IZmxDajV3JTJGN0VTSzdGZ3l3TXZyZ2p4YngwR2tsRUZMSTQlMkJKc2hneVNlNjMzT0lSc3R1a3R3ZGlDeTNDVCUyQmZMU3B1eEJKRElsZlhRRGFlSDNpZzF3aUIwSnNaNjAxWEhpRndlR011NHRaZm5TcEhnM09ub0w2bnolMkZ1dXJVaWYyT0s0JTNEJnJlcXVlc3Rfa2V5PScgKyBrZXkgKyAnJnNpZ25hdHVyZT0nICsgc2lnbmF0dXJlMiArICcmYXBwX2lkPTEmYWRfdmVyc2lvbj0xJzsKICAgICAgICAgICAgcmV0dXJuIGJvZHkKICAgICAgICB9CiAgICAgICAgY29uc3QgYm9keWtleSA9ICJNSUlDZGdJQkFEQU5CZ2txaGtpRzl3MEJBUUVGQUFTQ0FtQXdnZ0pjQWdFQUFvR0FlNmhLcldMaTF6UW1qVFQxb3piRTRRZEZlSkdOeHVieGxkNkdyRkd4aW14Zk1zTUI2QnBKaHBjVG91QXF5d0FGcHBpS2V0VUJCYlh3WXNZVTF3TnI2NDhYVm1QbUNNQ3k0clk4dmRsaUZuYk1VajA4NkRVNlorL29YQmRXVTMvYjFHMEROM0U5d1VMUlN3Y0taVDN3ai9jQ0kxdnNDbTNnajJSNVNxa0E5WTBDQXdFQUFRS0JnQUpIKzRDeFYwL3pCVmNMaUJDSHZTQU5tMGw3SGV0eWJUaC9qMnAwWTFzVFhybzRBTHdBYUNUVWVxZEJqV2lMU285bE53REhGeXE4elg5MCtnTnhhN2M1RXFjV1Y5Rm1sVlhyOFZoZkJ6Y1pvMW5YZU5kWEZUN3RRMnlhaC9vZHRkY3grdlJNU0dKZDF0LzVrNWJEZDl3QXZZZElEYmxNQWcrd2lLS1o1S2NkQWtFQTFjQ2FrRU40TmV4a0Y1dEhQUnJSNlhPWS9YSGZrcVh4RWhNcW1OYkI5VTM0c2FUSm5MV0lIQzhJWHlzNlFtenozMFR0ekNqdU9xS1JSeStGTU00VGR3SkJBSlFaRlBqc0dDK1JxY0c1VXZWTWlNUGhud2UvYlhFZWhTaEs4NnlKSy9nL1VpS3JPODdoM2FFdTVnY0pxQnlnVHEzQkJCb0gybWQzcHIvVytoVU1XQnNDUVFDaGZoVElyZERpbktpNmxSeHJkQm5uME9oamcyY3d1cUs1enpVOXAvTitTOXg3Q2s4d1VJNTNES204alVKRThXQUc3V0xqL29DT1dFaCtpYzZOSXdUZEFrRUFqMFg4bmh4NkFYc2dDWVJxbDFrbGJxdFZtTDgrOTVLWks3UG5MV0cvSWZqUVV5M3BQR29TYVo3ZmRxdUc4YnE4b3lmNStkempFL29UWGNCeVMrNlhSUUpBUC81Y2l5MWJMM05oVWhzYU9WeTU1TUhYblBqZGNUWDBGYUxpK3liWFpJZklRMlA0cmIxOW1WcTFmZU1iQ1hoeitMMXJHOG9hdDVsWUtmcGU4azgzWkE9PSI7CiAgICAgICAgZnVuY3Rpb24gZ2V0aHRtbCh1LCBib2R5LCBoZWFkZXJzKSB7CiAgICAgICAgICAgIHZhciBoZCA9IGZldGNoKHUsIHsKICAgICAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsCiAgICAgICAgICAgICAgICBib2R5OiBib2R5LAogICAgICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCcsCiAgICAgICAgICAgICAgICByZWplY3RDb2Rpbmc6IHRydWUKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIHZhciBiYW5uZXIgPSBKU09OLnBhcnNlKGhkKS5kYXRhOwogICAgICAgICAgICB2YXIgcmVzcG9uc2Vfa2V5ID0gYmFubmVyLnJlc3BvbnNlX2tleTsgLy9sb2coKQogICAgICAgICAgICB2YXIga2V5cyA9IGJhbm5lci5rZXlzOyAvL2xvZyhrZXlzKQogICAgICAgICAgICB2YXIgYm9keWtleWl2ID0gSlNPTi5wYXJzZShSU0EuZGVjb2RlKGtleXMsIGJvZHlrZXkpKTsKICAgICAgICAgICAgdmFyIGtleSA9IENyeXB0b0pTLmVuYy5VdGY4LnBhcnNlKGJvZHlrZXlpdi5rZXkpOwogICAgICAgICAgICB2YXIgaXYgPSBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShib2R5a2V5aXYuaXYpOwogICAgICAgICAgICB2YXIgaHRtbCA9IERlY3J5cHQocmVzcG9uc2Vfa2V5LCBrZXksIGl2KTsKICAgICAgICAgICAgcmV0dXJuIGh0bWwKICAgICAgICB9CiAgICAgICAgZnVuY3Rpb24gaHFzdWIoTVlfQ0FURSkgewogICAgICAgICAgICB2YXIgc3VicyA9IFsiNSIsICIxMiIsICIzMCIsICIyMiIsICIiXQogICAgICAgICAgICB2YXIgdGlkcyA9IFsiMSIsICIyIiwgIjQiLCAiMyIsICI2NCJdCiAgICAgICAgICAgIGxldCBpbmRleCA9IHRpZHMuaW5kZXhPZihNWV9DQVRFKTsKICAgICAgICAgICAgaWYgKGluZGV4ICE9PSAtMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHN1YnNbaW5kZXhdOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiAiIjsgLy8g5oiW6ICF5qC55o2u6ZyA6KaB6L+U5Zue5YW25LuW5YC8CiAgICAgICAgfQogICAgICAgIHZhciBoZWFkZXJzID0gewogICAgICAgICAgICAnQ2FjaGUtQ29udHJvbCc6ICduby1jYWNoZScsCiAgICAgICAgICAgICdWZXJzaW9uJzogJzI0MDYwMjUnLAogICAgICAgICAgICAnUGFja2FnZU5hbWUnOiAnY29tLnVmMDc2YmYwYzI0Ni5xZTQzOWYwZDVlLm04YWFmNTZiNzI1YS5pZmViNjQ3MzQ2ZicsCiAgICAgICAgICAgICdWZXInOiAnMS45LjInLAogICAgICAgICAgICAnUmVmZXJlcic6ICdodHRwczovL2FwaS44dXRkdGNxLmNvbScsCiAgICAgICAgICAgICdYLUN1c3RvbWVyLUNsaWVudC1JcCc6ICcxMjcuMC4wLjEnLAogICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcsCiAgICAgICAgICAgICdIb3N0JzogJ2FwaS44dXRkdGNxLmNvbScsCiAgICAgICAgICAgICdDb25uZWN0aW9uJzogJ0tlZXAtQWxpdmUnLAogICAgICAgICAgICAvLydBY2NlcHQtRW5jb2RpbmcnOiAnZ3ppcCcsCiAgICAgICAgICAgICdVc2VyLUFnZW50JzogJ29raHR0cC8zLjEyLjAnCiAgICAgICAgfQogICAgICAgIHZhciB0aWQgPSBNWV9DQVRFOwogICAgICAgIHZhciBzdWIgPSBocXN1YihNWV9DQVRFKQogICAgICAgIHZhciB0aW1lc3RhbXAgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7CiAgICAgICAgdmFyIHQgPSB0aW1lc3RhbXAudG9TdHJpbmcoKS5zcGxpdCgnLicpWzBdOwogICAgICAgIHZhciByZXF1ZXN0X2tleSA9IEpTT04uc3RyaW5naWZ5KHsgImFyZWEiOiAoTVlfRkwuYXJlYSB8fCAwKS50b1N0cmluZygpLCAic3ViIjogKE1ZX0ZMLnN1YiB8fCBzdWIpLnRvU3RyaW5nKCksICJ5ZWFyIjogKE1ZX0ZMLnllYXIgfHwgMCkudG9TdHJpbmcoKSwgInBhZ2VTaXplIjogIjMwIiwgInNvcnQiOiAoTVlfRkwuc29ydCB8fCAiZF9pZCIpLnRvU3RyaW5nKCksICJwYWdlIjogTVlfUEFHRSwgInRpZCI6IHRpZCB9KTsKICAgICAgICB2YXIgcmVxdWVzdF9rZXkyID0gRW5jcnlwdChyZXF1ZXN0X2tleSk7CiAgICAgICAgdmFyIGJvZHkgPSBnZXRib2R5MyhyZXF1ZXN0X2tleTIsIHQpCiAgICAgICAgdmFyIGh0bWwyID0gZ2V0aHRtbCgiaHR0cHM6Ly9hcGkuOHV0ZHRjcS5jb20vQXBwL0luZGV4TGlzdC9pbmRleExpc3QiLCBib2R5LCBoZWFkZXJzKQogICAgICAgIC8vY29uc29sZS5sb2coInR0dHR0bGllYj09IitodG1sMikKICAgICAgICB2YXIgbGlzdCA9IEpTT04ucGFyc2UoaHRtbDIpLmxpc3Q7IC8vbG9nKGxpc3QpCiAgICAgICAgbGlzdC5mb3JFYWNoKGRhdGEgPT4gewogICAgICAgICAgICBkLnB1c2goewogICAgICAgICAgICAgICAgdGl0bGU6IGRhdGEudm9kX25hbWUsCiAgICAgICAgICAgICAgICBkZXNjOiBkYXRhLnZvZF9jb250aW51ID09IDAgPyAn55S15b2xJyA6ICfmm7TmlrDoh7MnK2RhdGEudm9kX2NvbnRpbnUrJ+mbhicsCiAgICAgICAgICAgICAgICB5ZWFyOiBkYXRhLnZvZF9zY3JvZSwKICAgICAgICAgICAgICAgIGltZzogZGF0YS52b2RfcGljLAogICAgICAgICAgICAgICAgdXJsOiBgJHtkYXRhLnZvZF9pZH0vJHtkYXRhLnZvZF9jb250aW51fWAsCiAgICAgICAgICAgIH0pCiAgICAgICAgfSkKICAgICAgICBzZXRSZXN1bHQoZCkKICAgIH0pLAogICAg5LqM57qnOiAkanMudG9TdHJpbmcoKCkgPT4gewogICAgICAgIC8vIHZhciBkID0gW107CiAgICAgICAgZnVuY3Rpb24gRW5jcnlwdChwbGFpblRleHQpIHsKICAgICAgICAgICAgbGV0IGtleSA9IENyeXB0b0pTLmVuYy5VdGY4LnBhcnNlKCJtdlhCU1c3ZWtyZUl0TnNUIik7CiAgICAgICAgICAgIGxldCBpdiA9IENyeXB0b0pTLmVuYy5VdGY4LnBhcnNlKCIyVTNJckpMOHN6QUtwMEZqIik7CiAgICAgICAgICAgIC8vIOWwhuaWh+acrOWKoOWvhuS4uiBBRVMvQ0JDL1BLQ1M1UGFkZGluZyDmoLzlvI8KICAgICAgICAgICAgbGV0IGVuY3J5cHRlZCA9IENyeXB0b0pTLkFFUy5lbmNyeXB0KHBsYWluVGV4dCwga2V5LCB7CiAgICAgICAgICAgICAgICBpdjogaXYsCiAgICAgICAgICAgICAgICBtb2RlOiBDcnlwdG9KUy5tb2RlLkNCQywKICAgICAgICAgICAgICAgIHBhZGRpbmc6IENyeXB0b0pTLnBhZC5Qa2NzNwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIOiOt+WPluWKoOWvhue7k+aenOW5tui9rOS4uiBIZXgg5qC85byPCiAgICAgICAgICAgIGxldCBlbmNyeXB0ZWRIZXggPSBlbmNyeXB0ZWQuY2lwaGVydGV4dC50b1N0cmluZyhDcnlwdG9KUy5lbmMuSGV4KTsKICAgICAgICAgICAgcmV0dXJuIGVuY3J5cHRlZEhleC50b1VwcGVyQ2FzZSgpOyAvLyDov5Tlm57lpKflhpkgSGV4IOagvOW8jwogICAgICAgIH0KICAgICAgICBmdW5jdGlvbiBEZWNyeXB0KHdvcmQsIGtleSwgaXYpIHsKICAgICAgICAgICAgbGV0IGVuY3J5cHRlZEhleFN0ciA9IENyeXB0b0pTLmVuYy5IZXgucGFyc2Uod29yZCk7CgogICAgICAgICAgICAvLyDkvb/nlKhBRVMvQ0JDL1BLQ1M1UGFkZGluZ+aooeW8j+i/m+ihjOino+WvhgogICAgICAgICAgICBsZXQgZGVjcnlwdCA9IENyeXB0b0pTLkFFUy5kZWNyeXB0KHsKICAgICAgICAgICAgICAgIGNpcGhlcnRleHQ6IGVuY3J5cHRlZEhleFN0cgogICAgICAgICAgICB9LCBrZXksIHsKICAgICAgICAgICAgICAgIGl2OiBpdiwKICAgICAgICAgICAgICAgIG1vZGU6IENyeXB0b0pTLm1vZGUuQ0JDLCAvLyDkvb/nlKhDQkPmqKHlvI8KICAgICAgICAgICAgICAgIHBhZGRpbmc6IENyeXB0b0pTLnBhZC5Qa2NzNyAvLyDkvb/nlKhQS0NTIzfloavlhYUKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAvLyDlsIbop6Plr4blkI7nmoTmlbDmja7ovazmjaLkuLrljp/lp4vmlofmnKwKICAgICAgICAgICAgbGV0IGRlY3J5cHRlZFN0ciA9IGRlY3J5cHQudG9TdHJpbmcoQ3J5cHRvSlMuZW5jLlV0ZjgpOwoKICAgICAgICAgICAgLy8g6L+U5Zue6Kej5a+G5ZCO55qE5paH5pysCiAgICAgICAgICAgIHJldHVybiBkZWNyeXB0ZWRTdHI7CiAgICAgICAgfQogICAgICAgIGZ1bmN0aW9uIGdldGJvZHkyKGtleSwgdCkgewogICAgICAgICAgICB2YXIgc2lnbmF0dXJlID0gJ3Rva2VuX2lkPSx0b2tlbj0xYmU4NmU4ZTE4YTlmYTE4YjJiOGQ1NDMyNjk5ZGFkMC5hYzAwOGVkNjUwZmQwODdiZmJlY2YyZmRhOWQ4MmU5ODM1MjUzZWYyNDg0M2U2YjE4ZmNkMTI4YjEwNzYzNDk3YmNmOWQ1M2U5NTlmNTM3N2NkZTAzOGMyMGNjZjlkMTdmNjA0YzliOGJiNmU2MTA0MWRlZjg2NzI5YjJmYzc0MDhiZDI0MWUyM2MyMTNhYzU3ZjAyMjZlZTY1NmUyYmIwYTU4M2FlMGU0ZjNiZjZjNmFiNmM0OTBjOWE2ZjBkOGNkZmQzNjZhYWNmNWQ4MzE5MzY3MWE4Zjc3Y2QxYWYxZmYyZTkxNDVkZTkyZWM0M2VjODdjZjRiZGM1NjNmNmU5MTlmZTMyODYxYjBlOTNiMTE4ZWMzN2Q4MDM1ZmJiM2MuNTlkZDA1YzVkOWE4YWU3MjY1Mjg3ODMxMjgyMThmMTVmZTZmMmMwYzgxNDVlZGRhYjExMmIzNzRmY2ZlM2Q3OSxwaG9uZV90eXBlPTEscmVxdWVzdF9rZXk9JyArIGtleSArICcsYXBwX2lkPTEsdGltZT0nICsgdCArICcsa2V5cz1RbXhpNWNpV1hiUXprcjdvK1NVTmlVdVF4UUVmOC9BVnlVV1k0VC9CR2hjWEJJVXo0bk95SEJHZjlBNEtiTTBpS0YzeXA5TTdXQVkwcnJzNVB6ZFRBT0I0NXBsY1Myelowd1VpYmNYdUdKMjlWVkdSV0tHd0U5enUydkx3aGZnalRhYURwWG80cmJ5KzdHeFhUa3R6Sm14dm5lT1VkWWVIaStQWnNUaGx2UEk9KiZ6dmR2ZHZkZGJmaWtra3VtdG1kd3FwcHA/fDRZIXMhMmJyJzsgLy9sb2coc2lnbmF0dXJlKQogICAgICAgICAgICB2YXIgc2lnbmF0dXJlMiA9IG1kNShzaWduYXR1cmUpOyAvL2xvZyhzaWduYXR1cmUyKQogICAgICAgICAgICB2YXIgYm9keSA9ICd0b2tlbj0xYmU4NmU4ZTE4YTlmYTE4YjJiOGQ1NDMyNjk5ZGFkMC5hYzAwOGVkNjUwZmQwODdiZmJlY2YyZmRhOWQ4MmU5ODM1MjUzZWYyNDg0M2U2YjE4ZmNkMTI4YjEwNzYzNDk3YmNmOWQ1M2U5NTlmNTM3N2NkZTAzOGMyMGNjZjlkMTdmNjA0YzliOGJiNmU2MTA0MWRlZjg2NzI5YjJmYzc0MDhiZDI0MWUyM2MyMTNhYzU3ZjAyMjZlZTY1NmUyYmIwYTU4M2FlMGU0ZjNiZjZjNmFiNmM0OTBjOWE2ZjBkOGNkZmQzNjZhYWNmNWQ4MzE5MzY3MWE4Zjc3Y2QxYWYxZmYyZTkxNDVkZTkyZWM0M2VjODdjZjRiZGM1NjNmNmU5MTlmZTMyODYxYjBlOTNiMTE4ZWMzN2Q4MDM1ZmJiM2MuNTlkZDA1YzVkOWE4YWU3MjY1Mjg3ODMxMjgyMThmMTVmZTZmMmMwYzgxNDVlZGRhYjExMmIzNzRmY2ZlM2Q3OSZ0b2tlbl9pZD0mcGhvbmVfdHlwZT0xJnRpbWU9JyArIHQgKyAnJnBob25lX21vZGVsPXhpYW9taS0yMjAyMTIxMXJjJmtleXM9UW14aTVjaVdYYlF6a3I3byUyQlNVTmlVdVF4UUVmOCUyRkFWeVVXWTRUJTJGQkdoY1hCSVV6NG5PeUhCR2Y5QTRLYk0waUtGM3lwOU03V0FZMHJyczVQemRUQU9CNDVwbGNTMnpaMHdVaWJjWHVHSjI5VlZHUldLR3dFOXp1MnZMd2hmZ2pUYWFEcFhvNHJieSUyQjdHeFhUa3R6Sm14dm5lT1VkWWVIaSUyQlBac1RobHZQSSUzRCZyZXF1ZXN0X2tleT0nICsga2V5ICsgJyZzaWduYXR1cmU9JyArIHNpZ25hdHVyZTIgKyAnJmFwcF9pZD0xJmFkX3ZlcnNpb249MSc7IC8vbG9nKGJvZHkpCiAgICAgICAgICAgIHJldHVybiBib2R5CiAgICAgICAgfQogICAgICAgIGNvbnN0IGJvZHlrZXkgPSAiTUlJQ2RnSUJBREFOQmdrcWhraUc5dzBCQVFFRkFBU0NBbUF3Z2dKY0FnRUFBb0dBZTZoS3JXTGkxelFtalRUMW96YkU0UWRGZUpHTnh1YnhsZDZHckZHeGlteGZNc01CNkJwSmhwY1RvdUFxeXdBRnBwaUtldFVCQmJYd1lzWVUxd05yNjQ4WFZtUG1DTUN5NHJZOHZkbGlGbmJNVWowODZEVTZaKy9vWEJkV1UzL2IxRzBETjNFOXdVTFJTd2NLWlQzd2ovY0NJMXZzQ20zZ2oyUjVTcWtBOVkwQ0F3RUFBUUtCZ0FKSCs0Q3hWMC96QlZjTGlCQ0h2U0FObTBsN0hldHliVGgvajJwMFkxc1RYcm80QUx3QWFDVFVlcWRCaldpTFNvOWxOd0RIRnlxOHpYOTArZ054YTdjNUVxY1dWOUZtbFZYcjhWaGZCemNabzFuWGVOZFhGVDd0UTJ5YWgvb2R0ZGN4K3ZSTVNHSmQxdC81azViRGQ5d0F2WWRJRGJsTUFnK3dpS0taNUtjZEFrRUExY0Nha0VONE5leGtGNXRIUFJyUjZYT1kvWEhma3FYeEVoTXFtTmJCOVUzNHNhVEpuTFdJSEM4SVh5czZRbXp6MzBUdHpDanVPcUtSUnkrRk1NNFRkd0pCQUpRWkZQanNHQytScWNHNVV2Vk1pTVBobndlL2JYRWVoU2hLODZ5SksvZy9VaUtyTzg3aDNhRXU1Z2NKcUJ5Z1RxM0JCQm9IMm1kM3ByL1craFVNV0JzQ1FRQ2hmaFRJcmREaW5LaTZsUnhyZEJubjBPaGpnMmN3dXFLNXp6VTlwL04rUzl4N0NrOHdVSTUzREttOGpVSkU4V0FHN1dMai9vQ09XRWgraWM2Tkl3VGRBa0VBajBYOG5oeDZBWHNnQ1lScWwxa2xicXRWbUw4Kzk1S1pLN1BuTFdHL0lmalFVeTNwUEdvU2FaN2ZkcXVHOGJxOG95ZjUrZHpqRS9vVFhjQnlTKzZYUlFKQVAvNWNpeTFiTDNOaFVoc2FPVnk1NU1IWG5QamRjVFgwRmFMaSt5YlhaSWZJUTJQNHJiMTltVnExZmVNYkNYaHorTDFyRzhvYXQ1bFlLZnBlOGs4M1pBPT0iOwogICAgICAgIGZ1bmN0aW9uIGdldGh0bWwodSwgYm9keSwgaGVhZGVycykgewogICAgICAgICAgICB2YXIgaGQgPSBmZXRjaCh1LCB7CiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLAogICAgICAgICAgICAgICAgYm9keTogYm9keSwKICAgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLAogICAgICAgICAgICAgICAgcmVqZWN0Q29kaW5nOiB0cnVlCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICB2YXIgYmFubmVyID0gSlNPTi5wYXJzZShoZCkuZGF0YTsKICAgICAgICAgICAgdmFyIHJlc3BvbnNlX2tleSA9IGJhbm5lci5yZXNwb25zZV9rZXk7IC8vbG9nKCkKICAgICAgICAgICAgdmFyIGtleXMgPSBiYW5uZXIua2V5czsgLy9sb2coa2V5cykKICAgICAgICAgICAgdmFyIGJvZHlrZXlpdiA9IEpTT04ucGFyc2UoUlNBLmRlY29kZShrZXlzLCBib2R5a2V5KSk7CiAgICAgICAgICAgIHZhciBrZXkgPSBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShib2R5a2V5aXYua2V5KTsKICAgICAgICAgICAgdmFyIGl2ID0gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2UoYm9keWtleWl2Lml2KTsKICAgICAgICAgICAgdmFyIGh0bWwgPSBEZWNyeXB0KHJlc3BvbnNlX2tleSwga2V5LCBpdik7CiAgICAgICAgICAgIHJldHVybiBodG1sCiAgICAgICAgfQogICAgICAgIGNvbnN0IGhlYWRlcnMgPSB7CiAgICAgICAgICAgICdDYWNoZS1Db250cm9sJzogJ25vLWNhY2hlJywKICAgICAgICAgICAgJ1ZlcnNpb24nOiAnMjQwNjAyNScsCiAgICAgICAgICAgICdQYWNrYWdlTmFtZSc6ICdjb20udWYwNzZiZjBjMjQ2LnFlNDM5ZjBkNWUubThhYWY1NmI3MjVhLmlmZWI2NDczNDZmJywKICAgICAgICAgICAgJ1Zlcic6ICcxLjkuMicsCiAgICAgICAgICAgICdSZWZlcmVyJzogJ2h0dHBzOi8vYXBpLjh1dGR0Y3EuY29tJywKICAgICAgICAgICAgJ1gtQ3VzdG9tZXItQ2xpZW50LUlwJzogJzEyNy4wLjAuMScsCiAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJywKICAgICAgICAgICAgJ0hvc3QnOiAnYXBpLjh1dGR0Y3EuY29tJywKICAgICAgICAgICAgJ0Nvbm5lY3Rpb24nOiAnS2VlcC1BbGl2ZScsCiAgICAgICAgICAgIC8vJ0FjY2VwdC1FbmNvZGluZyc6ICdnemlwJywKICAgICAgICAgICAgJ1VzZXItQWdlbnQnOiAnb2todHRwLzMuMTIuMCcKICAgICAgICB9CiAgICAgICAgLy8gdmFyIE1ZX1VSTCA9IE1ZX1VSTC5zcGxpdCgiIyMiKVsxXTsgLy9sb2coTVlfVVJMKQogICAgICAgIGlucHV0ID0gaW5wdXQucmVwbGFjZSgnaHR0cHM6Ly9hcGkuOHV0ZHRjcS5jb20vJywgJycpOwogICAgICAgIC8vY29uc29sZS5sb2coImlucHV0LS0tLT09PT0iK2lucHV0KQoKICAgICAgICAvLyB2YXIgdm9kX2NvbnRpbnUgPSBpbnB1dC5zcGxpdCgiLyIpWzFdOyAvL2xvZyh2b2RfaWQpCiAgICAgICAgdmFyIHZvZF9pZCA9IGlucHV0LnNwbGl0KCIvIilbMF07CiAgICAgICAgLy9jb25zb2xlLmxvZygidm9kLS0tLT09PT0iK3ZvZF9pZCkKICAgICAgICB2YXIgdGltZXN0YW1wID0gbmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwOwogICAgICAgIHZhciB0ID0gdGltZXN0YW1wLnRvU3RyaW5nKCkuc3BsaXQoJy4nKVswXTsKICAgICAgICB2YXIgcmVxdWVzdF9rZXkgPSBKU09OLnN0cmluZ2lmeSh7CiAgICAgICAgICAgICJ0b2tlbl9pZCI6ICIzOTM2NjgiLAogICAgICAgICAgICAidm9kX2lkIjogdm9kX2lkLAogICAgICAgICAgICAibW9iaWxlX3RpbWUiOiB0LAogICAgICAgICAgICAidG9rZW4iOiAiMWJlODZlOGUxOGE5ZmExOGIyYjhkNTQzMjY5OWRhZDAuYWMwMDhlZDY1MGZkMDg3YmZiZWNmMmZkYTlkODJlOTgzNTI1M2VmMjQ4NDNlNmIxOGZjZDEyOGIxMDc2MzQ5N2JjZjlkNTNlOTU5ZjUzNzdjZGUwMzhjMjBjY2Y5ZDE3ZjYwNGM5YjhiYjZlNjEwNDFkZWY4NjcyOWIyZmM3NDA4YmQyNDFlMjNjMjEzYWM1N2YwMjI2ZWU2NTZlMmJiMGE1ODNhZTBlNGYzYmY2YzZhYjZjNDkwYzlhNmYwZDhjZGZkMzY2YWFjZjVkODMxOTM2NzFhOGY3N2NkMWFmMWZmMmU5MTQ1ZGU5MmVjNDNlYzg3Y2Y0YmRjNTYzZjZlOTE5ZmUzMjg2MWIwZTkzYjExOGVjMzdkODAzNWZiYjNjLjU5ZGQwNWM1ZDlhOGFlNzI2NTI4NzgzMTI4MjE4ZjE1ZmU2ZjJjMGM4MTQ1ZWRkYWIxMTJiMzc0ZmNmZTNkNzkiCiAgICAgICAgfSk7CiAgICAgICAgdmFyIHJlcXVlc3Rfa2V5MiA9IEVuY3J5cHQocmVxdWVzdF9rZXkpOwogICAgICAgIHZhciBib2R5ID0gZ2V0Ym9keTIocmVxdWVzdF9rZXkyLCB0KQogICAgICAgIHZhciBodG1sID0gZ2V0aHRtbCgiaHR0cHM6Ly9hcGkuOHV0ZHRjcS5jb20vQXBwL0luZGV4UGxheS9wbGF5SW5mbyIsIGJvZHksIGhlYWRlcnMpCiAgICAgICAgdmFyIGRhdGEyID0gSlNPTi5wYXJzZShodG1sKS52b2RJbmZvOyAvL2NvbnNvbGUubG9nKCJod3Vkd3VkZy09PT09IitKU09OLnN0cmluZ2lmeShkYXRhMikpCiAgICAgICAgdmFyIHJlcXVlc3Rfa2V5MyA9IEpTT04uc3RyaW5naWZ5KHsKICAgICAgICAgICAgInZ1cmxfY2xvdWRfaWQiOiAiMiIsCiAgICAgICAgICAgICJ2b2RfZF9pZCI6IHZvZF9pZAogICAgICAgIH0pOyAvL2xvZyhyZXF1ZXN0X2tleTMpCiAgICAgICAgdmFyIHJlcXVlc3Rfa2V5NCA9IEVuY3J5cHQocmVxdWVzdF9rZXkzKTsgLy9sb2cocmVxdWVzdF9rZXk0KQogICAgICAgIHZhciBib2R5MiA9IGdldGJvZHkyKHJlcXVlc3Rfa2V5NCwgdCkKCiAgICAgICAgdmFyIGh0bWwzID0gZ2V0aHRtbCgiaHR0cHM6Ly9hcGkuOHV0ZHRjcS5jb20vQXBwL1Jlc291cmNlL1Z1cmwvc2hvdyIsIGJvZHkyLCBoZWFkZXJzKTsgLy9sb2coaHRtbDMpCgogICAgICAgIHZhciBsaXN0ID0gSlNPTi5wYXJzZShodG1sMykubGlzdDsKICAgICAgICBsZXQgbm5ubW0gPSBbXTsKICAgICAgICBsaXN0LmZvckVhY2goaXRlbSA9PiB7CiAgICAgICAgICAgIC8vIOiOt+WPlnBsYXnlr7nosaHnmoTmiYDmnInlgLwKICAgICAgICAgICAgY29uc3QgcGxheVBhcmFtcyA9IE9iamVjdC52YWx1ZXMoaXRlbS5wbGF5KTsKICAgICAgICAgICAgbGV0IGxhc3RQYXJhbSA9IG51bGw7CgogICAgICAgICAgICAvLyDku47mlbDnu4TnmoTmnIDlkI7kuIDkuKrlhYPntKDlvIDlp4vvvIzlkJHliY3mn6Xmib7vvIznm7TliLDmib7liLDkuIDkuKrpnZ7nqbrnmoRwYXJhbeWAvAogICAgICAgICAgICBmb3IgKGxldCBpID0gcGxheVBhcmFtcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgewogICAgICAgICAgICAgICAgaWYgKHBsYXlQYXJhbXNbaV0ucGFyYW0pIHsKICAgICAgICAgICAgICAgICAgICBsYXN0UGFyYW0gPSBwbGF5UGFyYW1zW2ldLnBhcmFtOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyDkvb/nlKjmraPliJnooajovr7lvI/ljLnphY12dXJsX2lkCiAgICAgICAgICAgIGNvbnN0IHZ1cmxJZE1hdGNoID0gbGFzdFBhcmFtLm1hdGNoKC92dXJsX2lkPShcZCspLyk7CiAgICAgICAgICAgIGNvbnN0IHJlc29sdXRpb249bGFzdFBhcmFtLm1hdGNoKC9yZXNvbHV0aW9uPShcZCspLyk7CiAgICAgICAgICAgIC8vIOWmguaenOWMuemFjeaIkOWKn++8jOWwhnRpdGxl5ZKMdnVybF9pZOe7hOWQiOWQjnB1c2jliLByZXN1bHTmlbDnu4QKICAgICAgICAgICAgaWYgKHZ1cmxJZE1hdGNoKSB7CiAgICAgICAgICAgICAgICBubm5tbS5wdXNoKGAke2l0ZW0udGl0bGV9JCR7dm9kX2lkfS8ke3Z1cmxJZE1hdGNoWzFdfT8ke3Jlc29sdXRpb25bMV19YCk7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgICBWT0QgPSB7CiAgICAgICAgICAgIHRpdGxlOiBkYXRhMi52b2RfbmFtZSwKICAgICAgICAgICAgdHlwZTogZGF0YTIudmlkZW9UYWcudG9TdHJpbmcoKSwKICAgICAgICAgICAgZGVzYzogZGF0YTIudm9kX3VzZV9jb250ZW50LAogICAgICAgICAgICB2b2RfYWN0b3I6IGRhdGEyLnZvZF9hY3RvciwKICAgICAgICAgICAgdm9kX2FyZWE6IGRhdGEyLnZvZF9hcmVhLAogICAgICAgICAgICB2b2RfZGlyZWN0b3I6IGRhdGEyLnZvZF9kaXJlY3RvciwKICAgICAgICAgICAgaW1nOiBkYXRhMi52b2RfcGljLAogICAgICAgICAgICB2b2RfcGxheV9mcm9tOiAn5ou+5YWJ5ZeR55Oc5a2QJywKICAgICAgICAgICAgdm9kX3BsYXlfdXJsOiBubm5tbS5qb2luKCcjJykKICAgICAgICB9CiAgICB9KSwKICAgIOaQnOe0ojogJGpzLnRvU3RyaW5nKCgpID0+IHsKICAgICAgICBsZXQgZCA9IFtdOwogICAgICAgIGZ1bmN0aW9uIEVuY3J5cHQocGxhaW5UZXh0KSB7CiAgICAgICAgICAgIGxldCBrZXkgPSBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZSgibXZYQlNXN2VrcmVJdE5zVCIpOwogICAgICAgICAgICBsZXQgaXYgPSBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZSgiMlUzSXJKTDhzekFLcDBGaiIpOwogICAgICAgICAgICAvLyDlsIbmlofmnKzliqDlr4bkuLogQUVTL0NCQy9QS0NTNVBhZGRpbmcg5qC85byPCiAgICAgICAgICAgIGxldCBlbmNyeXB0ZWQgPSBDcnlwdG9KUy5BRVMuZW5jcnlwdChwbGFpblRleHQsIGtleSwgewogICAgICAgICAgICAgICAgaXY6IGl2LAogICAgICAgICAgICAgICAgbW9kZTogQ3J5cHRvSlMubW9kZS5DQkMsCiAgICAgICAgICAgICAgICBwYWRkaW5nOiBDcnlwdG9KUy5wYWQuUGtjczcKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAvLyDojrflj5bliqDlr4bnu5PmnpzlubbovazkuLogSGV4IOagvOW8jwogICAgICAgICAgICBsZXQgZW5jcnlwdGVkSGV4ID0gZW5jcnlwdGVkLmNpcGhlcnRleHQudG9TdHJpbmcoQ3J5cHRvSlMuZW5jLkhleCk7CiAgICAgICAgICAgIHJldHVybiBlbmNyeXB0ZWRIZXgudG9VcHBlckNhc2UoKTsgLy8g6L+U5Zue5aSn5YaZIEhleCDmoLzlvI8KICAgICAgICB9CiAgICAgICAgZnVuY3Rpb24gRGVjcnlwdCh3b3JkLCBrZXksIGl2KSB7CiAgICAgICAgICAgIGxldCBlbmNyeXB0ZWRIZXhTdHIgPSBDcnlwdG9KUy5lbmMuSGV4LnBhcnNlKHdvcmQpOwoKICAgICAgICAgICAgLy8g5L2/55SoQUVTL0NCQy9QS0NTNVBhZGRpbmfmqKHlvI/ov5vooYzop6Plr4YKICAgICAgICAgICAgbGV0IGRlY3J5cHQgPSBDcnlwdG9KUy5BRVMuZGVjcnlwdCh7CiAgICAgICAgICAgICAgICBjaXBoZXJ0ZXh0OiBlbmNyeXB0ZWRIZXhTdHIKICAgICAgICAgICAgfSwga2V5LCB7CiAgICAgICAgICAgICAgICBpdjogaXYsCiAgICAgICAgICAgICAgICBtb2RlOiBDcnlwdG9KUy5tb2RlLkNCQywgLy8g5L2/55SoQ0JD5qih5byPCiAgICAgICAgICAgICAgICBwYWRkaW5nOiBDcnlwdG9KUy5wYWQuUGtjczcgLy8g5L2/55SoUEtDUyM35aGr5YWFCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy8g5bCG6Kej5a+G5ZCO55qE5pWw5o2u6L2s5o2i5Li65Y6f5aeL5paH5pysCiAgICAgICAgICAgIGxldCBkZWNyeXB0ZWRTdHIgPSBkZWNyeXB0LnRvU3RyaW5nKENyeXB0b0pTLmVuYy5VdGY4KTsKCiAgICAgICAgICAgIC8vIOi/lOWbnuino+WvhuWQjueahOaWh+acrAogICAgICAgICAgICByZXR1cm4gZGVjcnlwdGVkU3RyOwogICAgICAgIH0KICAgICAgICBmdW5jdGlvbiBnZXRib2R5MyhrZXksIHQpIHsKICAgICAgICAgICAgdmFyIHNpZ25hdHVyZSA9ICd0b2tlbl9pZD0sdG9rZW49MWJlODZlOGUxOGE5ZmExOGIyYjhkNTQzMjY5OWRhZDAuYWMwMDhlZDY1MGZkMDg3YmZiZWNmMmZkYTlkODJlOTgzNTI1M2VmMjQ4NDNlNmIxOGZjZDEyOGIxMDc2MzQ5N2JjZjlkNTNlOTU5ZjUzNzdjZGUwMzhjMjBjY2Y5ZDE3ZjYwNGM5YjhiYjZlNjEwNDFkZWY4NjcyOWIyZmM3NDA4YmQyNDFlMjNjMjEzYWM1N2YwMjI2ZWU2NTZlMmJiMGE1ODNhZTBlNGYzYmY2YzZhYjZjNDkwYzlhNmYwZDhjZGZkMzY2YWFjZjVkODMxOTM2NzFhOGY3N2NkMWFmMWZmMmU5MTQ1ZGU5MmVjNDNlYzg3Y2Y0YmRjNTYzZjZlOTE5ZmUzMjg2MWIwZTkzYjExOGVjMzdkODAzNWZiYjNjLjU5ZGQwNWM1ZDlhOGFlNzI2NTI4NzgzMTI4MjE4ZjE1ZmU2ZjJjMGM4MTQ1ZWRkYWIxMTJiMzc0ZmNmZTNkNzkscGhvbmVfdHlwZT0xLHJlcXVlc3Rfa2V5PScgKyBrZXkgKyAnLGFwcF9pZD0xLHRpbWU9JyArIHQgKyAnLGtleXM9cURwb3RFMmJlZGltSzNRR3FseVY1aWVYWEMzRWhhUExRK0lPSnlIbkhmbENqNXcvN0VTSzdGZ3l3TXZyZ2p4YngwR2tsRUZMSTQrSnNoZ3lTZTYzM09JUnN0dWt0d2RpQ3kzQ1QrZkxTcHV4QkpESWxmWFFEYWVIM2lnMXdpQjBKc1o2MDFYSGlGd2VHTXU0dFpmblNwSGczT25vTDZuei91dXJVaWYyT0s0PSomenZkdmR2ZGRiZmlra2t1bXRtZHdxcHBwP3w0WSFzITJicic7IC8vbG9nKHNpZ25hdHVyZSkKICAgICAgICAgICAgdmFyIHNpZ25hdHVyZTIgPSBtZDUoc2lnbmF0dXJlKTsgLy9sb2coc2lnbmF0dXJlMikKICAgICAgICAgICAgdmFyIGJvZHkgPSAndG9rZW49MWJlODZlOGUxOGE5ZmExOGIyYjhkNTQzMjY5OWRhZDAuYWMwMDhlZDY1MGZkMDg3YmZiZWNmMmZkYTlkODJlOTgzNTI1M2VmMjQ4NDNlNmIxOGZjZDEyOGIxMDc2MzQ5N2JjZjlkNTNlOTU5ZjUzNzdjZGUwMzhjMjBjY2Y5ZDE3ZjYwNGM5YjhiYjZlNjEwNDFkZWY4NjcyOWIyZmM3NDA4YmQyNDFlMjNjMjEzYWM1N2YwMjI2ZWU2NTZlMmJiMGE1ODNhZTBlNGYzYmY2YzZhYjZjNDkwYzlhNmYwZDhjZGZkMzY2YWFjZjVkODMxOTM2NzFhOGY3N2NkMWFmMWZmMmU5MTQ1ZGU5MmVjNDNlYzg3Y2Y0YmRjNTYzZjZlOTE5ZmUzMjg2MWIwZTkzYjExOGVjMzdkODAzNWZiYjNjLjU5ZGQwNWM1ZDlhOGFlNzI2NTI4NzgzMTI4MjE4ZjE1ZmU2ZjJjMGM4MTQ1ZWRkYWIxMTJiMzc0ZmNmZTNkNzkmdG9rZW5faWQ9JnBob25lX3R5cGU9MSZ0aW1lPScgKyB0ICsgJyZwaG9uZV9tb2RlbD14aWFvbWktMjIwMjEyMTFyYyZrZXlzPXFEcG90RTJiZWRpbUszUUdxbHlWNWllWFhDM0VoYVBMUSUyQklPSnlIbkhmbENqNXclMkY3RVNLN0ZneXdNdnJnanhieDBHa2xFRkxJNCUyQkpzaGd5U2U2MzNPSVJzdHVrdHdkaUN5M0NUJTJCZkxTcHV4QkpESWxmWFFEYWVIM2lnMXdpQjBKc1o2MDFYSGlGd2VHTXU0dFpmblNwSGczT25vTDZueiUyRnV1clVpZjJPSzQlM0QmcmVxdWVzdF9rZXk9JyArIGtleSArICcmc2lnbmF0dXJlPScgKyBzaWduYXR1cmUyICsgJyZhcHBfaWQ9MSZhZF92ZXJzaW9uPTEnOwogICAgICAgICAgICByZXR1cm4gYm9keQogICAgICAgIH0KICAgICAgICBjb25zdCBib2R5a2V5ID0gIk1JSUNkZ0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQW1Bd2dnSmNBZ0VBQW9HQWU2aEtyV0xpMXpRbWpUVDFvemJFNFFkRmVKR054dWJ4bGQ2R3JGR3hpbXhmTXNNQjZCcEpocGNUb3VBcXl3QUZwcGlLZXRVQkJiWHdZc1lVMXdOcjY0OFhWbVBtQ01DeTRyWTh2ZGxpRm5iTVVqMDg2RFU2Wisvb1hCZFdVMy9iMUcwRE4zRTl3VUxSU3djS1pUM3dqL2NDSTF2c0NtM2dqMlI1U3FrQTlZMENBd0VBQVFLQmdBSkgrNEN4VjAvekJWY0xpQkNIdlNBTm0wbDdIZXR5YlRoL2oycDBZMXNUWHJvNEFMd0FhQ1RVZXFkQmpXaUxTbzlsTndESEZ5cTh6WDkwK2dOeGE3YzVFcWNXVjlGbWxWWHI4VmhmQnpjWm8xblhlTmRYRlQ3dFEyeWFoL29kdGRjeCt2Uk1TR0pkMXQvNWs1YkRkOXdBdllkSURibE1BZyt3aUtLWjVLY2RBa0VBMWNDYWtFTjROZXhrRjV0SFBSclI2WE9ZL1hIZmtxWHhFaE1xbU5iQjlVMzRzYVRKbkxXSUhDOElYeXM2UW16ejMwVHR6Q2p1T3FLUlJ5K0ZNTTRUZHdKQkFKUVpGUGpzR0MrUnFjRzVVdlZNaU1QaG53ZS9iWEVlaFNoSzg2eUpLL2cvVWlLck84N2gzYUV1NWdjSnFCeWdUcTNCQkJvSDJtZDNwci9XK2hVTVdCc0NRUUNoZmhUSXJkRGluS2k2bFJ4cmRCbm4wT2hqZzJjd3VxSzV6elU5cC9OK1M5eDdDazh3VUk1M0RLbThqVUpFOFdBRzdXTGovb0NPV0VoK2ljNk5Jd1RkQWtFQWowWDhuaHg2QVhzZ0NZUnFsMWtsYnF0Vm1MOCs5NUtaSzdQbkxXRy9JZmpRVXkzcFBHb1NhWjdmZHF1RzhicThveWY1K2R6akUvb1RYY0J5Uys2WFJRSkFQLzVjaXkxYkwzTmhVaHNhT1Z5NTVNSFhuUGpkY1RYMEZhTGkreWJYWklmSVEyUDRyYjE5bVZxMWZlTWJDWGh6K0wxckc4b2F0NWxZS2ZwZThrODNaQT09IjsKICAgICAgICBmdW5jdGlvbiBnZXRodG1sKHUsIGJvZHksIGhlYWRlcnMpIHsKICAgICAgICAgICAgdmFyIGhkID0gZmV0Y2godSwgewogICAgICAgICAgICAgICAgaGVhZGVyczogaGVhZGVycywKICAgICAgICAgICAgICAgIGJvZHk6IGJvZHksCiAgICAgICAgICAgICAgICBtZXRob2Q6ICdQT1NUJywKICAgICAgICAgICAgICAgIHJlamVjdENvZGluZzogdHJ1ZQogICAgICAgICAgICB9KTsKICAgICAgICAgICAgdmFyIGJhbm5lciA9IEpTT04ucGFyc2UoaGQpLmRhdGE7CiAgICAgICAgICAgIHZhciByZXNwb25zZV9rZXkgPSBiYW5uZXIucmVzcG9uc2Vfa2V5OyAvL2xvZygpCiAgICAgICAgICAgIC8vY29uc29sZS5sb2coInJlc3BvbnNlX2tleT09IityZXNwb25zZV9rZXkpCiAgICAgICAgICAgIHZhciBrZXlzID0gYmFubmVyLmtleXM7IC8vbG9nKGtleXMpCiAgICAgICAgICAgIHZhciBib2R5a2V5aXYgPSBKU09OLnBhcnNlKFJTQS5kZWNvZGUoa2V5cywgYm9keWtleSkpOwogICAgICAgICAgICAvL2NvbnNvbGUubG9nKCJyc2F4eHh4PT0iK0pTT04uc3RyaW5naWZ5KGJvZHlrZXlpdikpCiAgICAgICAgICAgIHZhciBrZXkgPSBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShib2R5a2V5aXYua2V5KTsKICAgICAgICAgICAgdmFyIGl2ID0gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2UoYm9keWtleWl2Lml2KTsKICAgICAgICAgICAgdmFyIGh0bWwgPSBEZWNyeXB0KHJlc3BvbnNlX2tleSwga2V5LCBpdik7CiAgICAgICAgICAgIC8vY29uc29sZS5sb2coIm5za2pzbndramRuZWpkPT09cXF4eHhxPSIrSlNPTi5zdHJpbmdpZnkoaHRtbCkpCiAgICAgICAgICAgIHJldHVybiBodG1sCiAgICAgICAgfQogICAgICAgIHZhciB0aW1lc3RhbXAgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7CiAgICAgICAgdmFyIHQgPSB0aW1lc3RhbXAudG9TdHJpbmcoKS5zcGxpdCgnLicpWzBdOwogICAgICAgIHZhciB1cmwgPSBpbnB1dC5zcGxpdCgiIyIpWzBdOy8vdXJsCiAgICAgICAgdmFyIHJlcXVlc3Rfa2V5MTEgPSBpbnB1dC5zcGxpdCgiIyIpWzFdCgogICAgICAgIHZhciByZXF1ZXN0X2tleSA9IEpTT04uc3RyaW5naWZ5KHsgImtleXdvcmRzIjogcmVxdWVzdF9rZXkxMSwgIm9yZGVyX3ZhbCI6ICIxIiB9KQogICAgICAgIC8vY29uc29sZS5sb2coIm5za2pzbndramRuZWpkPT09cXF4eHhxPXR0dHQiK3JlcXVlc3Rfa2V5KQogICAgICAgIHZhciByZXF1ZXN0X2tleTIgPSBFbmNyeXB0KHJlcXVlc3Rfa2V5KTsKICAgICAgICB2YXIgYm9keSA9IGdldGJvZHkzKHJlcXVlc3Rfa2V5MiwgdCkKICAgICAgICB2YXIgaGVhZGVycyA9IHsKICAgICAgICAgICAgJ0NhY2hlLUNvbnRyb2wnOiAnbm8tY2FjaGUnLAogICAgICAgICAgICAnVmVyc2lvbic6ICcyNDA2MDI1JywKICAgICAgICAgICAgJ1BhY2thZ2VOYW1lJzogJ2NvbS51ZjA3NmJmMGMyNDYucWU0MzlmMGQ1ZS5tOGFhZjU2YjcyNWEuaWZlYjY0NzM0NmYnLAogICAgICAgICAgICAnVmVyJzogJzEuOS4yJywKICAgICAgICAgICAgJ1JlZmVyZXInOiAnaHR0cHM6Ly9hcGkuOHV0ZHRjcS5jb20nLAogICAgICAgICAgICAnWC1DdXN0b21lci1DbGllbnQtSXAnOiAnMTI3LjAuMC4xJywKICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnLAogICAgICAgICAgICAnSG9zdCc6ICdhcGkuOHV0ZHRjcS5jb20nLAogICAgICAgICAgICAnQ29ubmVjdGlvbic6ICdLZWVwLUFsaXZlJywKICAgICAgICAgICAgJ1VzZXItQWdlbnQnOiAnb2todHRwLzMuMTIuMCcKICAgICAgICB9CiAgICAgICAgdmFyIGh0bWwgPSBnZXRodG1sKHVybCwgYm9keSwgaGVhZGVycykKICAgICAgICAvL2NvbnNvbGUubG9nKCJuc2tqc253a2pkbmVqZD09PT0iK2h0bWwpCgogICAgICAgIHZhciBsaXN0ID0gSlNPTi5wYXJzZShodG1sKS5saXN0OyAvL2xvZyhsaXN0KQogICAgICAgIC8vY29uc29sZS5sb2coIm5za2pzbndramRuZWpkPT09cXFxcXE9IitsaXN0KQogICAgICAgIGxpc3QuZm9yRWFjaChkYXRhID0+IHsKICAgICAgICAgICAgZC5wdXNoKHsKICAgICAgICAgICAgICAgIHRpdGxlOiBkYXRhLnZvZF9uYW1lLAogICAgICAgICAgICAgICAgZGVzYzogZGF0YS52b2RfY29udGludSA9PSAwID8gJ+eUteW9sScgOiAn5pu05paw6IezJytkYXRhLnZvZF9jb250aW51Kyfpm4YnLAogICAgICAgICAgICAgICAgY29udGVudDogZGF0YS52b2RfYWRkdGltZSwKICAgICAgICAgICAgICAgIGltZzogZGF0YS52b2RfcGljLAogICAgICAgICAgICAgICAgdXJsOiBgJHtkYXRhLnZvZF9pZH0vJHtkYXRhLnZvZF9jb250aW51fWAsCiAgICAgICAgICAgIH0pCiAgICAgICAgfSkKICAgICAgICBzZXRSZXN1bHQoZCkKICAgIH0pLAp9
\ No newline at end of file
diff --git a/js/皮皮虾.js b/js/皮皮虾.js
new file mode 100644
index 0000000..7397492
--- /dev/null
+++ b/js/皮皮虾.js
@@ -0,0 +1 @@
+eJy1VF1PE0EUffdXbGqy22J3twU1ZBtijG8+KAkSX0hg2J1tB/aLnVlKtST1QRQCpg98iJiIJkojKpJgQgD1z9Bd+BfOzG6hpeXRyT7svXPuuffcuTOzwBf8wILCkPD8hkAXQcSCmiBF737Q72zzj5Tl/pKLCXWXCPE0VS2Xy4rnzVWwMos8NYEEvkURKlbNim4BjGWz4oEiVErEthIIhsDXS6MxcNY1Ypsj7pWNob6+DhyYZKX0Z1U1fLvXrH9p1vei1UbzZaO5Xwvr76ODTzF6JkD69AgP0YTcVfjf3fPah3a4iSwC/Zi8C/16Ido/jr5vndcWE+EQGNDHWtKf9iWNYujL94vQIZImudOsOeqAku9X8nkpK6iqkHrgutMIprRUrMiB0Bhyp1MdVPNxouhkPdp+QRsTEFMeTBpBkA3dgHb+Ti6Xi128t+MOsKEmNRd3zrcWxGj1V/P3vthcaoQnu9HaV+rm8TGUnYuUF/vFAe4kYHIczulWYLBzPj1eCjc+h1sH4frP6v3h4Wq0tnnWqFWjj9/C7cNw+VVzZSOpxbNAZdwDPqZxxA9g7LXAs4omTExhrUMUMtPq2JiStgeCwart3c6oCoGYpJHjBSST6W4m32BjGGfIZVnZ3Dnf2S1oYdgj3EyzOVZ4NJOsYAJ8gp8iUkpLU9h1NKlXWi4BEsGjITT7FQ4fUtE6bBFkJSlzi9dUuJaIzTIjgjMB08t4M73RPRU/HHn8KC4gzZgyCnXOd4Vf04QL1qtCkqKFbqIOz0RypMhGdOTuxpbhBvyqXB55+KZxtlKnw8Ou6+lhLTraoYZiuwZNKiMC7QKyi6IILBL/GIAA2fVRETnAKrSAOvANjpb5oyOKT+AcKQBRLPnQTGbu9GiZs19qTXFwShNSpTxNEUelspf7NCPb7U7cDjIg1hnqomjHdGUCit10uusQesG7wMghPjV1glxHTkCi6HUT0PuG26OpzVUrrR9ZxjawOsqzECYdQezuycyrwZn0TWRkqPSer0hrxQ+e9n9Ohef7B16LAE0=
\ No newline at end of file
diff --git a/js/种子音乐[听].js b/js/种子音乐[听].js
new file mode 100644
index 0000000..d8f76cd
--- /dev/null
+++ b/js/种子音乐[听].js
@@ -0,0 +1 @@
+H4sIAIioBmcC/31Ty24TMRTd8xUWqmYmIbH7kFjMaChFYgECKlG6aqvKnblJ3HoetT2kSRWJHUKiKHtASEioLGAFC+iCr2kT+AvssZtGqsAb29fH597jc/2cCiQqDihGxzeQHoopDiHyp6cnF1/Hfz58O/853roYf9nxW/V5r5BKH/eUKmVISL/fx8Ph0vIKTopsBslgU3CNIpxJRTI5zHBPZasl7UK85FCVRXQGCadSXp13BmZyIAlUJD26Z0patqHDiiUHG3U8RIsuI9AUhAydBjP8TQmivdaFXPk6z+P1ew8e3d/dXHPENURABwQI/196iAOP7FQXultSIc0DYSpZCu0M8qptZGJdZ54D97ytniZuxia4E1HPewZHyswmHOGgBjcbRrHjLzkdXPIqUYGNcjochGhhX2JVbCjB8m4QNFB8Z04ky8tKaevqGQvQRAkExPBtk2C7f6uxbdKQFvLpPj0iqzRRsSzyLss7hcfSeGHJ4zTvxn4jmpHyohvUhPMxUCgrV3SqhxvrT3BdayDgsAKpHLiBU6oo1qjoWn3HTtxiy9quQS1nWli3H3YOjuzdUcM9AcuY7rbbdkcIQhdvf01fvZy8/zQ5G4f+3afWwfi/9k3efP59Mg7RzeZNGzj/8WJ6dmo8zIo9xqH2z/Pmd22mIIuweaucZuBMxMYTXtDU84zYthRJhGmleoWYQzmrXfbzs9c2WdOfybBtbf6IT+yarB7AIG42vet/QOMn43fT7x/DGcXVff2D5pytw55jssbaCykoyri7YNpD/zuWmt7gl49kUyB/X2sOjbooM5qikiWRrFcs1djRX63TH1EyBAAA
\ No newline at end of file
diff --git a/js/米兔弹幕.js b/js/米兔弹幕.js
new file mode 100644
index 0000000..b29c563
--- /dev/null
+++ b/js/米兔弹幕.js
@@ -0,0 +1,224 @@
+globalThis.h_ost = 'http://mitu.jiajiayoutian.top/';
+var key = CryptoJS.enc.Base64.parse("ZDAzMmMxMjg3NmJjNjg0OA==");
+var iv = CryptoJS.enc.Base64.parse("ZDAzMmMxMjg3NmJjNjg0OA==");
+globalThis.AES_Decrypt = function(word) {
+ try {
+ var decrypt = CryptoJS.AES.decrypt(word, key, {
+ iv: iv,
+ mode: CryptoJS.mode.CBC,
+ padding: CryptoJS.pad.Pkcs7,
+ });
+ const decryptedText = decrypt.toString(CryptoJS.enc.Utf8);
+ if (!decryptedText) {
+ throw new Error("解密后的内容为空");
+ }
+ return decryptedText;
+ } catch (e) {
+ console.error("解密失败:", e);
+ return null;
+ }
+};
+globalThis.AES_Encrypt = function(word) {
+ var encrypted = CryptoJS.AES.encrypt(word, key, {
+ iv: iv,
+ mode: CryptoJS.mode.CBC,
+ padding: CryptoJS.pad.Pkcs7
+ });
+ return encrypted.toString();
+};
+
+globalThis.vod1 = function(t, pg) {
+ let html1 = request(h_ost + 'api.php/getappapi.index/typeFilterVodList', {
+ body: {
+ area: '全部',
+ year: '全部',
+ type_id: t,
+ page: pg,
+ sort: '最新',
+ lang: '全部',
+ class: '全部'
+ },
+ headers: {
+ 'User-Agent': 'okhttp/3.14.9',
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ },
+ 'method': 'POST'
+ }, true);
+ let html = JSON.parse(html1);
+ return (AES_Decrypt(html.data));
+}
+globalThis.vodids = function(ids) {
+ let html1 = fetch(h_ost + 'api.php/getappapi.index/vodDetail', {
+ method: 'POST',
+ headers: {
+ 'User-Agent': 'okhttp/3.14.9',
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ },
+ body: {
+ vod_id: ids,
+ }
+ });
+ let html = JSON.parse(html1);
+ const rdata = JSON.parse(AES_Decrypt(html.data));
+ console.log(rdata);
+ const data = {
+ vod_id: ids,
+ vod_name: rdata.vod.vod_name,
+ vod_remarks: rdata.vod.vod_remarks,
+ vod_actor: rdata.vod.vod_actor,
+ vod_director: rdata.vod.vod_director,
+ vod_content: rdata.vod.vod_content,
+ vod_play_from: '',
+ vod_play_url: ''
+ };
+
+ rdata.vod_play_list.forEach((value) => {
+ data.vod_play_from += value.player_info.show + '$$$';
+ value.urls.forEach((v) => {
+ data.vod_play_url += v.name + '$' + value.player_info.parse + '~' + v.url + '~' + rdata.vod.vod_name + '~' + v.name + '#';
+ });
+ data.vod_play_url += '$$$';
+ });
+ return data;
+}
+//搜索
+globalThis.ssvod = function(wd) {
+ var html1 = fetch(h_ost + 'api.php/getappapi.index/searchList', {
+ method: 'POST',
+ headers: {
+ 'User-Agent': 'okhttp/3.14.9',
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ },
+ body: {
+ keywords: wd,
+ typepage_id: 1,
+ }
+ });
+ let html = JSON.parse(html1);
+ return AES_Decrypt(html.data);
+}
+//解析
+globalThis.jxx = function(id, url, name, juji) {
+ try {
+ if (id.includes('xmflv')) {
+ return {
+ parse: 1,
+ url: id + url,
+ jx: 0,
+ danmaku: 'http://103.36.220.166:91/dmku1/tvbox/zh.php?url=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
+ };
+ }
+ //log(id);
+ if (url.includes('m3u8')) {
+ return {
+ parse: 0,
+ url: url,
+ jx: 1,
+ danmaku: 'http://103.36.220.166:91/dmku1/tvbox/zh.php?url=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
+ };
+ }
+ if (id.includes('http')) {
+ let purl = JSON.parse(request(id + url)).url;
+ return {
+ parse: 0,
+ url: purl,
+ jx: 0,
+ danmaku: 'http://103.36.220.166:91/dmku1/tvbox/zh.php?url=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
+ };
+ }
+ let html1 = request(h_ost + 'api.php/getappapi.index/vodParse', {
+ method: 'POST',
+ headers: {
+ 'User-Agent': 'okhttp/3.14.9',
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ },
+ body: {
+ parse_api: id,
+ url: AES_Encrypt(url),
+ }
+ });
+ let html = AES_Decrypt(JSON.parse(html1).data);
+ console.log(html1);
+ let decry = html.replace(/\n/g, '').replace(/\\/g, '');
+ let matches = decry.match(/"url":"([^"]+)"/);
+ if (!matches || matches[1] === null) {
+ matches = decry.match(/"url": "([^"]+)"/);
+ }
+ return {
+ parse: 0,
+ url: matches[1],
+ jx: 0,
+ danmaku: 'http://103.36.220.166:91/dmku1/tvbox/zh.php?url=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
+ };
+ } catch {
+ return {
+ parse: 0,
+ url: '解析失败',
+ jx: 0
+ };
+ }
+}
+
+var rule = {
+ title: '米兔[资]',
+ host: '',
+ detailUrl: 'fyid',
+ searchUrl: '**',
+ url: 'fyclass',
+ searchable: 2,
+ quickSearch: 1,
+ filterable: 0,
+ class_name: '电影&电视剧&综艺&动漫',
+ class_url: '1&2&3&4',
+ play_parse: true,
+ lazy: $js.toString(() => {
+ const parts = input.split('~');
+ input = jxx(parts[0], parts[1], parts[2], parts[3]);
+ }),
+ 推荐: $js.toString(() => {
+ let data = vod1(0, 0);
+ let bata = JSON.parse(data).recommend_list;
+ bata.forEach(it => {
+ d.push({
+ url: it.vod_id,
+ title: it.vod_name,
+ img: it.vod_pic,
+ desc: it.vod_remarks
+ });
+ });
+ setResult(d);
+ }),
+ 一级: $js.toString(() => {
+ let data = vod1(input, MY_PAGE);
+ let bata = JSON.parse(data).recommend_list;
+ bata.forEach(it => {
+ d.push({
+ url: it.vod_id,
+ title: it.vod_name,
+ img: it.vod_pic,
+ desc: it.vod_remarks
+ });
+ });
+ setResult(d);
+ }),
+ 二级: $js.toString(() => {
+ console.log("调试信息2" + input);
+ let data = vodids(input);
+ //console.log(data);
+ VOD = data;
+ }),
+ 搜索: $js.toString(() => {
+ let data = ssvod(input);
+ let bata = JSON.parse(data).search_list;
+ bata.forEach(it => {
+ d.push({
+ url: it.vod_id,
+ title: it.vod_name,
+ img: it.vod_pic,
+ desc: it.vod_remarks
+ });
+ });
+ // console.log(data);
+ setResult(d);
+ }),
+}
\ No newline at end of file
diff --git a/js/蜻蜓FM.js b/js/蜻蜓FM.js
new file mode 100644
index 0000000..09cf6f2
--- /dev/null
+++ b/js/蜻蜓FM.js
@@ -0,0 +1,28 @@
+var rule = {
+ title:'蜻蜓FM',
+ host:'http://www.qingting.fm',
+ url:'/radiopage/fyclass/fypage',
+ searchUrl:'',
+ searchable:0,
+ quickSearch:0,
+ class_name:'广东&浙江&北京&天津&河北&上海&山西&内蒙古&辽宁&吉林&黑龙江&江苏&安徽&福建&江西&山东&河南&湖北&湖南&广西&海南&重庆&四川&贵州&云南&陕西&甘肃&宁夏&新疆&西藏&青海&资讯&音乐&交通&经济&文艺&都市&体育&双语&综合&生活&旅游&曲艺&方言',
+ class_url:'217&99&3&5&7&83&19&31&44&59&69&85&111&129&139&151&169&187&202&239&254&257&259&281&291&316&327&351&357&308&342&433&442&429&439&432&441&430&431&440&438&435&436&434',
+ headers:{
+ 'User-Agent':'PC_UA'
+ },
+ timeout:5000,
+ play_parse:true,
+ play_json:0,
+ lazy:'js:input=input.replace("www.qingting.fm/radios/","lhttp.qingting.fm/live/")+"/64k.mp3"',
+ limit:6,
+ double:false,
+ //推荐:'*',
+ 一级:'.contentSec&&.radio;span&&Text;img&&src;.descRadio&&Text;a&&href',
+ 二级:'*',
+ 搜索:'',
+
+ //是否启用辅助嗅探: 1,0
+ sniffer:1,
+ // 辅助嗅探规则
+ isVideo:"http((?!http).){26,}\\.(m3u8|mp4|flv|avi|mkv|wmv|mpg|mpeg|mov|ts|3gp|rm|rmvb|asf|m4a|mp3|wma)",
+}
\ No newline at end of file
diff --git a/js/西瓜影院.js b/js/西瓜影院.js
new file mode 100644
index 0000000..d95d618
--- /dev/null
+++ b/js/西瓜影院.js
@@ -0,0 +1 @@
+H4sIAEIfMGcC/32RzW4TMRDH73kKa1VtnGrrbcptq8CJMxIfJ4SQs+vsuni9rj3upiJ5Aw5ISEiIcqASH1ckTpVoX6ZN6Fvg3bhikwjmYNkzv//4P/aj8RFLgVBjeC5xacdUktuv728+Xh6Q64s3y4tvEXrdQy4CoGMTJCggkp7sNYcwFDyIevPBYe+EaqStYGjk6cX3z4tPVwnq+2b9qE0DB8Fc9veXq+W7s5tfP24/nPtSURlwlQJAmSSO67omU55bOhzu75O0Kj1mtXBUbIqqjienqXDO93xMThXNmduQAkrhecOoTotnKxWXGZsSVahYG+NP01I8qLPR7q4XLN6eLX+eJ2jnyBConoDmMsd4gEb3/WhNCAaoucTNq9mxZQYwl8qCe4ouwoGVxjEqm1Dc8BHqu5vDsCn0O3AcI1HluOU3emRO//zF31zLkEmlH9K0cIp1YyvCSTgQzZSgKcNx++ozweWrGbVQVHqm7DijwGYZM6nmCngl49yZU11Tdw7ck69maK5roIQd4+EgDJ+yKWwKMqKsKfC6o87Xd9rcNYi22PaT3bJdaQwnm17uDf7dKq0kMAlbmoP/aBRPX7YWgmC9OO8M290bBo+ZsQJw5rNz13b+B5X2HuZdAwAA
\ No newline at end of file
diff --git a/js/采集[zy]静态.json b/js/采集[zy]静态.json
new file mode 100644
index 0000000..35df06a
--- /dev/null
+++ b/js/采集[zy]静态.json
@@ -0,0 +1,1333 @@
+[
+ {
+ "name": "华为吧",
+ "url": "https://huawei8.live",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGJXhmYC/02PYXKCMBCFb5NzKgwK1CnQ0rS1TP2lEYtF6+hYIJwmycItmizJTH+9722Wtw/Ir5KfiVw8je8lREsiI6b8ACneC15YgrwFu5qu1IzhmBZ6G2m7lL+tITVP1YwieRXQDMmPlbdGOq6G8NMQzPtx3SOFZ3sQWGZTIK6BH5DaRAZ3JJ5BW9gSKnwTTWTGottBusCF/DqwhW5EVMWgf0R63RoZN6URmZxweEGRH1w0DAf3GoWexrLCp+AmWooU71X3pWt0Q9QQwZ8H74dAc5D8BW/W35D6ZLhdjJiKWhSth7qRwYMrMmXoLqbHZOxx+4KHTS3rdZ/EGdvl/2e2zRToDJ5yxgU6j4HWTIHWwOaof/MPw42TdwYCAAA=",
+ "class_url": "20&22&24&26&28&30&32&34&36&38&40&42&44&46&48&50&52&54&56&58&60&62&64&66&68&70&72&74&76&78&80&82&84&86&88&90&92&94&96&98&100&102&104&106&108&110&112&114&116&118&120",
+ "cate_excludes": [
+ "电影",
+ "电视剧",
+ "动漫",
+ "综艺",
+ "篮球",
+ "足球",
+ "网球",
+ "斯诺克",
+ "新马泰动漫",
+ "新马泰综艺",
+ "其他综艺"
+ ]
+ },
+ {
+ "name": "樱花|点播",
+ "url": "https://m3u8.apiyhzy.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAFVXhmYC/zVQ0W7CMAz8m3wn06CQPowiQUdF2YTUEca6lUpUQNuwn6nt8hckTvp2dzn7zqFlBboU/f8HNb8glaCm7WUtIDxg+yP6atz/FZZ1OiU5FRCnxmURzUp8nTBSC7g1FuFLhKOYfVL5V5ytu1qyttFdrWzIY5/gtbAI5ie83Vn7/DYG1iY5LEIB2Rm3O0FhQfrIOfUR9Io3hQdaNuS64/sXprkdxFzR/Y1RdYEs5mWZeiSBv8pYTcxATIP5aSA8Ohzvirov8Os9cQmeuBBHunZPUWDKPQEvAxYGUgEAAA==",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34",
+ "cate_excludes": [
+ "电影",
+ "连续剧",
+ "综艺",
+ "动漫",
+ "资讯",
+ "公告",
+ "头条",
+ "犯罪片"
+ ]
+ },
+ {
+ "name": "艾旦影视",
+ "url": "http://lovedan.net",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAFhXhmYC/1VSbW6bQBC9zV6klXqtWK5dg2LHVAQ7ggRB+bCdEIditzYYepgyO7u36Oyy/KiExJvZmTdvPtA9Q1sydM8in4OVM2xuwqoZ2Dt+e2WYPcBiT08ydpSvbwO0vjHwAopVCBcln840yh24NgrxyZrfedpnH7E9aN9i29eWzvXbvs5VKX45wsOHRptUhnuN3nLsVgr1FwvrvL9luJ4zbB2s4/7S8O+F0oFug4NyCh0F1AdoH3UxTWc6GaqMhqYfexyUDJ0aCcYYVBjj/BsS73+D9EGSy6f5yLtd8W1oxgV+Z0YjggCTjkJP/DmCtML0hSnigy+zueHitifDisHmJ/gRfYxXsVg/qzxZzCBbKkRc8JGgtacx3/V1TfNg5OAvgUJ8tTPkn798gnRDAtQrVRfLkPFdJO6nUGTyKWYDi6re37YkWSGK49FUC21LzCcqSUYtOBW6IT811F3YX9fgF0zY5d/Ju4wDBp1qSE5XDCtP6XAbbqcqgN86lUFBWrnbiGOBj/cM/ZPeXvJO98Rg+ap+GBZ6mG1Jlsh/iOPJbGzYP1NLoT0NZyDSP9y7GoM2xoM3Y8j4Kzi2HjudShOM1zH71TfesKR/iFl0w+sCAAA=",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&44&45&46&47&48&49&50&51&52&53&54&55&56&57&58&59&60&61&62&63&64&65&66&67&68&69&70&71",
+ "cate_excludes": [
+ "明星",
+ "福利图片",
+ "爱蜜社",
+ "头条女神",
+ "美媛馆",
+ "嗲囡囡",
+ "波萝社",
+ "魅妍社",
+ "爱尤物",
+ "秀人网",
+ "尤果网",
+ "推女神",
+ "DGC套图",
+ "尤蜜荟",
+ "模范学院",
+ "尤物馆",
+ "优星馆",
+ "蜜桃社",
+ "影私荟",
+ "顽味生活",
+ "星乐园",
+ "花の颜",
+ "御女郎",
+ "糖果画报",
+ "花漾",
+ "星颜社",
+ "画语界",
+ "卫视",
+ "网络电影"
+ ]
+ },
+ {
+ "name": "闪电☆资源",
+ "url": "https://sdzyapi.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAFVXhmYC/z1RbXaCMBC8TU7QW/RSip/oq8orxVp56hNoaqtFq1gFopfJZsMtGhLor93Z3czuTNBNgB0IuomkXbApwSyXdkpg8CHyrzJw5qPdI+D5ql1m2D+IVkdn1IFrVmaiORENT8/ZtOqK/itPbV2bM57Skl1sKd5GZVYsN7owjXS4xGWA8V6jow6YfgJ70VTJL4SenghpMetWR6rHiqYGimK8r4HeU2sx640i86YG5px/regaNZqqnjG7K5C74B54/kY4e5bWj0zmPB0SjL9x0iLyfCxDsW6DM9BEXizjFDpDokxWBksayPikHGTC6+FyVyri+TtOutVOfrExNeaoo01HRnfhXeuxaST8bQX4JRQNKuMbrCwC3Rn6S2ztZH9BHh7RfKzwbQhqKRAdi7UjmkP1hcrrJ8m26hRjfCiDDs9m/LYicD3xLMDNXZ4HRLYdcVoIa4ueQ3C0V52ixeBikcJKxH5s9vwBtOQp10cCAAA=",
+ "class_url": "1&2&3&4&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&23&25&26&27&28&29&30&31&39&44&45&47&48&49&50&51&52&53&54&55&56&57&58&59&60&61&62&63&64&65&66&67&68&69&70",
+ "cate_excludes": [
+ "电影",
+ "电视剧",
+ "综艺",
+ "动漫",
+ "体育赛事",
+ "斯诺克",
+ "爽文短剧",
+ "伦理",
+ "两性课堂",
+ "4K电影"
+ ]
+ },
+ {
+ "name": "🈵成人影视4",
+ "url": "https://apittzy.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAFVXhmYC/zWQbXKCQAyGb5NzllpBigJ+lbGsFbWKY8Va7SisgJfZZJdbuFT6JzOZefIkb+SxxKFB7kb1fMCwEDxWsVkt+iDSKw0SGf7qChSsiO0oiGRk/DfMrhuRJvRmYRJgNga8bER2kqWrK0hzhquT4BzXV8Cc4yoV2Y/I10C7WDPybzXgoa8x5U+Va2ubLXmsGembQB2/nn7dUP4Fsuij5yhrS04PcPStBWhOJJtBxY5ocbo9UasNah5oAI1LjYl0qhZMk6p9a5ZWS7fGMCylbTXqqlVg+twIKJpjmIjMIcMBrcf9hyiG1bYLlKxFGanJO2Y6z/6MPGnyKKOLjItUf4+DvHqapnFbcAewcybWe9wBKh4o+0j2nvIRoLcU/LNaMDy8wCPW4+o79qo+y5IBAAA=",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37",
+ "cate_excludes": [
+ "网友自拍",
+ "唯美写真",
+ "露出激情",
+ "街拍偷拍",
+ "丝袜美腿",
+ "欧美风情",
+ "图片动漫",
+ "都市激情",
+ "校园之恋",
+ "真实体验",
+ "武侠虚幻",
+ "家庭乱伦",
+ "职场丽人",
+ "经验故事"
+ ]
+ },
+ {
+ "name": "📛挺好┃光速.云播",
+ "url": "https://api.guangsuapi.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAFVXhmYC/y2Oaw6CMBCEb9Nz+ohINVGMiBpJ+KNW4gskJPJoT9PulltIF3/Nl5nJ7GJYGpkzDEsrPMMFw6a1vGZmcYP27kTLGPmcmSjuY0fo5zCdEYmNqRpKufh7MA5gFBH5B11zSs+iO9I6PASqFdH3Dapw1CWpk+EiDv/A/kLeOoNKUb3InNhXZuTOber2ioFHJLd28rHlSddLhsmz7/0A4RcQUdYAAAA=",
+ "class_url": "1&2&3&4&6&7&8&9&10&11&12&13&14&15&16&20&21&22&23&24&25&30&31",
+ "cate_excludes": [
+ "电影",
+ "电视剧"
+ ]
+ },
+ {
+ "name": "📛挺好┃卧龙.云播",
+ "url": "https://collect.wolongzyw.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAFZXhmYC/1WR0VLCQAxF/6bfqXQsbB9omYEq2JEHKqtQ2iIC0nbxZ5pk+Qt303VG307uZnJvsjQ9gtqTGHr6+4WaHQjpUdNqUVsNwjdst446lTIlqWmyRKM9+g9McgKXxhLex3iXcJ+Q7hVHT10tWHtWXS2tx209x6+SafluZEuYS7qOLUFU4eXK2uMrpjnT8QxZYkkXFagZ+y53LhxNmz8GHPt3niv6Qa4w1lHV7+kCuAIyeZsHrsBD9S+ak4lvpuVKl58e+iEOFuxdnKDu80SZXvHqMA4g+uAjDHJKJhw6LEltmMqCYt/r2jXFAf/B6WAFs5Yx/QEG4wmPmwEAAA==",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&22&23&24&25&26&27&30&31&32&33&37&38&39&42&43&44&45&46&48&49&51&54",
+ "cate_excludes": [
+ "电影片",
+ "连续剧",
+ "综艺片",
+ "动漫片"
+ ]
+ },
+ {
+ "name": "U酷资源",
+ "url": "https://api.ukuapi.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAFZXhmYC/zWP3Q6CMAyF32bPqVHRcYGSIJBoQmKC8xcwhESB8TRbO95COufV+dqenLYYNVq+GEaNEZ7mgmHXG94y7V+gv5MoeUS+Zjo+TmMi3LxgsbIkQv3piGC+g1lsfVy4KWxS1XLbO0jVCkqHdwlDbSnJrTwEDgHRbyP+7tHbCj4Dtcfsan11RWKKSss9Zar+jDuPyDRLU5QM4mpMOleMp6UOfVdMgdNzf1saQJq5ArOnXZ2v3R/olyhvE30Bu+ncCxgBAAA=",
+ "class_url": "1&2&3&4&6&7&8&9&10&11&12&13&14&15&16&20&21&22&23&24&25&26&27&28&30&31&32&33&34",
+ "cate_excludes": [
+ "电影",
+ "电视剧",
+ "资讯",
+ "新闻资讯",
+ "预告资讯",
+ "影视资讯",
+ "明星资讯",
+ "短剧"
+ ]
+ },
+ {
+ "name": "紅牛資源",
+ "url": "http://hongniuzy2.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "api": "/api.php/provide/vod/from/hnm3u8/",
+ "class_name": "H4sIAFZXhmYC/y2PXQ6CMBCEb9Nz+hOVaqIYFU0g8qRV1AgSEikUL9Pu1lvorj7Nl5nNZBbXlTOF8K89NjcnlcCm9VILNz1BeyGxJkE5ES5KvjERBgUMR0xq6eqGCPoh9CK+k+qfQrCzWrIXG6sVtcPzDl3JtD2wXBV2cyK3yKHu2Ctzknd65kE6c2bDNbwJf4tte8RwTLY1Kz94+Cq2eiYwpS8+mOVyptYAAAA=",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&21&29&30",
+ "cate_excludes": [
+ "电影",
+ "连续剧"
+ ]
+ },
+ {
+ "name": "天空资源",
+ "url": "https://m3u8.tiankongapi.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "api": "/api.php/provide/vod/from/tkm3u8/",
+ "class_name": "H4sIAFdXhmYC/zVQW3LCMAy8jc/JYygknSllCqGUTPkoYAphEqCB4uD0Mrbk3KK2Yn95V9autMJpqeWJodhrOcNoyMzfJ1ZHHXEGGcf6xaFmu4Df3CEd75RMXR+OTtAfEOITfa8cgu4rdBKHbK//hdG7EhHVktSWCcU7nJIC4xzlnmpLqQSnaatvS/w0eBwYVg8TCabXvFk8eeL2GReBzDdWFAitHTTjAu41ebX+raMVQJoF0ub0pLzpdRLIpfCbWIF7kK5l+JfJf5jeDH1u7NbNR01pexkmE8ozuKqKbqHkm+mdTblU4pnhyt32H73g+qZ2AQAA",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&44"
+ },
+ {
+ "name": "老鸭资源|AV",
+ "url": "https://api.apilyzy.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAFdXhmYC/zWPYU6DQBCFbzP36E8v4Hm6qZZihUJVwIhCqixNLakUFVhoT7Mzu97CLdo/L3mTee/Lw6eDFDlNrrW9BwozircUpiplZxPbJyObggILixDbB6Btro4uvTC8Y4A3a+rf1f44mF5g1si2lD0HXEQ0ZrjgquwAB45sOloWgPVatpXpMAo4+6bY0buSJj6oaYJZJYVA3hmorUym58qbgrY2NHeQ1UZhdEHOSl81QF81vgUUuRQlgB++CWvvWbv2GdinuFmCOvhKrH46n4JHMD/o3dI4JzaHARWoqsNZCKNLnb/q3SdgwdV98n/9G3oq59Yvnjb47C8BAAA=",
+ "class_url": "20&21&22&23&24&26&27&28&29&30&31&33&34&53&57&58&62&63&74&75&76&77&78&79"
+ },
+ {
+ "name": "金鹰资源",
+ "url": "https://jyzyapi.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "api": "/provide/vod/",
+ "class_name": "H4sIAFZXhmYC/zWOXQ6CQAyEb7Pn9Cciq4liRNRAwpOuRlTUkACynmbbrreQLfjUb6aTdigsrPJAKkFhAfohMFP0WTjje9xjeWdKz27g9sDqnOErd2SaIwUeyamA2cnoxBH5DxxP2IuSNsSeWkH1doTDAAcRb6Xqc+jvTC0d2VsOetPfw+YiwJtAwq9ag0I+YcorxLoPtJUwyf6iq94JejdW1gKWOVYfLqvXdvS0RWzquaD02no/UcDcbf0AAAA=",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&20&23&24&25&26&27&28&29&30",
+ "cate_excludes": [
+ "电视剧",
+ "电影",
+ "动漫"
+ ]
+ },
+ {
+ "name": "百度|点播",
+ "url": "https://api.apibdzy.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAFdXhmYC/zVP7W7CMAx8mzzn1vGVTgKqla4TSEgTLMAQLaBMkDZ9msRO32KNm/67O9t3Z0yl1VeGqXRiYrlgWNWOK2bjA9S/zNQ/uJwgn3rB6A2hbNMteoSzK7yNCYnEPiuP4HUJLxntcRGmMMuN4qTtRPtFOfAooLl71G6PJHzuKV+drF6RZ1ygPoVsTCvsq9pFCc+GLs4Cm7lHdvxnqoy0e0kC5YRfOucuYyCPonMYCDkML6+1USI83t8MpA8KJDpjlvhabSShXIRaRn+46Obk2qh35uTIXQrWjwKBfA75NpD2e2ST+B8HkFGOfQEAAA==",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&36&37&38&39",
+ "cate_excludes": [
+ "电影",
+ "电视剧",
+ "综艺",
+ "邵氏电影",
+ "资讯",
+ "电影资讯",
+ "明星资讯",
+ "预告"
+ ]
+ },
+ {
+ "name": "量子资源",
+ "url": "http://cj.lziapi.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAFdXhmYC/zWR607DMAyF3ybPCbuxDom1Yms3UTEJtmWI0bSMAr1kvEzspG9B46S/8h3b8XEcvSpBFjq4Y+bvWTcfEHCmm9YEtY3B4oTtuyclU6I47Yss6XmB4ykRj6BqLOFtiDcx1QXcZ3G+UXVAsSepam49uuMWfwXR7q0PW8Iz19cHSybLQa7pxjLH6krZ5IDpmaj8gX1MdMn9XdjzbjtzkzPbeZkPIjn0FoMgCy/8NPRGXzYIN4kX1G0QztsJ1R51OKMF0BoNfzXiiyn5aEafzHxfdDhmWmR0yMgeGAsjapjeM2xXEG36QN4ljSknJhNDGyfgVKgqdHnWvUwgWpDVzn7SP/ilxw64AQAA",
+ "class_url": "1&2&3&4&6&7&8&9&10&11&12&13&14&15&16&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&44&45&46",
+ "cate_excludes": [
+ "电影片",
+ "连续剧",
+ "综艺片",
+ "动漫片",
+ "体育",
+ "演员",
+ "新闻资讯",
+ "电影资讯",
+ "娱乐新闻"
+ ]
+ },
+ {
+ "name": "森林资源|AV",
+ "url": "https://slapibf.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAFdXhmYC/0VSzZLSQBB+m7579Gj5Ap68e7dKqzx5g10hQJbAruxGIUggIUF2I79KSEjyMtM9M29hB7K1h3RVV3f6+xu5zfF7nayF6vYBR5lIQtXe0nUDRJzSXSRHe64gkiHtt2S70q0/N0773MQRPRgY2Xi8BzwsxHEnc4srryUYpLI5wfkO8JTgPBbHjTgFQE8h78gzNKj+WFltXN+WazyV/aaI2zIJgVr98kZnQadHUMaSzC7WD1wBW//I6Yp4rGYOYM8Tia9nDq6/Adlzcp6q028/ffn88cNXkHuXD10u8PqajrnKPQyOoCe/WTTmUwxZ/mDFtChelY2IHezaLPXNe+abqHyDxg1XwHbI9ojUlCkf84clRX/4Dl6/ImumOhuQ2a1MZvS3jkYC2rDQf9DOtmyw5yuvQe0/dBoAyxWnH3KXYsvmyUq2NhgFcjAB7VmMQLatZozQyFRtV63JW0ecMuX5oO2DXg6p46PH3hSGap69YGwajbW9YCddXN4xamkEY2H/hmoh1U2Qg8NLw59qFNK80tEA9HWG8RUVtTJ/cqc4ikqpifmcZbwpJ3q2EIWNtUeOipkHcpPiuqdWe6AoELnLMrERg74v5MpQxS+VZZW32PwpnUnJEntmlcfFmwpUTe2XlC/58m/MELA71bUhvwQ5SKsHdPHpP+FuGXjCAgAA",
+ "class_url": "20&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&44&45&46&47&48&49&50&51&52&53&54&55&56&57&58&59&60&61&63&64&65&66&67&68&69&70&71&72&73&74&75&76&77"
+ },
+ {
+ "name": "奥斯卡资源",
+ "url": "https://aosikazy.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAFdXhmYC/z2PbU6DQBCGb7P38AD+0aTngaC1VEoAU0CBFlG6WkvapsTQhepldmaXW8inP5953zwzA8GFMyrptE5swosM3QfIPDgvCXQJr2LYOgS9FMMdhrqI1RG8uIMdFT/mAFAxSAt+PvJqQ2D2jeFC7o+o2aOtKNHJCP4qqN3D/AOrL4K+if4aF4m8KwjO3drPh3MgPfHK73PSz3ihgMFGYEYL4mJjENWlje7zf01vk+YKYU0bEIySq4mkb3Kfk9tredBw2XStSJo6HOxmEcGVCk8qbF8aUbsZLAMViupj6xcsgfcco9fBD0HQ+RmDjStOJcw8Uq8/2yf7Dyc3TVFS5w/sThNDXwEAAA==",
+ "class_url": "20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&44&45&46&47",
+ "cate_excludes": [
+ "视频一区",
+ "视频二区",
+ "视频三区",
+ "视频四区"
+ ]
+ },
+ {
+ "name": "快车资源",
+ "url": "https://caiji.kczyapi.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAFZXhmYC/z1RbXaCMBC8TU7QW/RSip/oq8orxVp56hNoaqtFq1gFopfJZsMtGhLor93Z3czuTNBNgB0IuomkXbApwSyXdkpg8CHyrzJw5qPdI+D5ql1m2D+IVkdn1IFrVmaiORENT8/ZtOqK/itPbV2bM57Skl1sKd5GZVYsN7owjXS4xGWA8V6jow6YfgJ70VTJL4SenghpMetWR6rHiqYGimK8r4HeU2sx640i86YG5px/regaNZqqnjG7K5C74B54/kY4e5bWj0zmPB0SjL9x0iLyfCxDsW6DM9BEXizjFDpDokxWBksayPikHGTC6+FyVyri+TtOutVOfrExNeaoo01HRnfhXeuxaST8bQX4JRQNKuMbrCwC3Rn6S2ztZH9BHh7RfKzwbQhqKRAdi7UjmkP1hcrrJ8m26hRjfCiDDs9m/LYicD3xLMDNXZ4HRLYdcVoIa4ueQ3C0V52ixeBikcJKxH5s9vwBtOQp10cCAAA=",
+ "class_url": "1&2&3&4&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&23&25&26&27&28&29&30&31&39&44&45&47&48&49&50&51&52&53&54&55&56&57&58&59&60&61&62&63&64&65&66&67&68&69&70",
+ "cate_excludes": [
+ "电影",
+ "电视剧",
+ "综艺",
+ "动漫",
+ "体育赛事",
+ "斯诺克",
+ "爽文短剧",
+ "伦理",
+ "两性课堂"
+ ]
+ },
+ {
+ "name": "♥155(直连)",
+ "url": "https://155api.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAFVXhmYC/zVRWW7CMBC9zdyDz370q1LPAw2ENSmhFAiLEta0tBGlQRDsAJfxjO1b1AH64ZFnxnqbqR/KsCTSN2wx0IyrrS2yENcdwNqexo7abMnyQKR1ySKRrWTbhsIDOTNVTs00pl4V4z4e3wGdqS4OsfFB2RfQdyTPrkw41vpgbrhMRMqpEwOOToJFqrqmpgPSDvINY7jioNoT5dbxxzMjMAfbLSpGsrYFXAzNG3leCLbI0cQxwcOHqYAZw2UqjlsjDWQ3oB3X1gnTF6PNwdKBSk2yKoDxKl+GUxzFcKO7UQMNd9gYKb+N5wrQwKVBgKU9Wq8g3TIeueC+OIcgI89gmJ6sBNS0b8Tn6MaCSCdqNjaiVOVyt63nbk4qTx6+Nu9Ob+mYaGSXgx7/YpXRpXjV1t3kAdm+HAe5bZENzJgaS6BGTweJimw980AHn3l0txANtGQzXOxoMr02NVtzj3r+XQFdf/Uf7eoKnh7Vj0XvPhSeVTRXm90fwh/XXfsBAAA=",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40",
+ "cate_excludes": [
+ "生活都市",
+ "不偷恋情",
+ "学生校园",
+ "人妻熟女",
+ "暴力虐待",
+ "明星偶像",
+ "玄幻仙侠",
+ "科学幻想",
+ "街拍偷拍",
+ "丝袜美腿",
+ "欧美风情",
+ "网友自拍",
+ "卡通漫画",
+ "露出激情",
+ "唯美写真",
+ "女优情报"
+ ]
+ },
+ {
+ "name": "草榴资源|AV",
+ "url": "https://www.caoliuzyw.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "api": "/api.php/prodao/vod/",
+ "class_name": "H4sIAFZXhmYC/1WQXW6CUBCFdzP76EubbqDr0VK0SsWfaP0BA2oEoyVGSyxeQDdzZ+5lFx0qPvRt5mRyzjdHihnFRxr7yq+DvC1uq1zoK1QXmwxTt44gk4g+mxiN8TwCbG8o22FnUdRmwDe4/pZJSoOIDQQGqWp4LAFmAteJPB9kFrBBS4mQJ9VrADq5FKFubsnqgMr72LWq5WbK7mqYQuEesSnoWmOIO1stVO8HdpvrpcvR2rxWoMWqZAVKTCX2ONyzBCrsYxTgOSWDcaJADT3yF+hEoOw3lmU6lRcfnp4f+SV0LqDSbrH9oJEphQU0sWniYf2ERpcTOwxPdesvZBZj29HTHl5MKE3jtDByTF6rNrAxVa5XvSkzH7cDKEvKJth7L5x7AVU1XAA582K84VCZnhjiiklOPzuu8v/lw4sOV3ofVyrZS90+/ALoFTWzwgEAAA==",
+ "class_url": "1&2&3&4&5&20&21&22&23&24&26&27&28&29&30&31&32&33&34&35&36&40&41&42&43&44&45&46&48&54&55&56&57&58&59",
+ "cate_excludes": [
+ "网友自拍",
+ "卡通漫画",
+ "露出激情",
+ "亚洲性爱",
+ "丝袜美腿",
+ "欧美风情",
+ "清纯唯美",
+ "科学幻想",
+ "学生校园",
+ "玄幻仙侠",
+ "GIF动图",
+ "经验故事",
+ "明星偶像",
+ "不伦恋情",
+ "暴力虐待",
+ "生活都市",
+ "美女写真",
+ "国产乱伦"
+ ]
+ },
+ {
+ "name": "💕越南(直连)",
+ "url": "https://vnzyz.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAFZXhmYC/z2MMQ7CMBAEv7KVXwOfiCPZFvYlIja/oEAUCNHgRDRIFFRIdkFxfOR+QlAk2p2d8Z2UHNFbF0BWyiOikTKRWi2g4asDST07xK3USWnOAa3UEz4HqUcysyv1ppV1Ut49Wh4D/E8m+MTjv0RG6lPDS72QWkt5RegUBtvF5R6VcZw77BzfCXNzrzE4smpj5yUtYW15TOD8BROw4pm3AAAA",
+ "class_url": "1&2&3&4&5&6&7&8"
+ },
+ {
+ "name": "精品资源|AV",
+ "url": "https://www.jingpinx.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAFhXhmYC/zWQa27CMBCEb7MX6BV6sNJghZAGCK+Uh1TUhhgRIqhAJRhSLuNZO7eooeLPaqX5Zna0mFVaSeJkyfMN8Uaa3w6hveJLTmgcOYysv3aTcAeRSrR+dDUnffrWl4y3DV0GVr4S8jGyAcTKXn2zComPuUNQZGb4gexE9Tnm8USXEQcD47XJzGLuSI6b8LpID6TLM/cLU8VGfVKdv3MpOFmYRcMpBY99FAlOI+JWTytlzhcbKMJ6eovdRiZMHKbuHQOIgLCLsdybxQFpk5wBooIobdJ9pAWSPUHG94wnbXTEbmj7E3Ie9N7Q/dIqpdqP3IZ4T0/Pj4/cbTwSWoXkyFvyv8LXF6e4cNfT3ZgjSrSa/gG7TUyTXgEAAA==",
+ "class_url": "1&2&3&4&8&9&10&11&12&13&14&15&20&21&22&23&24&25&26&27&28&29&30&31&32&33&35&41",
+ "cate_excludes": [
+ "国产",
+ "日本",
+ "欧美",
+ "动漫"
+ ]
+ },
+ {
+ "name": "快av(FQ)",
+ "url": "https://kuaiavzy.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAFdXhmYC/zWOXQ6CMBCEb9NzaoxiVYxitAnwUA2KQfpijKkVOM3+4C0spr5M8mVmZ4fUmfIa7A5XTmDWgiv7qKJlHAAajVUiwEoe4MKbmaDfDSnNevyHXA4A1tAhQqPwtQ8Ozp+U+7YiBee4K8AVAuPjZ5Ti4krNLfyhybSXd1/wpsRw9vAquN2yO4U5VJfcrX3GJ79krv5JtQAAAA==",
+ "class_url": "1&2&3&4&6&7&8&9&10&11&13&14&15&20",
+ "cate_excludes": [
+ "日本专区"
+ ]
+ },
+ {
+ "name": "成人16",
+ "url": "https://api.maozyapi.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "api": "/inc/apijson_vod.php/",
+ "class_name": "H4sIAFhXhmYC/zWPXU7CUBCFdzP74NEHn0xcD4a/FiwUFItaQlMolwCVQgmWtsJm7vywC28TfZnkmzlz5gx+/uhcSWdNPQfIi8jfkhdw8PQPvl2BzmJ662Ds4XkMtFV86fPhgi9GZrk6z7G7onLzt8PHwLTgtplQ1kLX0eXEGNicK10u2W0D/ww5D3VW0CgGmgT8WugywPUIKqtlwe0ZRingYM5W+xb6mDRB3Kn0bUyG1eThXpIGjd/B5NDnFL9XpgLPYlFGPwS0TuQ7sttTw0CUovtMdcXWHmp35ITSzAAXH+YYXxY6XwBfz9KpGzNMChN1KqFvQFpXMF/e6jb3tvh1Ajmo6loywOgE1A+lu+e0QMuD2qOoueyOvwXdu8BPAQAA",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&21&22&23&24&25&26&27"
+ },
+ {
+ "name": "♥搞起(直连)",
+ "url": "https://caiji.gqjiexi.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAFhXhmYC/zWKwQqCQBRF/2b2LVv2E31PIYImNRTEBEYaZDqJFS3MHPVr5r2Hf9FY4+6ccy90dwzWdOXgSUavDlqJogRPMcglXD/j0m7NzSTMzoycoheZrgOtSgZhq+vUJNwVbDqBS0rJyVbYROCFTDeHfuHrSg2X/2IFRdJH0gopDm4FfoqOy7B6AH+O8rtZmc1pfwP+NoAipng5wNEfAFYZNvkXeYsrQ9MAAAA=",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&17&18&19",
+ "cate_excludes": [
+ "微拍福利",
+ "国产热播",
+ "优选主播",
+ "经典剧情",
+ "AV番号"
+ ]
+ },
+ {
+ "name": "速博资源",
+ "url": "https://subocaiji.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAFhXhmYC/zWPWw6CMBBFd9N1+ohKNVGMiBpI+FHrAyJISHiV1bQzsAuZgl/39LY9k0En0zJh6GStWGoumF4/oH4zrOqWlwzLl5ZH5CvqlfSJ0EpgvjAk9rqoiMA6q5Kbd1yMtzC1YeKazvX7erT0dhyG6qvoLsPQXQxFQ9QFTwpsthSQf6BJDZ1uJtKYQtV3tJckVPLQzr5t5qlyw1QeaU+OG/Q/wA//h1CQctwtiHrJD0Ycn8r6AAAA",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&20&21&22&23&24&25&26&27",
+ "cate_excludes": [
+ "电影",
+ "电视剧"
+ ]
+ },
+ {
+ "name": "无尽资源",
+ "url": "https://api.wujinapi.me",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAFhXhmYC/zVRWVbCQBC8zZxTwxp8CnliFI2AEhzUaIIQhSxwmeklt3Ayk/xVdVe/7qqmaQrlVvB5TvkXuFJQXrCbCRhtsPgUnHb5O66ZKgNyBwL8QKtqRMMtdnoGSQ+OeY3wcoIXvtG5suni8EFlrqk9lSqT9ZLqbYaHuEYwTvB4MotPN1pgar0IvJGAcI/PL0IVbzTpmz3ZB5R3NaoW740W79cYRAalfxD6Zj6U1azfGNECrW6JXjpOWhJJvbP1a2+zru1MS4ysJU5EvmfMjDY0NaZpFFP5YWrrQRNE5aSYjMmGi7ukPkuVt+z8cPqksitB8TdNOkK3WfZZrjjeC1qYD9gj24XWVUOKKUy3qngU/Lurx6vXrk7KpGyG1MGlTDbx2OAEr8/oHxti42qIOoR4ITk+wdIR0J9RsKDOFw/nAgMXVu0JsN5Vrx5eXumP639dcxnR0ITPXQ/3c5uJgONe5St6P/Ov/t045FVP5TN1Wgq6SXSn6pRwcP4BxMt0fHACAAA=",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&44&45&46&47&48&49&50&51&52&53&54&55&56&57&58&59",
+ "cate_excludes": [
+ "电影",
+ "连续剧",
+ "综艺",
+ "动漫",
+ "资讯",
+ "公告",
+ "头条",
+ "伦理片",
+ "悬疑片",
+ "犯罪片",
+ "体育赛事",
+ "短剧",
+ "两性课堂"
+ ]
+ },
+ {
+ "name": "📛挺好┃新浪.云播",
+ "url": "http://api.xinlangapi.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "api": "/xinlangapi.php/provide/vod/",
+ "class_name": "H4sIAFhXhmYC/0WOXQ6CMBCEb9Nz+hOR+qAYETUh4UWtikaQkEihPU27W24hXU18msk3m53BuLaqZBjXTgSWC2YXF+hyhm3nuGQob1Ztkc89Nyr1DsMSpjNyYm2b1jsI90ZyuuPil8I4glFCLEkHTO4o+gP1wPsJuqLGVQGNJnYXqJf/Ffgd12dXSncnkqrwYrozRoH/adTGTV4Ms8fAP2ziC/TQAAAA",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&20&21&22&23&24",
+ "cate_excludes": [
+ "电影",
+ "电视剧"
+ ]
+ },
+ {
+ "name": "非凡资源",
+ "url": "http://cj.ffzyapi.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAFhXhmYC/zWQWw6CMBBFd8M6NUakfggmChKJ/ADViFpiiPIobqadwi6kQ/k7d153ZtShlLxQZGP1v4tqHpJQSzVtT2odk9srtHdDgkdIfjQWaVJOAas1Et3LqtEESw8WPtYRarLgnERNMHbmoqbaY8hC+L6Q4tsY1gQ5Vd1OU/9kkh+xw2VQdZgNUohypPIjEx/pzUyvTOgQ2tPmlp7sslkE6WgxC7QwwmyDN5qyWUybGIHTZjF5T0K0mfJsfECsP/cHYziM500BAAA=",
+ "class_url": "1&2&3&4&6&7&8&9&10&11&12&13&14&15&16&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&36",
+ "cate_excludes": [
+ "电影片",
+ "连续剧",
+ "综艺片"
+ ]
+ },
+ {
+ "name": "索尼|点播",
+ "url": "https://suoniapi.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAFlXhmYC/z1RbXaCMBC8TU7QW/RSip/oq8orxVp56hNoaqtFq1gFopfJZsMtGhLor93Z3czuTNBNgB0IuomkXbApwSyXdkpg8CHyrzJw5qPdI+D5ql1m2D+IVkdn1IFrVmaiORENT8/ZtOqK/itPbV2bM57Skl1sKd5GZVYsN7owjXS4xGWA8V6jow6YfgJ70VTJL4SenghpMetWR6rHiqYGimK8r4HeU2sx640i86YG5px/regaNZqqnjG7K5C74B54/kY4e5bWj0zmPB0SjL9x0iLyfCxDsW6DM9BEXizjFDpDokxWBksayPikHGTC6+FyVyri+TtOutVOfrExNeaoo01HRnfhXeuxaST8bQX4JRQNKuMbrCwC3Rn6S2ztZH9BHh7RfKzwbQhqKRAdi7UjmkP1hcrrJ8m26hRjfCiDDs9m/LYicD3xLMDNXZ4HRLYdcVoIa4ueQ3C0V52ixeBikcJKxH5s9vwBtOQp10cCAAA=",
+ "class_url": "1&2&3&4&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&23&25&26&27&28&29&30&31&39&44&45&47&48&49&50&51&52&53&54&55&56&57&58&59&60&61&62&63&64&65&66&67&68&69&70",
+ "cate_excludes": [
+ "电影",
+ "电视剧",
+ "综艺",
+ "动漫",
+ "体育赛事",
+ "斯诺克",
+ "爽文短剧",
+ "两性课堂"
+ ]
+ },
+ {
+ "name": "📛挺好┃天空.云播",
+ "url": "https://api.tiankongapi.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAFlXhmYC/zVQW3LCMAy8jc/JYygknSllCqGUTPkoYAphEqCB4uD0Mrbk3KK2Yn95V9autMJpqeWJodhrOcNoyMzfJ1ZHHXEGGcf6xaFmu4Df3CEd75RMXR+OTtAfEOITfa8cgu4rdBKHbK//hdG7EhHVktSWCcU7nJIC4xzlnmpLqQSnaatvS/w0eBwYVg8TCabXvFk8eeL2GReBzDdWFAitHTTjAu41ebX+raMVQJoF0ub0pLzpdRLIpfCbWIF7kK5l+JfJf5jeDH1u7NbNR01pexkmE8ozuKqKbqHkm+mdTblU4pnhyt32H73g+qZ2AQAA",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&44"
+ },
+ {
+ "name": "快看资源",
+ "url": "https://kuaikan-api.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "api": "/api.php/provide/vod/from/kuaikanyun/",
+ "class_name": "H4sIAFpXhmYC/22S31bCMAzG36bPyR832A7CpjgEd/BCsQOGAxXFleLLLE33Fm5pe7zxar806Zcv6XB6BHlg+meJYgcBZyjOOigZhJk6b1mT09zXxyv9WvwXqHGmryOG2zn4Hng5xCGr5K3uvTEsNyDvMBgw8G/q+Zoo4KrvEYVZJVNLOBVofEA0Uh1Ox0naVBOtBvAtWlLdSHUSol6OSUzUD1VvQTS8r8qAaDfSw2VL2L3UiwvR8GBbY1ig3BDx2CqjmIB3IpIxitTZeZBVydu1qJzjZUw0W6k0J3rf0+dUwMRQsq/XlALvsxLJ30W7VXPXBvXjutF3+6ZOrox0GnkXUwdXSdIuY2yZx7LOTGDU3TOaOWyZU3ex8W8rjXETVOcXjPx2K1atnef4Bc80GfZ39SzDR/Pb0MI0f9LFxy+o48M1VAIAAA==",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&42&43&45&46&47&48&49&50&51&52&53&54&55&56&57&58&59&60&61&62&63&64&65",
+ "cate_excludes": [
+ "电影",
+ "连续剧",
+ "综艺",
+ "动漫",
+ "影视资讯",
+ "影视资讯",
+ "影视推荐",
+ "站内公告",
+ "体育",
+ "歌舞片",
+ "经典片",
+ "新马泰综艺",
+ "其他综艺",
+ "韩国动漫",
+ "新马泰动漫",
+ "其他动漫",
+ "海外剧"
+ ]
+ },
+ {
+ "name": "玉兔资源",
+ "url": "https://apiyutu.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAFpXhmYC/zWNWYrCQBRFd/NWI/SWEro1VkvEAQ1oxCgkFdR8qB8mVdHVvKGyC0vRnwt34Fy5PGge8rh08QRofUej5R0B1pZnlejAqQtwknN64lRJFn5Nkr0M1hUvI6oSahYgx7zbp3QrsbkCB5r/tmgMFRaoNZTX2JyxLYBPWh5j/u2/0FgrMdrHMhkAxbsuWNF/ye3RNxu3T3964KIDj2IKb14/76IiWvi90h6DdiQ2BrlPeb2Rq6VhAp2x7jzANqPD7AniRark5QAAAA==",
+ "class_url": "20&21&22&23&24&25&26&27&28&29&31&32&33&35&36&44&56&57"
+ },
+ {
+ "name": "火狐|点播",
+ "url": "https://hhzyapi.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAFlXhmYC/zVPWw6CMBC8Tc/pI6D1w0eCKErCj1ofKBBjokg5DbsLt7Bdy1dnZrezMxS8WuWDVIKCF+hCYKqonluhO0X4zhglF/vg5sjskuIzt6ipTrT0SU4EzM6Nji2iaYFjj7UwNkusqRV8vhbhcImDkKdSuT2cbptSWtQ+ctBr54fVTYDvQcynjEABWzTvO+y1WzCRME578o/+J/StWlkKWOT4qdnhoLrId7L5Z0r1xLRc5D1hE0doWHe7mkOOUgpXXGaWkb5yyOPE1aLkbk78ALNMUSlMAQAA",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&20&23&24&25&26&27&28&30&31&32&33&34&35&36&37&38",
+ "cate_excludes": [
+ "电视剧",
+ "电影",
+ "动漫",
+ "综艺"
+ ]
+ },
+ {
+ "name": "黑木耳|点播",
+ "url": "https://www.heimuer.tv",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAFxXhmYC/0WSbXKCQAyGb8M5UQcRqgU7DFal2mllKBa/pqNjQexl2M1yi7LZpP2175PNJnkDEJ1FfbIgOqtsKLzMEv6HvH1aUN2UV1pdRA4c8Fwdb+oE1fCpneeowrG0M1Rx0qWiSl3xXWkle6G0Y4wt66bMdHV5PeijXedIsxSPfgHxFJ8MfNlfaAW9e7u4oxqdaATwD1BvUWVTatKNBVEF5GK9w3pfR3QS4CGLDO6PqOJjmxd45VyaKsbYbqxGK+w9em5KD6tXgXCuqOopVAlV7x6J/eDfD61IWwqOBNrYsuabWSqTggHHYMBJujl5zTgPQ7BR7w55UfNQ9h4IWnuo3nbs0mzNAKQrddpymjuBaE0gNpOmcjkt/1EXnyFKxP6V026lsv+ahmOxf+EbY5uammWaf8T4IzDOCeiDUxouiIGdcyZWN/ALQpTFCIwCAAA=",
+ "class_url": "1&2&3&4&6&7&8&9&10&11&12&13&14&15&16&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&44&45&46&47&48&49&50&51&52&53&54&55&56&57&58&59&60&61&62&63",
+ "cate_excludes": [
+ "电影",
+ "电视剧",
+ "动漫",
+ "综艺",
+ "短剧",
+ "其它片",
+ "新马泰综艺",
+ "古装短剧",
+ "悬疑短剧",
+ "神豪短剧",
+ "复仇短剧",
+ "强者短剧",
+ "萌宝短剧",
+ "韩国动漫",
+ "新马泰动漫",
+ "其它动漫"
+ ]
+ },
+ {
+ "name": "华为吧",
+ "url": "https://hw8.live",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGJXhmYC/02PYXKCMBCFb5NzKgwK1CnQ0rS1TP2lEYtF6+hYIJwmycItmizJTH+9722Wtw/Ir5KfiVw8je8lREsiI6b8ACneC15YgrwFu5qu1IzhmBZ6G2m7lL+tITVP1YwieRXQDMmPlbdGOq6G8NMQzPtx3SOFZ3sQWGZTIK6BH5DaRAZ3JJ5BW9gSKnwTTWTGottBusCF/DqwhW5EVMWgf0R63RoZN6URmZxweEGRH1w0DAf3GoWexrLCp+AmWooU71X3pWt0Q9QQwZ8H74dAc5D8BW/W35D6ZLhdjJiKWhSth7qRwYMrMmXoLqbHZOxx+4KHTS3rdZ/EGdvl/2e2zRToDJ5yxgU6j4HWTIHWwOaof/MPw42TdwYCAAA=",
+ "class_url": "20&22&24&26&28&30&32&34&36&38&40&42&44&46&48&50&52&54&56&58&60&62&64&66&68&70&72&74&76&78&80&82&84&86&88&90&92&94&96&98&100&102&104&106&108&110&112&114&116&118&120",
+ "cate_excludes": [
+ "电影",
+ "电视剧",
+ "动漫",
+ "综艺",
+ "篮球",
+ "足球",
+ "网球",
+ "斯诺克",
+ "新马泰动漫",
+ "新马泰综艺",
+ "其他综艺"
+ ]
+ },
+ {
+ "name": "魔都|点播",
+ "url": "https://caiji.moduapi.cc",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAFtXhmYC/zWQW27CMBBFd5N18lABRxUpEoQCUfloqHkECFS0kOB0M5mZeBe1x86Xz73zkOfCStWFhHCLz0OA841e71qRSarGrbifIcq9cA9Nb6AugR6+0mzvK95r/j6oPIKQAZXPRhR2olYJiWEAcWJ8SzS6YP+FSU7gUVrC7ht2Yu4T0ldx9F4XgqkfYm/J1dMPFEemKG0+uQ/GA4iu3NfLKJ7w5vBMas/UrfSystScclAz9tZuhYvA/FZ/LeyhlkwMK2XJx2DIBICPir35BpOM6fYLacz0nfsJSKVeDPzlLrhWcL6t4MVO/AOTlpJZhgEAAA==",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37",
+ "cate_excludes": [
+ "电影",
+ "连续剧",
+ "综艺",
+ "爱情片",
+ "科幻片",
+ "恐怖片",
+ "战争片",
+ "惊悚片",
+ "家庭片",
+ "古装片",
+ "历史片",
+ "犯罪片",
+ "灾难片",
+ "短片",
+ "香港剧"
+ ]
+ },
+ {
+ "name": "最大|点播",
+ "url": "http://zuidazy.me",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAF1XhmYC/z1RbXaCMBC8TU7QW/RSip/oq8orxVp56hNoaqtFq1gFopfJZsMtGhLor93Z3czuTNBNgB0IuomkXbApwSyXdkpg8CHyrzJw5qPdI+D5ql1m2D+IVkdn1IFrVmaiORENT8/ZtOqK/itPbV2bM57Skl1sKd5GZVYsN7owjXS4xGWA8V6jow6YfgJ70VTJL4SenghpMetWR6rHiqYGimK8r4HeU2sx640i86YG5px/regaNZqqnjG7K5C74B54/kY4e5bWj0zmPB0SjL9x0iLyfCxDsW6DM9BEXizjFDpDokxWBksayPikHGTC6+FyVyri+TtOutVOfrExNeaoo01HRnfhXeuxaST8bQX4JRQNKuMbrCwC3Rn6S2ztZH9BHh7RfKzwbQhqKRAdi7UjmkP1hcrrJ8m26hRjfCiDDs9m/LYicD3xLMDNXZ4HRLYdcVoIa4ueQ3C0V52ixeBikcJKxH5s9vwBtOQp10cCAAA=",
+ "class_url": "1&2&3&4&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&23&25&26&27&28&29&30&31&39&44&45&47&48&49&50&51&52&53&54&55&56&57&58&59&60&61&62&63&64&65&66&67&68&69&70",
+ "cate_excludes": [
+ "电影",
+ "电视剧",
+ "综艺",
+ "动漫",
+ "体育赛事",
+ "斯诺克",
+ "伦理",
+ "两性课堂"
+ ]
+ },
+ {
+ "name": "快看|点播",
+ "url": "https://www.kuaikan-api.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAF9XhmYC/22S31bCMAzG36bPyR832A7CpjgEd/BCsQOGAxXFleLLLE33Fm5pe7zxar806Zcv6XB6BHlg+meJYgcBZyjOOigZhJk6b1mT09zXxyv9WvwXqHGmryOG2zn4Hng5xCGr5K3uvTEsNyDvMBgw8G/q+Zoo4KrvEYVZJVNLOBVofEA0Uh1Ox0naVBOtBvAtWlLdSHUSol6OSUzUD1VvQTS8r8qAaDfSw2VL2L3UiwvR8GBbY1ig3BDx2CqjmIB3IpIxitTZeZBVydu1qJzjZUw0W6k0J3rf0+dUwMRQsq/XlALvsxLJ30W7VXPXBvXjutF3+6ZOrox0GnkXUwdXSdIuY2yZx7LOTGDU3TOaOWyZU3ex8W8rjXETVOcXjPx2K1atnef4Bc80GfZ39SzDR/Pb0MI0f9LFxy+o48M1VAIAAA==",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&42&43&45&46&47&48&49&50&51&52&53&54&55&56&57&58&59&60&61&62&63&64&65",
+ "cate_excludes": [
+ "电影",
+ "连续剧",
+ "综艺",
+ "动漫",
+ "影视资讯",
+ "影视资讯",
+ "影视推荐",
+ "站内公告",
+ "体育",
+ "歌舞片",
+ "经典片",
+ "新马泰综艺",
+ "其他综艺",
+ "韩国动漫",
+ "新马泰动漫",
+ "其他动漫",
+ "海外剧"
+ ]
+ },
+ {
+ "name": "1080资源库(切)",
+ "url": "https://api.1080zyku.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "api": "/inc/api_mac10.php/",
+ "class_name": "H4sIAF5XhmYC/0VQW26DMBC8jc+ZPkIxHwXUhDQqSqQqwUShDTSKWiBOL8N6zS1qr7H65XlYO7OLiwvIhunfDfYfwAXD/qp5xyAq1fVon0HmyJ8YZLmxLcKwUQ9zQiKFtrdI3SVqltE/LiZXha9Dx0l7k0Mn7HSIa9XeLBq3ByNbpCqBt2fSirX6OZF2rr272qu8omZFDOGB6c8a5JLGRiUuXPzlG3YZBcyOmATk7sS4DqZ17Ni49mS1N+meULrf2hV1u7tvnriSE6FpnrjsiSQbrFKz3HloE2Yuq0XAVCO1LBhu7YFNLZiXbHx/hDSyPf/RIF/0/dcff/xQy5IBAAA=",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&41&54&61&62&63&64&65&66&67&68&69&70&78&79&80&81&83&92&93&94",
+ "cate_excludes": [
+ "电影",
+ "连续剧",
+ "综艺",
+ "动漫",
+ "港台动漫",
+ "海外动漫",
+ "预告片"
+ ]
+ },
+ {
+ "name": "🈵成人影视5",
+ "url": "https://lbapi9.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "api": "/api.php/provide/vod/at/json/",
+ "class_name": "H4sIAF5XhmYC/y2QbW6CQBCGbzNX6U2a9BZSiqjIV6v1AwxoqxgtsX5EYRF6mZ3Z5RZdIn822eSdZ955OJvT5US6IfsnwKDkLOFZQe9p+5HmjiwbaBKLWOPZBw4Z0E8iKoc6iegdQXQjXJ85Y7gpAO8M1xnPj/y+AbxteX5WSfUCz1L6NDGdYD4G7F0ptOXhSLoPahq9oaKRZgHay7ozx8FWjAqQSbde+QolvC7gr6+S0ltIpw+1aaP7pSqr4tDsNkoF4OwbaH7BQSBnHlYGYLoRo4jiJQYpCOcN84IXM17FQFOHphFqV9RdaDKXotZLzF5VUVttVF0atCjcejekscGZBSLxFVAxSD8Djg6Ng8wQ7ACi9NG1WlX8YfRhp1X112lodXhCk6F2E7s11PupvEU8W8hV2J5N931z9tPLsxKAQfUP2nDGlJwBAAA=",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&21&22&23&24&25&26&27&28&29&30&31&32",
+ "cate_excludes": [
+ "暴力虐待",
+ "学生校园",
+ "玄幻仙侠",
+ "明星偶像",
+ "生活都市",
+ "不伦恋情",
+ "经验故事",
+ "科学幻想",
+ "唯美清纯",
+ "网友自拍",
+ "亚洲性爱",
+ "欧美激情",
+ "露出偷窥",
+ "高跟丝袜",
+ "卡通漫画",
+ "Gif动图"
+ ]
+ },
+ {
+ "name": "AIvin|AV",
+ "url": "http://lbapiby.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "api": "/api.php/provide/vod/at/json/",
+ "class_name": "H4sIAGBXhmYC/y2QbW6CQBCGbzNX6U2a9BZSiqjIV6v1AwxoqxgtsX5EYRF6mZ3Z5RZdIn822eSdZ955OJvT5US6IfsnwKDkLOFZQe9p+5HmjiwbaBKLWOPZBw4Z0E8iKoc6iegdQXQjXJ85Y7gpAO8M1xnPj/y+AbxteX5WSfUCz1L6NDGdYD4G7F0ptOXhSLoPahq9oaKRZgHay7ozx8FWjAqQSbde+QolvC7gr6+S0ltIpw+1aaP7pSqr4tDsNkoF4OwbaH7BQSBnHlYGYLoRo4jiJQYpCOcN84IXM17FQFOHphFqV9RdaDKXotZLzF5VUVttVF0atCjcejekscGZBSLxFVAxSD8Djg6Ng8wQ7ACi9NG1WlX8YfRhp1X112lodXhCk6F2E7s11PupvEU8W8hV2J5N931z9tPLsxKAQfUP2nDGlJwBAAA=",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&21&22&23&24&25&26&27&28&29&30&31&32",
+ "cate_excludes": [
+ "暴力虐待",
+ "学生校园",
+ "玄幻仙侠",
+ "明星偶像",
+ "生活都市",
+ "不伦恋情",
+ "经验故事",
+ "科学幻想",
+ "唯美清纯",
+ "网友自拍",
+ "亚洲性爱",
+ "欧美激情",
+ "露出偷窥",
+ "高跟丝袜",
+ "卡通漫画",
+ "Gif动图"
+ ]
+ },
+ {
+ "name": "飞速|点播",
+ "url": "https://www.feisuzyapi.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGBXhmYC/zVQ0VLCMBD8m3wn4oAEZ0THUuzQGR4EUwGHVq1ASvia3F34C5NL+pTdvc1mL5S1YBpBWevUGKQS1F2c1AKmFV524bCmJPkgIC/9OCCaNHg/YqRe4NwFhHfPOMjZJ1Wa4uTNasna0litQvrto8DTISCY1Xi+srb69AZ+W2/BzPnGtKIsJi82WO7DFH/q5MO9ousTp8TkWDZZE4meRNojrPNEiFd26t0dfgWs1a0Yp6VDtVndk8XGN+sJp/V/M/qzXVyWEVdqhl6geeGqgbDm1Q2/Xbu0+lHQ6ssb/gEHs/6laAEAAA==",
+ "class_url": "1&2&3&4&6&7&8&9&10&11&12&13&14&15&16&20&21&22&23&24&25&26&27&28&29&30&31&32&33&35&36&37&38&39",
+ "cate_excludes": [
+ "电影",
+ "动漫",
+ "求片留言"
+ ]
+ },
+ {
+ "name": "飘零|点播",
+ "url": "https://p2100.net",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGBXhmYC/y2QXQ6CMBCEb9Nz4g9ITVRMtEgk+qIWBRUeiFJEL8Nuyy2kq0/7ZWfSnaleldAUzHx2ur4Cl0zXL8MVg2mCr9SOtok1nzAQcS9b0n6BI5dILqGqLeEgQEeQj8u/iv6mVZx226ZV0r7enSJ83i3BIsfqbQnDI8YZqftzb6VdJvV7TlQ+4CAo2f4XMPDMTdF5dYFmbakblpgv4PDLl0bguSjyLqwZJEVbBbaNM2DgpjA7ad9DEbG+du825djc7v+6mj7jC0s45WsTAQAA",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&21&22&23&24&25&26&28",
+ "cate_excludes": [
+ "电影",
+ "连续剧",
+ "站内新闻",
+ "娱乐动态",
+ "八卦爆料",
+ "影片资讯"
+ ]
+ },
+ {
+ "name": "八戒资源",
+ "url": "http://cj.bajiecaiji.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "api": "/inc/apijson_vod.php/",
+ "class_name": "H4sIAGFXhmYC/zWPSw6CQBBEbzPn1BCQceEnQZRA4gYdP0RlgcrAcBq6W27hfGDVr3qqKzUUVaBKBlwMacCoaX9cMlhesL2b0auM+IJBnGmHIQpL9HxLYgt1YwjnG5zF1sfF+Aqp6qXQmg3nBL9PQ7B+Yd3Z3fGqDYZwf8KssFQI6laWqg/ksb3w3/Dwpla5GJJgEi7fFR1DRuFynCB5A7UzP6HIdQ0PveSa/jqotA35AAAA",
+ "class_url": "1&2&3&4&5&6&7&8&9&11&12&13&14&15&16&17&42&97&96&91&92&93&99&100&101",
+ "cate_excludes": [
+ "电影",
+ "剧集",
+ "综艺",
+ "动漫",
+ "大陆综艺",
+ "欧美动漫",
+ "纪录",
+ "战争片"
+ ]
+ },
+ {
+ "name": "KK写真资源|AV",
+ "url": "https://kkzy.me",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGJXhmYC/y3JQQrCMBAAwN/sO4uUSHuqPSjBQKTYRtGSk5Cmaf3MZjf5hSC5zmCYuBPcHCEKyUqnT02+g6yf8brhPyFPkpxF17A3kMYvnZcysX1QeAFdRlLvYujuVJlk93g7AOs5GZGHE7qV+vkHkHhCsG4AAAA=",
+ "class_url": "1&2&20&21&22&23&24&25&26",
+ "cate_excludes": [
+ "伦理片"
+ ]
+ },
+ {
+ "name": "️🔘番号",
+ "url": "http://fhapi9.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGJXhmYC/zWRW3KCUAyGd5MF9aHrkWkRkeJlWsWCF7yBU0vV6ggcBDdzknPcRdMWXzL5MsmfG7bONHZlNtGLMahqJcWK0q3MD0BeqEJDZq/4IgCNlBxXWx9sAd35reFje0OXLcgsoaGFiYf5AOgzVlWHGrFqHQDTjcyPzGwBg1KKWC8zbbTvUKv9gQo86j+DvESq15SZrUQMuD5i74XVyHAA931m3Zvojg1SCIyG6lhgywP97pMze3zgqI/pFINK2VY9Sg3safN637LsY9epu1NmKrHDtx2nAHYjdSjqmv8t9enEDKo54+58Fh4QVGcviyVdG/Rkcs0KzYySSFYhkH/CdoAXgesMKJxjkNBore1vwK8ziqQWuA2uamfp61SXJbAIJ2Be3ooR8O0xKn6f4C5+AHQPoPebAQAA",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&21&22&23&24&25&26&27&28&29&30&31&32",
+ "cate_excludes": [
+ "亚州图片",
+ "欧美图片",
+ "美腿丝袜",
+ "网友自拍",
+ "清纯唯美",
+ "另类图片",
+ "卡通贴图",
+ "熟女乱伦",
+ "现代激情",
+ "古典武侠",
+ "暴力强奸",
+ "校园春色",
+ "家庭乱伦",
+ "长篇连载",
+ "情色幽默",
+ "淫妻交换"
+ ]
+ },
+ {
+ "name": "易看资源",
+ "url": "https://api.yikanapi.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGJXhmYC/zXNQQqAIBQE0Nt0VCEX1aqIBFdqUVTQRqXsMv5v3SKi3/IxzEy0efIm7jpVLLvlAN1BwEahmP5Et2gXwqVOrB0ByhVdIKRQgNqAtUlIGiB8HcJ74s0POwMfMuA97uMD/77N848AAAA=",
+ "class_url": "20&22&23&24&25&26&28&29&30&31&32&33",
+ "cate_excludes": [
+ "三级伦理",
+ "美女写真",
+ "日本写真",
+ "国产写真",
+ "帮助",
+ "动漫"
+ ]
+ },
+ {
+ "name": "360┃秒播┃采集",
+ "url": "https://360zy.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGJXhmYC/zWRa3aCMBCFd5N9tAvomhRaFHoqcKpYrUd7VEQtCD6rYGAzee6iYYi/8s0kmZl7h/fPFO+RqKa8SKgdIV7chZ0j6qzZ/ReR+4p7Frc7dYLgCVAwUQ9r4t09M9+AIp/eippY22OtAN7Zkb5l3S+S25D7xiSP6j5yNWLXFGi2UemaWBzxslcTwZ/COKCX5yfETIcZY/i8u9A84akidykWUJr2LOoeoIkR88CHYZyU4y1Qu5TjEijfUjwAmiVaD+/DxNTN2K2E/sOQTWKg8x9dBkDHTE9Hl5EcWdqfenY3ewTDUIl4BCDiYWOjtzFTy9MB/NGBuBy5ZyKe7uqDTba0a/F9gURYSXPdWI1Z0FGzw456GSkW0sT0aiDx6rPTtFGP6O2kbvimEhdHu0SKESl/VPAhcKzKgJTwKOc+a7+rDarteHJQyZYl5sk/IOiszA8CAAA=",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&45&46&47&48&49&50&51&52&53",
+ "cate_excludes": [
+ "电影",
+ "连续剧",
+ "综艺",
+ "动漫",
+ "体育",
+ "海外剧",
+ "泰国剧",
+ "港台综艺",
+ "日韩综艺",
+ "欧美综艺",
+ "欧美动漫",
+ "足球",
+ "篮球",
+ "未分类",
+ "脑洞悬疑",
+ "反转爽剧"
+ ]
+ },
+ {
+ "name": "天翼|点播",
+ "url": "https://www.911ysw.top",
+ "parse_url": "",
+ "cate_exclude": "",
+ "api": "/tianyi.php/provide/vod/",
+ "class_name": "H4sIAGJXhmYC/zWQXW7CMBCEb+ODcLICJcR+oFBBCE1UKlXB/CeoimiTOJV6FttrblF747zNzK483xqWpRI3Yn7fob4oygnUjaEVUWyvmxMx5bO55s5JkQKdEhWldsspCG96PEHFF+qndkoP5/opwj3K/VSHsawoZomQFXcl+jtXLwWqdfbYHlCdObQzpyyQ4YGv1vFMx9vejJkevWEny0Ec8dXg9bE5YNPoDNECM7aHZUd02cn2A7Ns6inNtVBihdOvwkK5zgGcNrA6Wvl3d1GY+C/wzR1kj1HeNctU0hL4HCqW+Fg2O5gH+C5CW7SJSgtvupt7g2f3Bi/vzD/Tdm55kAEAAA==",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&20&21&22&23&24&25&26&27&28&29&30&31&32&33&35&36&37&38&39&40",
+ "cate_excludes": [
+ "连续剧",
+ "资讯",
+ "影视资讯",
+ "明星资讯",
+ "武侠片",
+ "B站番剧·国创",
+ "动漫资讯",
+ "韩剧资讯",
+ "海报图",
+ "磁力资讯",
+ "明星",
+ "内地明星",
+ "港台明星",
+ "日韩明星",
+ "欧美明星"
+ ]
+ },
+ {
+ "name": "CK☆资源",
+ "url": "https://ckzy.me",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGNXhmYC/y3NTQ6CQAwF4NvMOf2JwGCikMiokcQVFg0RWJgoWk8zneItnGnYfWn7Xu3nwlnEOlauOHK9Vrx7EPaK0tpiGeZkStIQxEnvlisR5PR6S2qeuZmROw3T1iUHO2jRomGTB433jrCQbNoy3iRRxVOLfzpC5BsUndAOEOQa4O9GtK9+56vo2dK28/oDXCWpR7cAAAA=",
+ "class_url": "20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38",
+ "cate_excludes": [
+ "教程",
+ "电影",
+ "动作片",
+ "喜剧片",
+ "爱情片",
+ "科幻片",
+ "恐怖片",
+ "剧情片",
+ "战争片",
+ "悬疑片",
+ "记录片",
+ "犯罪片",
+ "奇幻片",
+ "电视剧",
+ "国产剧",
+ "欧美剧",
+ "日韩剧",
+ "港台剧"
+ ]
+ },
+ {
+ "name": "狼友会资源",
+ "url": "https://api.lyhapi.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGNXhmYC/0WRX26CQBDGbzNHaNLHvvYAPY+oQbCWim1FIxVFBf+mRdsoi3iandnlFl3qEl8m+WUm38z3DY5yzmJxyNDygLaxuDgVeIsiWGnA/zF+nuC6B9he0nmjO/yUUW+nQeSusMwic6k/BOrY5K6oXcOTBeSEsp3I2CxCF/DMcHHiacLPEWCLyXwpvxJquCBba3p+QeOoKggzwMWBM4ZRBvg6K6VDH7+baumO+i3ceZh+lIeSvyVvIiZGBb59g1IjnwEtp8JOaeDQIADcReI9oPYcZxvA/Uj5E5c5Z3OgWkzN4LoaaGzgm1G6YiGIYS6Hjux+SseGx4cnsb+opg5NO6Oxj2amcypYJhNTg5rmJ18DTztkD4p6VCU6XykNDdL3adrQoI4VK1Z1fo+inlaCVnJTv7u/rSlq9tU4XA8Xox/1If01FZ0tyk9Gomv+AeFqdgz9AQAA",
+ "class_url": "20&21&22&23&25&45&48&49&50&51&53&54&55&56&57&58&59&60&61&62&63&76&77&78&79&80&81&82&83&84&85&86&87&88&89&90&91&92&93&94",
+ "cate_excludes": [
+ "国产系列",
+ "欧美系列",
+ "日韩系列",
+ "国产传媒",
+ "动漫系列",
+ "主播系列",
+ "岛国群交",
+ "性感熟女",
+ "JAV精品",
+ "动漫"
+ ]
+ },
+ {
+ "name": "️极速┃资源",
+ "url": "https://jszyapi.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "api": "/api.php/provide/vod/at/json/",
+ "class_name": "H4sIAGJXhmYC/zVP0W7CMBD7m3znYKIQkICKUsaoxMsgsBUooEpQmn5N7i79iyVH+hTbsXw2JaVVEUglKClBXwXmipqpF9r9Gh8XRtujf3C1Y3bM8V54ZOo9zSOSQwHjg9GZRzS64ueAtTRzJtZUDM+XR9ib40fKv1IFH46+TCU9sucC9DLkYf0nIBpAxqecQAlHmMcJNjoYXCXM8o68q78JvWorKwGzAp8Nl9UL27/ZcmOqiYAf1a6j4HEhbmFH3ORZ0RFODIR6TfvdcON+TmnMy8YX0r/ceDcMG2l7cvf+AYiMpdZZAQAA",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&20&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38",
+ "cate_excludes": [
+ "电视剧",
+ "电影",
+ "动漫",
+ "综艺"
+ ]
+ },
+ {
+ "name": "爱坤资源",
+ "url": "https://ikunzyapi.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGNXhmYC/zWQX1LCQAzGb7P3UF8ZxzevIyAtRYfCCOVfRx4EqkhLgQGksOUyTbK9hd10edjJL99m82VDvT3IjVDXTzqH4ASCzhflJAJa33j5FdllQR2LHFsLmfSZPL8o1ETNDdYbTEEXTmdNWO3gi8d1TmBusTnMEoep3sLamG+jAyQhkztTX1wHbQvcLdfVVuR1uXNrTXLJVE3zcapJRTHIPmvT0AxHPbaHicySQH8kX4zwb800/SlkTbgKKG1rAjfGU8raYI7+iml/hJnHtIvNC5gF+cgyS9H93PiWDOZF41vCjW+7K2coN2gsTVJ6md3KD1XbCnXYUacuwGqAH+OwjcOpMTIJNSV6dvFTnic9Um8r8NXVQb1t1KEh1PzK4q6vw+P9nXgoTuWpIp410DrSDrn9Tv1laf4POZSCyfcBAAA=",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&40&41&43&44&45&46&47&48&49&50&51&52&53&54&55&56",
+ "cate_excludes": [
+ "电影",
+ "连续剧",
+ "综艺",
+ "动漫",
+ "体育",
+ "内地明星",
+ "港台明星"
+ ]
+ },
+ {
+ "name": "奶香香|AV",
+ "url": "https://Naixxzy.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGNXhmYC/zWOW3KCQBBFd9P7yALyk1S5niBGBKPim4QkWFo4vvAVkyACbma6Z9hFBiE/U3Wq5957xDHFvoZuwiMG4gY09jNvWYK4xGg3SsB9R+5O/5e0jW4KRVQaK2q2gIcX6gVydyC9C9SeSusgormobgG1X/VBvWLlg0i65H6grYv+O5A1ypyT8AJhGsDjCa56aDLSn6EQKTpLoPFETDS1E9DIwGCM5yHcVSSb5V7UmspaSE6bHA8wjtAP+fnA4zmg/8Vjp7zQhil3uj7lG5nRws6sBB6aImIqIOw6FBJoLShew+O93Os0fM2b0H6hJ0ZaEyoPktUl60GmJxhW5eLWQm8ntFyefgtrB7j9wShQlblGHqt5MlrzpA8qJ80jmVuKByDmHWwskW1ArYnBRV4/ZZL8AQZHJrmdAQAA",
+ "class_url": "1&2&3&4&5&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&44&45&46&47",
+ "cate_excludes": [
+ "精品国产",
+ "精品日韩",
+ "精品综合",
+ "精品小说",
+ "精品美图",
+ "都市言情",
+ "暴力侵犯",
+ "家庭伦伦",
+ "性感身体",
+ "角色扮演",
+ "福利姬",
+ "漫画连载"
+ ]
+ },
+ {
+ "name": "无尽|点播",
+ "url": "https://api.wujinapi.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGNXhmYC/zVRWVbCQBC8zZxTwxp8CnliFI2AEhzUaIIQhSxwmeklt3Ayk/xVdVe/7qqmaQrlVvB5TvkXuFJQXrCbCRhtsPgUnHb5O66ZKgNyBwL8QKtqRMMtdnoGSQ+OeY3wcoIXvtG5suni8EFlrqk9lSqT9ZLqbYaHuEYwTvB4MotPN1pgar0IvJGAcI/PL0IVbzTpmz3ZB5R3NaoW740W79cYRAalfxD6Zj6U1azfGNECrW6JXjpOWhJJvbP1a2+zru1MS4ysJU5EvmfMjDY0NaZpFFP5YWrrQRNE5aSYjMmGi7ukPkuVt+z8cPqksitB8TdNOkK3WfZZrjjeC1qYD9gj24XWVUOKKUy3qngU/Lurx6vXrk7KpGyG1MGlTDbx2OAEr8/oHxti42qIOoR4ITk+wdIR0J9RsKDOFw/nAgMXVu0JsN5Vrx5eXumP639dcxnR0ITPXQ/3c5uJgONe5St6P/Ov/t045FVP5TN1Wgq6SXSn6pRwcP4BxMt0fHACAAA=",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&44&45&46&47&48&49&50&51&52&53&54&55&56&57&58&59",
+ "cate_excludes": [
+ "电影",
+ "连续剧",
+ "综艺",
+ "动漫",
+ "资讯",
+ "公告",
+ "头条",
+ "伦理片",
+ "悬疑片",
+ "犯罪片",
+ "体育赛事",
+ "短剧",
+ "两性课堂"
+ ]
+ },
+ {
+ "name": "最色资源|AV",
+ "url": "https://zszyw.top",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGNXhmYC/0WQbU6DQBCGbzP36E8v4HlEii1tQLCxVAsBsUi/CLYSC1taL7Mzu9xCGraabGbzTmbmfWbIS5pwJfZnnGjQu5Xpu8wLoKHDGcPRkuoN8DKj6QAzD6tnIC8hf0u+KSLtKrzoX/Bqx+sPoG0qzjb93JFuAM5PnKW8jnD9pIQy7Kq7FKB2oLElB+s2Ag6/ybfosBGrFudYXJ4dy9EOejciKlrOq0fnztkrFfs/wdA4oVFK7xGwZpiUigs/XUy+2gG46IN0AmmbXQrEyaV50Bxdmr60HmTFsl9C99HMplmoStDRxcRXeyimjlbmO9JddQg8LHnVjg0zmT40sXvpFizGRUHBm1qcco2XpkzvfwHQUHcChgEAAA==",
+ "class_url": "20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&44&45&46&47&48&49&50",
+ "cate_excludes": [
+ "AI破解",
+ "欧美无码"
+ ]
+ },
+ {
+ "name": "虎牙资源",
+ "url": "https://www.huyaapi.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGRXhmYC/zWOXQ6CQAyEb7Pn9Cciq4liRNRAwpOuRlTUkACynmbbrreQLfjUb6aTdigsrPJAKkFhAfohMFP0WTjje9xjeWdKz27g9sDqnOErd2SaIwUeyamA2cnoxBH5DxxP2IuSNsSeWkH1doTDAAcRb6Xqc+jvTC0d2VsOetPfw+YiwJtAwq9ag0I+YcorxLoPtJUwyf6iq94JejdW1gKWOVYfLqvXdvS0RWzquaD02no/UcDcbf0AAAA=",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&20&23&24&25&26&27&28&29&30",
+ "cate_excludes": [
+ "电视剧",
+ "电影",
+ "动漫"
+ ]
+ },
+ {
+ "name": "官网|点播",
+ "url": "http://gwcms.cttv.vip",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGNXhmYC/3s+ZevTvRvVnk/Z+mJ529PO5WrPd+950blL7WnXimd7Vqu9WLfh6d6pzzvbQSqACl8sX/xi/Ra15/PXAtUCAANT18E8AAAA",
+ "class_url": "1&2&6&7&20&21&22",
+ "cate_excludes": [
+ "电影解说"
+ ]
+ },
+ {
+ "name": "鸡坤资源",
+ "url": "https://jkunzyapi.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGRXhmYC/zVOzU7CQBh8m+89OHnXBM/Gq4kmnryJDVQgUtoE9wCaFbQl1bU2oq67LH2Z/b7dvoVt1MtkfpKZsVLQbYiC4fcMiD3R4oUWQ8d7/4LxVnS6Plv5YgPHp+dnJ0cXUAcG5RVVlxT0gfgDzkXDrBqDVQpT7dRHm9Sria2Y3aZuOgCMUldqfIvaIhKp3XGMHrEvoZ5Vrgh9de+NgVrHVt75oqQghoPDzh74MKfxDfa+GoTfTRytafsMzsROLa3UlAigydKPSveu8ZqBlUOnsr/l7r7PBj5LAOfGti7HPAG34c1Zmgr/mkPN1s17qz9/AO52o6oSAQAA",
+ "class_url": "1&2&3&4&5&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37",
+ "cate_excludes": [
+ "都市激情",
+ "校园情事",
+ "人妻纵情",
+ "风俗伦理",
+ "另类小说",
+ "武侠古典",
+ "长篇连载"
+ ]
+ },
+ {
+ "name": "丫丫|点播",
+ "url": "https://cj.yayazy.net",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGVXhmYC/z1RbXaCMBC8TU7QW/RSip/oq8orxVp56hNoaqtFq1gFopfJZsMtGhLor93Z3czuTNBNgB0IuomkXbApwSyXdkpg8CHyrzJw5qPdI+D5ql1m2D+IVkdn1IFrVmaiORENT8/ZtOqK/itPbV2bM57Skl1sKd5GZVYsN7owjXS4xGWA8V6jow6YfgJ70VTJL4SenghpMetWR6rHiqYGimK8r4HeU2sx640i86YG5px/regaNZqqnjG7K5C74B54/kY4e5bWj0zmPB0SjL9x0iLyfCxDsW6DM9BEXizjFDpDokxWBksayPikHGTC6+FyVyri+TtOutVOfrExNeaoo01HRnfhXeuxaST8bQX4JRQNKuMbrCwC3Rn6S2ztZH9BHh7RfKzwbQhqKRAdi7UjmkP1hcrrJ8m26hRjfCiDDs9m/LYicD3xLMDNXZ4HRLYdcVoIa4ueQ3C0V52ixeBikcJKxH5s9vwBtOQp10cCAAA=",
+ "class_url": "1&2&3&4&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&23&25&26&27&28&29&30&31&39&44&45&47&48&49&50&51&52&53&54&55&56&57&58&59&60&61&62&63&64&65&66&67&68&69&70",
+ "cate_excludes": [
+ "电影",
+ "电视剧",
+ "综艺",
+ "动漫",
+ "体育赛事",
+ "斯诺克",
+ "伦理",
+ "两性课堂"
+ ]
+ },
+ {
+ "name": "42资源",
+ "url": "https://www.42.la",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGVXhmYC/y2OaQ6CMBCFb9NzKihQYhSMwX1LlErELWoim16mMy230I78++bNmzdPjZ5Q3Zj+rFRxAi6YKkrNcwb+Acsj08+OPl/MJKuF4i6DaPFzGVLeDe0ukQghKwxhO8BWRD4umi16E5lz0uaVzIV5gq8LDK5E4329TohSod59Q9BNIfQZ7B643DK0UhWFlGT7aM0oyRnW04S0U097qz/F8r0xVK/vMgvIt3ebZrKMVeBQ23gAnrn9Ah6wAD/7AAAA",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&20&21&22&23&24&25&26&27&28",
+ "cate_excludes": [
+ "电影",
+ "连续剧",
+ "综艺",
+ "资讯",
+ "国产剧",
+ "港台剧",
+ "日韩剧",
+ "欧美剧",
+ "公告",
+ "头条",
+ "武侠片",
+ "福利片"
+ ]
+ },
+ {
+ "name": "红牛",
+ "url": "https://www.hongniuzy2.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGZXhmYC/y2PXQ6CMBCEb9Nz+hOVaqIYFU0g8qRV1AgSEikUL9Pu1lvorj7Nl5nNZBbXlTOF8K89NjcnlcCm9VILNz1BeyGxJkE5ES5KvjERBgUMR0xq6eqGCPoh9CK+k+qfQrCzWrIXG6sVtcPzDl3JtD2wXBV2cyK3yKHu2Ctzknd65kE6c2bDNbwJf4tte8RwTLY1Kz94+Cq2eiYwpS8+mOVyptYAAAA=",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&21&29&30",
+ "cate_excludes": [
+ "电影",
+ "连续剧"
+ ]
+ },
+ {
+ "name": "暴风资源",
+ "url": "https://bfzyapi.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGZXhmYC/zWRa3aCMBCFd5N1+kIFj1VOLdbq0Z6iBq0VrI8qGN1MMhN20WSAP8x34c7NZMDRWYkDuh2mvEiKGVEwUy63BPUh1AJLyH11y4i6B2g65HN5SdB9l6lLX9OtEm9Ew7bep5b0c47Zj3EzNRUy5ZZgx/HxYilfT+AaEy02xkC+QQK3B/nGK5jtiM5/ahkQHZPK50Vw/6ZZimTStslmlaI4qRTmpEFSiSKxEJjdtUvjqiXPJ+1Clw2VoNxKUG4pTAiOivXQQjUPdXxi+VdL+Z59LcWrbvzq81SmPaYvRxw2GcZ7KsK3BYJYx6lyegwXdllmDOVELO/0cbSAxDc3ZLh56ounbieZhQxfElN0VDM/wWysr8UOuwICc4PVEeo9qGU6rLN8vFWbD1xn5snyplDXhm75cJqbnqUOHZlN5OPzH964N6gIAgAA",
+ "class_url": "20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&44&45&46&47&48&49&50&51&52&53&54&55&56&57&58&65&66&67&68&69&70&71&72"
+ },
+ {
+ "name": "色猫资源",
+ "url": "https://caiji.semaozy.net",
+ "parse_url": "",
+ "cate_exclude": "",
+ "api": "/inc/apijson_vod.php/",
+ "class_name": "H4sIAGZXhmYC/zWPXU7CUBCFdzP74NEHn0xcD4a/FiwUFItaQlMolwCVQgmWtsJm7vywC28TfZnkmzlz5gx+/uhcSWdNPQfIi8jfkhdw8PQPvl2BzmJ662Ds4XkMtFV86fPhgi9GZrk6z7G7onLzt8PHwLTgtplQ1kLX0eXEGNicK10u2W0D/ww5D3VW0CgGmgT8WugywPUIKqtlwe0ZRingYM5W+xb6mDRB3Kn0bUyG1eThXpIGjd/B5NDnFL9XpgLPYlFGPwS0TuQ7sttTw0CUovtMdcXWHmp35ITSzAAXH+YYXxY6XwBfz9KpGzNMChN1KqFvQFpXMF/e6jb3tvh1Ajmo6loywOgE1A+lu+e0QMuD2qOoueyOvwXdu8BPAQAA",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&21&22&23&24&25&26&27"
+ },
+ {
+ "name": "湿乐园",
+ "url": "https://xxavs.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGZXhmYC/3s6Z8Xz7bNeLJv2csFutadLNz/ZM+PF1pZnuyaoPZ+66mn/dijnyY61z6a1P107/enOqWovV894tqPVMQwAGfUITjwAAAA=",
+ "class_url": "20&21&22&23&24",
+ "cate_excludes": [
+ "高清AV"
+ ]
+ },
+ {
+ "name": "奶香香资源",
+ "url": "https://naixxzy.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGZXhmYC/zWOW3KCQBBFd9P7yALyk1S5niBGBKPim4QkWFo4vvAVkyACbma6Z9hFBiE/U3Wq5957xDHFvoZuwiMG4gY09jNvWYK4xGg3SsB9R+5O/5e0jW4KRVQaK2q2gIcX6gVydyC9C9SeSusgormobgG1X/VBvWLlg0i65H6grYv+O5A1ypyT8AJhGsDjCa56aDLSn6EQKTpLoPFETDS1E9DIwGCM5yHcVSSb5V7UmspaSE6bHA8wjtAP+fnA4zmg/8Vjp7zQhil3uj7lG5nRws6sBB6aImIqIOw6FBJoLShew+O93Os0fM2b0H6hJ0ZaEyoPktUl60GmJxhW5eLWQm8ntFyefgtrB7j9wShQlblGHqt5MlrzpA8qJ80jmVuKByDmHWwskW1ArYnBRV4/ZZL8AQZHJrmdAQAA",
+ "class_url": "1&2&3&4&5&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&44&45&46&47",
+ "cate_excludes": [
+ "精品国产",
+ "精品日韩",
+ "精品综合",
+ "精品小说",
+ "精品美图",
+ "都市言情",
+ "暴力侵犯",
+ "家庭伦伦",
+ "性感身体",
+ "角色扮演",
+ "福利姬",
+ "漫画连载"
+ ]
+ },
+ {
+ "name": "牛牛|点播",
+ "url": "https://api.niuniuzy.me",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGhXhmYC/z1RbXaCMBC8TU7QW/RSip/oq8orxVp56hNoaqtFq1gFopfJZsMtGhLor93Z3czuTNBNgB0IuomkXbApwSyXdkpg8CHyrzJw5qPdI+D5ql1m2D+IVkdn1IFrVmaiORENT8/ZtOqK/itPbV2bM57Skl1sKd5GZVYsN7owjXS4xGWA8V6jow6YfgJ70VTJL4SenghpMetWR6rHiqYGimK8r4HeU2sx640i86YG5px/regaNZqqnjG7K5C74B54/kY4e5bWj0zmPB0SjL9x0iLyfCxDsW6DM9BEXizjFDpDokxWBksayPikHGTC6+FyVyri+TtOutVOfrExNeaoo01HRnfhXeuxaST8bQX4JRQNKuMbrCwC3Rn6S2ztZH9BHh7RfKzwbQhqKRAdi7UjmkP1hcrrJ8m26hRjfCiDDs9m/LYicD3xLMDNXZ4HRLYdcVoIa4ueQ3C0V52ixeBikcJKxH5s9vwBtOQp10cCAAA=",
+ "class_url": "1&2&3&4&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&23&25&26&27&28&29&30&31&39&44&45&47&48&49&50&51&52&53&54&55&56&57&58&59&60&61&62&63&64&65&66&67&68&69&70",
+ "cate_excludes": [
+ "电影",
+ "电视剧",
+ "综艺",
+ "动漫",
+ "体育赛事",
+ "斯诺克",
+ "伦理",
+ "两性课堂"
+ ]
+ },
+ {
+ "name": "优异资源",
+ "url": "https://a.uezy.pw",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGtXhmYC/wE6AMX/6auY5riF5Lyg5aqSJuWFjei0ueinhumikSbmiJDkurrliqjmvKsm572R57qi5Li75pKtJlMtQ1VURZB7/lQ6AAAA",
+ "class_url": "1&2&3&4&5",
+ "cate_excludes": [
+ "免费视频"
+ ]
+ },
+ {
+ "name": "老鸨资源",
+ "url": "http://laobaozy.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGpXhmYC/zWQbXKCQAyGb5NzllpBigJ+lbGsFbWKY8Va7SisgJfZZJdbuFT6JzOZefIkb+SxxKFB7kb1fMCwEDxWsVkt+iDSKw0SGf7qChSsiO0oiGRk/DfMrhuRJvRmYRJgNga8bER2kqWrK0hzhquT4BzXV8Cc4yoV2Y/I10C7WDPybzXgoa8x5U+Va2ubLXmsGembQB2/nn7dUP4Fsuij5yhrS04PcPStBWhOJJtBxY5ocbo9UasNah5oAI1LjYl0qhZMk6p9a5ZWS7fGMCylbTXqqlVg+twIKJpjmIjMIcMBrcf9hyiG1bYLlKxFGanJO2Y6z/6MPGnyKKOLjItUf4+DvHqapnFbcAewcybWe9wBKh4o+0j2nvIRoLcU/LNaMDy8wCPW4+o79qo+y5IBAAA=",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37",
+ "cate_excludes": [
+ "网友自拍",
+ "唯美写真",
+ "露出激情",
+ "街拍偷拍",
+ "丝袜美腿",
+ "欧美风情",
+ "图片动漫",
+ "都市激情",
+ "校园之恋",
+ "真实体验",
+ "武侠虚幻",
+ "家庭乱伦",
+ "职场丽人",
+ "经验故事"
+ ]
+ },
+ {
+ "name": "色色虎资源|AV",
+ "url": "https://apisesehuzy.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGtXhmYC/1WSS3LCMAyGb+ML9ASd6aYLVlwIChRCCc8Wpg1QCoQ3BRoGQhLCZSw53KJ2rPSxifONLP36JYN15t6UuxmoeAw0eBUFUXGBTyZkj/JLEWHtsblmPBjAoglFD1pZimB1GJV3TJwbaPWgnhOtLsOOjd0VHGf85DAoHbBrRpsd5hpJpDzDYMlwNRVhFS8ZzBUYdw0hdfwgMjy6hl1DDLIJdAYKqJ2vUHXA3TW2i7DuwOmFQeCB7fLTjgcTdnuP5jDKu5RMLgm0S60em4/bif8KB+63/wxEV9MQ1XtR1ZAzeEMjA8s5zj6Y8C9g76UWTHyaGzp52DwmjYZj7o1ZOqWRQW2Lp5BcUlmZVdgSQM2E4+fPOjxVliK2A/VKUvb5qED7+TczEtSQTpHLKBzBpJSA9kH+bUfY/STyYMXJMejh/l6LBWNI1PU11WSbXf2GeD1DrSIKfRoo6dzc0br1IcvKhTFZQGVSxJjKJ0BwfZ8rk66vHty1aEJtBA0nGYlryO18A5BtvXy7AgAA",
+ "class_url": "20&21&23&24&25&26&27&28&29&30&31&32&33&34&37&38&40&43&44&45&46&47&48&49&50&51&52&53&54&55&56&57&58&59&60&61&62&63&64&65&66&67&68&69&70&71&72&73&74&75&76&77&78&79&80&81",
+ "cate_excludes": [
+ "国产一区",
+ "国产二区",
+ "日本一区",
+ "日本二区",
+ "欧美区",
+ "动漫区",
+ "其他区",
+ "台湾综艺",
+ "国产男同",
+ "日本综艺",
+ "日本群交",
+ "日本SM",
+ "欧美辣妈",
+ "欧美女神",
+ "欧美肛交",
+ "欧美中文",
+ "欧美女同",
+ "欧美男同",
+ "欧美人妖",
+ "黑白双煞",
+ "动漫萝莉",
+ "3D动漫",
+ "动漫中字",
+ "同人动漫",
+ "剧情动漫",
+ "韩国主播",
+ "重口味",
+ "国产三区"
+ ]
+ },
+ {
+ "name": "好色资源|AV",
+ "url": "https://haosezyw.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGtXhmYC/3WQW27CMBBFd+Pd8MWGiICmoYSnSqQ0SECBpEDKK4LEMelmPGOzi5rYkVqp/bHmaMZ37lx4u3Ea8rQBXUpAA+2WYF3xxZVFwSklPM1xFN+DE9gK2Aw2I3EqYGwR7C1k5wjbCUSMwKApxgH6nrgNCVwjnp1F0VMvgecLBu49H/J0SqATIdtWArvwMUOpCF21xxE0FDmTjtpDfUxOGDhiZlXgzR6gjRoBnsY4sSH2IHtVYxTWuXTnsLYJeisMdjw7crauQF8qw3e5T8AJsdkm6C5kK63s/Pzz/wl/7TG59V24fmqHROsYkIOp7DlVh/noNGD7gdGciPwLVonyoTSJtDcqeDy3YP9ERLHkdGn+1GumgP4Bs8LE9JhvH0xHp1n6KEMuq/aF55Nf92lZA8Ao+knV0aIa6rVvA45IkSACAAA=",
+ "class_url": "20&21&23&24&25&26&27&28&29&30&31&32&33&34&37&38&39&40&41&42&43&49&128&129&139&140&141&142&143&144&145&146&147&149&150&151&152&153&154&155&156&157&158",
+ "cate_excludes": [
+ "国产一区",
+ "国产二区",
+ "巨乳美乳",
+ "制服黑丝",
+ "人妻荡妇",
+ "日本乱伦",
+ "日本二区",
+ "欧美区",
+ "动漫区",
+ "其他精品",
+ "日本群交",
+ "日本强暴",
+ "日本综艺",
+ "日本SM"
+ ]
+ },
+ {
+ "name": "老色逼资源|AV",
+ "url": "https://apilsbzy1.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGtXhmYC/zXOb07CQBAF8NvMPfjoBTwPBBWWALH1T42tSVNTlyiVtDTargteZubteguWgF9e8stM3ozXN39FxN1Q5ob8CWZ+BJtntA0y5fLRP5L8CJl+IVv4TY1xRGKNlB33Nds3ku8V91u3X4akwQUWhb/qiLsKjxOpEukfwo3YqwbqE/aekJTI1lJu2T4RprdsjMxWsB+EtQ41+B1ifB0KlDPaqQm5XYT05fQnDS69fvWbliTdsdFsc3mPw/IP4sqlbcjzxDV7uRudgWXhZ/UBm6MI1vgAAAA=",
+ "class_url": "24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43",
+ "cate_excludes": [
+ "视频一区",
+ "视频二区"
+ ]
+ },
+ {
+ "name": "色南国资源",
+ "url": "https://api.sexnguon.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGtXhmYC/wvIyMxV8Mt4uGttiYLTw12L89ScMzLzEhVyMstS1Q4vKlXIfbh7p5pXYkFinoKHS5haRv7DXQtLFDIOr8nLUPNyDPNwUQsAGRFSVJqXrhBY+nD3xGQ1FPNC8rMr8xU88kvUnFPzivOLUlPUIkszFTwSSxLz8gEBfBPxfwAAAA==",
+ "class_url": "1&2&3&6&7&8&13&14&20&21&22"
+ },
+ {
+ "name": "滴滴资源",
+ "url": "https://api.ddapi.cc",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGtXhmYC/zWPzVLCQBCE32buHn0R7564WOXBg1c05YaA8mclIbAloRQCQoRIKhWSEF9mZ3bzFi4abvNNd3VX4+QoskCkr/icAf4Bdh/RZiDSnIahCpj62gK5c+Ibcn3pP5yBWycQaUiOiaGLB/sE+qptNfzbaBfTG6e4VMG72sZQZbmKmCh8/BzC5QW2EmmZuhkU5zQz8Bih0atl/FjJsluD/C5FyrUu0jHQaCpXme6rvP7Z3NvRoby7v24APiUid+q/SC2phxYL2Weg43C+R+ZJPgV8mVXNMbaXVKyhMs1qwsj25LIDarBW7UXdJfcO/hhXN7cNoE2gE6gZyFYEVT4gxxNZR+TJL1aKp0hOAQAA",
+ "class_url": "20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&44",
+ "cate_excludes": [
+ "国产厂商",
+ "水果派解说",
+ "卡通动漫",
+ "采集教程"
+ ]
+ },
+ {
+ "name": "小黄人|点播",
+ "url": "https://iqyi.xiaohuangrentv.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGxXhmYC/wEwAM//5Ymn6ZuGJueUteW9sSbnu7zoibom5Yqo5ryrJuebtOaSrSblsJHlhL8m55+t5YmnqYqVijAAAAA=",
+ "class_url": "1&2&3&4&20&21&22"
+ },
+ {
+ "name": "🈵成人影视1",
+ "url": "https://www.partnersky-horoskop.com",
+ "parse_url": "",
+ "cate_exclude": "",
+ "class_name": "H4sIAGxXhmYC/0WQzU7CUBCFX8XVvIBPQDRxRUJCjGsXLkgUTHTjTpQ/KxSKtkBEW1ugCDYWiwm0pU9zZ277FhZa4+6eOydnvjP8O8CnMr5smGsC3wnmazjrAt9IvFGLPImUASQGtl4wfwL5XAarHn9WAds2rYP8SeYIqC9SX6WWHlZWwLVlaBpJHFBP41o5FWxlkVJHq4drGWj48D+hT5MHYiqw02Sui8KU/DnwpojjelRvYdtAyYF8NrTvSR7Ace7PnuCtPOpaQKIeCgvueNjoAdlLehvSMoBt3kQBtCUcOzEgjiq7jq6efO0M1Q293jF3lHJGqoOGDZH6sd3gT3inBnRrcnUcfsUvQYkNXLVCsxbpUnqCOIr5/bROjI/TMoRGm8uztA4575H7E2vIlq4LpeJepli4OIP9Q3yUuTyHg9LV5fnpzS/WgFXlmgEAAA==",
+ "class_url": "1&2&3&4&5&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&44&45&46&47&48",
+ "cate_excludes": [
+ "性知识",
+ "泡麵番",
+ "Motion Anime",
+ "3D動畫",
+ "Cosplay"
+ ]
+ }
+]
\ No newline at end of file
diff --git a/js/采集[密]静态.json b/js/采集[密]静态.json
new file mode 100644
index 0000000..4b6bf6d
--- /dev/null
+++ b/js/采集[密]静态.json
@@ -0,0 +1,145 @@
+[
+ {
+ "name": "jk",
+ "url": "https://jkunzy.com",
+ "parse_url": "",
+ "class_name": "H4sIAFQldWYC/zVOzU7CQBh8m+89OHnXBM/Gq4kmnryJDVQgUtoE9wCaFbQl1bU2oq67LH2Z/b7dvoVt1MtkfpKZsVLQbYiC4fcMiD3R4oUWQ8d7/4LxVnS6Plv5YgPHp+dnJ0cXUAcG5RVVlxT0gfgDzkXDrBqDVQpT7dRHm9Sria2Y3aZuOgCMUldqfIvaIhKp3XGMHrEvoZ5Vrgh9de+NgVrHVt75oqQghoPDzh74MKfxDfa+GoTfTRytafsMzsROLa3UlAigydKPSveu8ZqBlUOnsr/l7r7PBj5LAOfGti7HPAG34c1Zmgr/mkPN1s17qz9/AO52o6oSAQAA",
+ "class_url": "1&2&3&4&5&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37",
+ "cate_excludes": [
+ "都市激情",
+ "校园情事",
+ "人妻纵情",
+ "风俗伦理",
+ "另类小说",
+ "武侠古典",
+ "长篇连载"
+ ]
+ },
+ {
+ "name": "鲨鱼",
+ "url": "http://shayuzy5.com",
+ "parse_url": "",
+ "class_name": "H4sIAFMldWYC/z2PTU7CUBhFd/PNXQJDJ46M+ymmajF9Fgm2QElLg21RiopRyuvfZr6fdheWhDi8ybk359KiQp3wrdlae2D3lf0tu6GEBgxu2FPsBYB5xi/3lLl0nIJUY9ER5gU/Z8APDmpNo5TLd+BtIrU6L9Gi4nQlicGPNnTTpjUbzJdt5EM3LGj3e6rFBXTBpiexjMW5gy6ecf5xDrKvaWKwSlvbAVKB6C9a71plAQdz9tPry6sB0DrhVa/8hkfz3/cCsDAkGcusJlv1zIZ/DtKUQJ9PdFh2XoOV05v2vyzMRzwMUc9PjvxdcTT5AwonCZQRAQAA",
+ "class_url": "1&2&3&20&21&22&23&24&25&26&27&28&31&32&33&34&35&36&37&38&39&40",
+ "cate_excludes": [
+ "原纱央莉",
+ "柚木TINA",
+ "大桥未久",
+ "仁科百华",
+ "天海翼",
+ "小川阿佐美",
+ "三上悠亚",
+ "长泽梓"
+ ]
+ },
+ {
+ "name": "奥斯卡",
+ "url": "https://aosikazy.com",
+ "parse_url": "",
+ "class_name": "H4sIAFUldWYC/z2PbU6DQBCGb7P38AD+0aTngaC1VEoAU0CBFlG6WkvapsTQhepldmaXW8inP5953zwzA8GFMyrptE5swosM3QfIPDgvCXQJr2LYOgS9FMMdhrqI1RG8uIMdFT/mAFAxSAt+PvJqQ2D2jeFC7o+o2aOtKNHJCP4qqN3D/AOrL4K+if4aF4m8KwjO3drPh3MgPfHK73PSz3ihgMFGYEYL4mJjENWlje7zf01vk+YKYU0bEIySq4mkb3Kfk9tredBw2XStSJo6HOxmEcGVCk8qbF8aUbsZLAMViupj6xcsgfcco9fBD0HQ+RmDjStOJcw8Uq8/2yf7Dyc3TVFS5w/sThNDXwEAAA==",
+ "class_url": "20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&44&45&46&47",
+ "cate_excludes": [
+ "视频一区",
+ "视频二区",
+ "视频三区",
+ "视频四区"
+ ]
+ },
+ {
+ "name": "乐播",
+ "url": "https://lbapi9.com",
+ "parse_url": "",
+ "class_name": "H4sIAFMldWYC/y2QbW6CQBCGbzNX6U2a9BZSiqjIV6v1AwxoqxgtsX5EYRF6mZ3Z5RZdIn822eSdZ955OJvT5US6IfsnwKDkLOFZQe9p+5HmjiwbaBKLWOPZBw4Z0E8iKoc6iegdQXQjXJ85Y7gpAO8M1xnPj/y+AbxteX5WSfUCz1L6NDGdYD4G7F0ptOXhSLoPahq9oaKRZgHay7ozx8FWjAqQSbde+QolvC7gr6+S0ltIpw+1aaP7pSqr4tDsNkoF4OwbaH7BQSBnHlYGYLoRo4jiJQYpCOcN84IXM17FQFOHphFqV9RdaDKXotZLzF5VUVttVF0atCjcejekscGZBSLxFVAxSD8Djg6Ng8wQ7ACi9NG1WlX8YfRhp1X112lodXhCk6F2E7s11PupvEU8W8hV2J5N931z9tPLsxKAQfUP2nDGlJwBAAA=",
+ "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&21&22&23&24&25&26&27&28&29&30&31&32",
+ "cate_excludes": [
+ "暴力虐待",
+ "学生校园",
+ "玄幻仙侠",
+ "明星偶像",
+ "生活都市",
+ "不伦恋情",
+ "经验故事",
+ "科学幻想",
+ "唯美清纯",
+ "网友自拍",
+ "亚洲性爱",
+ "欧美激情",
+ "露出偷窥",
+ "高跟丝袜",
+ "卡通漫画",
+ "Gif动图"
+ ]
+ },
+ {
+ "name": "老鸭",
+ "url": "https://api.apilyzy.com",
+ "parse_url": "",
+ "class_name": "H4sIAFUldWYC/zWPYU6DQBCFbzP36E8v4Hm6qZZihUJVwIhCqixNLakUFVhoT7Mzu97CLdo/L3mTee/Lw6eDFDlNrrW9BwozircUpiplZxPbJyObggILixDbB6Btro4uvTC8Y4A3a+rf1f44mF5g1si2lD0HXEQ0ZrjgquwAB45sOloWgPVatpXpMAo4+6bY0buSJj6oaYJZJYVA3hmorUym58qbgrY2NHeQ1UZhdEHOSl81QF81vgUUuRQlgB++CWvvWbv2GdinuFmCOvhKrH46n4JHMD/o3dI4JzaHARWoqsNZCKNLnb/q3SdgwdV98n/9G3oq59Yvnjb47C8BAAA=",
+ "class_url": "20&21&22&23&24&26&27&28&29&30&31&33&34&53&57&58&62&63&74&75&76&77&78&79"
+ },
+ {
+ "name": "森林",
+ "url": "http://senlinzy2.com",
+ "parse_url": "",
+ "class_name": "H4sIAFQldWYC/0VSzZLSQBB+m7579Gj5Ap68e7dKqzx5g10hQJbAruxGIUggIUF2I79KSEjyMtM9M29hB7K1h3RVV3f6+xu5zfF7nayF6vYBR5lIQtXe0nUDRJzSXSRHe64gkiHtt2S70q0/N0773MQRPRgY2Xi8BzwsxHEnc4srryUYpLI5wfkO8JTgPBbHjTgFQE8h78gzNKj+WFltXN+WazyV/aaI2zIJgVr98kZnQadHUMaSzC7WD1wBW//I6Yp4rGYOYM8Tia9nDq6/Adlzcp6q028/ffn88cNXkHuXD10u8PqajrnKPQyOoCe/WTTmUwxZ/mDFtChelY2IHezaLPXNe+abqHyDxg1XwHbI9ojUlCkf84clRX/4Dl6/ImumOhuQ2a1MZvS3jkYC2rDQf9DOtmyw5yuvQe0/dBoAyxWnH3KXYsvmyUq2NhgFcjAB7VmMQLatZozQyFRtV63JW0ecMuX5oO2DXg6p46PH3hSGap69YGwajbW9YCddXN4xamkEY2H/hmoh1U2Qg8NLw59qFNK80tEA9HWG8RUVtTJ/cqc4ikqpifmcZbwpJ3q2EIWNtUeOipkHcpPiuqdWe6AoELnLMrERg74v5MpQxS+VZZW32PwpnUnJEntmlcfFmwpUTe2XlC/58m/MELA71bUhvwQ5SKsHdPHpP+FuGXjCAgAA",
+ "class_url": "20&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&44&45&46&47&48&49&50&51&52&53&54&55&56&57&58&59&60&61&63&64&65&66&67&68&69&70&71&72&73&74&75&76&77",
+ "cate_excludes": [
+ "都市激情",
+ "校园情事",
+ "人妻縱情",
+ "風俗倫理",
+ "另类小说",
+ "武侠古典",
+ "长篇连载",
+ "唯美写真",
+ "网友自拍",
+ "露出激情",
+ "街拍偷拍",
+ "丝袜美腿",
+ "卡通漫画",
+ "欧美风情"
+ ]
+ },
+ {
+ "name": "阿里BB",
+ "url": "https://bbckzy1.cc",
+ "parse_url": "",
+ "class_name": "H4sIAFYldWYC/zXOXQqCQBSG4d3MPrpsV4mVKSj+UF44gUj+UA5hQY022mbmnOMyMtDL5+b9PlAd5FK3jVYFg6TXXanlB0MxA71sdJoZ9BggMhj1ASZn8E2KOFut0c3GrWQY58hrjFNKjQXc/kNLgScLRAztcYJN04YqyN8zOLyQu+O9QTNg+N2guQOnQnWbA/CudPtkWJc0eHApybaWkyqFa/gDXRGYEL4AAAA=",
+ "class_url": "2&4&5&6&7&8&9&10&11&12&13&14&15&16&17"
+ },
+ {
+ "name": "滴滴",
+ "url": "https://didizy.com",
+ "parse_url": "",
+ "class_name": "H4sIAFUldWYC/zWPzVLCQBCE32buHn0R7564WOXBg1c05YaA8mclIbAloRQCQoRIKhWSEF9mZ3bzFi4abvNNd3VX4+QoskCkr/icAf4Bdh/RZiDSnIahCpj62gK5c+Ibcn3pP5yBWycQaUiOiaGLB/sE+qptNfzbaBfTG6e4VMG72sZQZbmKmCh8/BzC5QW2EmmZuhkU5zQz8Bih0atl/FjJsluD/C5FyrUu0jHQaCpXme6rvP7Z3NvRoby7v24APiUid+q/SC2phxYL2Weg43C+R+ZJPgV8mVXNMbaXVKyhMs1qwsj25LIDarBW7UXdJfcO/hhXN7cNoE2gE6gZyFYEVT4gxxNZR+TJL1aKp0hOAQAA",
+ "class_url": "20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&44",
+ "cate_excludes": [
+ "国产厂商",
+ "水果派解说",
+ "卡通动漫",
+ "采集教程"
+ ]
+ },
+ {
+ "name": "奶香",
+ "url": "https://naixxzy.com",
+ "parse_url": "",
+ "cate_exclude": "精品国产|精品日韩|精品综合|精品小说|精品美图",
+ "class_name": "H4sIAFUldWYC/zWOW3KCQBBFd9P7yALyk1S5niBGBKPim4QkWFo4vvAVkyACbma6Z9hFBiE/U3Wq5957xDHFvoZuwiMG4gY09jNvWYK4xGg3SsB9R+5O/5e0jW4KRVQaK2q2gIcX6gVydyC9C9SeSusgormobgG1X/VBvWLlg0i65H6grYv+O5A1ypyT8AJhGsDjCa56aDLSn6EQKTpLoPFETDS1E9DIwGCM5yHcVSSb5V7UmspaSE6bHA8wjtAP+fnA4zmg/8Vjp7zQhil3uj7lG5nRws6sBB6aImIqIOw6FBJoLShew+O93Os0fM2b0H6hJ0ZaEyoPktUl60GmJxhW5eLWQm8ntFyefgtrB7j9wShQlblGHqt5MlrzpA8qJ80jmVuKByDmHWwskW1ArYnBRV4/ZZL8AQZHJrmdAQAA",
+ "class_url": "1&2&3&4&5&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&44&45&46&47",
+ "cate_excludes": [
+ "精品国产",
+ "精品日韩",
+ "精品综合",
+ "精品小说",
+ "精品美图",
+ "都市言情",
+ "暴力侵犯",
+ "家庭伦伦",
+ "性感身体",
+ "角色扮演",
+ "福利姬",
+ "漫画连载"
+ ]
+ }
+]
\ No newline at end of file
diff --git a/js/采集之王[合].js b/js/采集之王[合].js
new file mode 100644
index 0000000..c626aed
--- /dev/null
+++ b/js/采集之王[合].js
@@ -0,0 +1 @@
+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
\ No newline at end of file
diff --git a/js/采集分类生成器.py b/js/采集分类生成器.py
new file mode 100644
index 0000000..393d504
--- /dev/null
+++ b/js/采集分类生成器.py
@@ -0,0 +1,226 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+# File : 采集分类生成器.py
+# Author: DaShenHan&道长-----先苦后甜,任凭晚风拂柳颜------
+# Date : 2024/6/21
+
+import os
+import json
+import gzip
+import base64
+
+from urllib.parse import urljoin
+from concurrent.futures import ThreadPoolExecutor
+from pprint import pprint
+import time
+
+import requests
+
+import warnings
+
+# 关闭警告
+warnings.filterwarnings("ignore")
+requests.packages.urllib3.disable_warnings()
+
+pool = ThreadPoolExecutor(max_workers=20) # 初始化线程池内线程数量为20
+
+headers = {
+ 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1',
+ 'Connection': 'close' # 设置为关闭长连接
+}
+
+timeout = 5 # 5秒
+
+use_gzip = False
+
+
+def compress_and_encode(data: str):
+ # 压缩数据
+ compressed_data = gzip.compress(data.encode('utf-8'))
+ # 对压缩数据进行Base64编码
+ encoded_data = base64.b64encode(compressed_data).decode('utf-8')
+ return encoded_data
+
+
+def decode_and_decompress(encoded_data: str):
+ # 解码Base64数据
+ decoded_data = base64.b64decode(encoded_data.encode('utf-8'))
+ # 解压缩数据
+ decompressed_data = gzip.decompress(decoded_data).decode('utf-8')
+ return decompressed_data
+
+
+def get_classes(rec):
+ classes = None
+ if rec.get('url') and str(rec['url']).startswith('http'):
+ _class_api = rec.get('api') or '/api.php/provide/vod/'
+ _api = urljoin(str(rec['url']).rstrip('/'), _class_api)
+ # _api = urljoin(rec['url'], '/api.php/provide/vod/at/json')
+ print(_api)
+ try:
+ r = requests.get(_api, headers=headers, timeout=timeout, verify=False)
+ ret = r.json()
+ if rec.get('name') == '乐视资源':
+ print('=======乐视=========')
+ print(ret)
+ # print(ret)
+ classes = ret.get('class')
+ except Exception as e:
+ print(f'获取资源【{rec["name"]}】({_api})分类发生错误:{e}')
+
+ return classes
+
+
+def convert_class(classes, name=None):
+ """
+ 获取的分类转静态分类格式
+ @param classes:
+ @return:
+ """
+ if name is None:
+ name = ''
+ if not classes:
+ return {
+ "name": "",
+ "class_name": "",
+ "class_url": "",
+ }
+ class_names = []
+ class_urls = []
+ for cls in classes:
+ if cls.get('type_name') and cls.get('type_id'):
+ class_urls.append(str(cls['type_id']))
+ class_names.append(str(cls['type_name']))
+ global use_gzip
+ return {
+ "name": name,
+ "class_name": compress_and_encode('&'.join(class_names)) if use_gzip else '&'.join(class_names),
+ "class_url": '&'.join(class_urls),
+ }
+
+
+def get_convert_classes(rec):
+ classes = get_classes(rec)
+ classes = convert_class(classes, rec.get('name'))
+ return classes
+
+
+def check_class(api, type_name, type_id, limit_count=6):
+ _url = f'{api}?ac=detail&pg=1&t={type_id}'
+ try:
+ r = requests.get(_url, headers=headers, timeout=timeout, verify=False)
+ ret = r.json()
+ if not ret.get("list") or len(ret["list"]) < limit_count:
+ print(f'获取资源 {api} 分类【{type_name}】数量为:{len(ret["list"])} 小于{limit_count}视为排除')
+ return False
+ except Exception as e:
+ print(f'获取资源 {_url} 分类【{type_name}】发生错误:{e}')
+ return True
+
+
+def check_active(api):
+ try:
+ r = requests.get(api, headers=headers, timeout=timeout, verify=False)
+ ret = r.json()
+ if not ret.get("class"):
+ return False
+ except Exception as e:
+ print(f'检查api: {api} 存活发生错误:{e}')
+ return False
+ return True
+
+
+def main(fname='采集'):
+ file_path = f'./{fname}.json'
+ out_file_path = file_path.replace('.json', '静态.json')
+ if not os.path.exists(file_path):
+ exit(f'不存在采集文件路径:{file_path}')
+ with open(file_path, encoding='utf-8') as f:
+ data = f.read()
+ records = json.loads(data)
+ print(records)
+ # for rec in records:
+ # ret = get_convert_classes(rec)
+ # pprint(ret)
+ tasks = [pool.submit(get_convert_classes, rec) for rec in records] # 构造一个列表,循环向线程池内submit提交执行的方法
+ pool.shutdown(wait=True) # 线程数等待所有线程结束,这里 卡住主线程
+ results = [task.result() for task in tasks]
+ print(results)
+ new_records = []
+ for record in records:
+ rec_name = record["name"]
+ if rec_name:
+ has_name = [ret for ret in results if ret.get("name") == rec_name]
+ if has_name:
+ record.update(has_name[-1])
+ new_records.append(record)
+ pprint(new_records)
+ print(f'转换静态数据成功记录数:{len(new_records)}')
+ with open(out_file_path, mode='w+', encoding='utf-8') as f:
+ f.write(json.dumps(new_records, ensure_ascii=False, indent=2))
+
+
+def main_exclude(fname='采集静态', max_workers=0):
+ file_path = f'./{fname}.json'
+ if not os.path.exists(file_path):
+ exit(f'不存在采集文件路径:{file_path}')
+ with open(file_path, encoding='utf-8') as f:
+ data = f.read()
+ records = json.loads(data)
+ if len(records) < 1 or not records[0].get('class_name'):
+ exit('输入数据有误,疑似不是静态数据')
+ print(records)
+ new_records = []
+ for rec in records:
+ new_rec = rec.copy()
+ if rec.get('api'):
+ api_url = urljoin(rec['url'], rec['api'])
+ else:
+ api_url = urljoin(rec['url'], '/api.php/provide/vod/')
+ print(api_url)
+ cate_excludes = []
+ if not check_active(api_url):
+ print(f'{rec["name"]} ({rec["url"]})视为不存活,跳过分类检测')
+ else:
+ class_names = decode_and_decompress(rec['class_name']).split('&')
+ class_urls = rec['class_url'].split('&')
+ rec_pool = ThreadPoolExecutor(max_workers=max_workers or len(class_names)) # 初始化线程池内线程数量为分类数量
+ tasks = []
+ for i in range(len(class_names)):
+ type_name = class_names[i]
+ type_id = class_urls[i]
+ tasks.append(rec_pool.submit(check_class, api_url, type_name, type_id))
+ rec_pool.shutdown(wait=True) # 线程数等待所有线程结束,这里 卡住主线程
+ results = [task.result() for task in tasks]
+ print(results)
+ for i in range(len(class_names)):
+ type_name = class_names[i]
+ # type_id = class_urls[i]
+ if not results[i]:
+ cate_excludes.append(type_name)
+ if len(cate_excludes) > 0:
+ new_rec['cate_excludes'] = cate_excludes
+ new_records.append(new_rec)
+
+ with open(file_path, mode='w+', encoding='utf-8') as f:
+ f.write(json.dumps(new_records, ensure_ascii=False, indent=2))
+
+
+if __name__ == '__main__':
+ use_gzip = True
+ fmode = str(input('请输入处理文件方式(0:生成分类 1:添加分类过滤),留空默认为生成静态分类:\n'))
+ ftips = '采集静态' if fmode == '1' else '采集'
+ fname = str(input(f'请输入文件名(q结束程序),留空默认为{ftips}:\n'))
+ t1 = time.time()
+ if fname == 'q':
+ exit('已主动结束脚本')
+ if not fmode or fmode == '0':
+ fname = fname or '采集'
+ main(fname)
+ elif fmode == '1':
+ fname = fname or '采集静态'
+ main_exclude(fname, 10)
+ else:
+ exit(f'未知的处理类型:{fmode}')
+ t2 = time.time()
+ print(f'本次程序运行耗时:{round(t2 - t1, 2)}秒')
diff --git a/js/采集转换器.py b/js/采集转换器.py
new file mode 100644
index 0000000..65cfbbd
--- /dev/null
+++ b/js/采集转换器.py
@@ -0,0 +1,88 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+# File : 采集转换器.py
+# Author: DaShenHan&道长-----先苦后甜,任凭晚风拂柳颜------
+# Date : 2024/7/4
+
+import json
+import requests
+from urllib.parse import urlsplit
+from collections import OrderedDict
+
+
+def get_host(url):
+ """
+ 获取主页地址
+ @param url:
+ @return:
+ """
+ ret = urlsplit(url)
+ return f'{ret.scheme}://{ret.netloc}'
+
+
+def get_sid(url):
+ """
+ 获取id主页
+ @param url:
+ @return:
+ """
+ ret = urlsplit(url)
+ return ret.netloc
+
+
+def get_api(url):
+ """
+ 获取接口api
+ @param url:
+ @return:
+ """
+ ret = urlsplit(url)
+ return ret.path.rstrip('/') + '/'
+
+
+def delete_same(data, key='url'):
+ """
+ 字典列表去重,按字典的某个key
+ @param data:
+ @param key:
+ @return:
+ """
+ unique_data = list(OrderedDict((d[key], d) for d in data).values())
+ if key == 'sid':
+ for site in unique_data:
+ del site['sid']
+ return unique_data
+
+
+def main(zy_url="https://cdn.jsdelivr.net/gh/waifu-project/v1@latest/zy.json"):
+ r = requests.get(zy_url)
+ ret = r.json()
+ sites = ret['sites']['data']
+ sites = [site for site in sites if site.get('type') and site['type'] == 1]
+ print(f'共计发现type1的站点:{len(sites)}条记录')
+ covert_sites = []
+ for site in sites:
+ if site.get("name") and site.get("api"):
+ surl = site['api']
+ host = get_host(surl)
+ api = get_api(surl)
+ sid = get_sid(surl)
+ cvalue = {
+ "sid": sid,
+ "name": site["name"],
+ "url": host,
+ "parse_url": "",
+ "cate_exclude": ""
+ }
+ if api != '/api.php/provide/vod/':
+ cvalue["api"] = api
+ covert_sites.append(cvalue)
+ print(f'转换完成采集之王的站点:{len(covert_sites)}条记录')
+ covert_sites = delete_same(covert_sites, 'sid')
+ print(f'去重后的采集之王的站点:{len(covert_sites)}条记录')
+ with open('采集[zy].json', mode='w+', encoding='utf-8') as f:
+ f.write(json.dumps(covert_sites, ensure_ascii=False, indent=4))
+
+
+if __name__ == '__main__':
+ main()
diff --git a/js/闪雷影视.js b/js/闪雷影视.js
new file mode 100644
index 0000000..f5b1ecf
--- /dev/null
+++ b/js/闪雷影视.js
@@ -0,0 +1,39 @@
+var rule = {
+ title: '闪雷电',
+ 编码: 'gb2312',
+ host: 'http://120.224.7.90:808',
+ url: '/www/List.asp?classid=fyclass&searchword=&page=fypage',
+ filterable: 0,//是否启用分类筛选,
+ class_name: '电影&电视剧&综艺&动漫&音乐',
+ class_url: '5000&10&8&6&12',
+ searchUrl: '/www/List.asp?classid=30&searchword=**&page=fypage',
+ searchable: 2,
+ quickSearch: 0,
+ headers: {
+ 'User-Agent': 'MOBILE_UA',
+ },
+ play_parse: true,
+ lazy: $js.toString(() => {
+ var html = 'http://120.224.7.90:808/PlayMov.asp?ClassId=' + input.split(",")[2] + '&video=2&exe=0&down=0&movNo=' + input.split(",")[3] + '&vgver=undefined&ClientIP=120.224.7.90'
+ var url = request(html).match(/push\('(.*?)'/)[1]
+ input = {
+ jx: 0,
+ url: url,
+ parse: 0
+ };
+ }),
+ limit: 6,
+ 推荐: 'ul:eq(4)&&strong;img&&alt;img&&src;span:eq(1)&&Text;a&&href',
+ 一级: 'ul:eq(5)&&strong;img&&alt;img&&src;span:eq(1)&&Text;a&&href',
+ 二级: {
+ title: "ul:eq(2)&&li:eq(0)&&Text",
+ img: "img:eq(1)&&src",
+ desc: "ul:eq(2)&&li:eq(1)&&Text;ul:eq(2)&&li:eq(2)&&Text;ul:eq(2)&&li:eq(3)&&Text",
+ content: "body&&div:has(p)&&p:eq(3)&&Text",
+ tabs: "",
+ lists: 'body&&a[onclick^="senfe"]',
+ list_url: 'a&&onclick',
+ list_text: 'a&&Text'
+ },
+ 搜索: '*',
+}
\ No newline at end of file
diff --git a/js/飘花影院.js b/js/飘花影院.js
new file mode 100644
index 0000000..6d2f3ed
--- /dev/null
+++ b/js/飘花影院.js
@@ -0,0 +1 @@
+T2JqZWN0LmFzc2lnbihtdWJhbi5teG9uZTUu5LqM57qnLCB7CiAgICB0YWJfdGV4dDogJ2Rpdi0tc21hbGwmJlRleHQnLAogICAgbGlzdHM6ICcubW9kdWxlLXBsYXllci1saXN0LnRhYi1saXN0OmVxKCNpZCkmJi5zY3JvbGwtY29udGVudCYmYScsCn0pOwp2YXIgcnVsZSA9IHsKICAgIOaooeadvzogJ214b25lNScsCiAgICB0aXRsZTogJ+mjmOiKseW9semZoicsCiAgICBob3N0OiAnaHR0cHM6Ly93d3cuNmJ5cy5jb20vJywKICAgIGNhdGVfZXhjbHVkZTogJ+a8lOWRmCcsCiAgICB1cmw6ICcvaW5kZXgucGhwL3ZvZC9zaG93L2lkL2Z5Y2xhc3MvcGFnZS9meXBhZ2UuaHRtbCcsCiAgICBzZWFyY2hVcmw6ICcvaW5kZXgucGhwL3ZvZC9zZWFyY2gvcGFnZS9meXBhZ2Uvd2QvKiouaHRtbCcsCiAgICDmkJzntKI6ICcubW9kdWxlLWl0ZW1zIC5tb2R1bGUtc2VhcmNoLWl0ZW07YSYmdGl0bGU7aW1nJiZkYXRhLXNyYzsudmlkZW8tc2VyaWFsJiZUZXh0Oy52aWRlby1zZXJpYWwmJmhyZWYnLAp9
\ No newline at end of file