Documentation ¶
Index ¶
- Constants
- type ClientServerP2PProtocol
- type EncryptedClientHelloPackage
- type EncryptedServerHelloPackage
- type EncryptedTransportPackage
- type PingPackage
- type PingProcess
- type PingResult
- type PongPackage
- type ProtocolFlag
- type TransportPackageType
- type WSPackageFlag
- type WSTransportPaket
- type WebsocketKernelClient
- func (obj *WebsocketKernelClient) ConnectTo(url_str string, pub_key *btcec.PublicKey, proxy_config *kernel.ProxyConfig) error
- func (obj *WebsocketKernelClient) GetMetaDataInfo() kernel.ClientModuleMetaData
- func (obj *WebsocketKernelClient) GetObjectId() string
- func (obj *WebsocketKernelClient) GetProtocol() string
- func (obj *WebsocketKernelClient) RegisterKernel(kernel *kernel.Kernel) error
- func (obj *WebsocketKernelClient) Serve()
- func (obj *WebsocketKernelClient) Shutdown()
- type WebsocketKernelConnection
- func (obj *WebsocketKernelConnection) CannUseToWrite() bool
- func (obj *WebsocketKernelConnection) CloseByKernel()
- func (obj *WebsocketKernelConnection) EnterSendableData(data []byte) (*extra.PackageSendState, error)
- func (obj *WebsocketKernelConnection) Equal(p2 *WebsocketKernelConnection) bool
- func (obj *WebsocketKernelConnection) FinallyInit() error
- func (obj *WebsocketKernelConnection) GetIOType() kernel.ConnectionIoType
- func (obj *WebsocketKernelConnection) GetObjectId() string
- func (obj *WebsocketKernelConnection) GetPingTime() uint64
- func (obj *WebsocketKernelConnection) GetProtocol() string
- func (obj *WebsocketKernelConnection) GetSessionPKey() (*btcec.PublicKey, error)
- func (obj *WebsocketKernelConnection) GetTxRxBytes() (uint64, uint64)
- func (obj *WebsocketKernelConnection) Hash() uint32
- func (obj *WebsocketKernelConnection) IsConnected() bool
- func (obj *WebsocketKernelConnection) IsFinally() bool
- func (obj *WebsocketKernelConnection) RegisterKernel(kernel *kernel.Kernel) error
- type WebsocketKernelProxySettings
- type WebsocketKernelServerEP
- func (obj *WebsocketKernelServerEP) GetLocalIPBasedPort() uint64
- func (obj *WebsocketKernelServerEP) GetObjectId() string
- func (obj *WebsocketKernelServerEP) GetProtocol() string
- func (obj *WebsocketKernelServerEP) IsIpBasedServer() bool
- func (obj *WebsocketKernelServerEP) IsRunning() bool
- func (obj *WebsocketKernelServerEP) RegisterKernel(k *kernel.Kernel) error
- func (obj *WebsocketKernelServerEP) Shutdown()
- func (obj *WebsocketKernelServerEP) Start() error
- func (obj *WebsocketKernelServerEP) TryToP2PConnectionOthersideByFlag(remote_socket_adr *net.TCPAddr, rflgag WSPackageFlag)
Constants ¶
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 PongPackage ¶
type PongPackage struct { // Gibt die ID des Pong vorganges an PingId []byte `cbor:"24,keyasint"` }
Pong Paket
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 ¶
func (obj *WebsocketKernelConnection) Equal(p2 *WebsocketKernelConnection) bool
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 ¶
func (obj *WebsocketKernelConnection) GetIOType() kernel.ConnectionIoType
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