Versions in this module Expand all Collapse all v0 v0.0.1 Feb 26, 2024 Changes in this version + func NewAgentDialer(dialAgentFunc AgentDialFunc) gost.Dialer + func NewClientJwtAuthenticator(tokenVerifier jwtutil.TokenVerifier) gost.Authenticator + func NewClientNoAuthAuthenticator() gost.Authenticator + func RunLoadBalancerServer(conf *config.LoadBalancerCmd) + func RunProxyServer(conf *config.ProxyCmd) + func Tracer(connTrack *ConnTrack) ... + type AgentDialFunc func(ctx context.Context, agentID AgentID) (net.Conn, error) + type AgentDialer struct + func (cd *AgentDialer) Dial(ctx context.Context, addr string, opts ...gost.DialerOption) (net.Conn, error) + type AgentID string + type ClientJwtAuthenticator struct + func (a *ClientJwtAuthenticator) Authenticate(ctx context.Context, agentID, password string, opts ...gost.AuthOption) (id string, ok bool) + type ClientNoAuthAuthenticator struct + func (a *ClientNoAuthAuthenticator) Authenticate(ctx context.Context, agentID, password string, opts ...gost.AuthOption) (id string, ok bool) + type ConnTrack struct + func NewConnTrack(storeClient store.Client, httpProxyAddress string) *ConnTrack + func (ct *ConnTrack) GetConn(agentID AgentID) (previous quic.Connection, loaded bool) + func (ct *ConnTrack) OnConnClose(connID string) + func (ct *ConnTrack) OnConnStarted(connID string) + func (ct *ConnTrack) PutConn(agentID AgentID, conn quic.Connection) error + func (ct *ConnTrack) Shutdown() + type HttpProxyForwardAuth struct + func NewHttpProxyForwardAuth() *HttpProxyForwardAuth + func (a *HttpProxyForwardAuth) Auth(ctx context.Context) *url.Userinfo + type HttpProxyServer struct + func NewHttpProxyServer(listenAddr string, tlsServerConfig certconfig.TLSServerConfig, ...) (*HttpProxyServer, error) + func (p *HttpProxyServer) ListenAndServe() error + func (p *HttpProxyServer) Shutdown(_ context.Context) error + type LoadBalancerDialer struct + func NewLoadBalancerDialer(storeClient store.Client, tlsConfigFunc tlsclient.TLSClientConfigFunc) *LoadBalancerDialer + func (lb *LoadBalancerDialer) Dial(ctx context.Context, agentID AgentID) (net.Conn, error) + type QuicServer struct + func NewQuicServer(conf *config.ProxyCmd, agentVerifier agent.Verifier, connTrack *ConnTrack, ...) *QuicServer + func (qs *QuicServer) Close() + func (qs *QuicServer) DialAgent(ctx context.Context, agentID AgentID) (net.Conn, error) + type SyncedMap struct + func NewSyncedMap[K comparable, V any]() *SyncedMap[K, V] + func (m *SyncedMap[K, V]) CompareAndDelete(key K, old V) bool + func (m *SyncedMap[K, V]) CompareAndSwap(key K, old V, new V) bool + func (m *SyncedMap[K, V]) Delete(key K) + func (m *SyncedMap[K, V]) Entries() ([]K, []V) + func (m *SyncedMap[K, V]) Get(key K) (V, bool) + func (m *SyncedMap[K, V]) GetAndDelete(key K) (V, bool) + func (m *SyncedMap[K, V]) Keys() []K + func (m *SyncedMap[K, V]) Set(key K, value V) + func (m *SyncedMap[K, V]) Swap(key K, value V) (V, bool) + func (m *SyncedMap[K, V]) Values() []V