ipoverlay

package
v0.0.0-...-f3cb915 Latest Latest
Warning

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

Go to latest
Published: Jun 10, 2023 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Definiert alle Transportdatentypen
	Ping = TransportPackageType(0)
	Pong = TransportPackageType(1)
	Data = TransportPackageType(2)

	// Definiert alle ClientServerP2P Protokolle
	WS_TCP_V4  = ClientServerP2PProtocol(0)
	WS_TCP_V6  = ClientServerP2PProtocol(1)
	WS_QUIC_v4 = ClientServerP2PProtocol(2)
	WS_QUIC_v6 = ClientServerP2PProtocol(3)
	QUIC_V4    = ClientServerP2PProtocol(4)
	QUIC_V6    = ClientServerP2PProtocol(5)
	TCP_V4     = ClientServerP2PProtocol(6)
	TCP_V6     = ClientServerP2PProtocol(7)
	TORv3      = ClientServerP2PProtocol(8)
	I2PED      = ClientServerP2PProtocol(9)
)

Definiert alle verfügbaren Typen

Variables

This section is empty.

Functions

This section is empty.

Types

type ClientServerP2PProtocol

type ClientServerP2PProtocol uint8

Gibt den Protokolltypen an Client Server Protokolles an

type EncryptedClientHelloPackage

type EncryptedClientHelloPackage struct {
	// Der Öffentliche Server Schlüssel
	PublicServerKey []byte `cbor:"3,keyasint"`

	// Der Öffentliche Client Schlüsselt
	PublicClientKey []byte `cbor:"4,keyasint"`

	// Speichert die Signatur des Clients ab
	ClientSig []byte `cbor:"5,keyasint"`

	// Speichert den Öffentlichen Sitzungsschlüssel ab
	RandClientPKey []byte `cbor:"6,keyasint"`

	// Speichert die Signatur des Sitzungsschlüssel ab
	RandClientPKeySig []byte `cbor:"7,keyasint"`

	// Speichert die Aktuelle Version des Clients ab
	Version static.RoueXVersion `cbor:"8,keyasint"`

	// Speichert alle Verfügabren Flags ab
	Flags []WSPackageFlag `cbor:"9,keyasint"`
}

Sitzungsinitialisierung

type EncryptedServerHelloPackage

type EncryptedServerHelloPackage struct {
	// Speichert den Öffentlichen Schlüssel des Servers ab
	PublicServerKey []byte `cbor:"10,keyasint"`

	// Speichert den Öffentlichen Schlüssel des Clients ab
	PublicClientKey []byte `cbor:"11,keyasint"`

	// Speichert die Server Signatur ab
	ServerSig []byte `cbor:"12,keyasint"`

	// Speichert den Öffentlichen Schlüssel der Serverseitigen Sitzung
	RandServerPKey []byte `cbor:"13,keyasint"`

	// Speichert die SIgnatur zu dem Serverseitigen Sitzungsschlüssel
	RandServerPKeySig []byte `cbor:"14,keyasint"`

	// Speichert die Aktuelle Version des Clients ab
	Version static.RoueXVersion `cbor:"15,keyasint"`

	// Speichert alle Verfügabren Flags ab
	Flags [16]*WSPackageFlag `cbor:"16,keyasint"`
}

Antwortpaket vom Server

type EncryptedTransportPackage

type EncryptedTransportPackage struct {
	// Gibt den Pakettypen an
	Type TransportPackageType `cbor:"17,keyasint"`

	// Gibt die Daten des Paketes an
	Data []byte `cbor:"18,keyasint"`
}

Stellt das Verschlüsselte Datenpaket dar

type PingPackage

type PingPackage struct {
	// Gibt die ID des aktuellen Ping vorganges an
	PingId []byte `cbor:"23,keyasint"`
}

Ping Paket

type PingProcess

type PingProcess struct {
	ObjectId      string
	ProcessId     []byte
	CreatedAt     time.Time
	ResultChannel chan PingResult
	// contains filtered or unexported fields
}

