protocols

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Dec 20, 2024 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type EstablishConnection

type EstablishConnection func(conn net.Conn, initialData []byte)

type Protocol

type Protocol struct {
	Name                    string                // 用于审计的协议名称
	Target                  string                // 代理目标
	MatchStartBytes         [][]byte              // 用于匹配此协议的字节串(前缀)
	MatchBytes              [][]byte              // 用于匹配此协议的字节串(包含)
	MatchRegexes            []*regexp.Regexp      // 用于匹配此协议的正则表达式
	NoComparisonBeforeBytes int                   // 在此字节数之前不会进行匹配,设置为0表示忽略
	NoComparisonAfterBytes  int                   // 在此字节数之后不会进行匹配,设置为0表示忽略
	EstablishConnection     []EstablishConnection // 用于建立连接的相关配置
	Priority                int                   // 协议的优先级
}

Protocol 是协议签名的实现。

func NewHTTPWebDAVProtocol

func NewHTTPWebDAVProtocol(targetAddress string, establish ...EstablishConnection) *Protocol

NewHTTPWebDAVProtocol initializes a Protocol with both HTTP and WebDAV signatures.

func NewMQTTProtocol

func NewMQTTProtocol(targetAddress string, establish ...EstablishConnection) *Protocol

NewMQTTProtocol initializes a Protocol with an MQTT signature.

func NewOpenVPNProtocol

func NewOpenVPNProtocol(targetAddress string, establish ...EstablishConnection) *Protocol

NewOpenVPNProtocol initializes a Protocol with an OpenVPN signature.

func NewRDPProtocol

func NewRDPProtocol(targetAddress string, establish ...EstablishConnection) *Protocol

NewRDPProtocol initializes a Protocol with an updated RDP signature.

func NewRTMPProtocol

func NewRTMPProtocol(targetAddress string, establish ...EstablishConnection) *Protocol

NewRTMPProtocol initializes a Protocol with an updated RTMP signature.

func NewRTSPProtocol

func NewRTSPProtocol(targetAddress string, establish ...EstablishConnection) *Protocol

NewRTSPProtocol initializes a Protocol with a RTSP signature.

func NewRedisProtocol

func NewRedisProtocol(targetAddress string, establish ...EstablishConnection) *Protocol

NewRedisProtocol initializes a Protocol with a Redis signature.

func NewSOCKS4Protocol

func NewSOCKS4Protocol(targetAddress string, establish ...EstablishConnection) *Protocol

NewSOCKS4Protocol initializes a Protocol with a SOCKS4 signature.

func NewSOCKS5Protocol

func NewSOCKS5Protocol(targetAddress string, establish ...EstablishConnection) *Protocol

NewSOCKS5Protocol initializes a Protocol with a SOCKS5 signature.

func NewSSHProtocol

func NewSSHProtocol(targetAddress string, establish ...EstablishConnection) *Protocol

NewSSHProtocol initializes a Protocol with a SSH signature.

func NewSTRelayProtocol deprecated

func NewSTRelayProtocol(targetAddress string, establish ...EstablishConnection) *Protocol

NewSTRelayProtocol initializes a Protocol with a Syncthing Relay signature.

Deprecated: This signature does not function properly and unless further developed, will not establish a working connection.

func NewTLSProtocol

func NewTLSProtocol(targetAddress string, establish ...EstablishConnection) *Protocol

NewTLSProtocol initializes a Protocol with a TLS signature.

func NewTURNProtocol

func NewTURNProtocol(targetAddress string, establish ...EstablishConnection) *Protocol

NewTURNProtocol initializes a Protocol for TURN identification.

Jump to

Keyboard shortcuts

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