shadowquic

package module
v0.0.0-...-65c7acc Latest Latest
Warning

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

Go to latest
Published: Aug 1, 2026 License: GPL-3.0 Imports: 26 Imported by: 0

README

ShadowQUIC client in sing flavor based on https://github.com/metacubex/jls-quic-go and https://github.com/metacubex/jls-tls.

License

Copyright (C) 2026  dyhkwong

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.

References

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

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

func NewClient

func NewClient(options ClientOptions) (*Client, error)

func NewShadowQUICClient

func NewShadowQUICClient(options ShadowQUICClientOptions) (*Client, error)

func NewSunnyQUICClient

func NewSunnyQUICClient(options SunnyQUICClientOptions) (*Client, error)

func (*Client) Close

func (c *Client) Close() error

func (*Client) DialConn

func (c *Client) DialConn(ctx context.Context, destination metadata.Socksaddr) (net.Conn, error)

func (*Client) DialCustomCommandConn

func (c *Client) DialCustomCommandConn(ctx context.Context) (net.Conn, error)

func (*Client) ListenPacket

func (c *Client) ListenPacket(ctx context.Context) (net.PacketConn, error)

type ClientOptions

type ClientOptions struct {
	Context           context.Context
	Dialer            network.Dialer
	ServerAddress     metadata.Socksaddr
	Username          string
	Password          string
	ServerName        string
	NextProtos        []string
	CongestionControl string
	UDPOverStream     bool
	ZeroRTTHandshake  bool
	SunnyQUIC         bool
}

type ShadowQUICClientOptions

type ShadowQUICClientOptions struct {
	Context           context.Context
	Dialer            network.Dialer
	ServerAddress     metadata.Socksaddr
	TLSConfig         *tls.Config
	QUICConfig        *quic.Config
	CongestionControl string
	UDPOverStream     bool
	ZeroRTTHandshake  bool
}

type SunnyQUICClientOptions

type SunnyQUICClientOptions struct {
	Context           context.Context
	Dialer            network.Dialer
	ServerAddress     metadata.Socksaddr
	Username          string
	Password          string
	TLSConfig         *tls.Config
	QUICConfig        *quic.Config
	CongestionControl string
	UDPOverStream     bool
	ZeroRTTHandshake  bool
}

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

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