sockstest

package
v0.11.0 Latest Latest
Warning

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

Go to latest
Published: Jun 13, 2023 License: BSD-3-Clause Imports: 5 Imported by: 0

Documentation

Overview

Package sockstest provides utilities for SOCKS testing.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MarshalAuthReply

func MarshalAuthReply(ver int, m socks.AuthMethod) ([]byte, error)

MarshalAuthReply returns an authentication reply in wire format.

func MarshalCmdReply

func MarshalCmdReply(ver int, reply socks.Reply, a *socks.Addr) ([]byte, error)

MarshalCmdReply returns a command reply in wire format.

func NoAuthRequired

func NoAuthRequired(rw io.ReadWriter, b []byte) error

NoAuthRequired handles a no-authentication-required signaling.

func NoProxyRequired

func NoProxyRequired(rw io.ReadWriter, b []byte) error

NoProxyRequired handles a command signaling without constructing a proxy connection to the final destination.

Types

type AuthRequest

type AuthRequest struct {
	Version int
	Methods []socks.AuthMethod
}

An AuthRequest represents an authentication request.

func ParseAuthRequest

func ParseAuthRequest(b []byte) (*AuthRequest, error)

ParseAuthRequest parses an authentication request.

type CmdRequest

type CmdRequest struct {
	Version int
	Cmd     socks.Command
	Addr    socks.Addr
}

A CmdRequest represents a command request.

func ParseCmdRequest

func ParseCmdRequest(b []byte) (*CmdRequest, error)

ParseCmdRequest parses a command request.

type Server

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

A Server represents a server for handshake testing.

func NewServer

func NewServer(authFunc, cmdFunc func(io.ReadWriter, []byte) error) (*Server, error)

NewServer returns a new server.

The provided authFunc and cmdFunc must parse requests and return appropriate replies to clients.

func (*Server) Addr

func (s *Server) Addr() net.Addr

Addr returns a server address.

func (*Server) Close

func (s *Server) Close() error

Close closes the server.

func (*Server) TargetAddr

func (s *Server) TargetAddr() net.Addr

TargetAddr returns a fake final destination address.

The returned address is only valid for testing with Server.

Jump to

Keyboard shortcuts

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