1
- import { base64Decode } from '../libs_drpy/crypto-util.js' ;
1
+ import { base64Decode , md5 } from '../libs_drpy/crypto-util.js' ;
2
2
import '../utils/random-http-ua.js'
3
3
import { keysToLowerCase } from '../utils/utils.js' ;
4
4
import { ENV } from "../utils/env.js" ;
@@ -25,16 +25,19 @@ export default (fastify, options, done) => {
25
25
fastify . all ( '/mediaProxy' , async ( request , reply ) => {
26
26
const { thread = 1 , form = 'urlcode' , url, header, size = '128K' , randUa = 0 } = request . query ;
27
27
28
+ // console.log('url:', url)
29
+ // console.log('header:', header)
30
+
28
31
// Check if the URL parameter is missing
29
32
if ( ! url ) {
30
33
return reply . code ( 400 ) . send ( { error : 'Missing required parameter: url' } ) ;
31
34
}
32
35
33
36
try {
34
37
// Decode URL and headers based on the form type
35
- const decodedUrl = form === 'base64' ? base64Decode ( url ) : decodeURIComponent ( url ) ;
38
+ const decodedUrl = form === 'base64' ? base64Decode ( url ) : url ;
36
39
const decodedHeader = header
37
- ? JSON . parse ( form === 'base64' ? base64Decode ( header ) : decodeURIComponent ( header ) )
40
+ ? JSON . parse ( form === 'base64' ? base64Decode ( header ) : header )
38
41
: { } ;
39
42
40
43
// Call the proxy function, passing the decoded URL and headers
@@ -45,7 +48,7 @@ export default (fastify, options, done) => {
45
48
return await proxyStreamMediaMulti ( decodedUrl , decodedHeader , request , reply , thread , size , randUa ) ;
46
49
} else {
47
50
console . log ( '[mediaProxy] chunkStream 磁盘加速 chunkSize:' , sizeToBytes ( '256K' ) ) ;
48
- return await chunkStream ( request , reply , decodedUrl , null , decodedHeader ,
51
+ return await chunkStream ( request , reply , decodedUrl , md5 ( decodedUrl ) , decodedHeader ,
49
52
Object . assign ( { chunkSize : 1024 * 256 , poolSize : 5 , timeout : 1000 * 10 } , {
50
53
// chunkSize: sizeToBytes(size),
51
54
poolSize : thread
0 commit comments