Documentation ¶
Index ¶
- Constants
- Variables
- func Pack(msg Message) ([]byte, error)
- func ReadMsgInto(c io.Reader, msg Message) (err error)
- func UnPackInto(buffer []byte, msg Message) (err error)
- func WriteMsg(c io.Writer, msg interface{}) (err error)
- type Login
- type LoginResp
- type Message
- type NewProxy
- type NewProxyResp
- type NewWorkConn
- type Ping
- type Pong
- type ReqWorkConn
- type StartWorkConn
- type UdpPacket
Constants ¶
View Source
const ( TypeLogin = 'o' TypeLoginResp = '1' TypeNewProxy = 'p' TypeNewProxyResp = '2' TypeNewWorkConn = 'w' TypeReqWorkConn = 'r' TypeStartWorkConn = 's' TypePing = 'h' TypePong = '4' TypeUdpPacket = 'u' )
Variables ¶
View Source
var (
MaxMsgLength int32 = 10240
)
Functions ¶
func UnPackInto ¶
Types ¶
type Login ¶
type Login struct { Version string `json:"version"` Hostname string `json:"hostname"` Os string `json:"os"` Arch string `json:"arch"` User string `json:"user"` PrivilegeKey string `json:"privilege_key"` Timestamp int64 `json:"timestamp"` RunId string `json:"run_id"` // Some global configures. PoolCount int `json:"pool_count"` }
When frpc start, client send this message to login to server.
type Message ¶
type Message interface{}
Message wraps socket packages for communicating between frpc and frps.
type NewProxy ¶
type NewProxy struct { RunId string `json:"run_id"` ProxyName string `json:"proxy_name"` ProxyType string `json:"proxy_type"` UseEncryption bool `json:"use_encryption"` UseCompression bool `json:"use_compression"` // tcp and udp only RemotePort int64 `json:"remote_port"` // ftp only RemoteDataPort int64 `json:"remote_data_port"` // http and https only CustomDomains []string `json:"custom_domains"` SubDomain string `json:"subdomain"` Locations []string `json:"locations"` HostHeaderRewrite string `json:"host_header_rewrite"` HttpUser string `json:"http_user"` HttpPwd string `json:"http_pwd"` FtpCfgProxyName string `json:"-"` }
When frpc login success, send this message to frps for running a new proxy.
type NewProxyResp ¶
type NewWorkConn ¶
type NewWorkConn struct {
RunId string `json:"run_id"`
}
type ReqWorkConn ¶
type ReqWorkConn struct { }
type StartWorkConn ¶
type StartWorkConn struct {
ProxyName string `json:"proxy_name"`
}
Click to show internal directories.
Click to hide internal directories.