proxy

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Apr 17, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Handler

type Handler interface {
	PasswordHandler() ssh.PasswordHandler
	PublicKeyHandler() ssh.PublicKeyHandler

	HandleProxy(srv *ssh.Server, conn *gossh.ServerConn, newChan gossh.NewChannel, ctx ssh.Context)
}

func New

func New(authenticator auth.Authenticator, authorizer auth.Authorizer, provider ProxyProvider, cacheEnabled bool) Handler

func NewWithOptions added in v0.0.4

func NewWithOptions(options ...Option) Handler

type Option added in v0.0.4

type Option func(*handler)

func WithAuthenticator added in v0.0.4

func WithAuthenticator(authenticator auth.Authenticator) Option

func WithAuthorizer added in v0.0.4

func WithAuthorizer(authorizer auth.Authorizer) Option

func WithCacheEnabled added in v0.0.4

func WithCacheEnabled(enabled bool) Option

func WithProxyCallbacks added in v0.0.4

func WithProxyCallbacks(callbacks ProxyCallbacks) Option

func WithProxyProvider added in v0.0.4

func WithProxyProvider(provider ProxyProvider) Option

type Proxy

type Proxy interface {
	Dial(ctx context.Context) (net.Conn, error)
}

func Direct

func Direct(network string, address string) Proxy

func DirectWithDialer

func DirectWithDialer(network string, address string, dialer nets.NetDialer) Proxy

func ProxyWithReadiness

func ProxyWithReadiness(p Proxy, readiness func(context.Context) bool, interval time.Duration) Proxy

func ProxyWithTimeout

func ProxyWithTimeout(p Proxy, timeout time.Duration) Proxy

func UnixSocket

func UnixSocket(socket string) Proxy

type ProxyCallbacks added in v0.0.4

type ProxyCallbacks struct {
	OnHandleProxyFunc     func(ctx ssh.Context)
	OnHandleProxyDoneFunc func(ctx ssh.Context)

	OnProxyCreatedFunc             func(ctx ssh.Context, payload protocol.DirectPayload)
	OnProxyCreateFailedFunc        func(ctx ssh.Context, payload protocol.DirectPayload, err error)
	OnProxyChannelAcceptedFunc     func(ctx ssh.Context, payload protocol.DirectPayload)
	OnProxyChannelAcceptFailedFunc func(ctx ssh.Context, payload protocol.DirectPayload, err error)
	OnProxyDialedFunc              func(ctx ssh.Context, payload protocol.DirectPayload)
	OnProxyDialFailedFunc          func(ctx ssh.Context, payload protocol.DirectPayload, err error)
	OnProxyConnectionDoneFunc      func(ctx ssh.Context, payload protocol.DirectPayload, err error)
}

func (*ProxyCallbacks) OnHandleProxy added in v0.0.5

func (c *ProxyCallbacks) OnHandleProxy(ctx ssh.Context)

func (*ProxyCallbacks) OnHandleProxyDone added in v0.0.5

func (c *ProxyCallbacks) OnHandleProxyDone(ctx ssh.Context)

func (*ProxyCallbacks) OnProxyChannelAcceptFailed added in v0.0.5

func (c *ProxyCallbacks) OnProxyChannelAcceptFailed(ctx ssh.Context, payload protocol.DirectPayload, err error)

func (*ProxyCallbacks) OnProxyChannelAccepted added in v0.0.4

func (c *ProxyCallbacks) OnProxyChannelAccepted(ctx ssh.Context, payload protocol.DirectPayload)

func (*ProxyCallbacks) OnProxyConnectionDone added in v0.0.4

func (c *ProxyCallbacks) OnProxyConnectionDone(ctx ssh.Context, payload protocol.DirectPayload, err error)

func (*ProxyCallbacks) OnProxyCreateFailed added in v0.0.4

func (c *ProxyCallbacks) OnProxyCreateFailed(ctx ssh.Context, payload protocol.DirectPayload, err error)

func (*ProxyCallbacks) OnProxyCreated added in v0.0.4

func (c *ProxyCallbacks) OnProxyCreated(ctx ssh.Context, payload protocol.DirectPayload)

func (*ProxyCallbacks) OnProxyDialFailed added in v0.0.4

func (c *ProxyCallbacks) OnProxyDialFailed(ctx ssh.Context, payload protocol.DirectPayload, err error)

func (*ProxyCallbacks) OnProxyDialed added in v0.0.4

func (c *ProxyCallbacks) OnProxyDialed(ctx ssh.Context, payload protocol.DirectPayload)

type ProxyProvider

type ProxyProvider interface {
	ProxyProvide(ctx context.Context, target string) (Proxy, error)
}

func ProxyProviderWithReadiness

func ProxyProviderWithReadiness(p ProxyProvider, readiness func(context.Context, string) bool, interval time.Duration) ProxyProvider

func ProxyProviderWithTimeout

func ProxyProviderWithTimeout(p ProxyProvider, timeout time.Duration) ProxyProvider

type ProxyProviderFunc

type ProxyProviderFunc func(ctx context.Context, target string) (Proxy, error)

func (ProxyProviderFunc) ProxyProvide

func (f ProxyProviderFunc) ProxyProvide(ctx context.Context, target string) (Proxy, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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