Versions in this module Expand all Collapse all v0 v0.2.6 Nov 10, 2023 Changes in this version + const MaxPacketSize + const Overhead + const PacketLengthBufferSize + var ErrBadHeader = E.New("bad header") + var List = []string + func Kdf(key, iv []byte, buffer *buf.Buffer) + type BufferedWriter struct + func (w *BufferedWriter) Flush() error + func (w *BufferedWriter) Write(p []byte) (n int, err error) + type Method struct + func New(method string, key []byte, password string) (*Method, error) + func (m *Method) DialConn(conn net.Conn, destination M.Socksaddr) (net.Conn, error) + func (m *Method) DialEarlyConn(conn net.Conn, destination M.Socksaddr) net.Conn + func (m *Method) DialPacketConn(conn net.Conn) N.NetPacketConn + func (m *Method) Name() string + type MultiService struct + func NewMultiService[U comparable](method string, udpTimeout int64, handler shadowsocks.Handler) (*MultiService[U], error) + func (s *MultiService[U]) Name() string + func (s *MultiService[U]) NewConnection(ctx context.Context, conn net.Conn, metadata M.Metadata) error + func (s *MultiService[U]) NewError(ctx context.Context, err error) + func (s *MultiService[U]) NewPacket(ctx context.Context, conn N.PacketConn, buffer *buf.Buffer, ...) error + func (s *MultiService[U]) UpdateUsers(userList []U, keyList [][]byte) error + func (s *MultiService[U]) UpdateUsersWithPasswords(userList []U, passwordList []string) error + func (s *MultiService[U]) WriteIsThreadUnsafe() + type Reader struct + func NewRawReader(upstream io.Reader, cipher cipher.AEAD, buffer []byte, nonce []byte) *Reader + func NewReader(upstream io.Reader, cipher cipher.AEAD, maxPacketSize int) *Reader + func (r *Reader) Buffer() *buf.Buffer + func (r *Reader) Cached() int + func (r *Reader) CachedSlice() []byte + func (r *Reader) Discard(n int) error + func (r *Reader) Read(b []byte) (n int, err error) + func (r *Reader) ReadByte() (byte, error) + func (r *Reader) ReadChunk(buffer *buf.Buffer, chunk []byte) error + func (r *Reader) ReadExternalChunk(chunk []byte) error + func (r *Reader) ReadWithLength(length uint16) error + func (r *Reader) ReadWithLengthChunk(lengthChunk []byte) error + func (r *Reader) Upstream() any + func (r *Reader) WriteTo(writer io.Writer) (n int64, err error) + type Service struct + func NewService(method string, key []byte, password string, udpTimeout int64, ...) (*Service, error) + func (c *Service) WriteIsThreadUnsafe() + func (s *Service) Name() string + func (s *Service) NewConnection(ctx context.Context, conn net.Conn, metadata M.Metadata) error + func (s *Service) NewError(ctx context.Context, err error) + func (s *Service) NewPacket(ctx context.Context, conn N.PacketConn, buffer *buf.Buffer, ...) error + func (s *Service) Password() string + type Writer struct + func NewRawWriter(upstream io.Writer, cipher cipher.AEAD, maxPacketSize int, buffer []byte, ...) *Writer + func NewWriter(upstream io.Writer, cipher cipher.AEAD, maxPacketSize int) *Writer + func (w *Writer) Buffer() *buf.Buffer + func (w *Writer) BufferedWriter(reversed int) *BufferedWriter + func (w *Writer) ReadFrom(r io.Reader) (n int64, err error) + func (w *Writer) Upstream() any + func (w *Writer) Write(p []byte) (n int, err error) + func (w *Writer) WriteChunk(buffer *buf.Buffer, chunk []byte) + func (w *Writer) WriteVectorised(buffers []*buf.Buffer) error