Răsfoiți Sursa

As substring to match in VLESS fallbacks SNI shunt

RPRX 4 ani în urmă
părinte
comite
f0efc0cfde
1 a modificat fișierele cu 7 adăugiri și 7 ștergeri
  1. 7 7
      proxy/vless/inbound/inbound.go

+ 7 - 7
proxy/vless/inbound/inbound.go

@@ -226,14 +226,14 @@ func (h *Handler) Process(ctx context.Context, network net.Network, connection i
 			}
 			}
 
 
 			if len(napfb) > 1 || napfb[""] == nil {
 			if len(napfb) > 1 || napfb[""] == nil {
-				if napfb[name] == nil {
-					generic := "*"
-					if index := strings.IndexByte(name, '.'); index != -1 {
-						generic += name[index:]
-					}
-					if napfb[generic] != nil {
-						name = generic
+				if name != "" && napfb[name] == nil {
+					match := ""
+					for n := range napfb {
+						if n != "" && strings.Contains(name, n) && len(n) > len(match) {
+							match = n
+						}
 					}
 					}
+					name = match
 				}
 				}
 			}
 			}