Documentation ¶
Index ¶
- func GetHTTPTransport(tunnel, ip, client_certficate string) (*http.Transport, error)
- func LoadTLSConfig(p string) (tlsConfig *tls.Config)
- func LoadTLSConfigFromBytes(certPEM, keyPEM []byte) (tlsConfig *tls.Config)
- func NewControl(ctlConn conn.Conn, authMsg *msg.Auth)
- func NewProxy(pxyConn conn.Conn, regPxy *msg.RegProxy)
- func RegistryIDs() map[string]string
- func TunnelListener(addr string, tlsConfig *tls.Config)
- type Control
- type ControlRegistry
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetHTTPTransport ¶
func LoadTLSConfig ¶
func LoadTLSConfigFromBytes ¶
func RegistryIDs ¶
func TunnelListener ¶
Listen for incoming control and proxy connections We listen for incoming control and proxy connections on the same port for ease of deployment. The hope is that by running on port 443, using TLS and running all connections over the same port, we can bust through restrictive firewalls.
Types ¶
type Control ¶
func GetControl ¶
func (*Control) GetProxy ¶
Remove a proxy connection from the pool and return it If not proxy connections are in the pool, request one and wait until it is available Returns an error if we couldn't get a proxy because it took too long or the tunnel is closing
func (*Control) RegisterProxy ¶
type ControlRegistry ¶
ControlRegistry maps a client ID to Control structures
func NewControlRegistry ¶
func NewControlRegistry() *ControlRegistry
func (*ControlRegistry) Add ¶
func (r *ControlRegistry) Add(clientId string, ctl *Control) (oldCtl *Control)
func (*ControlRegistry) Del ¶
func (r *ControlRegistry) Del(clientId string) error
func (*ControlRegistry) Get ¶
func (r *ControlRegistry) Get(clientId string) *Control
func (*ControlRegistry) IDs ¶
func (r *ControlRegistry) IDs() (ids map[string]string)
Click to show internal directories.
Click to hide internal directories.