Documentation
¶
Index ¶
- func NewDialer(opts ...dialer.Option) dialer.Dialer
- type Client
- type MasqueConn
- func (c *MasqueConn) Close() error
- func (c *MasqueConn) GetHost() string
- func (c *MasqueConn) GetRequestStream() *http3.RequestStream
- func (c *MasqueConn) LocalAddr() net.Addr
- func (c *MasqueConn) OpenRequestStream(ctx context.Context) (*http3.RequestStream, error)
- func (c *MasqueConn) Read(b []byte) (n int, err error)
- func (c *MasqueConn) RemoteAddr() net.Addr
- func (c *MasqueConn) SetDeadline(t time.Time) error
- func (c *MasqueConn) SetReadDeadline(t time.Time) error
- func (c *MasqueConn) SetWriteDeadline(t time.Time) error
- func (c *MasqueConn) Write(b []byte) (n int, err error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client manages HTTP/3 connections for MASQUE proxying. It wraps a QUIC connection and HTTP/3 client, following the session pattern used by other gost dialers (ssh, quic, mws, etc.).
type MasqueConn ¶
type MasqueConn struct {
// contains filtered or unexported fields
}
MasqueConn wraps an HTTP/3 client connection for use with the MASQUE connector. It implements net.Conn for compatibility with the gost connector interface, but the actual data transfer happens via datagrams through the pre-opened RequestStream.
func (*MasqueConn) GetRequestStream ¶
func (c *MasqueConn) GetRequestStream() *http3.RequestStream
GetRequestStream returns the pre-opened HTTP/3 request stream. The connector uses this for the CONNECT-UDP handshake.
func (*MasqueConn) LocalAddr ¶
func (c *MasqueConn) LocalAddr() net.Addr
LocalAddr returns the local network address.
func (*MasqueConn) OpenRequestStream ¶ added in v0.15.3
func (c *MasqueConn) OpenRequestStream(ctx context.Context) (*http3.RequestStream, error)
OpenRequestStream opens another request stream on the shared HTTP/3 connection. CONNECT-UDP associations use one stream per destination.
func (*MasqueConn) Read ¶
func (c *MasqueConn) Read(b []byte) (n int, err error)
Read implements net.Conn but is not used for MASQUE. The actual data transfer happens via datagrams or the request stream.
func (*MasqueConn) RemoteAddr ¶
func (c *MasqueConn) RemoteAddr() net.Addr
RemoteAddr returns the remote network address.
func (*MasqueConn) SetDeadline ¶
func (c *MasqueConn) SetDeadline(t time.Time) error
SetDeadline sets the read and write deadlines.
func (*MasqueConn) SetReadDeadline ¶
func (c *MasqueConn) SetReadDeadline(t time.Time) error
SetReadDeadline sets the read deadline.
func (*MasqueConn) SetWriteDeadline ¶
func (c *MasqueConn) SetWriteDeadline(t time.Time) error
SetWriteDeadline sets the write deadline.