func (*PingProcess) GetPingPackage

func (obj *PingProcess) GetPingPackage() (*PingPackage, error)

type PingResult

type PingResult struct {
	State     uint8
	TotalTime float64
}

type PongPackage

type PongPackage struct {
	// Gibt die ID des Pong vorganges an
	PingId []byte `cbor:"24,keyasint"`
}

Pong Paket

type ProtocolFlag

type ProtocolFlag uint8

Stellt einen Protokoll Flag dar

type TransportPackageType

type TransportPackageType uint8

Gibt den Typen des Paketes an

type WSPackageFlag

type WSPackageFlag struct {
	// Gibt den Verwendeten Flag mit 1 Byte an
	Flag []byte `cbor:"1,keyasint"`

	// Gibt den Optionalen Flag wert an (maximal 96 bytes)
	Value []byte `cbor:"2,keyasint"`
}

Flag Abbildung

func NewWSPackageFlag

func NewWSPackageFlag(flag []byte, value []byte) (WSPackageFlag, error)

Erstellt ein neues Flgag Objekt

type WSTransportPaket

type WSTransportPaket struct {
	// Stellt die Signatur eines Transportpaketes dar
	Signature []byte `cbor:"21,keyasint"`

	// Stellt die Daten dar
	Data []byte `cbor:"22,keyasint"`
}

Websocket Transportpaket

type WebsocketKernelClient

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

Stellt eine Websocket Kernel Verbindung dar

func NewWebsocketClient

func NewWebsocketClient() *WebsocketKernelClient

Erstellt ein neues Websocket Client Modul

func (*WebsocketKernelClient) ConnectTo

func (obj *WebsocketKernelClient) ConnectTo(url_str string, pub_key *btcec.PublicKey, proxy_config *kernel.ProxyConfig) error

Stellt eine neue Websocket Verbindung her

func (*WebsocketKernelClient) GetMetaDataInfo

func (obj *WebsocketKernelClient) GetMetaDataInfo() kernel.ClientModuleMetaData

Gibt alle Meta Daten des Moduls aus

func (*WebsocketKernelClient) GetObjectId

func (obj *WebsocketKernelClient) GetObjectId() string

Gibt die Aktuelle ObjektID aus

func (*WebsocketKernelClient) GetProtocol

func (obj *WebsocketKernelClient) GetProtocol() string

Gibt das Protokoll des Moduls aus

func (*WebsocketKernelClient) RegisterKernel

func (obj *WebsocketKernelClient) RegisterKernel(kernel *kernel.Kernel) error

Registriert den Kernel im Modul

func (*WebsocketKernelClient) Serve

func (obj *WebsocketKernelClient) Serve()

Wird verwendet wenn es sich um eine Ausgehende Verbindung handelt

func (*WebsocketKernelClient) Shutdown

func (obj *WebsocketKernelClient) Shutdown()

Beendet das Module, verhindert das weitere verwenden

type WebsocketKernelConnection

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

Stellt eine Websocket Verbindung dar

func (*WebsocketKernelConnection) CannUseToWrite

func (obj *WebsocketKernelConnection) CannUseToWrite() bool

Gibt an ob der Buffer der Verbindung das Schreiben zu lässt

func (*WebsocketKernelConnection) CloseByKernel

func (obj *WebsocketKernelConnection) CloseByKernel()

Wird verwendet um die Verbindung zu schließen

func (*WebsocketKernelConnection) EnterSendableData

func (obj *WebsocketKernelConnection) EnterSendableData(data []byte) (*extra.PackageSendState, error)

Wird verwendet um Gepufferte Daten entgegenzunehemen

func (*WebsocketKernelConnection) Equal

Gibt an, ob es sich um die gleiche Verbindung handelt

func (*WebsocketKernelConnection) FinallyInit

func (obj *WebsocketKernelConnection) FinallyInit() error

Stellt die Verbindung vollständig fertig

func (*WebsocketKernelConnection) GetIOType

Gibt an ob es sich um eine ein oder ausgehende Verbindung handelt

func (*WebsocketKernelConnection) GetObjectId

func (obj *WebsocketKernelConnection) GetObjectId() string

Gibt die Aktuelle Objekt ID aus

func (*WebsocketKernelConnection) GetPingTime

func (obj *WebsocketKernelConnection) GetPingTime() uint64

Gibt die Aktuelle Ping Zeit zurück

func (*WebsocketKernelConnection) GetProtocol

func (obj *WebsocketKernelConnection) GetProtocol() string

Gibt das verwendete Protokoll an

func (*WebsocketKernelConnection) GetSessionPKey

func (obj *WebsocketKernelConnection) GetSessionPKey() (*btcec.PublicKey, error)

Gibt den Öffentlichen Sitzungsschlüssel zurück

func (*WebsocketKernelConnection) GetTxRxBytes

func (obj *WebsocketKernelConnection) GetTxRxBytes() (uint64, uint64)

Gibt die Gesendete und Empfangene Datenmenge zurück

func (*WebsocketKernelConnection) Hash

func (obj *WebsocketKernelConnection) Hash() uint32

Gibt den Hashwert des Objekts zurück

func (*WebsocketKernelConnection) IsConnected

func (obj *WebsocketKernelConnection) IsConnected() bool

Gibt an ob eine Verbindung aufgebaut wurde

func (*WebsocketKernelConnection) IsFinally

func (obj *WebsocketKernelConnection) IsFinally() bool

Gibt an ob die Verbindung fertigestellt wurde

func (*WebsocketKernelConnection) RegisterKernel

func (obj *WebsocketKernelConnection) RegisterKernel(kernel *kernel.Kernel) error

Registriert einen Kernel in der Verbindung

type WebsocketKernelProxySettings

type WebsocketKernelProxySettings struct {
}

Stellt Proxy Einstellungen für eine Client Verbindung dar

type WebsocketKernelServerEP

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

Stellt den Websocket Server dar

func CreateNewLocalWebsocketServerEP

func CreateNewLocalWebsocketServerEP(ip_adr string, port uint64) (*WebsocketKernelServerEP, error)

Erstellt einen neuen Lokalen Websocket Server

func (*WebsocketKernelServerEP) GetLocalIPBasedPort

func (obj *WebsocketKernelServerEP) GetLocalIPBasedPort() uint64

Gibt den Verwendeten Port zurück

func (*WebsocketKernelServerEP) GetObjectId

func (obj *WebsocketKernelServerEP) GetObjectId() string

Gibt die Aktuelle Objekt ID aus

func (*WebsocketKernelServerEP) GetProtocol

func (obj *WebsocketKernelServerEP) GetProtocol() string

Gibt das Aktuelle Protokoll aus

func (*WebsocketKernelServerEP) IsIpBasedServer

func (obj *WebsocketKernelServerEP) IsIpBasedServer() bool

Gibt an ob es sich um einen IP basierenden Server handelt

func (*WebsocketKernelServerEP) IsRunning

func (obj *WebsocketKernelServerEP) IsRunning() bool

Gibt an ob der Server bereits gestartet wurde

func (*WebsocketKernelServerEP) RegisterKernel

func (obj *WebsocketKernelServerEP) RegisterKernel(k *kernel.Kernel) error

Registriert den Kernel im Module

func (*WebsocketKernelServerEP) Shutdown

func (obj *WebsocketKernelServerEP) Shutdown()

Wird verwendet um den Serversocket herunterzufahren

func (*WebsocketKernelServerEP) Start

func (obj *WebsocketKernelServerEP) Start() error

Startet den eigentlichen Server

func (*WebsocketKernelServerEP) TryToP2PConnectionOthersideByFlag

func (obj *WebsocketKernelServerEP) TryToP2PConnectionOthersideByFlag(remote_socket_adr *net.TCPAddr, rflgag WSPackageFlag)

Startet den Versuch eine ausgehende Verbindung aufzubauen

Jump to

Keyboard shortcuts

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