# Functions
NewMuxWithInsecure returns a clear-text *Mux.
NewMuxWithOnion returns a *Mux publishing an V3 Onion Service with the given private key and creating an empty datadir in the current working directory.
NewMuxWithTLS returns a *Mux with TLS termination automatically obtaining the TLS certificate with given domain through CertMagic.
# Structs
InsecureOptions holds the address where to listen for TCP packets.
Mux holds a net.Listener, a *grpc.Server and if onion service a *tor.Tor client.
OnionOptions defines options of onion service.
TLSOptions holds the address where to listen for TCP packets and defines the domain for which we need to obtain and renew a TLS cerficate.