Documentation
¶
Overview ¶
Package socks provides implements of Socks protocol 4, 4a and 5.
Index ¶
- Variables
- func AppendAddress(buffer *buf.Buffer, address net.Address, port net.Port) error
- func ClientHandshake(request *protocol.RequestHeader, reader io.Reader, writer io.Writer) (*protocol.RequestHeader, error)
- func DecodeUDPPacket(packet []byte) (*protocol.RequestHeader, []byte, error)
- func EncodeUDPPacket(request *protocol.RequestHeader, data []byte) (*buf.Buffer, error)
- type Account
- func (a *Account) AsAccount() (protocol.Account, error)
- func (*Account) Descriptor() ([]byte, []int)
- func (a *Account) Equals(another protocol.Account) bool
- func (m *Account) GetPassword() string
- func (m *Account) GetUsername() string
- func (*Account) ProtoMessage()
- func (m *Account) Reset()
- func (m *Account) String() string
- type AuthType
- type Client
- type ClientConfig
- type Server
- type ServerConfig
- func (*ServerConfig) Descriptor() ([]byte, []int)
- func (m *ServerConfig) GetAccounts() map[string]string
- func (m *ServerConfig) GetAddress() *v2ray_core_common_net.IPOrDomain
- func (m *ServerConfig) GetAuthType() AuthType
- func (m *ServerConfig) GetTimeout() uint32
- func (m *ServerConfig) GetUdpEnabled() bool
- func (m *ServerConfig) GetUserLevel() uint32
- func (c *ServerConfig) HasAccount(username, password string) bool
- func (*ServerConfig) ProtoMessage()
- func (m *ServerConfig) Reset()
- func (m *ServerConfig) String() string
- type ServerSession
- type UDPReader
- type UDPWriter
Constants ¶
This section is empty.
Variables ¶
View Source
var AuthType_name = map[int32]string{
0: "NO_AUTH",
1: "PASSWORD",
}
View Source
var AuthType_value = map[string]int32{
"NO_AUTH": 0,
"PASSWORD": 1,
}
Functions ¶
func AppendAddress ¶
func AppendAddress(buffer *buf.Buffer, address net.Address, port net.Port) error
AppendAddress appends Socks address into the given buffer.
func ClientHandshake ¶
func ClientHandshake(request *protocol.RequestHeader, reader io.Reader, writer io.Writer) (*protocol.RequestHeader, error)
func DecodeUDPPacket ¶
func DecodeUDPPacket(packet []byte) (*protocol.RequestHeader, []byte, error)
func EncodeUDPPacket ¶
func EncodeUDPPacket(request *protocol.RequestHeader, data []byte) (*buf.Buffer, error)
Types ¶
type Account ¶ added in v1.21.2
type Account struct {
Username string `protobuf:"bytes,1,opt,name=username" json:"username,omitempty"`
Password string `protobuf:"bytes,2,opt,name=password" json:"password,omitempty"`
}
func (*Account) Descriptor ¶
func (*Account) Descriptor() ([]byte, []int)
func (*Account) GetPassword ¶
func (m *Account) GetPassword() string
func (*Account) GetUsername ¶
func (m *Account) GetUsername() string
func (*Account) ProtoMessage ¶
func (*Account) ProtoMessage()
type AuthType ¶
type AuthType int32
const (
AuthType_NO_AUTH AuthType = 0
AuthType_PASSWORD AuthType = 1
)
func (AuthType) EnumDescriptor ¶
func (AuthType) EnumDescriptor() ([]byte, []int)
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is a Socks5 client.
type ClientConfig ¶ added in v1.21.2
type ClientConfig struct {
Server []*v2ray_core_common_protocol1.ServerEndpoint `protobuf:"bytes,1,rep,name=server" json:"server,omitempty"`
}
func (*ClientConfig) Descriptor ¶
func (*ClientConfig) Descriptor() ([]byte, []int)
func (*ClientConfig) GetServer ¶
func (m *ClientConfig) GetServer() []*v2ray_core_common_protocol1.ServerEndpoint
func (*ClientConfig) ProtoMessage ¶
func (*ClientConfig) ProtoMessage()
type Server ¶ added in v1.12.1
type Server struct {
// contains filtered or unexported fields
}
Server is a SOCKS 5 proxy server
type ServerConfig ¶
type ServerConfig struct {
AuthType AuthType `protobuf:"varint,1,opt,name=auth_type,json=authType,enum=v2ray.core.proxy.socks.AuthType" json:"auth_type,omitempty"`
Accounts map[string]string `` /* 136-byte string literal not displayed */
Address *v2ray_core_common_net.IPOrDomain `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"`
UdpEnabled bool `protobuf:"varint,4,opt,name=udp_enabled,json=udpEnabled" json:"udp_enabled,omitempty"`
Timeout uint32 `protobuf:"varint,5,opt,name=timeout" json:"timeout,omitempty"`
UserLevel uint32 `protobuf:"varint,6,opt,name=user_level,json=userLevel" json:"user_level,omitempty"`
}
func (*ServerConfig) Descriptor ¶
func (*ServerConfig) Descriptor() ([]byte, []int)
func (*ServerConfig) GetAccounts ¶
func (m *ServerConfig) GetAccounts() map[string]string
func (*ServerConfig) GetAddress ¶
func (m *ServerConfig) GetAddress() *v2ray_core_common_net.IPOrDomain
func (*ServerConfig) GetAuthType ¶
func (m *ServerConfig) GetAuthType() AuthType
func (*ServerConfig) GetTimeout ¶
func (m *ServerConfig) GetTimeout() uint32
func (*ServerConfig) GetUdpEnabled ¶
func (m *ServerConfig) GetUdpEnabled() bool
func (*ServerConfig) GetUserLevel ¶
func (m *ServerConfig) GetUserLevel() uint32
func (*ServerConfig) HasAccount ¶
func (c *ServerConfig) HasAccount(username, password string) bool
func (*ServerConfig) ProtoMessage ¶
func (*ServerConfig) ProtoMessage()
type ServerSession ¶
type ServerSession struct {
// contains filtered or unexported fields
}
type UDPReader ¶
type UDPReader struct {
// contains filtered or unexported fields
}
func NewUDPReader ¶
func NewUDPReader(reader io.Reader) *UDPReader
func (*UDPReader) ReadMultiBuffer ¶
func (r *UDPReader) ReadMultiBuffer() (buf.MultiBuffer, error)
Click to show internal directories.
Click to hide internal directories.