...

Package sockstest

import "golang.org/x/net/internal/sockstest"
Overview
Index

Overview ▾

Package sockstest provides utilities for SOCKS testing.

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.

type AuthRequest

An AuthRequest represents an authentication request.

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

func ParseAuthRequest

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

ParseAuthRequest parses an authentication request.

type CmdRequest

A CmdRequest represents a command request.

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

func ParseCmdRequest

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

ParseCmdRequest parses a command request.

type Server

A Server represents a server for handshake testing.

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

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.