@@ -753,6 +753,8 @@ function URI_AnyTLS() {
753753 return / ^ a n y t l s : \/ \/ / . test ( line ) ;
754754 } ;
755755 const parse = ( line ) => {
756+ const parsed = URI_VLESS ( ) . parse ( line . replace ( 'anytls' , 'vless' ) ) ;
757+ // 偷个懒
756758 line = line . split ( / a n y t l s : \/ \/ / ) [ 1 ] ;
757759 // eslint-disable-next-line no-unused-vars
758760 let [ __ , password , server , port , addons = '' , name ] =
@@ -769,6 +771,8 @@ function URI_AnyTLS() {
769771 name = name ?? `AnyTLS ${ server } :${ port } ` ;
770772
771773 const proxy = {
774+ ...parsed ,
775+ uuid : undefined ,
772776 type : 'anytls' ,
773777 name,
774778 server,
@@ -786,11 +790,14 @@ function URI_AnyTLS() {
786790 proxy [ 'skip-cert-verify' ] = / ( T R U E ) | 1 / i. test ( value ) ;
787791 } else if ( [ 'udp' ] . includes ( key ) ) {
788792 proxy [ key ] = / ( T R U E ) | 1 / i. test ( value ) ;
789- } else {
793+ } else if ( ! Object . keys ( proxy ) . includes ( key ) ) {
790794 proxy [ key ] = value ;
791795 }
792796 }
793-
797+ if ( [ 'tcp' ] . includes ( proxy . network ) && ! proxy [ 'reality-opts' ] ) {
798+ delete proxy . network ;
799+ delete proxy . security ;
800+ }
794801 return proxy ;
795802 } ;
796803 return { name, test, parse } ;
@@ -940,7 +947,7 @@ function URI_Hysteria() {
940947 proxy [ '_obfs' ] = value || '' ;
941948 } else if ( [ 'fast-open' , 'peer' ] . includes ( key ) ) {
942949 params [ key ] = value ;
943- } else {
950+ } else if ( ! Object . keys ( proxy ) . includes ( key ) ) {
944951 proxy [ key ] = value ;
945952 }
946953 }
@@ -1007,7 +1014,7 @@ function URI_TUIC() {
10071014 } else if ( key === 'congestion-control' ) {
10081015 proxy [ 'congestion-controller' ] = value ;
10091016 delete proxy [ key ] ;
1010- } else {
1017+ } else if ( ! Object . keys ( proxy ) . includes ( key ) ) {
10111018 proxy [ key ] = value ;
10121019 }
10131020 }
@@ -1090,7 +1097,7 @@ function URI_WireGuard() {
10901097 proxy [ 'private-key' ] = value ;
10911098 } else if ( [ 'udp' ] . includes ( key ) ) {
10921099 proxy [ key ] = / ( T R U E ) | 1 / i. test ( value ) ;
1093- } else if ( ! [ 'flag' ] . includes ( key ) ) {
1100+ } else if ( ! [ ... Object . keys ( proxy ) , 'flag' ] . includes ( key ) ) {
10941101 proxy [ key ] = value ;
10951102 }
10961103 }
0 commit comments