1
1
const { getHtml} = $ . require ( './_lib.request.js' )
2
2
const {
3
- formatPlayUrl,
3
+ formatPlayUrl,
4
4
} = misc ;
5
5
var 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 = [ {
20
19
type_id : '1' ,
21
- type_name : '蜡笔电影 ' ,
22
- } , {
20
+ type_name : '电影 ' ,
21
+ } , {
23
22
type_id : '2' ,
24
- type_name : '蜡笔剧集 ' ,
25
- } , {
23
+ type_name : '剧集 ' ,
24
+ } , {
26
25
type_id : '3' ,
27
- type_name : '蜡笔动漫 ' ,
28
- } , {
26
+ type_name : '动漫 ' ,
27
+ } , {
29
28
type_id : '4' ,
30
- type_name : '蜡笔综艺 ' ,
31
- } , {
29
+ type_name : '综艺 ' ,
30
+ } , {
32
31
type_id : '5' ,
33
- type_name : '蜡笔短剧 ' ,
34
- } , {
32
+ type_name : '短剧 ' ,
33
+ } , {
35
34
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
+ }
41
116
}
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
+ }
118
131
}
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