client

package
v0.0.0-...-afd45ca Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 1, 2022 License: Apache-2.0 Imports: 35 Imported by: 0

Documentation

Index

Constants

View Source
const (
	BadGateway = `` /* 353-byte string literal not displayed */

)

Variables

This section is empty.

Functions

func LoadCertPool

func LoadCertPool(rootCertPaths []string) (*x509.CertPool, error)

func LoadTLSConfig

func LoadTLSConfig(rootCertPaths []string, crtPath string, keyPath string) (tlsConfig *tls.Config, err error)

func Main

func Main()

func SaveAuthToken

func SaveAuthToken(configPath, authtoken string) (err error)

Types

type ClientMetrics

type ClientMetrics struct {
	// contains filtered or unexported fields
}

func NewClientMetrics

func NewClientMetrics() *ClientMetrics

type ClientModel

type ClientModel struct {
	log.Logger
	// contains filtered or unexported fields
}

func (ClientModel) GetBytesInMetrics

func (c ClientModel) GetBytesInMetrics() (metrics.Counter, metrics.Histogram)

func (ClientModel) GetBytesOutMetrics

func (c ClientModel) GetBytesOutMetrics() (metrics.Counter, metrics.Histogram)

func (ClientModel) GetClientVersion

func (c ClientModel) GetClientVersion() string

func (ClientModel) GetConnStatus

func (c ClientModel) GetConnStatus() mvc.ConnStatus

func (ClientModel) GetConnectionMetrics

func (c ClientModel) GetConnectionMetrics() (metrics.Meter, metrics.Timer)

func (ClientModel) GetProtocols

func (c ClientModel) GetProtocols() []proto.Protocol

mvc.State interface

func (ClientModel) GetServerVersion

func (c ClientModel) GetServerVersion() string

func (ClientModel) GetTunnels

func (c ClientModel) GetTunnels() []mvc.Tunnel

func (ClientModel) GetUpdateStatus

func (c ClientModel) GetUpdateStatus() mvc.UpdateStatus

func (*ClientModel) PlayRequest

func (c *ClientModel) PlayRequest(tunnel mvc.Tunnel, payload []byte)

mvc.Model interface

func (*ClientModel) Run

func (c *ClientModel) Run()

func (ClientModel) SetUpdateStatus

func (c ClientModel) SetUpdateStatus(updateStatus mvc.UpdateStatus)

func (*ClientModel) Shutdown

func (c *ClientModel) Shutdown()

type Configuration

type Configuration struct {
	HttpProxy   string                          `yaml:"http_proxy,omitempty"`
	ServerAddr  string                          `yaml:"server_addr,omitempty"`
	InspectAddr string                          `yaml:"inspect_addr,omitempty"`
	RootCerts   []string                        `yaml:"root_certs,omitempty"`
	ClientCert  string                          `yaml:"client_cert,omitempty"`
	ClientKey   string                          `yaml:"client_key,omitempty"`
	NoTls       bool                            `yaml:"no_tls,omitempty"`
	AuthToken   string                          `yaml:"auth_token,omitempty"`
	Tunnels     map[string]*TunnelConfiguration `yaml:"tunnels,omitempty"`
	LogTo       string                          `yaml:"-"`
	Path        string                          `yaml:"-"`
}

func LoadConfiguration

func LoadConfiguration(opts *Options) (config *Configuration, err error)

type Controller

type Controller struct {
	// Controller logger
	log.Logger
	// contains filtered or unexported fields
}

The MVC Controller

func NewController

func NewController() *Controller

public interface

func (*Controller) AddView

func (ctl *Controller) AddView(v mvc.View)

func (*Controller) GetModel

func (ctl *Controller) GetModel() *ClientModel

func (*Controller) GetWebInspectAddr

func (ctl *Controller) GetWebInspectAddr() string

func (*Controller) Go

func (ctl *Controller) Go(fn func())

func (*Controller) PlayRequest

func (ctl *Controller) PlayRequest(tunnel mvc.Tunnel, payload []byte)

func (*Controller) Run

func (ctl *Controller) Run(config *Configuration)

func (*Controller) SetupModel

func (ctl *Controller) SetupModel(config *Configuration) *ClientModel

func (*Controller) Shutdown

func (ctl *Controller) Shutdown(message string)

func (*Controller) State

func (ctl *Controller) State() mvc.State

func (*Controller) Update

func (ctl *Controller) Update(state mvc.State)

func (*Controller) Updates

func (ctl *Controller) Updates() *util.Broadcast

type Options

type Options struct {
	// contains filtered or unexported fields
}

func ParseArgs

func ParseArgs() (opts *Options, err error)

type TunnelConfiguration

type TunnelConfiguration struct {
	Subdomain  string            `yaml:"subdomain,omitempty"`
	Hostname   string            `yaml:"hostname,omitempty"`
	Protocols  map[string]string `yaml:"proto,omitempty"`
	HttpAuth   string            `yaml:"auth,omitempty"`
	RemotePort uint16            `yaml:"remote_port,omitempty"`
}

Directories

Path Synopsis
views
term
shared internal functions for handling output to the terminal
shared internal functions for handling output to the terminal
web
interactive web user interface
interactive web user interface

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL