|
|
|
@ -178,6 +178,16 @@ func (cfg *RoleServerCommonConf) setDefaultValues() {
|
|
|
|
|
cfg.Role = "server" |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (cfg *RoleServerCommonConf) marshalToMsg(m *msg.NewProxy) { |
|
|
|
|
m.Sk = cfg.Sk |
|
|
|
|
m.AllowUsers = cfg.AllowUsers |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (cfg *RoleServerCommonConf) unmarshalFromMsg(m *msg.NewProxy) { |
|
|
|
|
cfg.Sk = m.Sk |
|
|
|
|
cfg.AllowUsers = m.AllowUsers |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// HTTP
|
|
|
|
|
type HTTPProxyConf struct { |
|
|
|
|
BaseProxyConf `ini:",extends"` |
|
|
|
@ -260,7 +270,7 @@ func NewProxyConfFromIni(prefix, name string, section *ini.Section) (ProxyConf,
|
|
|
|
|
|
|
|
|
|
conf := DefaultProxyConf(proxyType) |
|
|
|
|
if conf == nil { |
|
|
|
|
return nil, fmt.Errorf("proxy %s has invalid type [%s]", name, proxyType) |
|
|
|
|
return nil, fmt.Errorf("invalid type [%s]", proxyType) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if err := conf.UnmarshalFromIni(prefix, name, section); err != nil { |
|
|
|
@ -274,17 +284,17 @@ func NewProxyConfFromIni(prefix, name string, section *ini.Section) (ProxyConf,
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Proxy loaded from msg
|
|
|
|
|
func NewProxyConfFromMsg(pMsg *msg.NewProxy, serverCfg ServerCommonConf) (ProxyConf, error) { |
|
|
|
|
if pMsg.ProxyType == "" { |
|
|
|
|
pMsg.ProxyType = consts.TCPProxy |
|
|
|
|
func NewProxyConfFromMsg(m *msg.NewProxy, serverCfg ServerCommonConf) (ProxyConf, error) { |
|
|
|
|
if m.ProxyType == "" { |
|
|
|
|
m.ProxyType = consts.TCPProxy |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
conf := DefaultProxyConf(pMsg.ProxyType) |
|
|
|
|
conf := DefaultProxyConf(m.ProxyType) |
|
|
|
|
if conf == nil { |
|
|
|
|
return nil, fmt.Errorf("proxy [%s] type [%s] error", pMsg.ProxyName, pMsg.ProxyType) |
|
|
|
|
return nil, fmt.Errorf("proxy [%s] type [%s] error", m.ProxyName, m.ProxyType) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
conf.UnmarshalFromMsg(pMsg) |
|
|
|
|
conf.UnmarshalFromMsg(m) |
|
|
|
|
|
|
|
|
|
err := conf.ValidateForServer(serverCfg) |
|
|
|
|
if err != nil { |
|
|
|
@ -341,35 +351,35 @@ func (cfg *BaseProxyConf) decorate(prefix string, name string, section *ini.Sect
|
|
|
|
|
return nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (cfg *BaseProxyConf) marshalToMsg(pMsg *msg.NewProxy) { |
|
|
|
|
pMsg.ProxyName = cfg.ProxyName |
|
|
|
|
pMsg.ProxyType = cfg.ProxyType |
|
|
|
|
pMsg.UseEncryption = cfg.UseEncryption |
|
|
|
|
pMsg.UseCompression = cfg.UseCompression |
|
|
|
|
pMsg.BandwidthLimit = cfg.BandwidthLimit.String() |
|
|
|
|
func (cfg *BaseProxyConf) marshalToMsg(m *msg.NewProxy) { |
|
|
|
|
m.ProxyName = cfg.ProxyName |
|
|
|
|
m.ProxyType = cfg.ProxyType |
|
|
|
|
m.UseEncryption = cfg.UseEncryption |
|
|
|
|
m.UseCompression = cfg.UseCompression |
|
|
|
|
m.BandwidthLimit = cfg.BandwidthLimit.String() |
|
|
|
|
// leave it empty for default value to reduce traffic
|
|
|
|
|
if cfg.BandwidthLimitMode != "client" { |
|
|
|
|
pMsg.BandwidthLimitMode = cfg.BandwidthLimitMode |
|
|
|
|
m.BandwidthLimitMode = cfg.BandwidthLimitMode |
|
|
|
|
} |
|
|
|
|
pMsg.Group = cfg.Group |
|
|
|
|
pMsg.GroupKey = cfg.GroupKey |
|
|
|
|
pMsg.Metas = cfg.Metas |
|
|
|
|
m.Group = cfg.Group |
|
|
|
|
m.GroupKey = cfg.GroupKey |
|
|
|
|
m.Metas = cfg.Metas |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (cfg *BaseProxyConf) unmarshalFromMsg(pMsg *msg.NewProxy) { |
|
|
|
|
cfg.ProxyName = pMsg.ProxyName |
|
|
|
|
cfg.ProxyType = pMsg.ProxyType |
|
|
|
|
cfg.UseEncryption = pMsg.UseEncryption |
|
|
|
|
cfg.UseCompression = pMsg.UseCompression |
|
|
|
|
if pMsg.BandwidthLimit != "" { |
|
|
|
|
cfg.BandwidthLimit, _ = NewBandwidthQuantity(pMsg.BandwidthLimit) |
|
|
|
|
func (cfg *BaseProxyConf) unmarshalFromMsg(m *msg.NewProxy) { |
|
|
|
|
cfg.ProxyName = m.ProxyName |
|
|
|
|
cfg.ProxyType = m.ProxyType |
|
|
|
|
cfg.UseEncryption = m.UseEncryption |
|
|
|
|
cfg.UseCompression = m.UseCompression |
|
|
|
|
if m.BandwidthLimit != "" { |
|
|
|
|
cfg.BandwidthLimit, _ = NewBandwidthQuantity(m.BandwidthLimit) |
|
|
|
|
} |
|
|
|
|
if pMsg.BandwidthLimitMode != "" { |
|
|
|
|
cfg.BandwidthLimitMode = pMsg.BandwidthLimitMode |
|
|
|
|
if m.BandwidthLimitMode != "" { |
|
|
|
|
cfg.BandwidthLimitMode = m.BandwidthLimitMode |
|
|
|
|
} |
|
|
|
|
cfg.Group = pMsg.Group |
|
|
|
|
cfg.GroupKey = pMsg.GroupKey |
|
|
|
|
cfg.Metas = pMsg.Metas |
|
|
|
|
cfg.Group = m.Group |
|
|
|
|
cfg.GroupKey = m.GroupKey |
|
|
|
|
cfg.Metas = m.Metas |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (cfg *BaseProxyConf) validateForClient() (err error) { |
|
|
|
@ -482,11 +492,11 @@ func preUnmarshalFromIni(cfg ProxyConf, prefix string, name string, section *ini
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// TCP
|
|
|
|
|
func (cfg *TCPProxyConf) UnmarshalFromMsg(pMsg *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.unmarshalFromMsg(pMsg) |
|
|
|
|
func (cfg *TCPProxyConf) UnmarshalFromMsg(m *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.unmarshalFromMsg(m) |
|
|
|
|
|
|
|
|
|
// Add custom logic unmarshal if exists
|
|
|
|
|
cfg.RemotePort = pMsg.RemotePort |
|
|
|
|
cfg.RemotePort = m.RemotePort |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (cfg *TCPProxyConf) UnmarshalFromIni(prefix string, name string, section *ini.Section) error { |
|
|
|
@ -500,11 +510,11 @@ func (cfg *TCPProxyConf) UnmarshalFromIni(prefix string, name string, section *i
|
|
|
|
|
return nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (cfg *TCPProxyConf) MarshalToMsg(pMsg *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.marshalToMsg(pMsg) |
|
|
|
|
func (cfg *TCPProxyConf) MarshalToMsg(m *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.marshalToMsg(m) |
|
|
|
|
|
|
|
|
|
// Add custom logic marshal if exists
|
|
|
|
|
pMsg.RemotePort = cfg.RemotePort |
|
|
|
|
m.RemotePort = cfg.RemotePort |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (cfg *TCPProxyConf) ValidateForClient() (err error) { |
|
|
|
@ -536,28 +546,28 @@ func (cfg *TCPMuxProxyConf) UnmarshalFromIni(prefix string, name string, section
|
|
|
|
|
return nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (cfg *TCPMuxProxyConf) UnmarshalFromMsg(pMsg *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.unmarshalFromMsg(pMsg) |
|
|
|
|
func (cfg *TCPMuxProxyConf) UnmarshalFromMsg(m *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.unmarshalFromMsg(m) |
|
|
|
|
|
|
|
|
|
// Add custom logic unmarshal if exists
|
|
|
|
|
cfg.CustomDomains = pMsg.CustomDomains |
|
|
|
|
cfg.SubDomain = pMsg.SubDomain |
|
|
|
|
cfg.Multiplexer = pMsg.Multiplexer |
|
|
|
|
cfg.HTTPUser = pMsg.HTTPUser |
|
|
|
|
cfg.HTTPPwd = pMsg.HTTPPwd |
|
|
|
|
cfg.RouteByHTTPUser = pMsg.RouteByHTTPUser |
|
|
|
|
cfg.CustomDomains = m.CustomDomains |
|
|
|
|
cfg.SubDomain = m.SubDomain |
|
|
|
|
cfg.Multiplexer = m.Multiplexer |
|
|
|
|
cfg.HTTPUser = m.HTTPUser |
|
|
|
|
cfg.HTTPPwd = m.HTTPPwd |
|
|
|
|
cfg.RouteByHTTPUser = m.RouteByHTTPUser |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (cfg *TCPMuxProxyConf) MarshalToMsg(pMsg *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.marshalToMsg(pMsg) |
|
|
|
|
func (cfg *TCPMuxProxyConf) MarshalToMsg(m *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.marshalToMsg(m) |
|
|
|
|
|
|
|
|
|
// Add custom logic marshal if exists
|
|
|
|
|
pMsg.CustomDomains = cfg.CustomDomains |
|
|
|
|
pMsg.SubDomain = cfg.SubDomain |
|
|
|
|
pMsg.Multiplexer = cfg.Multiplexer |
|
|
|
|
pMsg.HTTPUser = cfg.HTTPUser |
|
|
|
|
pMsg.HTTPPwd = cfg.HTTPPwd |
|
|
|
|
pMsg.RouteByHTTPUser = cfg.RouteByHTTPUser |
|
|
|
|
m.CustomDomains = cfg.CustomDomains |
|
|
|
|
m.SubDomain = cfg.SubDomain |
|
|
|
|
m.Multiplexer = cfg.Multiplexer |
|
|
|
|
m.HTTPUser = cfg.HTTPUser |
|
|
|
|
m.HTTPPwd = cfg.HTTPPwd |
|
|
|
|
m.RouteByHTTPUser = cfg.RouteByHTTPUser |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (cfg *TCPMuxProxyConf) ValidateForClient() (err error) { |
|
|
|
@ -610,18 +620,18 @@ func (cfg *UDPProxyConf) UnmarshalFromIni(prefix string, name string, section *i
|
|
|
|
|
return nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (cfg *UDPProxyConf) UnmarshalFromMsg(pMsg *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.unmarshalFromMsg(pMsg) |
|
|
|
|
func (cfg *UDPProxyConf) UnmarshalFromMsg(m *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.unmarshalFromMsg(m) |
|
|
|
|
|
|
|
|
|
// Add custom logic unmarshal if exists
|
|
|
|
|
cfg.RemotePort = pMsg.RemotePort |
|
|
|
|
cfg.RemotePort = m.RemotePort |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (cfg *UDPProxyConf) MarshalToMsg(pMsg *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.marshalToMsg(pMsg) |
|
|
|
|
func (cfg *UDPProxyConf) MarshalToMsg(m *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.marshalToMsg(m) |
|
|
|
|
|
|
|
|
|
// Add custom logic marshal if exists
|
|
|
|
|
pMsg.RemotePort = cfg.RemotePort |
|
|
|
|
m.RemotePort = cfg.RemotePort |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (cfg *UDPProxyConf) ValidateForClient() (err error) { |
|
|
|
@ -653,32 +663,32 @@ func (cfg *HTTPProxyConf) UnmarshalFromIni(prefix string, name string, section *
|
|
|
|
|
return nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (cfg *HTTPProxyConf) UnmarshalFromMsg(pMsg *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.unmarshalFromMsg(pMsg) |
|
|
|
|
func (cfg *HTTPProxyConf) UnmarshalFromMsg(m *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.unmarshalFromMsg(m) |
|
|
|
|
|
|
|
|
|
// Add custom logic unmarshal if exists
|
|
|
|
|
cfg.CustomDomains = pMsg.CustomDomains |
|
|
|
|
cfg.SubDomain = pMsg.SubDomain |
|
|
|
|
cfg.Locations = pMsg.Locations |
|
|
|
|
cfg.HostHeaderRewrite = pMsg.HostHeaderRewrite |
|
|
|
|
cfg.HTTPUser = pMsg.HTTPUser |
|
|
|
|
cfg.HTTPPwd = pMsg.HTTPPwd |
|
|
|
|
cfg.Headers = pMsg.Headers |
|
|
|
|
cfg.RouteByHTTPUser = pMsg.RouteByHTTPUser |
|
|
|
|
cfg.CustomDomains = m.CustomDomains |
|
|
|
|
cfg.SubDomain = m.SubDomain |
|
|
|
|
cfg.Locations = m.Locations |
|
|
|
|
cfg.HostHeaderRewrite = m.HostHeaderRewrite |
|
|
|
|
cfg.HTTPUser = m.HTTPUser |
|
|
|
|
cfg.HTTPPwd = m.HTTPPwd |
|
|
|
|
cfg.Headers = m.Headers |
|
|
|
|
cfg.RouteByHTTPUser = m.RouteByHTTPUser |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (cfg *HTTPProxyConf) MarshalToMsg(pMsg *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.marshalToMsg(pMsg) |
|
|
|
|
func (cfg *HTTPProxyConf) MarshalToMsg(m *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.marshalToMsg(m) |
|
|
|
|
|
|
|
|
|
// Add custom logic marshal if exists
|
|
|
|
|
pMsg.CustomDomains = cfg.CustomDomains |
|
|
|
|
pMsg.SubDomain = cfg.SubDomain |
|
|
|
|
pMsg.Locations = cfg.Locations |
|
|
|
|
pMsg.HostHeaderRewrite = cfg.HostHeaderRewrite |
|
|
|
|
pMsg.HTTPUser = cfg.HTTPUser |
|
|
|
|
pMsg.HTTPPwd = cfg.HTTPPwd |
|
|
|
|
pMsg.Headers = cfg.Headers |
|
|
|
|
pMsg.RouteByHTTPUser = cfg.RouteByHTTPUser |
|
|
|
|
m.CustomDomains = cfg.CustomDomains |
|
|
|
|
m.SubDomain = cfg.SubDomain |
|
|
|
|
m.Locations = cfg.Locations |
|
|
|
|
m.HostHeaderRewrite = cfg.HostHeaderRewrite |
|
|
|
|
m.HTTPUser = cfg.HTTPUser |
|
|
|
|
m.HTTPPwd = cfg.HTTPPwd |
|
|
|
|
m.Headers = cfg.Headers |
|
|
|
|
m.RouteByHTTPUser = cfg.RouteByHTTPUser |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (cfg *HTTPProxyConf) ValidateForClient() (err error) { |
|
|
|
@ -722,20 +732,20 @@ func (cfg *HTTPSProxyConf) UnmarshalFromIni(prefix string, name string, section
|
|
|
|
|
return nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (cfg *HTTPSProxyConf) UnmarshalFromMsg(pMsg *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.unmarshalFromMsg(pMsg) |
|
|
|
|
func (cfg *HTTPSProxyConf) UnmarshalFromMsg(m *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.unmarshalFromMsg(m) |
|
|
|
|
|
|
|
|
|
// Add custom logic unmarshal if exists
|
|
|
|
|
cfg.CustomDomains = pMsg.CustomDomains |
|
|
|
|
cfg.SubDomain = pMsg.SubDomain |
|
|
|
|
cfg.CustomDomains = m.CustomDomains |
|
|
|
|
cfg.SubDomain = m.SubDomain |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (cfg *HTTPSProxyConf) MarshalToMsg(pMsg *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.marshalToMsg(pMsg) |
|
|
|
|
func (cfg *HTTPSProxyConf) MarshalToMsg(m *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.marshalToMsg(m) |
|
|
|
|
|
|
|
|
|
// Add custom logic marshal if exists
|
|
|
|
|
pMsg.CustomDomains = cfg.CustomDomains |
|
|
|
|
pMsg.SubDomain = cfg.SubDomain |
|
|
|
|
m.CustomDomains = cfg.CustomDomains |
|
|
|
|
m.SubDomain = cfg.SubDomain |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (cfg *HTTPSProxyConf) ValidateForClient() (err error) { |
|
|
|
@ -784,18 +794,18 @@ func (cfg *SUDPProxyConf) UnmarshalFromIni(prefix string, name string, section *
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Only for role server.
|
|
|
|
|
func (cfg *SUDPProxyConf) UnmarshalFromMsg(pMsg *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.unmarshalFromMsg(pMsg) |
|
|
|
|
func (cfg *SUDPProxyConf) UnmarshalFromMsg(m *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.unmarshalFromMsg(m) |
|
|
|
|
|
|
|
|
|
// Add custom logic unmarshal if exists
|
|
|
|
|
cfg.Sk = pMsg.Sk |
|
|
|
|
cfg.RoleServerCommonConf.unmarshalFromMsg(m) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (cfg *SUDPProxyConf) MarshalToMsg(pMsg *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.marshalToMsg(pMsg) |
|
|
|
|
func (cfg *SUDPProxyConf) MarshalToMsg(m *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.marshalToMsg(m) |
|
|
|
|
|
|
|
|
|
// Add custom logic marshal if exists
|
|
|
|
|
pMsg.Sk = cfg.Sk |
|
|
|
|
cfg.RoleServerCommonConf.marshalToMsg(m) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (cfg *SUDPProxyConf) ValidateForClient() (err error) { |
|
|
|
@ -838,18 +848,18 @@ func (cfg *STCPProxyConf) UnmarshalFromIni(prefix string, name string, section *
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Only for role server.
|
|
|
|
|
func (cfg *STCPProxyConf) UnmarshalFromMsg(pMsg *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.unmarshalFromMsg(pMsg) |
|
|
|
|
func (cfg *STCPProxyConf) UnmarshalFromMsg(m *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.unmarshalFromMsg(m) |
|
|
|
|
|
|
|
|
|
// Add custom logic unmarshal if exists
|
|
|
|
|
cfg.Sk = pMsg.Sk |
|
|
|
|
cfg.RoleServerCommonConf.unmarshalFromMsg(m) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (cfg *STCPProxyConf) MarshalToMsg(pMsg *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.marshalToMsg(pMsg) |
|
|
|
|
func (cfg *STCPProxyConf) MarshalToMsg(m *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.marshalToMsg(m) |
|
|
|
|
|
|
|
|
|
// Add custom logic marshal if exists
|
|
|
|
|
pMsg.Sk = cfg.Sk |
|
|
|
|
cfg.RoleServerCommonConf.marshalToMsg(m) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (cfg *STCPProxyConf) ValidateForClient() (err error) { |
|
|
|
@ -892,18 +902,18 @@ func (cfg *XTCPProxyConf) UnmarshalFromIni(prefix string, name string, section *
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Only for role server.
|
|
|
|
|
func (cfg *XTCPProxyConf) UnmarshalFromMsg(pMsg *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.unmarshalFromMsg(pMsg) |
|
|
|
|
func (cfg *XTCPProxyConf) UnmarshalFromMsg(m *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.unmarshalFromMsg(m) |
|
|
|
|
|
|
|
|
|
// Add custom logic unmarshal if exists
|
|
|
|
|
cfg.Sk = pMsg.Sk |
|
|
|
|
cfg.RoleServerCommonConf.unmarshalFromMsg(m) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (cfg *XTCPProxyConf) MarshalToMsg(pMsg *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.marshalToMsg(pMsg) |
|
|
|
|
func (cfg *XTCPProxyConf) MarshalToMsg(m *msg.NewProxy) { |
|
|
|
|
cfg.BaseProxyConf.marshalToMsg(m) |
|
|
|
|
|
|
|
|
|
// Add custom logic marshal if exists
|
|
|
|
|
pMsg.Sk = cfg.Sk |
|
|
|
|
cfg.RoleServerCommonConf.marshalToMsg(m) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (cfg *XTCPProxyConf) ValidateForClient() (err error) { |
|
|
|
|