@@ -549,7 +549,7 @@ const HPACKHuffman码长 = [
549549] ;
550550
551551function 获取叉HTTPPadding标识 ( yourUUID ) {
552- return { 头 : yourUUID . slice ( 1 , 7 ) , 键 : '_' + yourUUID . slice ( 1 , 7 ) } ;
552+ return { 头 : yourUUID . slice ( 1 , 7 ) , 键 : '_' + yourUUID . slice ( 25 , 31 ) } ;
553553}
554554
555555function 计算HPACKHuffman字节长度 ( 字符串 ) {
@@ -4677,8 +4677,15 @@ function base64SecretDecode(encoded, secret) {
46774677function 获取传输协议配置 ( 配置 = { } ) {
46784678 const 是gRPC = 配置 . 传输协议 === 'grpc' ;
46794679 const { 头 : 本机Padding头 , 键 : 本机Padding键 } = 获取叉HTTPPadding标识 ( 配置 . UUID ) ;
4680+ const 叉混淆JSON = {
4681+ "xPaddingObfsMode" : true ,
4682+ "xPaddingMethod" : "tokenish" ,
4683+ "xPaddingPlacement" : "queryInHeader" ,
4684+ "xPaddingHeader" : 本机Padding头 ,
4685+ "xPaddingKey" : 本机Padding键
4686+ } ;
46804687 return {
4681- type : 是gRPC ? ( 配置 . gRPC模式 === 'multi' ? 'grpc&mode=multi' : 'grpc&mode=gun' ) : ( 配置 . 传输协议 === 'xhttp' ? `xhttp&mode=stream-one&extra=%7B%22xPaddingObfsMode%22%3Atrue%2C%22xPaddingMethod%22%3A%22tokenish%22%2C%22xPaddingPlacement%22%3A%22queryInHeader%22%2C%22xPaddingHeader%22%3A%22 ${ 本机Padding头 } %22%2C%22xPaddingKey%22%3A%22 ${ 本机Padding键 } %22%7D ` : 'ws' ) ,
4688+ type : 是gRPC ? ( 配置 . gRPC模式 === 'multi' ? 'grpc&mode=multi' : 'grpc&mode=gun' ) : ( 配置 . 传输协议 === 'xhttp' ? `xhttp&mode=stream-one&extra=${ encodeURIComponent ( JSON . stringify ( 叉混淆JSON ) ) } ` : 'ws' ) ,
46824689 路径字段名 : 是gRPC ? 'serviceName' : 'path' ,
46834690 域名字段名 : 是gRPC ? 'authority' : 'host'
46844691 } ;
0 commit comments