Documentation ¶
Index ¶
- Constants
- Variables
- func DecodeRequest(data []byte, reqHost string, port int, isHttps bool) (*http.Request, error)
- func DecodeResponse(data []byte) (*http.Response, error)
- func EncodeCmd(cmd uint16, data []byte) []byte
- func EncodeRequest(r *http.Request) ([]byte, error)
- func EncodeResponse(r *http.Response) ([]byte, error)
- func EncodeVerify() []byte
- func EncodeVerifyFailed() []byte
- func EncodeVerifyOK() []byte
- func ExtractFilePath(path string) string
- func IPStr(conn net.Conn) string
- func LoadConfig(fileName string, cfg *TRProxyConfig) error
- func SaveConfig(fileName string, cfg *TRProxyConfig) error
- func SetConfig(cfg *TRProxyConfig)
- func ZlibCompress(input []byte) ([]byte, error)
- func ZlibUnCompress(input []byte) ([]byte, error)
- type IRPObject
- type Logger
- type THTTPHandler
- type TPacketHead
- type TRPClient
- type TRPServer
- type TRProxyConfig
Constants ¶
View Source
const ( CLIENT = "client" SERVER = "server" )
Variables ¶
View Source
var ( DEBUG = false // 调试模式 输出 Log.D 字符 IsGUI = false // 是否为GUI LogGUICallback func(msg string) // 当IsGUI=true时,不再输出到日志,使用当前回调函数 )
View Source
var ( // 封包头的结构长度 PacketHeadLen = getPacketHeadSize() //8 )
Functions ¶
func DecodeRequest ¶
将字节转为request
func LoadConfig ¶
func LoadConfig(fileName string, cfg *TRProxyConfig) error
func SaveConfig ¶
func SaveConfig(fileName string, cfg *TRProxyConfig) error
Types ¶
type THTTPHandler ¶
func (*THTTPHandler) ServeHTTP ¶
func (h *THTTPHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)
type TPacketHead ¶
type TRPClient ¶
type TRPClient struct { IRPObject // contains filtered or unexported fields }
func NewRPClient ¶
func NewRPClient() *TRPClient
type TRPServer ¶
func NewRPServer ¶
func NewRPServer() *TRPServer
type TRProxyConfig ¶
type TRProxyConfig struct { // 导出的字段 TCPPort int `json:"tcpport"` // Socket连接或者监听的端口 VerifyKey string `json:"vkey"` // 用作客户端与服务端连接时的校验 IsHTTPS bool `json:"ishttps"` // httpPort端口是否只用作HTTPS监听 TLSCAFile string `json:"tlscafile"` // 当ishttps为true时,所需的CA根证书文件 IsZIP bool `json:"iszip"` // 是否开启zip压缩 Server struct { HTTPPort int `json:"httpport"` // 当mode为server时为服务端监听端口,当为mode为client时为转发至本地客户端的端口 TLSCertFile string `json:"tlscertfile"` // 当ishttps为true时,所需求的TLS证书文件 TLSKeyFile string `json:"tlskeyfile"` // 当ishttps为true时,所需求的TLS密匙文件 } `json:"server"` Client struct { SvrAddr string `json:"svraddr"` // 127.0.0.1", "当mode为client时有效,为连接服务器的地址 HTTPPort int `json:"httpport"` // 当mode为server时为服务端监听端口,当为mode为client时为转发至本地客户端的端口 TLSCertFile string `json:"tlscertfile"` // 当ishttps为true时,所需求的TLS证书文件 TLSKeyFile string `json:"tlskeyfile"` // 当ishttps为true时,所需求的TLS密匙文件 LocalAddr string `json:"localaddr"` // 转发至本地的地址,默认为127.0.0.1 } `json:"client"` // contains filtered or unexported fields }
配置文件,一个json文件,可包含客户端和服务端配置
func GetConfig ¶
func GetConfig() *TRProxyConfig
Source Files ¶
Click to show internal directories.
Click to hide internal directories.