From eb4791a1cdabebbf0b0d5a81a40ecc7d88924656 Mon Sep 17 00:00:00 2001 From: pwnnex Date: Wed, 22 Apr 2026 18:55:09 +0300 Subject: hysteria: also accept "hysteria2" protocol string UI stores v1 and v2 both as "hysteria" with settings.version, but inbounds that came in from imports / manual SQL can carry the literal "hysteria2" string and get silently dropped everywhere we switch on protocol. Add Hysteria2 constant + IsHysteria helper, use it in the places that gate on protocol (sub SQL, getLink, genHysteriaLink, clash buildProxy, json gen, inbound.go validation, xray AddUser). Existing "hysteria" inbounds are untouched. closes #4081 --- xray/api.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'xray') diff --git a/xray/api.go b/xray/api.go index a887d666..277571f4 100644 --- a/xray/api.go +++ b/xray/api.go @@ -231,7 +231,7 @@ func (x *XrayAPI) AddUser(Protocol string, inboundTag string, user map[string]an Email: userEmail, }) } - case "hysteria": + case "hysteria", "hysteria2": auth, err := getRequiredUserString(user, "auth") if err != nil { return err -- cgit v1.2.3