Release 1.9.0: add VLESS, VMess and Trojan via Xray-core.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Navis
2026-07-29 07:05:44 +03:00
co-authored by Cursor
parent fce99cc393
commit 573a834d1b
25 changed files with 1199 additions and 36 deletions
+4 -1
View File
@@ -14,6 +14,9 @@ const (
ProtocolNaive Protocol = "naive"
ProtocolHysteria2 Protocol = "hysteria2"
ProtocolAWG Protocol = "awg"
ProtocolVLESS Protocol = "vless"
ProtocolVMess Protocol = "vmess"
ProtocolTrojan Protocol = "trojan"
)
// Config is the top-level client configuration.
@@ -182,7 +185,7 @@ func (c *Config) Validate() error {
return fmt.Errorf("config: profile[%d] missing name", i)
}
switch p.Protocol {
case ProtocolNaive, ProtocolHysteria2, ProtocolAWG:
case ProtocolNaive, ProtocolHysteria2, ProtocolAWG, ProtocolVLESS, ProtocolVMess, ProtocolTrojan:
// Proxy may be empty until the user pastes a share link / conf in the UI.
case "":
c.Profiles[i].Protocol = ProtocolNaive
+6
View File
@@ -8,6 +8,12 @@ func DetectProtocol(raw string) Protocol {
switch {
case strings.HasPrefix(lower, "hysteria2://"), strings.HasPrefix(lower, "hy2://"):
return ProtocolHysteria2
case strings.HasPrefix(lower, "vless://"):
return ProtocolVLESS
case strings.HasPrefix(lower, "vmess://"):
return ProtocolVMess
case strings.HasPrefix(lower, "trojan://"):
return ProtocolTrojan
case strings.HasPrefix(lower, "awg://"), strings.HasPrefix(lower, "amneziawg://"),
strings.HasPrefix(lower, "wireguard://"):
return ProtocolAWG