Documentation ¶
Overview ¶
Package proxy is used to create and register proxies that forward traffic from a port/ip combination, address, to a set of backends
Index ¶
- Variables
- func GetKeyPairs(certPEMFile, keyPEMFile string) (certPEM, keyPEM []byte, err error)
- func ProxyLoop(client net.Conn, backend net.Conn, quit chan bool)
- func TempCertFile() (string, error)
- func TempKeyFile() (string, error)
- type Proxy
- type ProxyAddress
- type ProxyFactory
- type ProxyRegistry
- type TCPMux
Constants ¶
This section is empty.
Variables ¶
var ( // command to generate: openssl req -x509 -sha256 -nodes -days 1826 -newkey rsa:2048 -keyout NEW_SERVER_KEY.key -out NEW_SERVER_CERT.crt InsecureCertPEM = `` /* 1443-byte string literal not displayed */ InsecureKeyPEM = `` /* 1703-byte string literal not displayed */ )
Functions ¶
func GetKeyPairs ¶
func TempCertFile ¶
TempCertFile creates a temp file with the contents set to proxyCertPEM and returns the temp file path.
func TempKeyFile ¶
TempKeyFile creates a temp file with the contents set to proxyCertPEM and returns the temp file path.
Types ¶
type ProxyAddress ¶
ProxyAddress is a IP and port grouping
type ProxyFactory ¶
type ProxyFactory func(protocol string, frontend ProxyAddress, backEnds ...ProxyAddress) (Proxy, error)
ProxyFactory is a function declaration for a proxy factory.
type ProxyRegistry ¶
type ProxyRegistry interface { //CreateProxy create, registers and starts a proxy identified by key //protocol is TCP or UDP //frontEnd is the IP/Port to listen on //backends are the what is being proxied, It is up to the proxy implementation on how it distributes requests to the backends CreateProxy(key string, protocol string, frontend ProxyAddress, backEnds ...ProxyAddress) error //RemoveProxy stops and removes proxy. RemoveProxy(key string) (Proxy, error) }
ProxyRegistry is an interface of a proxy registration service
func NewDefaultProxyRegistry ¶
func NewDefaultProxyRegistry() ProxyRegistry
NewDefaultProxyRegistry Create a new ProxyRegistry
func NewProxyRegistry ¶
func NewProxyRegistry(factory ProxyFactory) ProxyRegistry
NewProxyRegistry Create a new ProxyRegistry using the supplied ProxyFactory
type TCPMux ¶
type TCPMux struct {
// contains filtered or unexported fields
}
TCPMux is an implementation of tcp muxing RFC 1078.