crew

package
v0.4.10 Latest Latest
Warning

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

Go to latest
Published: May 19, 2022 License: AGPL-3.0 Imports: 27 Imported by: 1

Documentation

Index

Constants

View Source
const ConnectOpType string = "connect"

ConnectOpType is the type ID for the connection operation.

Variables

This section is empty.

Functions

func ConnectErrors added in v0.4.4

func ConnectErrors() <-chan *terminal.Error

ConnectErrors returns errors of connect operations. It only has a small and shared buffer and may only be used for indications, not for full monitoring.

func EnableConnecting

func EnableConnecting(my *hub.Hub)

EnableConnecting enables connecting from this Hub.

func HandleSluiceRequest

func HandleSluiceRequest(connInfo *network.Connection, conn net.Conn)

HandleSluiceRequest handles a sluice request to build a tunnel.

Types

type ConnectOp

type ConnectOp struct {
	terminal.OpBase
	*terminal.DuplexFlowQueue
	// contains filtered or unexported fields
}

ConnectOp is used to connect data tunnels to servers on the Internet.

func NewConnectOp

func NewConnectOp(tunnel *Tunnel) (*ConnectOp, *terminal.Error)

NewConnectOp starts a new connect operation.

func (*ConnectOp) Abandon

func (op *ConnectOp) Abandon(err *terminal.Error)

Abandon ends the operation.

func (*ConnectOp) Ctx

func (op *ConnectOp) Ctx() context.Context

Ctx returns the operation context.

func (*ConnectOp) Deliver

func (op *ConnectOp) Deliver(c *container.Container) *terminal.Error

Deliver delivers a messages to the operation.

func (*ConnectOp) End

func (op *ConnectOp) End(err *terminal.Error)

End ends the operation.

func (*ConnectOp) FmtID

func (op *ConnectOp) FmtID() string

FmtID formats the operation ID.

func (*ConnectOp) Type

func (op *ConnectOp) Type() string

Type returns the type ID.

type ConnectRequest

type ConnectRequest struct {
	Domain    string
	IP        net.IP
	Protocol  packet.IPProtocol
	Port      uint16
	QueueSize uint32
}

ConnectRequest holds all the information necessary for a connect operation.

func (*ConnectRequest) Address

func (r *ConnectRequest) Address() string

Address returns the address of the connext request.

func (*ConnectRequest) String

func (r *ConnectRequest) String() string

type Tunnel

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

Tunnel represents the local information and endpoint of a data tunnel.

type TunnelContext added in v0.3.5

type TunnelContext struct {
	Path       []*TunnelContextHop
	PathCost   float32
	RoutingAlg string
}

TunnelContext holds additional information about the tunnel to be added to a connection.

type TunnelContextHop added in v0.3.5

type TunnelContextHop struct {
	ID   string
	Name string
	IPv4 *TunnelContextHopIPInfo `json:",omitempty"`
	IPv6 *TunnelContextHopIPInfo `json:",omitempty"`
}

TunnelContextHop holds hop data for TunnelContext.

type TunnelContextHopIPInfo added in v0.3.5

type TunnelContextHopIPInfo struct {
	IP      net.IP
	Country string
	ASN     uint
	ASOwner string
}

TunnelContextHopIPInfo holds hop IP data for TunnelContextHop.

Jump to

Keyboard shortcuts

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