11const { getHtml} = $ . require ( './_lib.request.js' )
22const {
3- formatPlayUrl,
3+ formatPlayUrl,
44} = misc ;
55var rule = {
6- title : '蜡笔[盘]' ,
7- host : 'https://duopan.fun' ,
8- url : '/index.php/vod/show/id/fyclass/page/fypage.html' ,
9- filter_url : '{{fl.cateId}}{{fl.area}}{{fl.by}}{{fl.class}}{{fl.lang}}{{fl.letter}}/page/fypage{{fl.year}}' ,
10- searchUrl : '/index.php/vod/search/page/fypage/wd/**.html' ,
11- filter : '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' ,
12- cate_exclude : '网址|专题|全部影片' ,
13- tab_rename : { 'KUAKE1' : '夸克1' , 'KUAKE11' : '夸克2' , 'YOUSEE1' : 'UC1' , 'YOUSEE11' : 'UC2' , } ,
14- play_parse : true ,
15- searchable : 1 ,
16- filterable : 1 ,
17- quickSearch : 0 ,
18- class_parse : async ( ) => {
19- let classes = [ {
6+ title : '蜡笔[盘]' ,
7+ host : 'https://duopan.fun' ,
8+ url : '/index.php/vod/show/id/fyclass/page/fypage.html' ,
9+ filter_url : '{{fl.cateId}}{{fl.area}}{{fl.by}}{{fl.class}}{{fl.lang}}{{fl.letter}}/page/fypage{{fl.year}}' ,
10+ searchUrl : '/index.php/vod/search/page/fypage/wd/**.html' ,
11+ filter : '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' ,
12+ cate_exclude : '网址|专题|全部影片' ,
13+ play_parse : true ,
14+ searchable : 1 ,
15+ filterable : 1 ,
16+ quickSearch : 0 ,
17+ class_parse : async ( ) => {
18+ let classes = [ {
2019 type_id : '1' ,
21- type_name : '蜡笔电影 ' ,
22- } , {
20+ type_name : '电影 ' ,
21+ } , {
2322 type_id : '2' ,
24- type_name : '蜡笔剧集 ' ,
25- } , {
23+ type_name : '剧集 ' ,
24+ } , {
2625 type_id : '3' ,
27- type_name : '蜡笔动漫 ' ,
28- } , {
26+ type_name : '动漫 ' ,
27+ } , {
2928 type_id : '4' ,
30- type_name : '蜡笔综艺 ' ,
31- } , {
29+ type_name : '综艺 ' ,
30+ } , {
3231 type_id : '5' ,
33- type_name : '蜡笔短剧 ' ,
34- } , {
32+ type_name : '短剧 ' ,
33+ } , {
3534 type_id : '24' ,
36- type_name : '蜡笔4K' ,
37- } ,
38- {
39- type_id : '29' ,
40- type_name : '蜡笔真彩' ,
35+ type_name : '臻彩4K' ,
36+ } ,
37+ {
38+ type_id : '29' ,
39+ type_name : '蜡笔臻彩' ,
40+ }
41+ ] ;
42+ return {
43+ class : classes ,
44+ }
45+ } ,
46+ 预处理 : async ( ) => {
47+ // await Quark.initQuark()
48+ return [ ]
49+ } ,
50+ 推荐 : async function ( tid , pg , filter , extend ) {
51+ let { MY_CATE , input} = this ;
52+ let html = ( await getHtml ( 'https://duopan.fun/index.php/vod/show/id/24.html' ) ) . data
53+ const $ = pq ( html )
54+ let videos = [ ]
55+ $ ( '.module-items .module-item' ) . each ( ( index , item ) => {
56+ const a = $ ( item ) . find ( 'a:first' ) [ 0 ] ;
57+ const img = $ ( item ) . find ( 'img:first' ) [ 0 ] ;
58+ const content = $ ( item ) . find ( '.video-text:first' ) . text ( ) ;
59+ videos . push ( {
60+ "vod_name" : a . attribs . title ,
61+ "vod_id" : a . attribs . href ,
62+ "vod_remarks" : content ,
63+ "vod_pic" : img . attribs [ 'data-src' ]
64+ } )
65+ } )
66+ return videos
67+ } ,
68+ 一级 : async function ( tid , pg , filter , extend ) {
69+ let { MY_CATE , input} = this ;
70+ let html = ( await getHtml ( input ) ) . data
71+ const $ = pq ( html )
72+ let videos = [ ]
73+ $ ( '.module-items .module-item' ) . each ( ( index , item ) => {
74+ const a = $ ( item ) . find ( 'a:first' ) [ 0 ] ;
75+ const img = $ ( item ) . find ( 'img:first' ) [ 0 ] ;
76+ const content = $ ( item ) . find ( '.video-text:first' ) . text ( ) ;
77+ videos . push ( {
78+ "vod_name" : a . attribs . title ,
79+ "vod_id" : a . attribs . href ,
80+ "vod_remarks" : content ,
81+ "vod_pic" : img . attribs [ 'data-src' ]
82+ } )
83+ } )
84+ return videos
85+ } ,
86+ 二级 : async function ( ids ) {
87+ let { input} = this ;
88+ let html = ( await getHtml ( input ) ) . data
89+ const $ = pq ( html )
90+ let vod = {
91+ "vod_name" : $ ( 'h1.page-title' ) . text ( ) ,
92+ "vod_id" : input ,
93+ "vod_remarks" : $ ( ' div.video-info-main div:nth-child(4) div.video-info-item' ) . text ( ) ,
94+ "vod_pic" : $ ( '.lazyload' ) . attr ( 'data-src' ) ,
95+ "vod_content" : $ ( 'p.sqjj_a' ) . text ( ) ,
96+ }
97+ let playform = [ ]
98+ let playurls = [ ]
99+ for ( const item of $ ( '.module-row-title' ) ) {
100+ const a = $ ( item ) . find ( 'p:first' ) [ 0 ] ;
101+ let link = a . children [ 0 ] . data . trim ( )
102+ if ( / p a n .q u a r k .c n / . test ( link ) ) {
103+ const shareData = Quark . getShareData ( link ) ;
104+ if ( shareData ) {
105+ const videos = await Quark . getFilesByShareUrl ( shareData ) ;
106+ if ( videos . length > 0 ) {
107+ playform . push ( 'Quark-' + shareData . shareId ) ;
108+ playurls . push ( videos . map ( ( v ) => {
109+ const list = [ shareData . shareId , v . stoken , v . fid , v . share_fid_token , v . subtitle ? v . subtitle . fid : '' , v . subtitle ? v . subtitle . share_fid_token : '' ] ;
110+ return v . file_name + '$' + list . join ( '*' ) ;
111+ } ) . join ( '#' ) )
112+ } else {
113+ playform . push ( 'Quark-' + shareData . shareId ) ;
114+ playurls . push ( "资源已经失效,请访问其他资源" )
115+ }
41116 }
42- ] ;
43- return {
44- class : classes ,
45- }
46- } ,
47- 预处理 : async ( ) => {
48- // await Quark.initQuark()
49- return [ ]
50- } ,
51- 推荐 : async ( ) => {
52- return [ ]
53- } ,
54- 一级 : async function ( tid , pg , filter , extend ) {
55- let { MY_CATE , input} = this ;
56- let html = ( await getHtml ( input ) ) . data
57- const $ = pq ( html )
58- let videos = [ ]
59- $ ( '.module-items .module-item' ) . each ( ( index , item ) => {
60- const a = $ ( item ) . find ( 'a:first' ) [ 0 ] ;
61- const img = $ ( item ) . find ( 'img:first' ) [ 0 ] ;
62- const content = $ ( item ) . find ( '.video-text:first' ) . text ( ) ;
63- videos . push ( {
64- "vod_name" : a . attribs . title ,
65- "vod_id" : a . attribs . href ,
66- "vod_remarks" : content ,
67- "vod_pic" : img . attribs [ 'data-src' ]
68- } )
69- } )
70- return videos
71- } ,
72- 二级 : async function ( ids ) {
73- let { input} = this ;
74- let html = ( await getHtml ( input ) ) . data
75- const $ = pq ( html )
76- let vod = {
77- "vod_name" : $ ( 'h1.page-title' ) . text ( ) ,
78- "vod_id" : input ,
79- "vod_remarks" : $ ( ' div.video-info-main div:nth-child(4) div.video-info-item' ) . text ( ) ,
80- "vod_pic" : $ ( '.lazyload' ) . attr ( 'data-src' ) ,
81- "vod_content" : $ ( 'p.sqjj_a' ) . text ( ) ,
82- }
83- let playform = [ ]
84- let playurls = [ ]
85- for ( const item of $ ( '.module-row-title' ) ) {
86- const a = $ ( item ) . find ( 'p:first' ) [ 0 ] ;
87- let link = a . children [ 0 ] . data . trim ( )
88- if ( / p a n .q u a r k .c n / . test ( link ) ) {
89- const shareData = Quark . getShareData ( link ) ;
90- if ( shareData ) {
91- const videos = await Quark . getFilesByShareUrl ( shareData ) ;
92- if ( videos . length > 0 ) {
93- playform . push ( 'Quark-' + shareData . shareId ) ;
94- playurls . push ( videos . map ( ( v ) => {
95- const list = [ shareData . shareId , v . stoken , v . fid , v . share_fid_token , v . subtitle ? v . subtitle . fid : '' , v . subtitle ? v . subtitle . share_fid_token : '' ] ;
96- return v . file_name + '$' + list . join ( '*' ) ;
97- } ) . join ( '#' ) )
98- } else {
99- playform . push ( 'Quark-' + shareData . shareId ) ;
100- playurls . push ( "资源已经失效,请访问其他资源" )
101- }
102- }
103- } else if ( / d r i v e .u c .c n / . test ( link ) ) {
104- const shareData = UC . getShareData ( link ) ;
105- if ( shareData ) {
106- const videos = await UC . getFilesByShareUrl ( shareData ) ;
107- if ( videos . length > 0 ) {
108- playform . push ( 'UC-' + shareData . shareId ) ;
109- playurls . push ( videos . map ( ( v ) => {
110- const list = [ shareData . shareId , v . stoken , v . fid , v . share_fid_token , v . subtitle ? v . subtitle . fid : '' , v . subtitle ? v . subtitle . share_fid_token : '' ] ;
111- return v . file_name + '$' + list . join ( '*' ) ;
112- } ) . join ( '#' ) )
113- } else {
114- playform . push ( 'UC-' + shareData . shareId ) ;
115- playurls . push ( "资源已经失效,请访问其他资源" )
116- }
117- }
117+ } else if ( / d r i v e .u c .c n / . test ( link ) ) {
118+ const shareData = UC . getShareData ( link ) ;
119+ if ( shareData ) {
120+ const videos = await UC . getFilesByShareUrl ( shareData ) ;
121+ if ( videos . length > 0 ) {
122+ playform . push ( 'UC-' + shareData . shareId ) ;
123+ playurls . push ( videos . map ( ( v ) => {
124+ const list = [ shareData . shareId , v . stoken , v . fid , v . share_fid_token , v . subtitle ? v . subtitle . fid : '' , v . subtitle ? v . subtitle . share_fid_token : '' ] ;
125+ return v . file_name + '$' + list . join ( '*' ) ;
126+ } ) . join ( '#' ) )
127+ } else {
128+ playform . push ( 'UC-' + shareData . shareId ) ;
129+ playurls . push ( "资源已经失效,请访问其他资源" )
130+ }
118131 }
119- }
120- vod . vod_play_from = playform . join ( "$$$" )
121- vod . vod_play_url = playurls . join ( "$$$" )
122- return vod
123- } ,
124- 搜索 : async function ( wd , quick , pg ) {
125- let { input} = this
126- let html = ( await getHtml ( input ) ) . data
127- const $ = pq ( html )
128- let videos = [ ]
129- $ ( '.module-items .module-search-item' ) . each ( ( index , item ) => {
130- const a = $ ( item ) . find ( 'a:first' ) [ 0 ] ;
131- const img = $ ( item ) . find ( 'img:first' ) [ 0 ] ;
132- const content = $ ( item ) . find ( '.video-text:first' ) . text ( ) ;
133- videos . push ( {
134- "vod_name" : a . attribs . title ,
135- "vod_id" : a . attribs . href ,
136- "vod_remarks" : content ,
137- "vod_pic" : img . attribs [ 'data-src' ]
138- } )
139- } )
140- return videos
141- } ,
142- lazy : async function ( flag , id , flags ) {
143- let { input} = this ;
144- const ids = input . split ( '*' ) ;
145- const urls = [ ] ;
146- let UCDownloadingCache = { } ;
147- let UCTranscodingCache = { } ;
148- if ( flag . startsWith ( 'Quark-' ) ) {
149- console . log ( "夸克网盘解析开始" )
150- const down = await Quark . getDownload ( ids [ 0 ] , ids [ 1 ] , ids [ 2 ] , ids [ 3 ] , true ) ;
151- urls . push ( "原画" , down . download_url + '#fastPlayMode##threads=10#' )
152- const transcoding = ( await Quark . getLiveTranscoding ( ids [ 0 ] , ids [ 1 ] , ids [ 2 ] , ids [ 3 ] ) ) . filter ( ( t ) => t . accessable ) ;
153- transcoding . forEach ( ( t ) => {
154- urls . push ( t . resolution === 'low' ? "流畅" : t . resolution === 'high' ? "高清" : t . resolution === 'super' ? "超清" : t . resolution , t . video_info . url )
155- } ) ;
156- return {
157- parse : 0 ,
158- url : urls ,
159- header : {
160- 'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36' ,
161- 'origin' : 'https://pan.quark.cn' ,
162- 'referer' : 'https://pan.quark.cn/' ,
163- 'Cookie' : Quark . cookie
164- }
165- }
166- } else if ( flag . startsWith ( 'UC-' ) ) {
167- console . log ( "UC网盘解析开始" )
168- if ( ! UCDownloadingCache [ ids [ 1 ] ] ) {
169- const down = await UC . getDownload ( ids [ 0 ] , ids [ 1 ] , ids [ 2 ] , ids [ 3 ] , true ) ;
170- if ( down ) UCDownloadingCache [ ids [ 1 ] ] = down ;
171- }
172- downUrl = UCDownloadingCache [ ids [ 1 ] ] . download_url ;
173- urls . push ( "UC原画" , downUrl ) ;
174- return {
175- parse : 0 ,
176- url : urls ,
177- header : {
178- "Referer" : "https://drive.uc.cn/" ,
179- "cookie" : UC . cookie ,
180- "User-Agent" : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) quark-cloud-drive/2.5.20 Chrome/100.0.4896.160 Electron/18.3.5.4-b478491100 Safari/537.36 Channel/pckk_other_ch'
181- } ,
182- }
183- }
184- } ,
185- }
132+ }
133+ }
134+ vod . vod_play_from = playform . join ( "$$$" )
135+ vod . vod_play_url = playurls . join ( "$$$" )
136+ return vod
137+ } ,
138+ 搜索 : async function ( wd , quick , pg ) {
139+ let { input} = this
140+ let html = ( await getHtml ( input ) ) . data
141+ const $ = pq ( html )
142+ let videos = [ ]
143+ $ ( '.module-search-item' ) . each ( ( index , item ) => {
144+ const a = $ ( item ) . find ( '.video-serial:first' ) [ 0 ] ;
145+ const img = $ ( item ) . find ( 'img:first' ) [ 0 ] ;
146+ const content = $ ( item ) . find ( '.video-text:first' ) . text ( ) ;
147+ videos . push ( {
148+ "vod_name" : a . attribs . title ,
149+ "vod_id" : a . attribs . href ,
150+ "vod_remarks" : content ,
151+ "vod_pic" : img . attribs [ 'data-src' ]
152+ } )
153+ } )
154+ return videos
155+ } ,
156+ lazy : async function ( flag , id , flags ) {
157+ let { input, mediaProxyUrl} = this ;
158+ const ids = input . split ( '*' ) ;
159+ const urls = [ ] ;
160+ let UCDownloadingCache = { } ;
161+ let UCTranscodingCache = { } ;
162+ if ( flag . startsWith ( 'Quark-' ) ) {
163+ console . log ( "夸克网盘解析开始" ) ;
164+ const down = await Quark . getDownload ( ids [ 0 ] , ids [ 1 ] , ids [ 2 ] , ids [ 3 ] , true ) ;
165+ const headers = {
166+ 'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36' ,
167+ 'origin' : 'https://pan.quark.cn' ,
168+ 'referer' : 'https://pan.quark.cn/' ,
169+ 'Cookie' : Quark . cookie
170+ } ;
171+ const transcoding = ( await Quark . getLiveTranscoding ( ids [ 0 ] , ids [ 1 ] , ids [ 2 ] , ids [ 3 ] ) ) . filter ( ( t ) => t . accessable ) ;
172+ transcoding . forEach ( ( t ) => {
173+ urls . push ( t . resolution === 'low' ? "流畅" : t . resolution === 'high' ? "高清" : t . resolution === 'super' ? "超清" : t . resolution === '4k' ? "4K" : t . resolution , t . video_info . url )
174+ } ) ;
175+ urls . push ( "原画" , down . download_url + '#fastPlayMode##threads=10#' ) ;
176+ urls . push ( "原代服" , mediaProxyUrl + '?thread=6&form=urlcode&randUa=1&url=' + encodeURIComponent ( down . download_url ) + '&header=' + encodeURIComponent ( JSON . stringify ( headers ) ) ) ;
177+ urls . push ( "原代本" , 'http://127.0.0.1:7777/?thread=6&form=urlcode&randUa=1&url=' + encodeURIComponent ( down . download_url ) + '&header=' + encodeURIComponent ( JSON . stringify ( headers ) ) ) ;
178+ return {
179+ parse : 0 ,
180+ url : urls ,
181+ header : headers
182+ }
183+ } else if ( flag . startsWith ( 'UC-' ) ) {
184+ console . log ( "UC网盘解析开始" )
185+ if ( ! UCDownloadingCache [ ids [ 1 ] ] ) {
186+ const down = await UC . getDownload ( ids [ 0 ] , ids [ 1 ] , ids [ 2 ] , ids [ 3 ] , true ) ;
187+ if ( down ) UCDownloadingCache [ ids [ 1 ] ] = down ;
188+ }
189+ downUrl = UCDownloadingCache [ ids [ 1 ] ] . download_url ;
190+ urls . push ( "UC原画" , downUrl ) ;
191+ return {
192+ parse : 0 ,
193+ url : urls ,
194+ header : {
195+ "Referer" : "https://drive.uc.cn/" ,
196+ "cookie" : UC . cookie ,
197+ "User-Agent" : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) quark-cloud-drive/2.5.20 Chrome/100.0.4896.160 Electron/18.3.5.4-b478491100 Safari/537.36 Channel/pckk_other_ch'
198+ } ,
199+ }
200+ }
201+ } ,
202+ }
0 commit comments