socks

package module
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Dec 22, 2019 License: MIT Imports: 12 Imported by: 0

README

quic-socks

quic-socks implements socks5 server using custom protocol in the back end, due to the use of QUIC , 2x faster than shadowsocks+TCP BBR, and safer.

Features

  • implements socks5 server in the front end for less RTT
  • using custom protocol in the back end(client <-> server), only need 1 RTT
  • client <-> server using TLS 1.3(QUIC), less RTT
  • due to use of QUIC(UDP), implements BBR in user state
  • the experience is still good in the case of weak networks
  • the experience will not deteriorate in the case of mobile networks
  • using pre-connection to reduce RTT between client and server

Protocol

password + type + host + port
see protocol.go

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Connect

func Connect(conn net.Conn, host string, port uint16) (net.Conn, error)

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

func NewClient

func NewClient(address string, password []byte, tlsConfig *tls.Config) (*Client, error)

func (*Client) Dial

func (c *Client) Dial() (net.Conn, error)

type Response

type Response uint8

func (Response) Error

func (r Response) Error() string

type Server

type Server struct {
	// contains filtered or unexported fields
}

func NewServer

func NewServer(address string, password []byte, tlsConfig *tls.Config) (*Server, error)

func (*Server) Close

func (s *Server) Close()

func (*Server) ListenAndServe

func (s *Server) ListenAndServe() error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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