func Token(t string) Option {
	return func(o *Options) {
		o.Token = t
	}
}
Token sets the shared token for auth
package tunnel
import (
	"time"
	"github.com/google/uuid"
	"github.com/micro/micro/v3/service/network/transport"
	"github.com/micro/micro/v3/service/network/transport/grpc"
)
var (
	DefaultAddress = ":0"
	DefaultToken = "go.micro.tunnel"
)
type Option func(*Options)
type Options struct {
	Id string
	Address string
	Nodes []string
	Token string
	Transport transport.Transport
}
type DialOption func(*DialOptions)
type DialOptions struct {
	Link string
	Mode Mode
	Wait bool
	Timeout time.Duration
}
type ListenOption func(*ListenOptions)
type ListenOptions struct {
	Mode Mode
	Timeout time.Duration
}
func Id(id string) Option {
	return func(o *Options) {
		o.Id = id
	}
}
func Address(a string) Option {
	return func(o *Options) {
		o.Address = a
	}
}
func Nodes(n ...string) Option {
	return func(o *Options) {
		o.Nodes = n
	}
}