2020-11-25 11:01:53 +00:00
|
|
|
package socks
|
|
|
|
|
2024-11-03 04:25:23 +00:00
|
|
|
import (
|
|
|
|
"google.golang.org/protobuf/proto"
|
|
|
|
|
|
|
|
"github.com/xtls/xray-core/common/protocol"
|
|
|
|
)
|
2020-11-25 11:01:53 +00:00
|
|
|
|
|
|
|
func (a *Account) Equals(another protocol.Account) bool {
|
|
|
|
if account, ok := another.(*Account); ok {
|
|
|
|
return a.Username == account.Username
|
|
|
|
}
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
|
2024-11-03 04:25:23 +00:00
|
|
|
func (a *Account) ToProto() proto.Message {
|
|
|
|
return a
|
|
|
|
}
|
|
|
|
|
2020-11-25 11:01:53 +00:00
|
|
|
func (a *Account) AsAccount() (protocol.Account, error) {
|
|
|
|
return a, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *ServerConfig) HasAccount(username, password string) bool {
|
|
|
|
if c.Accounts == nil {
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
storedPassed, found := c.Accounts[username]
|
|
|
|
if !found {
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
return storedPassed == password
|
|
|
|
}
|