sstcptrans

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Nov 11, 2023 License: Apache-2.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

View Source
const MaxAddrLen = 1 + 1 + 255 + 2

Variables

View Source
var ErrRepeatedSalt = errors.New("repeated salt detected")

ErrRepeatedSalt means detected a reused salt

Functions

func ParseDestConnFrom

func ParseDestConnFrom(src net.Conn) (net.Conn, error)

func Transfer

func Transfer(srcEncrypted net.Conn, closed bool, config *sstrans.ShadowSocksConfig, recovered bool) (chan iokit.Direction, error)

func TransferFromListen

func TransferFromListen(lAddr *net.TCPAddr, config *sstrans.ShadowSocksConfig, keepListening bool, output *SSTransferContext) error

func TransferFromListenAddress

func TransferFromListenAddress(lAddress string, config *sstrans.ShadowSocksConfig, keepListening bool, output *SSTransferContext) error

-s 'ss://AEAD_CHACHA20_POLY1305:123456@:8388' -verbose

Types

type SSAlgorithm

type SSAlgorithm struct {
	Password *string
}

type SSConn

type SSConn struct {
	net.Conn
	Password  string
	AES       aeskit.AESTemplate
	Algorithm SSAlgorithm
	// contains filtered or unexported fields
}

func (*SSConn) GetSubKey

func (ss *SSConn) GetSubKey(salt []byte) ([]byte, error)

password + salt => subkey

func (*SSConn) Read

func (c *SSConn) Read(p []byte) (int, error)

func (*SSConn) Write

func (c *SSConn) Write(p []byte) (int, error)

type SSDetailPacket

type SSDetailPacket struct {
	Packet   []byte
	ATYP     byte
	DST_ADDR []byte
	DST_PORT []byte
}

*

+----+-----+-------+------+----------+----------+
|VER | CMD |  RSV  | ATYP | DST.ADDR | DST.PORT |
+----+-----+-------+------+----------+----------+
| 1  |  1  | X'00' |  1   | Variable |    2     |
+----+-----+-------+------+----------+----------+

func (SSDetailPacket) GetAddr

func (p SSDetailPacket) GetAddr() (string, error)

func (SSDetailPacket) GetAddress

func (p SSDetailPacket) GetAddress() (string, error)

func (SSDetailPacket) GetPort

func (p SSDetailPacket) GetPort() int

type SSServer

type SSServer struct {
	Conn net.Conn
}

func (SSServer) ParseIntoPacket

func (s SSServer) ParseIntoPacket() (*SSDetailPacket, error)

type SSTemplate

type SSTemplate struct {
	AES aeskit.AESTemplate
}

type SSTransferContext

type SSTransferContext struct {
	LAddr         *net.TCPAddr
	DAddr         *net.TCPAddr
	KeepListening bool
	LListener     *net.TCPListener
	DListener     *net.TCPListener
	StopChan      *chan os.Signal
}

func BuildTransfer

func BuildTransfer(lAddress string, keepListening bool) (*SSTransferContext, error)

func (SSTransferContext) GetDListener

func (t SSTransferContext) GetDListener() *net.TCPListener

func (SSTransferContext) GetLListener

func (t SSTransferContext) GetLListener() *net.TCPListener

func (SSTransferContext) Stop

func (t SSTransferContext) Stop()

func (SSTransferContext) TransferFromListen

func (t SSTransferContext) TransferFromListen(config *sstrans.ShadowSocksConfig) error

Jump to

Keyboard shortcuts

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