Documentation
¶
Index ¶
- type Driver
- type HealthChecker
- type Manager
- func (m *Manager) ActiveIP() string
- func (m *Manager) AfterRefresh(ctx context.Context)
- func (m *Manager) Close() error
- func (m *Manager) DialContext(ctx context.Context, network, address string) (net.Conn, error)
- func (m *Manager) Failover(ctx context.Context, cause error)
- func (m *Manager) FailoverSession(ctx context.Context, expected Session, cause error)
- func (m *Manager) ListenPacket(network, address string) (net.PacketConn, error)
- func (m *Manager) PreservedIP() string
- func (m *Manager) ReconnectCurrent(ctx context.Context) error
- func (m *Manager) ResolveIPv4(ctx context.Context, host string) ([]net.IP, error)
- func (m *Manager) SelectManual(ctx context.Context, ip, protocol string) error
- func (m *Manager) Session() Session
- func (m *Manager) SetDirectMode(ctx context.Context, enabled bool) error
- func (m *Manager) SetLastHealth(value time.Time)
- func (m *Manager) Start(ctx context.Context) error
- func (m *Manager) Status(refreshRunning bool, lastRefresh time.Time, refreshErr error) model.RuntimeStatus
- func (m *Manager) SwitchAutomatic(ctx context.Context) error
- func (m *Manager) TestNode(ctx context.Context, ip string) (speed int64, resultErr error)
- type Session
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Driver ¶
type Driver interface {
Protocol() string
Start(context.Context, model.Node, config.Config, *log.Logger) (Session, error)
}
func DefaultDrivers ¶
func DefaultDrivers() []Driver
type HealthChecker ¶
type HealthChecker struct {
// contains filtered or unexported fields
}
func NewHealthChecker ¶
func NewHealthChecker(configStore *config.Store, manager *Manager) *HealthChecker
func (*HealthChecker) CheckSession ¶
func (h *HealthChecker) CheckSession(ctx context.Context, session Session) error
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
func NewManager ¶
func (*Manager) AfterRefresh ¶
func (*Manager) DialContext ¶
func (*Manager) FailoverSession ¶
func (*Manager) ListenPacket ¶ added in v0.0.2
func (m *Manager) ListenPacket(network, address string) (net.PacketConn, error)
func (*Manager) PreservedIP ¶ added in v0.0.3
PreservedIP keeps a manually selected node available while VPN connections are paused, so resuming can restore the same selection after a refresh.
func (*Manager) ResolveIPv4 ¶ added in v0.0.2
func (*Manager) SelectManual ¶
func (*Manager) SetDirectMode ¶ added in v0.0.3
SetDirectMode pauses or resumes managed VPN connections. Direct routing remains active while a resumed connection is being established.
func (*Manager) SetLastHealth ¶
Click to show internal directories.
Click to hide internal directories.