@@ -1733,7 +1733,7 @@ async function 反代参数获取(request) {
17331733 const protocolMatch = proxyUrl . match ( / ^ ( s o c k s 5 | h t t p ) : \/ \/ ( .+ ) $ / i) ;
17341734 if ( ! protocolMatch ) return false ;
17351735 启用SOCKS5反代 = protocolMatch [ 1 ] . toLowerCase ( ) ;
1736- 我的SOCKS5账号 = protocolMatch [ 2 ] ;
1736+ 我的SOCKS5账号 = protocolMatch [ 2 ] . split ( '/' ) [ 0 ] ;
17371737 启用SOCKS5全局反代 = 默认全局 || 启用SOCKS5全局反代 ;
17381738 return true ;
17391739 } ;
@@ -1780,13 +1780,13 @@ async function 反代参数获取(request) {
17801780 // 匹配:/socks5://..., /socks://.., /http://...
17811781 else if ( ( socksMatch = pathname . match ( / \/ ( s o c k s 5 ? | h t t p ) : \/ ? \/ ? ( [ ^ / ? # \s ] + ) / i) ) ) {
17821782 启用SOCKS5反代 = socksMatch [ 1 ] . toLowerCase ( ) === 'http' ? 'http' : 'socks5' ;
1783- 我的SOCKS5账号 = socksMatch [ 2 ] ;
1783+ 我的SOCKS5账号 = socksMatch [ 2 ] . split ( '/' ) [ 0 ] ;
17841784 启用SOCKS5全局反代 = true ;
17851785 }
17861786 // 匹配:/socks5=..., /s5=..., /gs5=..., /http=..., /ghttp=...
17871787 else if ( ( socksMatch = pathname . match ( / \/ ( g ? s 5 | s o c k s 5 | g ? h t t p ) = ( [ ^ / ? # \s ] + ) / i) ) ) {
17881788 const type = socksMatch [ 1 ] . toLowerCase ( ) ;
1789- 我的SOCKS5账号 = socksMatch [ 2 ] ;
1789+ 我的SOCKS5账号 = socksMatch [ 2 ] . split ( '/' ) [ 0 ] ;
17901790 启用SOCKS5反代 = type . includes ( 'http' ) ? 'http' : 'socks5' ;
17911791 启用SOCKS5全局反代 = type . startsWith ( 'g' ) || 启用SOCKS5全局反代 ;
17921792 }
@@ -1807,7 +1807,7 @@ async function 反代参数获取(request) {
18071807 if ( 我的SOCKS5账号 ) {
18081808 try {
18091809 parsedSocks5Address = await 获取SOCKS5账号 ( 我的SOCKS5账号 ) ;
1810- 启用SOCKS5反代 = searchParams . get ( 'http' ) ? 'http' : 启用SOCKS5反代 ;
1810+ 启用SOCKS5反代 = searchParams . get ( 'http' ) ? 'http' : ( 启用SOCKS5反代 || 'socks5' ) ;
18111811 } catch ( err ) {
18121812 console . error ( '解析SOCKS5地址失败:' , err . message ) ;
18131813 启用SOCKS5反代 = null ;
0 commit comments