diff --git a/cmd/routed/server.go b/cmd/routed/server.go index ef46c87..5dfd838 100644 --- a/cmd/routed/server.go +++ b/cmd/routed/server.go @@ -26,7 +26,7 @@ const ( RPCPort uint16 = 39453 ) -// Server is the main server type +// Server is the main server type. type Server struct { cfg *Config db database.Storage @@ -53,6 +53,7 @@ type Config struct { CertKey *[32]byte } +// listenTCP configures a listener for TCP+TLS agent connections. func (s *Server) listenTCP(ctx context.Context, addr string, tcfg *tls.Config) { l, err := tls.Listen("tcp", addr, tcfg) if err != nil { @@ -77,6 +78,7 @@ func (s *Server) listenTCP(ctx context.Context, addr string, tcfg *tls.Config) { } } +// listenKCP configures a listener for KCP+TLS agent connections. func (s *Server) listenKCP(ctx context.Context, addr string, tcfg *tls.Config) { l, err := kcp.Listen(addr) if err != nil { @@ -170,6 +172,7 @@ func (s *Server) Director(r *http.Request) { r.Header.Del("X-Client-Ip") } +// ServeHTTP proxies traffic to a remote backend based on the request meta-information. func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) { if r.Header.Get("X-Tor2web") != "" { http.Error(w, "tor2web proxy use is not allowed", 400)