@@ -62,6 +62,15 @@ export default function Loon_Producer() {
6262 return { produce } ;
6363}
6464
65+ function appendTlsProfile ( result , proxy ) {
66+ if (
67+ isPresent ( proxy , 'client-fingerprint' ) &&
68+ `${ proxy [ 'client-fingerprint' ] } ` . trim ( ) !== ''
69+ ) {
70+ result . append ( `,tls-profile=${ proxy [ 'client-fingerprint' ] } ` ) ;
71+ }
72+ }
73+
6574function shadowsocks ( proxy ) {
6675 const result = new Result ( proxy ) ;
6776 if (
@@ -305,6 +314,7 @@ function trojan(proxy) {
305314 `,skip-cert-verify=${ proxy [ 'skip-cert-verify' ] } ` ,
306315 'skip-cert-verify' ,
307316 ) ;
317+ appendTlsProfile ( result , proxy ) ;
308318
309319 // sni
310320 result . appendIfPresent ( `,tls-name=${ proxy . sni } ` , 'sni' ) ;
@@ -360,6 +370,7 @@ function anytls(proxy) {
360370 `,skip-cert-verify=${ proxy [ 'skip-cert-verify' ] } ` ,
361371 'skip-cert-verify' ,
362372 ) ;
373+ appendTlsProfile ( result , proxy ) ;
363374
364375 // sni
365376 result . appendIfPresent ( `,tls-name=${ proxy . sni } ` , 'sni' ) ;
@@ -441,6 +452,9 @@ function vmess(proxy) {
441452 `,skip-cert-verify=${ proxy [ 'skip-cert-verify' ] } ` ,
442453 'skip-cert-verify' ,
443454 ) ;
455+ if ( proxy . tls || isReality ) {
456+ appendTlsProfile ( result , proxy ) ;
457+ }
444458
445459 if ( isReality ) {
446460 result . appendIfPresent ( `,sni=${ proxy . sni } ` , 'sni' ) ;
@@ -551,6 +565,9 @@ function vless(proxy) {
551565 `,skip-cert-verify=${ proxy [ 'skip-cert-verify' ] } ` ,
552566 'skip-cert-verify' ,
553567 ) ;
568+ if ( proxy . tls || isReality || isXtls ) {
569+ appendTlsProfile ( result , proxy ) ;
570+ }
554571
555572 if ( isXtls ) {
556573 result . appendIfPresent ( `,flow=${ proxy . flow } ` , 'flow' ) ;
@@ -612,6 +629,9 @@ function http(proxy) {
612629 `,skip-cert-verify=${ proxy [ 'skip-cert-verify' ] } ` ,
613630 'skip-cert-verify' ,
614631 ) ;
632+ if ( proxy . tls ) {
633+ appendTlsProfile ( result , proxy ) ;
634+ }
615635
616636 // tfo
617637 result . appendIfPresent ( `,tfo=${ proxy . tfo } ` , 'tfo' ) ;
@@ -645,6 +665,9 @@ function socks5(proxy) {
645665 `,skip-cert-verify=${ proxy [ 'skip-cert-verify' ] } ` ,
646666 'skip-cert-verify' ,
647667 ) ;
668+ if ( proxy . tls ) {
669+ appendTlsProfile ( result , proxy ) ;
670+ }
648671
649672 // tfo
650673 result . appendIfPresent ( `,tfo=${ proxy . tfo } ` , 'tfo' ) ;
@@ -774,6 +797,7 @@ function hysteria2(proxy) {
774797 `,skip-cert-verify=${ proxy [ 'skip-cert-verify' ] } ` ,
775798 'skip-cert-verify' ,
776799 ) ;
800+ appendTlsProfile ( result , proxy ) ;
777801
778802 if ( proxy [ 'obfs-password' ] && proxy . obfs == 'salamander' ) {
779803 result . append ( `,salamander-password=${ proxy [ 'obfs-password' ] } ` ) ;
0 commit comments