Documentation ¶
Overview ¶
Package obfs4 provides an implementation of the Tor Project's obfs4 obfuscation protocol.
Index ¶
Constants ¶
This section is empty.
Variables ¶
ErrInvalidHandshake is the error returned when the obfs4 handshake fails due to the peer not sending the correct mark. This error is fatal and the connection MUST be dropped.
ErrMarkNotFoundYet is the error returned when the obfs4 handshake is incomplete and requires more data to continue. This error is non-fatal and is the equivalent to EAGAIN/EWOULDBLOCK.
ErrNtorFailed is the error returned when the ntor handshake fails. This error is fatal and the connection MUST be dropped.
ErrReplayedHandshake is the error returned when the obfs4 handshake fails due it being replayed. This error is fatal and the connection MUST be dropped.
Functions ¶
This section is empty.
Types ¶
type InvalidAuthError ¶
InvalidAuthError is the error returned when the ntor AUTH tags do not match. This error is fatal and the connection MUST be dropped.
func (*InvalidAuthError) Error ¶
func (e *InvalidAuthError) Error() string
type InvalidMacError ¶
InvalidMacError is the error returned when the handshake MACs do not match. This error is fatal and the connection MUST be dropped.
func (*InvalidMacError) Error ¶
func (e *InvalidMacError) Error() string
type InvalidPacketLengthError ¶
type InvalidPacketLengthError int
InvalidPacketLengthError is the error returned when decodePacket detects a invalid packet length/
func (InvalidPacketLengthError) Error ¶
func (e InvalidPacketLengthError) Error() string
type InvalidPayloadLengthError ¶
type InvalidPayloadLengthError int
InvalidPayloadLengthError is the error returned when decodePacket rejects the payload length.
func (InvalidPayloadLengthError) Error ¶
func (e InvalidPayloadLengthError) Error() string
type Transport ¶
type Transport struct{}
Transport is the obfs4 implementation of the base.Transport interface.
func (*Transport) ClientFactory ¶
func (t *Transport) ClientFactory(stateDir string) (base.ClientFactory, error)
ClientFactory returns a new obfs4ClientFactory instance.
func (*Transport) Name ¶
Name returns the name of the obfs4 transport protocol.