@@ -1442,22 +1442,12 @@ async function 读取config_JSON(env, hostname, userID, 重置配置 = false) {
14421442 if ( env . PATH ) config_JSON . PATH = env . PATH . startsWith ( '/' ) ? env . PATH : '/' + env . PATH ;
14431443 else if ( ! config_JSON . PATH ) config_JSON . PATH = '/' ;
14441444
1445- const PATH反代参数 = config_JSON . 反代 . SOCKS5 . 启用 ? ( '/' + config_JSON . 反代 . SOCKS5 . 启用 + ( config_JSON . 反代 . SOCKS5 . 全局 ? '://' : '=' ) + config_JSON . 反代 . SOCKS5 . 账号 ) : ( config_JSON . 反代 . PROXYIP === 'auto' ? '/' : `/proxyip=${ config_JSON . 反代 . PROXYIP } ` ) ;
1446- let PATH固定参数 = config_JSON . PATH ;
1447- if ( PATH固定参数 === '/' ) PATH固定参数 = '' ;
1448- else while ( PATH固定参数 . endsWith ( '/' ) ) PATH固定参数 = PATH固定参数 . slice ( 0 , - 1 ) ;
1449-
1450- // 分离 PATH固定参数 的路径部分和查询参数部分
1451- let 路径部分 = PATH固定参数 , 查询参数部分 = '' ;
1452- const 问号位置 = PATH固定参数 . indexOf ( '?' ) ;
1453- if ( 问号位置 !== - 1 ) {
1454- 路径部分 = PATH固定参数 . slice ( 0 , 问号位置 ) ;
1455- 查询参数部分 = PATH固定参数 . slice ( 问号位置 ) ; // 包含 '?'
1456- }
1457-
1458- // 组合路径:路径部分 + 反代参数 + 查询参数 + ed参数
1459- const 基础路径 = 路径部分 + PATH反代参数 + 查询参数部分 ;
1460- config_JSON . 完整节点路径 = config_JSON . 启用0RTT ? 基础路径 + ( 查询参数部分 ? '&ed=2560' : '?ed=2560' ) : 基础路径 ;
1445+ const { SOCKS5 , PROXYIP } = config_JSON . 反代 ;
1446+ const PATH反代参数 = SOCKS5 . 启用 ? `${ SOCKS5 . 启用 } ${ SOCKS5 . 全局 ? '://' : '=' } ${ SOCKS5 . 账号 } ` : ( PROXYIP === 'auto' ? '' : `proxyip=${ PROXYIP } ` ) ;
1447+ const normalizedPath = config_JSON . PATH === '/' ? '' : config_JSON . PATH . replace ( / \/ + (? = \? | $ ) / , '' ) . replace ( / \/ + $ / , '' ) ;
1448+ const [ 路径部分 , ...查询数组 ] = normalizedPath . split ( '?' ) ;
1449+ const 查询部分 = 查询数组 . length ? '?' + 查询数组 . join ( '?' ) : '' ;
1450+ config_JSON . 完整节点路径 = ( 路径部分 || '/' ) + ( 路径部分 && PATH反代参数 ? '/' : '' ) + PATH反代参数 + 查询部分 + ( config_JSON . 启用0RTT ? ( 查询部分 ? '&' : '?' ) + 'ed=2560' : '' ) ;
14611451
14621452 if ( ! config_JSON . TLS分片 && config_JSON . TLS分片 !== null ) config_JSON . TLS分片 = null ;
14631453 const TLS分片参数 = config_JSON . TLS分片 == 'Shadowrocket' ? `&fragment=${ encodeURIComponent ( '1,40-60,30-50,tlshello' ) } ` : config_JSON . TLS分片 == 'Happ' ? `&fragment=${ encodeURIComponent ( '3,1,tlshello' ) } ` : '' ;
0 commit comments