2021-05-31 00:11:16 +00:00
|
|
|
package ivpn
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"math/rand"
|
|
|
|
|
|
2021-07-26 16:29:40 +00:00
|
|
|
"github.com/qdm12/gluetun/internal/constants"
|
2021-05-31 00:11:16 +00:00
|
|
|
"github.com/qdm12/gluetun/internal/models"
|
2021-07-26 16:29:40 +00:00
|
|
|
"github.com/qdm12/gluetun/internal/provider/utils"
|
2021-05-31 00:11:16 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
type Ivpn struct {
|
|
|
|
|
servers []models.IvpnServer
|
|
|
|
|
randSource rand.Source
|
2021-07-26 16:29:40 +00:00
|
|
|
utils.NoPortForwarder
|
2021-05-31 00:11:16 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func New(servers []models.IvpnServer, randSource rand.Source) *Ivpn {
|
|
|
|
|
return &Ivpn{
|
2021-07-26 16:29:40 +00:00
|
|
|
servers: servers,
|
|
|
|
|
randSource: randSource,
|
|
|
|
|
NoPortForwarder: utils.NewNoPortForwarding(constants.Ivpn),
|
2021-05-31 00:11:16 +00:00
|
|
|
}
|
|
|
|
|
}
|