chore(all): remove unexported interfaces
This commit is contained in:
@@ -29,6 +29,7 @@ import (
|
||||
"github.com/qdm12/gluetun/internal/models"
|
||||
"github.com/qdm12/gluetun/internal/netlink"
|
||||
"github.com/qdm12/gluetun/internal/openvpn"
|
||||
"github.com/qdm12/gluetun/internal/openvpn/extract"
|
||||
"github.com/qdm12/gluetun/internal/portforward"
|
||||
"github.com/qdm12/gluetun/internal/pprof"
|
||||
"github.com/qdm12/gluetun/internal/provider"
|
||||
@@ -383,8 +384,9 @@ func _main(ctx context.Context, buildInfo models.BuildInformation,
|
||||
|
||||
unzipper := unzip.New(httpClient)
|
||||
parallelResolver := resolver.NewParallelResolver(allSettings.Updater.DNSAddress)
|
||||
providers := provider.NewProviders(storage, time.Now,
|
||||
updaterLogger, httpClient, unzipper, parallelResolver, ipFetcher)
|
||||
openvpnFileExtractor := extract.New()
|
||||
providers := provider.NewProviders(storage, time.Now, updaterLogger,
|
||||
httpClient, unzipper, parallelResolver, ipFetcher, openvpnFileExtractor)
|
||||
|
||||
vpnLogger := logger.New(log.SetComponent("vpn"))
|
||||
vpnLooper := vpn.NewLoop(allSettings.VPN, allSettings.Firewall.VPNInputPorts,
|
||||
|
||||
@@ -10,6 +10,7 @@ import (
|
||||
|
||||
"github.com/qdm12/gluetun/internal/configuration/sources"
|
||||
"github.com/qdm12/gluetun/internal/constants"
|
||||
"github.com/qdm12/gluetun/internal/openvpn/extract"
|
||||
"github.com/qdm12/gluetun/internal/provider"
|
||||
"github.com/qdm12/gluetun/internal/publicip/ipinfo"
|
||||
"github.com/qdm12/gluetun/internal/storage"
|
||||
@@ -56,9 +57,10 @@ func (c *CLI) OpenvpnConfig(logger OpenvpnConfigLogger, source sources.Source) e
|
||||
warner := (Warner)(nil)
|
||||
parallelResolver := (ParallelResolver)(nil)
|
||||
ipFetcher := (IPFetcher)(nil)
|
||||
openvpnFileExtractor := extract.New()
|
||||
|
||||
providers := provider.NewProviders(storage, time.Now, warner, client,
|
||||
unzipper, parallelResolver, ipFetcher)
|
||||
unzipper, parallelResolver, ipFetcher, openvpnFileExtractor)
|
||||
providerConf := providers.Get(*allSettings.VPN.Provider.Name)
|
||||
connection, err := providerConf.GetConnection(allSettings.VPN.Provider.ServerSelection)
|
||||
if err != nil {
|
||||
|
||||
@@ -12,6 +12,7 @@ import (
|
||||
"github.com/qdm12/gluetun/internal/configuration/settings"
|
||||
"github.com/qdm12/gluetun/internal/constants"
|
||||
"github.com/qdm12/gluetun/internal/constants/providers"
|
||||
"github.com/qdm12/gluetun/internal/openvpn/extract"
|
||||
"github.com/qdm12/gluetun/internal/provider"
|
||||
"github.com/qdm12/gluetun/internal/publicip/ipinfo"
|
||||
"github.com/qdm12/gluetun/internal/storage"
|
||||
@@ -76,9 +77,10 @@ func (c *CLI) Update(ctx context.Context, args []string, logger UpdaterLogger) e
|
||||
unzipper := unzip.New(httpClient)
|
||||
parallelResolver := resolver.NewParallelResolver(options.DNSAddress)
|
||||
ipFetcher := ipinfo.New(httpClient)
|
||||
openvpnFileExtractor := extract.New()
|
||||
|
||||
providers := provider.NewProviders(storage, time.Now, logger, httpClient,
|
||||
unzipper, parallelResolver, ipFetcher)
|
||||
unzipper, parallelResolver, ipFetcher, openvpnFileExtractor)
|
||||
|
||||
updater := updater.New(httpClient, storage, providers, logger)
|
||||
err = updater.UpdateServers(ctx, options.Providers)
|
||||
|
||||
@@ -4,8 +4,6 @@ import (
|
||||
"context"
|
||||
|
||||
"github.com/qdm12/dns/pkg/unbound"
|
||||
"github.com/qdm12/gluetun/internal/configuration/settings"
|
||||
"github.com/qdm12/gluetun/internal/models"
|
||||
)
|
||||
|
||||
type Configurator interface {
|
||||
@@ -15,15 +13,3 @@ type Configurator interface {
|
||||
stdoutLines, stderrLines chan string, waitError chan error, err error)
|
||||
Version(ctx context.Context) (version string, err error)
|
||||
}
|
||||
|
||||
type statusManager interface {
|
||||
GetStatus() (status models.LoopStatus)
|
||||
SetStatus(status models.LoopStatus)
|
||||
ApplyStatus(ctx context.Context, status models.LoopStatus) (
|
||||
outcome string, err error)
|
||||
}
|
||||
|
||||
type stateManager interface {
|
||||
GetSettings() (settings settings.DNS)
|
||||
SetSettings(ctx context.Context, settings settings.DNS) (outcome string)
|
||||
}
|
||||
|
||||
@@ -15,8 +15,8 @@ import (
|
||||
)
|
||||
|
||||
type Loop struct {
|
||||
statusManager statusManager
|
||||
state stateManager
|
||||
statusManager *loopstate.State
|
||||
state *state.State
|
||||
conf Configurator
|
||||
resolvConf string
|
||||
blockBuilder blacklist.Builder
|
||||
|
||||
@@ -1,21 +1,12 @@
|
||||
package httpproxy
|
||||
|
||||
type Logger interface {
|
||||
infoErrorer
|
||||
Debug(s string)
|
||||
infoer
|
||||
Warn(s string)
|
||||
errorer
|
||||
}
|
||||
|
||||
type infoErrorer interface {
|
||||
infoer
|
||||
errorer
|
||||
}
|
||||
|
||||
type infoer interface {
|
||||
Info(s string)
|
||||
}
|
||||
|
||||
type errorer interface {
|
||||
Error(s string)
|
||||
}
|
||||
|
||||
@@ -13,8 +13,8 @@ import (
|
||||
)
|
||||
|
||||
type Loop struct {
|
||||
statusManager statusManager
|
||||
state StateManager
|
||||
statusManager *loopstate.State
|
||||
state *state.State
|
||||
// Other objects
|
||||
logger Logger
|
||||
// Internal channels and locks
|
||||
@@ -25,18 +25,6 @@ type Loop struct {
|
||||
backoffTime time.Duration
|
||||
}
|
||||
|
||||
type statusManager interface {
|
||||
GetStatus() (status models.LoopStatus)
|
||||
SetStatus(status models.LoopStatus)
|
||||
ApplyStatus(ctx context.Context, status models.LoopStatus) (
|
||||
outcome string, err error)
|
||||
}
|
||||
|
||||
type StateManager interface {
|
||||
GetSettings() settings.HTTPProxy
|
||||
SetSettings(ctx context.Context, settings settings.HTTPProxy) (outcome string)
|
||||
}
|
||||
|
||||
const defaultBackoffTime = 10 * time.Second
|
||||
|
||||
func NewLoop(logger Logger, settings settings.HTTPProxy) *Loop {
|
||||
|
||||
@@ -2,29 +2,9 @@ package portforward
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/qdm12/gluetun/internal/configuration/settings"
|
||||
"github.com/qdm12/gluetun/internal/models"
|
||||
)
|
||||
|
||||
type PortAllower interface {
|
||||
SetAllowedPort(ctx context.Context, port uint16, intf string) (err error)
|
||||
RemoveAllowedPort(ctx context.Context, port uint16) (err error)
|
||||
}
|
||||
|
||||
type statusManager interface {
|
||||
GetStatus() (status models.LoopStatus)
|
||||
SetStatus(status models.LoopStatus)
|
||||
ApplyStatus(ctx context.Context, status models.LoopStatus) (
|
||||
outcome string, err error)
|
||||
}
|
||||
|
||||
type StateManager interface {
|
||||
GetSettings() (settings settings.PortForwarding)
|
||||
SetSettings(ctx context.Context,
|
||||
settings settings.PortForwarding) (outcome string)
|
||||
GetPortForwarded() (port uint16)
|
||||
SetPortForwarded(port uint16)
|
||||
GetStartData() (startData StartData)
|
||||
SetStartData(startData StartData)
|
||||
}
|
||||
|
||||
@@ -13,8 +13,8 @@ import (
|
||||
)
|
||||
|
||||
type Loop struct {
|
||||
statusManager statusManager
|
||||
state StateManager
|
||||
statusManager *loopstate.State
|
||||
state *state.State
|
||||
// Objects
|
||||
client *http.Client
|
||||
portAllower PortAllower
|
||||
|
||||
@@ -27,7 +27,7 @@ func (p *Provider) GetConnection(selection settings.ServerSelection) (
|
||||
}
|
||||
}
|
||||
|
||||
func getOpenVPNConnection(extractor extractor,
|
||||
func getOpenVPNConnection(extractor Extractor,
|
||||
selection settings.ServerSelection) (
|
||||
connection models.Connection, err error) {
|
||||
_, connection, err = extractor.Data(*selection.OpenVPN.ConfFile)
|
||||
|
||||
@@ -2,7 +2,7 @@ package custom
|
||||
|
||||
import "github.com/qdm12/gluetun/internal/models"
|
||||
|
||||
type extractor interface {
|
||||
type Extractor interface {
|
||||
Data(filepath string) (lines []string,
|
||||
connection models.Connection, err error)
|
||||
}
|
||||
|
||||
@@ -2,20 +2,19 @@ package custom
|
||||
|
||||
import (
|
||||
"github.com/qdm12/gluetun/internal/constants/providers"
|
||||
"github.com/qdm12/gluetun/internal/openvpn/extract"
|
||||
"github.com/qdm12/gluetun/internal/provider/common"
|
||||
"github.com/qdm12/gluetun/internal/provider/utils"
|
||||
)
|
||||
|
||||
type Provider struct {
|
||||
extractor extractor
|
||||
extractor Extractor
|
||||
utils.NoPortForwarder
|
||||
common.Fetcher
|
||||
}
|
||||
|
||||
func New() *Provider {
|
||||
func New(extractor Extractor) *Provider {
|
||||
return &Provider{
|
||||
extractor: extract.New(),
|
||||
extractor: extractor,
|
||||
NoPortForwarder: utils.NewNoPortForwarding(providers.Custom),
|
||||
Fetcher: utils.NewNoFetcher(providers.Custom),
|
||||
}
|
||||
|
||||
@@ -43,14 +43,20 @@ type Storage interface {
|
||||
GetServerByName(provider, name string) (server models.Server, ok bool)
|
||||
}
|
||||
|
||||
type Extractor interface {
|
||||
Data(filepath string) (lines []string,
|
||||
connection models.Connection, err error)
|
||||
}
|
||||
|
||||
func NewProviders(storage Storage, timeNow func() time.Time,
|
||||
updaterWarner common.Warner, client *http.Client, unzipper common.Unzipper,
|
||||
parallelResolver common.ParallelResolver, ipFetcher common.IPFetcher) *Providers {
|
||||
parallelResolver common.ParallelResolver, ipFetcher common.IPFetcher,
|
||||
extractor custom.Extractor) *Providers {
|
||||
randSource := rand.NewSource(timeNow().UnixNano())
|
||||
|
||||
//nolint:lll
|
||||
providerNameToProvider := map[string]Provider{
|
||||
providers.Custom: custom.New(),
|
||||
providers.Custom: custom.New(extractor),
|
||||
providers.Cyberghost: cyberghost.New(storage, randSource, parallelResolver),
|
||||
providers.Expressvpn: expressvpn.New(storage, randSource, unzipper, updaterWarner, parallelResolver),
|
||||
providers.Fastestvpn: fastestvpn.New(storage, randSource, unzipper, updaterWarner, parallelResolver),
|
||||
|
||||
@@ -4,25 +4,9 @@ import (
|
||||
"context"
|
||||
"net"
|
||||
|
||||
"github.com/qdm12/gluetun/internal/configuration/settings"
|
||||
"github.com/qdm12/gluetun/internal/models"
|
||||
"github.com/qdm12/gluetun/internal/publicip/ipinfo"
|
||||
)
|
||||
|
||||
type statusManager interface {
|
||||
GetStatus() (status models.LoopStatus)
|
||||
SetStatus(status models.LoopStatus)
|
||||
ApplyStatus(ctx context.Context, status models.LoopStatus) (
|
||||
outcome string, err error)
|
||||
}
|
||||
|
||||
type stateManager interface {
|
||||
GetData() (data ipinfo.Response)
|
||||
SetData(data ipinfo.Response)
|
||||
GetSettings() (settings settings.PublicIP)
|
||||
SetSettings(ctx context.Context, settings settings.PublicIP) (outcome string)
|
||||
}
|
||||
|
||||
type Fetcher interface {
|
||||
FetchInfo(ctx context.Context, ip net.IP) (
|
||||
result ipinfo.Response, err error)
|
||||
|
||||
@@ -11,8 +11,8 @@ import (
|
||||
)
|
||||
|
||||
type Loop struct {
|
||||
statusManager statusManager
|
||||
state stateManager
|
||||
statusManager *loopstate.State
|
||||
state *state.State
|
||||
// Objects
|
||||
fetcher Fetcher
|
||||
logger Logger
|
||||
|
||||
@@ -32,11 +32,6 @@ type OpenVPN interface {
|
||||
WriteAuthFile(user, password string) error
|
||||
}
|
||||
|
||||
type StateManager interface {
|
||||
GetSettings() (vpn settings.VPN)
|
||||
SetSettings(ctx context.Context, vpn settings.VPN) (outcome string)
|
||||
}
|
||||
|
||||
type Providers interface {
|
||||
Get(providerName string) provider.Provider
|
||||
}
|
||||
@@ -73,16 +68,3 @@ type PublicIPLoop interface {
|
||||
outcome string, err error)
|
||||
SetData(data ipinfo.Response)
|
||||
}
|
||||
|
||||
type statusManager interface {
|
||||
GetStatus() (status models.LoopStatus)
|
||||
SetStatus(status models.LoopStatus)
|
||||
ApplyStatus(ctx context.Context, status models.LoopStatus) (
|
||||
outcome string, err error)
|
||||
Lock()
|
||||
Unlock()
|
||||
}
|
||||
|
||||
type runner interface {
|
||||
Run(ctx context.Context, waitError chan<- error, tunnelReady chan<- struct{})
|
||||
}
|
||||
|
||||
@@ -14,8 +14,8 @@ import (
|
||||
)
|
||||
|
||||
type Loop struct {
|
||||
statusManager statusManager
|
||||
state StateManager
|
||||
statusManager *loopstate.State
|
||||
state *state.State
|
||||
providers Providers
|
||||
storage Storage
|
||||
// Fixed parameters
|
||||
|
||||
@@ -23,7 +23,9 @@ func (l *Loop) Run(ctx context.Context, done chan<- struct{}) {
|
||||
providerConf := l.providers.Get(*settings.Provider.Name)
|
||||
|
||||
portForwarding := *settings.Provider.PortForwarding.Enabled
|
||||
var vpnRunner runner
|
||||
var vpnRunner interface {
|
||||
Run(ctx context.Context, waitError chan<- error, tunnelReady chan<- struct{})
|
||||
}
|
||||
var serverName, vpnInterface string
|
||||
var err error
|
||||
subLogger := l.logger.New(log.SetComponent(settings.Type))
|
||||
|
||||
Reference in New Issue
Block a user