@@ -46,16 +46,17 @@ export default {
4646 } else SOCKS5白名单 = 缓存SOCKS5白名单 ;
4747 if ( 访问路径 === 'version' ) { // 版本信息接口
4848 const 请求UUID = ( url . searchParams . get ( 'uuid' ) || '' ) . toLowerCase ( ) ;
49- const 目标UUID = String ( userID ) . toLowerCase ( ) ;
50- const uuid格式 = / ^ [ 0 - 9 a - f ] { 8 } - [ 0 - 9 a - f ] { 4 } - [ 0 - 9 a - f ] { 4 } - [ 0 - 9 a - f ] { 4 } - [ 0 - 9 a - f ] { 12 } $ / ;
51- let 请求前8总和 = 0 , 目标前8总和 = 0 ;
52- for ( let i = 0 ; i < 8 ; i ++ ) {
53- const 请求码 = 请求UUID . charCodeAt ( i ) ;
54- 请求前8总和 += 请求码 <= 57 ? 请求码 - 48 : 请求码 - 87 ;
55- const 目标码 = 目标UUID . charCodeAt ( i ) ;
56- 目标前8总和 += 目标码 <= 57 ? 目标码 - 48 : 目标码 - 87 ;
49+ if ( uuidRegex . test ( 请求UUID ) ) {
50+ const 目标UUID = String ( userID ) . toLowerCase ( ) ;
51+ let 请求前8总和 = 0 , 目标前8总和 = 0 ;
52+ for ( let i = 0 ; i < 8 ; i ++ ) {
53+ const 请求码 = 请求UUID . charCodeAt ( i ) ;
54+ 请求前8总和 += 请求码 <= 57 ? 请求码 - 48 : 请求码 - 87 ;
55+ const 目标码 = 目标UUID . charCodeAt ( i ) ;
56+ 目标前8总和 += 目标码 <= 57 ? 目标码 - 48 : 目标码 - 87 ;
57+ }
58+ if ( 请求前8总和 === 目标前8总和 && 请求UUID . slice ( - 12 ) === 目标UUID . slice ( - 12 ) ) return new Response ( JSON . stringify ( { Version : Number ( String ( Version ) . replace ( / \D + / g, '' ) ) } ) , { status : 200 , headers : { 'Content-Type' : 'application/json;charset=utf-8' } } ) ;
5759 }
58- if ( uuid格式 . test ( 请求UUID ) && 请求前8总和 === 目标前8总和 && 请求UUID . slice ( - 12 ) === 目标UUID . slice ( - 12 ) ) return new Response ( JSON . stringify ( { Version : Number ( String ( Version ) . replace ( / \D + / g, '' ) ) } ) , { status : 200 , headers : { 'Content-Type' : 'application/json;charset=utf-8' } } ) ;
5960 } else if ( 管理员密码 && upgradeHeader === 'websocket' ) { // WebSocket代理
6061 await 反代参数获取 ( url , userID ) ;
6162 log ( `[WebSocket] 命中请求: ${ url . pathname } ${ url . search } ` ) ;
0 commit comments