small enhancement on managed shadowsocks detection

This commit is contained in:
Alireza Ahmadi
2025-05-29 21:49:44 +02:00
parent f69c74b09c
commit 1991091444
+5 -5
View File
@@ -50,6 +50,7 @@ func (s *InboundService) GetAll() (*[]map[string]interface{}, error) {
var data []map[string]interface{} var data []map[string]interface{}
for _, inbound := range inbounds { for _, inbound := range inbounds {
var shadowtls_version uint var shadowtls_version uint
ss_managed := false
inbData := map[string]interface{}{ inbData := map[string]interface{}{
"id": inbound.Id, "id": inbound.Id,
"type": inbound.Type, "type": inbound.Type,
@@ -67,13 +68,12 @@ func (s *InboundService) GetAll() (*[]map[string]interface{}, error) {
json.Unmarshal(restFields["version"], &shadowtls_version) json.Unmarshal(restFields["version"], &shadowtls_version)
} }
if inbound.Type == "shadowsocks" { if inbound.Type == "shadowsocks" {
inbData["managed"] = restFields["managed"] json.Unmarshal(restFields["managed"], &ss_managed)
} }
} }
if s.hasUser(inbound.Type) { if s.hasUser(inbound.Type) &&
if inbound.Type == "shadowtls" && shadowtls_version < 3 { !(inbound.Type == "shadowtls" && shadowtls_version < 3) &&
break !(inbound.Type == "shadowsocks" && ss_managed) {
}
users := []string{} users := []string{}
err = db.Raw("SELECT clients.name FROM clients, json_each(clients.inbounds) as je WHERE je.value = ?", inbound.Id).Scan(&users).Error err = db.Raw("SELECT clients.name FROM clients, json_each(clients.inbounds) as je WHERE je.value = ?", inbound.Id).Scan(&users).Error
if err != nil { if err != nil {