code: func (m *Main) openDNSServer(addr string, recursors []string) error {
  	s := &server.DNSServer{
  		UDPAddr:   addr,
  		TCPAddr:   addr,
  		Recursors: recursors,
  	}
  
  	// If store is available then attach it. Otherwise use a proxy.
  	if m.store != nil {
  		s.SetStore(m.store)
  	} else {
  		s.SetStore(&server.ProxyStore{Peers: m.peers})
  	}
  
  	if err := s.ListenAndServe(); err != nil {
  		return err
  	}
  	m.dnsServer = s
  	return nil
  }
docs: // openDNSServer initializes and opens the DNS server.
  // The store must already be open.