| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | package socksimport (	v2net "v2ray.com/core/common/net"	"v2ray.com/core/common/protocol"	"github.com/golang/protobuf/ptypes"	google_protobuf "github.com/golang/protobuf/ptypes/any")func (v *Account) Equals(another protocol.Account) bool {	if account, ok := another.(*Account); ok {		return v.Username == account.Username	}	return false}func (v *Account) AsAccount() (protocol.Account, error) {	return v, nil}func NewAccount() protocol.AsAccount {	return &Account{}}func (v *Account) AsAny() (*google_protobuf.Any, error) {	return ptypes.MarshalAny(v)}func (v *ServerConfig) HasAccount(username, password string) bool {	if v.Accounts == nil {		return false	}	storedPassed, found := v.Accounts[username]	if !found {		return false	}	return storedPassed == password}func (v *ServerConfig) GetNetAddress() v2net.Address {	if v.Address == nil {		return v2net.LocalHostIP	}	return v.Address.AsAddress()}
 |