瀏覽代碼

fix(shadowsocks): send per-user Account for SS-2022 runtime AddUser

SS-2022 user updates passed shadowsocks_2022.ServerConfig (the inbound-level
config) as the gRPC user account. The core rejects it with "Unknown account
type" because only shadowsocks_2022.Account implements AsAccount(), so live
AddUser failed and renewed/reset/added users stayed inactive until the 30s
auto-restart rebuilt the inbound from the DB.

Use shadowsocks_2022.Account{Key: password} (the per-user type, matching
xray-core's own multi-user builder) so changes apply immediately without a
restart.

Fixes #5597
MHSanaei 16 小時之前
父節點
當前提交
4c177f0cf1
共有 1 個文件被更改,包括 2 次插入3 次删除
  1. 2 3
      internal/xray/api.go

+ 2 - 3
internal/xray/api.go

@@ -502,9 +502,8 @@ func (x *XrayAPI) AddUser(Protocol string, inboundTag string, user map[string]an
 				CipherType: ssCipherType,
 			})
 		} else {
-			account = serial.ToTypedMessage(&shadowsocks_2022.ServerConfig{
-				Key:   password,
-				Email: userEmail,
+			account = serial.ToTypedMessage(&shadowsocks_2022.Account{
+				Key: password,
 			})
 		}
 	case "hysteria":