@@ -48,6 +48,7 @@ async function generateSiteJSON(options, requestHost, sub, pwd) {
48
48
}
49
49
}
50
50
let sites = [ ] ;
51
+ let link_jar = '' ;
51
52
// console.log('hide_adult:', ENV.get('hide_adult'));
52
53
if ( ENV . get ( 'hide_adult' ) === '1' ) {
53
54
valid_files = valid_files . filter ( it => ! ( new RegExp ( '\\[[密]\\]|密+' ) ) . test ( it ) ) ;
@@ -205,9 +206,19 @@ async function generateSiteJSON(options, requestHost, sub, pwd) {
205
206
let link_sites = [ ] ;
206
207
let link_url = ENV . get ( 'link_url' ) ;
207
208
let enable_link_push = ENV . get ( 'enable_link_push' , '0' ) ;
209
+ let enable_link_jar = ENV . get ( 'enable_link_jar' , '0' ) ;
208
210
try {
209
211
let link_data = readFileSync ( path . join ( rootDir , './data/settings/link_data.json' ) , 'utf-8' ) ;
210
- link_sites = JSON . parse ( link_data ) . sites . filter ( site => site . type = 4 ) ;
212
+ let link_config = JSON . parse ( link_data ) ;
213
+ link_sites = link_config . sites . filter ( site => site . type = 4 ) ;
214
+ if ( link_config . spider && enable_link_jar === '1' ) {
215
+ let link_spider_arr = link_config . spider . split ( ';' ) ;
216
+ link_jar = urljoin ( link_url , link_spider_arr [ 0 ] ) ;
217
+ if ( link_spider_arr . length > 1 ) {
218
+ link_jar = [ link_jar ] . concat ( link_spider_arr . slice ( 1 ) ) . join ( ';' )
219
+ }
220
+ log ( `开始挂载外部T4 Jar: ${ link_jar } ` ) ;
221
+ }
211
222
link_sites . forEach ( ( site ) => {
212
223
if ( site . key === 'push_agent' && enable_link_push !== '1' ) {
213
224
return
@@ -246,7 +257,7 @@ async function generateSiteJSON(options, requestHost, sub, pwd) {
246
257
sites = sites . filter ( it => ! ( new RegExp ( '\\[[密]\\]|密+' ) ) . test ( it . name ) ) ;
247
258
}
248
259
sites = naturalSort ( sites , 'name' , sort_list ) ;
249
- return { sites} ;
260
+ return { sites, spider : link_jar } ;
250
261
}
251
262
252
263
async function generateParseJSON ( jxDir , requestHost ) {
@@ -495,7 +506,7 @@ export default (fastify, options, done) => {
495
506
const parseJSON = await generateParseJSON ( options . jxDir , requestHost ) ;
496
507
const livesJSON = generateLivesJSON ( requestHost ) ;
497
508
const playerJSON = generatePlayerJSON ( options . configDir , requestHost ) ;
498
- const configObj = { sites_count : siteJSON . sites . length , ...siteJSON , ...parseJSON , ...livesJSON , ...playerJSON } ;
509
+ const configObj = { sites_count : siteJSON . sites . length , ...playerJSON , ...siteJSON , ...parseJSON , ...livesJSON } ;
499
510
// console.log(configObj);
500
511
const configStr = JSON . stringify ( configObj , null , 2 ) ;
501
512
if ( ! process . env . VERCEL ) { // Vercel 环境不支持写文件,关闭此功能
0 commit comments