code: func UDPDirectForwardListener(addr string, ttl time.Duration) (Listener, error) {
  	laddr, err := net.ResolveUDPAddr("udp", addr)
  	if err != nil {
  		return nil, err
  	}
  	ln, err := net.ListenUDP("udp", laddr)
  	if err != nil {
  		return nil, err
  	}
  	l := &udpDirectForwardListener{
  		ln:       ln,
  		conns:    make(map[string]*udpServerConn),
  		connChan: make(chan net.Conn, 1024),
  		errChan:  make(chan error, 1),
  		ttl:      ttl,
  	}
  	go l.listenLoop()
  	return l, nil
  }
docs: // UDPDirectForwardListener creates a Listener for UDP port forwarding server.