Release 2.6.0: fix AmneziaWG key parsing for awg://, JSON and vpn://.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Navis
2026-07-29 14:46:21 +03:00
co-authored by Cursor
parent ffb3ef7512
commit 99bbac20e2
25 changed files with 479 additions and 133 deletions
+4 -2
View File
@@ -15,9 +15,11 @@ func DetectProtocol(raw string) Protocol {
case strings.HasPrefix(lower, "trojan://"):
return ProtocolTrojan
case strings.HasPrefix(lower, "awg://"), strings.HasPrefix(lower, "amneziawg://"),
strings.HasPrefix(lower, "wireguard://"):
strings.HasPrefix(lower, "wireguard://"), strings.HasPrefix(lower, "vpn://"):
return ProtocolAWG
case strings.Contains(lower, "[interface]") && strings.Contains(lower, "privatekey"):
case strings.Contains(lower, "[interface]") && (strings.Contains(lower, "privatekey") || strings.Contains(lower, "private_key") || strings.Contains(lower, "private key")):
return ProtocolAWG
case strings.HasPrefix(strings.TrimSpace(raw), "{") && (strings.Contains(lower, "client_priv_key") || strings.Contains(lower, "server_pub_key")):
return ProtocolAWG
case strings.HasPrefix(lower, "naive+"), strings.HasPrefix(lower, "naive://"),
strings.HasPrefix(lower, "https://"), strings.HasPrefix(lower, "quic://"),