Files
gluetun/internal/windscribe/windscribe.go

25 lines
851 B
Go
Raw Normal View History

2020-04-12 20:01:33 +00:00
package windscribe
import (
"net"
"github.com/qdm12/golibs/files"
"github.com/qdm12/private-internet-access-docker/internal/models"
)
2020-05-29 00:09:49 +00:00
// Configurator contains methods to read and modify the openvpn configuration to connect as a client
2020-04-12 20:01:33 +00:00
type Configurator interface {
GetOpenVPNConnections(region models.WindscribeRegion, protocol models.NetworkProtocol, customPort uint16, targetIP net.IP) (connections []models.OpenVPNConnection, err error)
BuildConf(connections []models.OpenVPNConnection, verbosity, uid, gid int, root bool, cipher, auth string) (err error)
}
type configurator struct {
fileManager files.FileManager
lookupIP func(host string) ([]net.IP, error)
}
// NewConfigurator returns a new Configurator object
func NewConfigurator(fileManager files.FileManager) Configurator {
return &configurator{fileManager, net.LookupIP}
}