Versions in this module Expand all Collapse all v0 v0.0.10 Apr 10, 2026 v0.0.9 Mar 17, 2026 Changes in this version + const AppName + func ProxyBidirectional(ctx context.Context, conn1, conn2 net.Conn, log *zerolog.Logger) error + type ANSIFilter struct + func NewANSIFilter() *ANSIFilter + func (f *ANSIFilter) ContainsANSI(data []byte) bool + func (f *ANSIFilter) ExtractPrintableText(data []byte) []byte + func (f *ANSIFilter) Filter(data []byte) []byte + func (f *ANSIFilter) IsInteractiveCommand(data []byte) bool + type CloseConnectionRequest struct + CloseReason string + SessionID string + type Connection struct + BytesReceived int64 + BytesSent int64 + ClientIP string + CloseTime *time.Time + CreateTime time.Time + Metadata map[string]string + Protocol Protocol + ResourceID string + SessionID string + Status ConnectionStatus + TargetHost string + TargetPort int + UserID string + Username string + type ConnectionHandler interface + HandleConnection func(ctx context.Context, conn net.Conn) error + type ConnectionSet struct + Items []*Connection + Total int64 + type ConnectionStatus string + const ConnectionStatusActive + const ConnectionStatusClosed + const ConnectionStatusError + type CreateConnectionRequest struct + ClientIP string + Metadata map[string]string + Password string + Protocol Protocol + ResourceID string + TargetHost string + TargetPort int + UserID string + Username string + type DangerousPattern struct + BlockReason string + Operation string + RiskLevel RiskLevel + ShouldBlock bool + type Direction string + const DirectionClientToServer + const DirectionServerToClient + type GetConnectionRequest struct + SessionID string + type ListConnectionsRequest struct + Page int64 + PageSize int64 + Protocol Protocol + Status ConnectionStatus + UserID string + type ParseResult struct + BlockReason string + Events []*audit.OperationEvent + ShouldBlock bool + type Parser interface + DetectRisk func(event *audit.OperationEvent) RiskLevel + Parse func(ctx context.Context, data []byte, direction Direction, sessionID string) (*ParseResult, error) + ShouldBlock func(event *audit.OperationEvent) bool + type Protocol string + const ProtocolMySQL + const ProtocolRDP + const ProtocolSSH + type Recorder interface + Protocol func() audit.Protocol + Start func(ctx context.Context, sessionID string, metadata map[string]interface{}) error + Status func() RecordingStatus + Stop func(ctx context.Context) (recordingPath string, err error) + Write func(timestamp float64, ioType rune, data []byte) error + type RecorderFactory interface + GetRecorder func(protocol audit.Protocol) (Recorder, error) + type RecordingStatus string + const RecordingStatusActive + const RecordingStatusPaused + const RecordingStatusRecording + const RecordingStatusStopped + type RiskLevel string + const RiskLevelCritical + const RiskLevelHigh + const RiskLevelLow + const RiskLevelMedium + const RiskLevelNone + type Service interface + CloseConnection func(context.Context, *CloseConnectionRequest) error + CreateConnection func(context.Context, *CreateConnectionRequest) (*Connection, error) + GetConnection func(context.Context, *GetConnectionRequest) (*Connection, error) + ListConnections func(context.Context, *ListConnectionsRequest) (*ConnectionSet, error) + func GetService() Service + type TCPServer struct + func NewTCPServer(listenAddr string, maxConnections int, handler ConnectionHandler, ...) *TCPServer + func (s *TCPServer) CloseSession(sessionID string) error + func (s *TCPServer) GetActiveSessions() []*TCPSession + func (s *TCPServer) GetMetrics() *TCPServerMetrics + func (s *TCPServer) Start() error + func (s *TCPServer) Stop(timeout time.Duration) error + type TCPServerMetrics struct + ActiveConnections atomic.Int64 + FailedConnections atomic.Int64 + LastStartTime time.Time + TotalBytesReceived atomic.Int64 + TotalBytesSent atomic.Int64 + TotalConnections atomic.Int64 + type TCPSession struct + BytesReceived atomic.Int64 + BytesSent atomic.Int64 + ClientConn net.Conn + CreateTime time.Time + SessionID string + type WebSocketConn interface + SetReadDeadline func(t time.Time) error + SetWriteDeadline func(t time.Time) error