code: func (s *Server) Serve(h Handler, opts ...ServerOption) error {
  	s.Init(opts...)
  
  	if s.Listener == nil {
  		ln, err := TCPListener("")
  		if err != nil {
  			return err
  		}
  		s.Listener = ln
  	}
  
  	if h == nil {
  		h = s.Handler
  	}
  	if h == nil {
  		h = HTTPHandler()
  	}
  
  	l := s.Listener
  	var tempDelay time.Duration
  	for {
  		conn, e := l.Accept()
  		if e != nil {
  			if ne, ok := e.(net.Error); ok && ne.Temporary() {
  				if tempDelay == 0 {
  					tempDelay = 5 * time.Millisecond
  				} else {
  					tempDelay *= 2
  				}
  				if max := 1 * time.Second; tempDelay > max {
  					tempDelay = max
  				}
  				log.Logf("server: Accept error: %v; retrying in %v", e, tempDelay)
  				time.Sleep(tempDelay)
  				continue
  			}
  			return e
  		}
  		tempDelay = 0
  
  		/*
  			if s.options.Bypass.Contains(conn.RemoteAddr().String()) {
  				log.Log("[bypass]", conn.RemoteAddr())
  				conn.Close()
  				continue
  			}
  		*/
  
  		go h.Handle(conn)
  	}
  }
docs: // Serve serves as a proxy server.