func Main() { // parse options opts, err := ParseArgs() if err != nil { fmt.Println(err) os.Exit(1) } // set up logging log.LogTo(opts.logto) // read configuration file config, err := LoadConfiguration(opts) if err != nil { fmt.Println(err) os.Exit(1) } // seed random number generator seed, err := util.RandomSeed() if err != nil { fmt.Printf("Couldn't securely seed the random number generator!") os.Exit(1) } rand.Seed(seed) NewController().Run(config) }
func Main() { // parse options opts = parseArgs() // init logging log.LogTo(opts.logto) // seed random number generator seed, err := util.RandomSeed() if err != nil { panic(err) } rand.Seed(seed) // init tunnel/control registry registryCacheFile := os.Getenv("REGISTRY_CACHE_FILE") tunnelRegistry = NewTunnelRegistry(registryCacheSize, registryCacheFile) controlRegistry = NewControlRegistry() // start listeners listeners = make(map[string]*conn.Listener) // load tls configuration //remove tls config // tlsConfig, err := LoadTLSConfig(opts.tlsCrt, opts.tlsKey) // if err != nil { // panic(err) // } // listen for http if opts.httpAddr != "" { listeners["http"] = startHttpListener(opts.httpAddr, nil) } // listen for https // set listen https None // if opts.httpsAddr != "" { // listeners["https"] = startHttpListener(opts.httpsAddr, tlsConfig) // } // ngrok clients tunnelListener(opts.tunnelAddr, nil) }