Versions in this module Expand all Collapse all v1 v1.1.2 Oct 4, 2021 Changes in this version + const AES_GCM_TAG_SIZE + const DialFailure + const NotImplemented + const TLSError + const Unknown + const Unreachable + func Assets() *assets + func AssetsSetDir(dir string) (*assets, error) + func Connect(ctx context.Context, reg *ConjureReg) (net.Conn, error) + func Dial(network, address string) (net.Conn, error) + func DialConjure(ctx context.Context, cjSession *ConjureSession, registrationMethod Registrar) (net.Conn, error) + func DialConjureAddr(ctx context.Context, address string, registrationMethod Registrar) (net.Conn, error) + func EnableProxyProtocol() + func Logger() *logrus.Logger + func NewTapDanceConn() (net.Conn, error) + func SelectDecoys(sharedSecret []byte, version uint, width uint) ([]*pb.TLSDecoySpec, error) + func SelectPhantom(seed []byte, support uint) (*net.IP, *net.IP, error) + func SetTlsLogFilename(filename string) error + func WriteTlsLog(clientRandom, masterSecret []byte) error + type APIRegistrar struct + Client *http.Client + ConnectionDelay time.Duration + Endpoint string + MaxRetries int + SecondaryRegistrar Registrar + func (r APIRegistrar) Register(cjSession *ConjureSession, ctx context.Context) (*ConjureReg, error) + type ConjureReg struct + TcpDialer func(context.Context, string, string) (net.Conn, error) + func (reg *ConjureReg) Connect(ctx context.Context) (net.Conn, error) + type ConjureSession struct + CovertAddress string + Keys *sharedKeys + Phantom *net.IP + RegDecoys []*pb.TLSDecoySpec + SessionID uint64 + TcpDialer func(context.Context, string, string) (net.Conn, error) + Transport pb.TransportType + UseProxyHeader bool + V6Support *V6 + Width uint + func (cjSession *ConjureSession) IDString() string + func (cjSession *ConjureSession) String() string + type CounterUint64 struct + func (c *CounterUint64) Dec() uint64 + func (c *CounterUint64) Get() (value uint64) + func (c *CounterUint64) GetAndInc() uint64 + func (c *CounterUint64) Inc() uint64 + func (c *CounterUint64) Set(value uint64) + type DecoyRegistrar struct + TcpDialer func(context.Context, string, string) (net.Conn, error) + func (r DecoyRegistrar) Register(cjSession *ConjureSession, ctx context.Context) (*ConjureReg, error) + type Dialer struct + DarkDecoy bool + DarkDecoyRegistrar Registrar + SplitFlows bool + TcpDialer func(context.Context, string, string) (net.Conn, error) + Transport pb.TransportType + UseProxyHeader bool + V6Support bool + Width int + func (d *Dialer) Dial(network, address string) (net.Conn, error) + func (d *Dialer) DialContext(ctx context.Context, network, address string) (net.Conn, error) + func (d *Dialer) DialProxy() (net.Conn, error) + func (d *Dialer) DialProxyContext(ctx context.Context) (net.Conn, error) + type Obfs4Keys struct + NodeID *ntor.NodeID + PrivateKey *ntor.PrivateKey + PublicKey *ntor.PublicKey + type RegError struct + func (err RegError) CodeStr() string + func (err RegError) Error() string + type Registrar interface + Register func(*ConjureSession, context.Context) (*ConjureReg, error) + type TapdanceFlowConn struct + func (flowConn *TapdanceFlowConn) Close() error + func (flowConn *TapdanceFlowConn) DialContext(ctx context.Context) error + func (flowConn *TapdanceFlowConn) LocalAddr() net.Addr + func (flowConn *TapdanceFlowConn) Read(b []byte) (int, error) + func (flowConn *TapdanceFlowConn) RemoteAddr() net.Addr + func (flowConn *TapdanceFlowConn) SetDeadline(t time.Time) error + func (flowConn *TapdanceFlowConn) SetReadDeadline(t time.Time) error + func (flowConn *TapdanceFlowConn) SetWriteDeadline(t time.Time) error + func (flowConn *TapdanceFlowConn) Write(b []byte) (int, error) + type V6 struct