𐲓𐳛π³ͺ𐳂𐳐 𐲀𐳒𐳦𐳫𐳒 π²₯𐳔𐳛π³ͺπ³Œπ³‘π³–π³‡
2025-09-15 21:31:27 +08:00
committed by GitHub
parent 83c5370eec
commit fe57507fd9
61 changed files with 829 additions and 2394 deletions
+14 -5
View File
@@ -86,12 +86,19 @@ func (v *SocksClientConfig) Build() (proto.Message, error) {
{
Address: v.Address,
Port: v.Port,
Users: []json.RawMessage{{}},
},
}
if len(v.Username) > 0 {
v.Servers[0].Users = []json.RawMessage{{}}
}
}
config.Server = make([]*protocol.ServerEndpoint, len(v.Servers))
for idx, serverConfig := range v.Servers {
if len(v.Servers) != 1 {
return nil, errors.New(`SOCKS settings: "servers" should have one and only one member. Multiple endpoints in "servers" should use multiple SOCKS outbounds and routing balancer instead`)
}
for _, serverConfig := range v.Servers {
if len(serverConfig.Users) > 1 {
return nil, errors.New(`SOCKS servers: "users" should have one member at most. Multiple members in "users" should use multiple SOCKS outbounds and routing balancer instead`)
}
server := &protocol.ServerEndpoint{
Address: serverConfig.Address.Build(),
Port: uint32(serverConfig.Port),
@@ -116,9 +123,11 @@ func (v *SocksClientConfig) Build() (proto.Message, error) {
}
}
user.Account = serial.ToTypedMessage(account.Build())
server.User = append(server.User, user)
server.User = user
break
}
config.Server[idx] = server
config.Server = server
break
}
return config, nil
}