package
2.17.0+incompatible
Repository: https://github.com/antoniomika/sish.git
Documentation: pkg.go.dev

# Functions

CheckPort verifies if a port exists within the port range.
CommaSplitFields is a function used by strings.FieldsFunc to split around commas.
CopyBoth copies betwen a reader and writer and will cleanup each.
GenerateAddress generates an address string with ports set.
GetOpenAlias returns open aliases or a random one if it is not enabled.
GetOpenHost returns an open host or a random host if that one is unavailable.
GetOpenPort returns open ports that can be bound.
GetOpenSNIHost returns an open SNI host or a random host if that one is unavailable.
GetRandomPortInRange returns a random port in the provided range.
GetSSHConfig Returns an SSH config for the ssh muxer.
Listen uses the multilistener package to generate a net.Listener that uses multiple addresses.
LoadProxyProtoConfig will load the timeouts and policies for the proxy protocol.
MatchesWildcardHost checks if the hostname provided would match the potential wildcard.
NewState returns a new State struct.
No description provided by the author
NewWebConsole sets up the WebConsole.
ParseAddress parse a list of addresses into a host, port, err split.
PeekTLSHello peeks the TLS Connection Hello to proxy based on SNI.
RandStringBytesMaskImprSrc creates a random string of length n https://stackoverflow.com/questions/22892120/how-to-generate-a-random-string-of-a-fixed-length-in-golang.
Setup main utils.
WatchCerts watches https certs for changes and will load them.
WatchKeys watches ssh keys for changes and will load them.

# Constants

AddressSeparator is the separtor when providing multiple addresses.
AliasListener represents a tcp alias.
HTTPListener represents a HTTP proxy.
NetworkSeparator is the sepator between a network and address.
ProcessListener represents a process specific listener.
TCPListener represents a generic tcp listener.

# Variables

Filter is the IPFilter used to block connections.

# Structs

AliasHolder holds alias and connection info.
HTTPHolder holds proxy and connection info.
IdleTimeoutConn handles the connection with a context deadline.
ListenerHolder represents a generic listener.
LogWriter represents a writer that is used for writing logs in multiple locations.
No description provided by the author
SSHConnection handles state for a SSHConnection.
State handles overall state.
TCPHolder holds proxy and connection info.
TeeConn represents a simple net.Conn interface for SNI Processing.
WebClient represents a primitive web console client.
WebConsole represents the data structure that stores web console client information.

# Type aliases

ListenerType represents any listener sish supports.