new feature: assign a random port if remote_port is 0 in type tcp and

udp
This commit is contained in:
fatedier
2018-01-17 21:49:37 +08:00
parent 3f6799c06a
commit b2c846664d
21 changed files with 379 additions and 238 deletions

View File

@ -60,17 +60,25 @@ type Service struct {
// Manage all visitor listeners.
visitorManager *VisitorManager
// Manage all tcp ports.
tcpPortManager *PortManager
// Manage all udp ports.
udpPortManager *PortManager
// Controller for nat hole connections.
natHoleController *NatHoleController
}
func NewService() (svr *Service, err error) {
cfg := config.ServerCommonCfg
svr = &Service{
ctlManager: NewControlManager(),
pxyManager: NewProxyManager(),
visitorManager: NewVisitorManager(),
tcpPortManager: NewPortManager("tcp", cfg.ProxyBindAddr, cfg.PrivilegeAllowPorts),
udpPortManager: NewPortManager("udp", cfg.ProxyBindAddr, cfg.PrivilegeAllowPorts),
}
cfg := config.ServerCommonCfg
// Init assets.
err = assets.Load(cfg.AssetsDir)