Documentation ¶
Overview ¶
Package socks provides implements of Socks protocol 4, 4a and 5.
Index ¶
- Variables
- func ClientHandshake(request *protocol.RequestHeader, reader io.Reader, writer io.Writer) (*protocol.RequestHeader, error)
- func DecodeUDPPacket(packet *buf.Buffer) (*protocol.RequestHeader, 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
- func (m *Account) XXX_DiscardUnknown()
- func (m *Account) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (dst *Account) XXX_Merge(src proto.Message)
- func (m *Account) XXX_Size() int
- func (m *Account) XXX_Unmarshal(b []byte) error
- type AuthType
- type Client
- type ClientConfig
- func (*ClientConfig) Descriptor() ([]byte, []int)
- func (m *ClientConfig) GetServer() []*protocol.ServerEndpoint
- func (*ClientConfig) ProtoMessage()
- func (m *ClientConfig) Reset()
- func (m *ClientConfig) String() string
- func (m *ClientConfig) XXX_DiscardUnknown()
- func (m *ClientConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (dst *ClientConfig) XXX_Merge(src proto.Message)
- func (m *ClientConfig) XXX_Size() int
- func (m *ClientConfig) XXX_Unmarshal(b []byte) error
- type Server
- type ServerConfig
- func (*ServerConfig) Descriptor() ([]byte, []int)
- func (m *ServerConfig) GetAccounts() map[string]string
- func (m *ServerConfig) GetAddress() *net.IPOrDomain
- func (m *ServerConfig) GetAuthType() AuthType
- func (m *ServerConfig) GetTimeout() uint32deprecated
- 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
- func (m *ServerConfig) XXX_DiscardUnknown()
- func (m *ServerConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (dst *ServerConfig) XXX_Merge(src proto.Message)
- func (m *ServerConfig) XXX_Size() int
- func (m *ServerConfig) XXX_Unmarshal(b []byte) error
- 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 ClientHandshake ¶ added in v1.1.0
func ClientHandshake(request *protocol.RequestHeader, reader io.Reader, writer io.Writer) (*protocol.RequestHeader, error)
func DecodeUDPPacket ¶ added in v1.1.0
func DecodeUDPPacket(packet *buf.Buffer) (*protocol.RequestHeader, error)
func EncodeUDPPacket ¶ added in v1.1.0
Types ¶
type Account ¶ added in v1.1.0
type Account struct { Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*Account) Descriptor ¶ added in v1.1.0
func (*Account) GetPassword ¶ added in v1.1.0
func (*Account) GetUsername ¶ added in v1.1.0
func (*Account) ProtoMessage ¶ added in v1.1.0
func (*Account) ProtoMessage()
func (*Account) XXX_DiscardUnknown ¶
func (m *Account) XXX_DiscardUnknown()
func (*Account) XXX_Marshal ¶
func (*Account) XXX_Unmarshal ¶
type AuthType ¶ added in v1.1.0
type AuthType int32
func (AuthType) EnumDescriptor ¶ added in v1.1.0
type Client ¶ added in v1.1.0
type Client struct {
// contains filtered or unexported fields
}
Client is a Socks5 client.
type ClientConfig ¶ added in v1.1.0
type ClientConfig struct { Server []*protocol.ServerEndpoint `protobuf:"bytes,1,rep,name=server,proto3" json:"server,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*ClientConfig) Descriptor ¶ added in v1.1.0
func (*ClientConfig) Descriptor() ([]byte, []int)
func (*ClientConfig) GetServer ¶ added in v1.1.0
func (m *ClientConfig) GetServer() []*protocol.ServerEndpoint
func (*ClientConfig) ProtoMessage ¶ added in v1.1.0
func (*ClientConfig) ProtoMessage()
func (*ClientConfig) Reset ¶ added in v1.1.0
func (m *ClientConfig) Reset()
func (*ClientConfig) String ¶ added in v1.1.0
func (m *ClientConfig) String() string
func (*ClientConfig) XXX_DiscardUnknown ¶
func (m *ClientConfig) XXX_DiscardUnknown()
func (*ClientConfig) XXX_Marshal ¶
func (m *ClientConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*ClientConfig) XXX_Merge ¶
func (dst *ClientConfig) XXX_Merge(src proto.Message)
func (*ClientConfig) XXX_Size ¶
func (m *ClientConfig) XXX_Size() int
func (*ClientConfig) XXX_Unmarshal ¶
func (m *ClientConfig) XXX_Unmarshal(b []byte) error
type Server ¶ added in v1.1.0
type Server struct {
// contains filtered or unexported fields
}
Server is a SOCKS 5 proxy server
func NewServer ¶ added in v1.1.0
func NewServer(ctx context.Context, config *ServerConfig) (*Server, error)
NewServer creates a new Server object.
func (*Server) Network ¶ added in v1.1.0
func (s *Server) Network() net.NetworkList
Network implements proxy.Inbound.
type ServerConfig ¶ added in v1.1.0
type ServerConfig struct { AuthType AuthType `protobuf:"varint,1,opt,name=auth_type,json=authType,proto3,enum=v2ray.core.proxy.socks.AuthType" json:"auth_type,omitempty"` Accounts map[string]string `` /* 157-byte string literal not displayed */ Address *net.IPOrDomain `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` UdpEnabled bool `protobuf:"varint,4,opt,name=udp_enabled,json=udpEnabled,proto3" json:"udp_enabled,omitempty"` Timeout uint32 `protobuf:"varint,5,opt,name=timeout,proto3" json:"timeout,omitempty"` // Deprecated: Do not use. UserLevel uint32 `protobuf:"varint,6,opt,name=user_level,json=userLevel,proto3" json:"user_level,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*ServerConfig) Descriptor ¶ added in v1.1.0
func (*ServerConfig) Descriptor() ([]byte, []int)
func (*ServerConfig) GetAccounts ¶ added in v1.1.0
func (m *ServerConfig) GetAccounts() map[string]string
func (*ServerConfig) GetAddress ¶ added in v1.1.0
func (m *ServerConfig) GetAddress() *net.IPOrDomain
func (*ServerConfig) GetAuthType ¶ added in v1.1.0
func (m *ServerConfig) GetAuthType() AuthType
func (*ServerConfig) GetTimeout
deprecated
added in
v1.1.0
func (m *ServerConfig) GetTimeout() uint32
Deprecated: Do not use.
func (*ServerConfig) GetUdpEnabled ¶ added in v1.1.0
func (m *ServerConfig) GetUdpEnabled() bool
func (*ServerConfig) GetUserLevel ¶ added in v1.1.0
func (m *ServerConfig) GetUserLevel() uint32
func (*ServerConfig) HasAccount ¶ added in v1.1.0
func (c *ServerConfig) HasAccount(username, password string) bool
func (*ServerConfig) ProtoMessage ¶ added in v1.1.0
func (*ServerConfig) ProtoMessage()
func (*ServerConfig) Reset ¶ added in v1.1.0
func (m *ServerConfig) Reset()
func (*ServerConfig) String ¶ added in v1.1.0
func (m *ServerConfig) String() string
func (*ServerConfig) XXX_DiscardUnknown ¶
func (m *ServerConfig) XXX_DiscardUnknown()
func (*ServerConfig) XXX_Marshal ¶
func (m *ServerConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*ServerConfig) XXX_Merge ¶
func (dst *ServerConfig) XXX_Merge(src proto.Message)
func (*ServerConfig) XXX_Size ¶
func (m *ServerConfig) XXX_Size() int
func (*ServerConfig) XXX_Unmarshal ¶
func (m *ServerConfig) XXX_Unmarshal(b []byte) error
type ServerSession ¶ added in v1.1.0
type ServerSession struct {
// contains filtered or unexported fields
}
func (*ServerSession) Handshake ¶ added in v1.1.0
func (s *ServerSession) Handshake(reader io.Reader, writer io.Writer) (*protocol.RequestHeader, error)
type UDPReader ¶ added in v1.1.0
type UDPReader struct {
// contains filtered or unexported fields
}
func NewUDPReader ¶ added in v1.1.0
func (*UDPReader) ReadMultiBuffer ¶ added in v1.1.0
func (r *UDPReader) ReadMultiBuffer() (buf.MultiBuffer, error)
type UDPWriter ¶ added in v1.1.0
type UDPWriter struct {
// contains filtered or unexported fields
}
func NewUDPWriter ¶ added in v1.1.0
func NewUDPWriter(request *protocol.RequestHeader, writer io.Writer) *UDPWriter
Click to show internal directories.
Click to hide internal directories.