35 lines
805 B
Go
35 lines
805 B
Go
package server
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/qdm12/gluetun/internal/configuration/settings"
|
|
"github.com/qdm12/gluetun/internal/models"
|
|
)
|
|
|
|
type VPNLooper interface {
|
|
GetStatus() (status models.LoopStatus)
|
|
ApplyStatus(ctx context.Context, status models.LoopStatus) (
|
|
outcome string, err error)
|
|
GetSettings() (settings settings.VPN)
|
|
SetSettings(ctx context.Context, settings settings.VPN) (outcome string)
|
|
}
|
|
|
|
type DNSLoop interface {
|
|
ApplyStatus(ctx context.Context, status models.LoopStatus) (
|
|
outcome string, err error)
|
|
GetStatus() (status models.LoopStatus)
|
|
}
|
|
|
|
type PortForwardedGetter interface {
|
|
GetPortsForwarded() (ports []uint16)
|
|
}
|
|
|
|
type PublicIPLoop interface {
|
|
GetData() (data models.PublicIP)
|
|
}
|
|
|
|
type Storage interface {
|
|
GetFilterChoices(provider string) models.FilterChoices
|
|
}
|