Documentation
¶
Index ¶
- Constants
- Variables
- func Kdf(key, iv []byte, buffer *buf.Buffer)
- type BufferedWriter
- type Method
- type 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
- type 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)
Constants ¶
View Source
const ( MaxPacketSize = 16*1024 - 1 PacketLengthBufferSize = 2 )
https://shadowsocks.org/en/wiki/AEAD-Ciphers.html
View Source
const ( // Overhead // crypto/cipher.gcmTagSize // golang.org/x/crypto/chacha20poly1305.Overhead Overhead = 16 )
Variables ¶
View Source
var ErrBadHeader = E.New("bad header")
View Source
var List = []string{
"aes-128-gcm",
"aes-192-gcm",
"aes-256-gcm",
"chacha20-ietf-poly1305",
"xchacha20-ietf-poly1305",
}
Functions ¶
Types ¶
type BufferedWriter ¶
type BufferedWriter struct {
// contains filtered or unexported fields
}
func (*BufferedWriter) Flush ¶
func (w *BufferedWriter) Flush() error
type Method ¶
type Method struct {
// contains filtered or unexported fields
}
func (*Method) DialEarlyConn ¶
func (*Method) DialPacketConn ¶
func (m *Method) DialPacketConn(conn net.Conn) N.NetPacketConn
type Reader ¶
type Reader struct {
// contains filtered or unexported fields
}
func NewRawReader ¶
func (*Reader) CachedSlice ¶
func (*Reader) ReadExternalChunk ¶
func (*Reader) ReadWithLength ¶
func (*Reader) ReadWithLengthChunk ¶
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
func NewService ¶
func (*Service) NewConnection ¶
func (*Service) WriteIsThreadUnsafe ¶
func (s *Service) WriteIsThreadUnsafe()
type Writer ¶
type Writer struct {
// contains filtered or unexported fields
}
func NewRawWriter ¶
func (*Writer) BufferedWriter ¶
func (w *Writer) BufferedWriter(reversed int) *BufferedWriter
Click to show internal directories.
Click to hide internal directories.