mirror of
https://github.com/qdm12/gluetun.git
synced 2026-06-21 03:14:10 +02:00
chore(wevpn): removed since it is now decomissioned
This commit is contained in:
@@ -1,76 +0,0 @@
|
||||
package updater
|
||||
|
||||
// getAvailableCities get available cities as listed on the WeVPN website.
|
||||
func getAvailableCities() (cities []string) {
|
||||
return []string{
|
||||
"Cairo",
|
||||
"Chennai",
|
||||
"Denizli",
|
||||
"Dubai",
|
||||
"Johannesburg",
|
||||
"Lagos",
|
||||
"Tel Aviv",
|
||||
"Atlanta",
|
||||
"Buenos Aires",
|
||||
"Chicago",
|
||||
"Dallas",
|
||||
"Denver",
|
||||
"Los Angeles",
|
||||
"Los Angeles-PF",
|
||||
"Mexico City",
|
||||
"Miami",
|
||||
"Montreal",
|
||||
"New Jersey",
|
||||
"New York",
|
||||
"New York-PF",
|
||||
"Phoenix",
|
||||
"Salt Lake City",
|
||||
"San Jose",
|
||||
"Sao Paulo",
|
||||
"Seattle",
|
||||
"Toronto",
|
||||
"Vancouver",
|
||||
"Washington DC",
|
||||
"Auckland",
|
||||
"Hanoi",
|
||||
"Hong Kong",
|
||||
"Jakarta",
|
||||
"Manila",
|
||||
"Melbourne",
|
||||
"Moscow",
|
||||
"Seoul",
|
||||
"Sibu",
|
||||
"Singapore",
|
||||
"St Petersburg",
|
||||
"Sydney",
|
||||
"Taipei",
|
||||
"Tokyo",
|
||||
"Amsterdam",
|
||||
"Athens",
|
||||
"Belgrade",
|
||||
"Brussels",
|
||||
"Bucharest",
|
||||
"Budapest",
|
||||
"Copenhagen",
|
||||
"Dublin",
|
||||
"Frankfurt",
|
||||
"Helsinki",
|
||||
"Kiev",
|
||||
"Lisbon",
|
||||
"London",
|
||||
"London-PF",
|
||||
"Luxembourg",
|
||||
"Madrid",
|
||||
"Manchester",
|
||||
"Milan",
|
||||
"Oslo",
|
||||
"Oulu",
|
||||
"Paris",
|
||||
"Prague",
|
||||
"Sofia",
|
||||
"Stockholm",
|
||||
"Vienna",
|
||||
"Warsaw",
|
||||
"Zurich",
|
||||
}
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
package updater
|
||||
|
||||
import "strings"
|
||||
|
||||
func getHostnameFromCity(city string) (hostname string) {
|
||||
host := strings.ToLower(city)
|
||||
host = strings.ReplaceAll(host, ".", "")
|
||||
host = strings.ReplaceAll(host, " ", "")
|
||||
|
||||
specialCases := map[string]string{
|
||||
"washingtondc": "washington",
|
||||
"mexicocity": "mexico",
|
||||
"denizli": "bursa",
|
||||
"sibu": "kualalumpur",
|
||||
"kiev": "kyiv",
|
||||
"stpetersburg": "petersburg",
|
||||
}
|
||||
if specialHost, ok := specialCases[host]; ok {
|
||||
host = specialHost
|
||||
}
|
||||
|
||||
hostname = host + ".wevpn.com"
|
||||
return hostname
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
package updater
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/qdm12/gluetun/internal/updater/resolver"
|
||||
)
|
||||
|
||||
func parallelResolverSettings(hosts []string) (settings resolver.ParallelSettings) {
|
||||
const (
|
||||
maxFailRatio = 0.1
|
||||
maxDuration = 20 * time.Second
|
||||
betweenDuration = time.Second
|
||||
maxNoNew = 2
|
||||
maxFails = 2
|
||||
)
|
||||
return resolver.ParallelSettings{
|
||||
Hosts: hosts,
|
||||
MaxFailRatio: maxFailRatio,
|
||||
Repeat: resolver.RepeatSettings{
|
||||
MaxDuration: maxDuration,
|
||||
BetweenDuration: betweenDuration,
|
||||
MaxNoNew: maxNoNew,
|
||||
MaxFails: maxFails,
|
||||
SortIPs: true,
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
package updater
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"sort"
|
||||
|
||||
"github.com/qdm12/gluetun/internal/constants/vpn"
|
||||
"github.com/qdm12/gluetun/internal/models"
|
||||
"github.com/qdm12/gluetun/internal/provider/common"
|
||||
)
|
||||
|
||||
var (
|
||||
ErrGetZip = errors.New("cannot get OpenVPN ZIP file")
|
||||
ErrGetAPI = errors.New("cannot fetch server information from API")
|
||||
)
|
||||
|
||||
func (u *Updater) FetchServers(ctx context.Context, minServers int) (
|
||||
servers []models.Server, err error,
|
||||
) {
|
||||
cities := getAvailableCities()
|
||||
servers = make([]models.Server, 0, len(cities))
|
||||
hostnames := make([]string, len(cities))
|
||||
hostnameToCity := make(map[string]string, len(cities))
|
||||
|
||||
for i, city := range cities {
|
||||
hostname := getHostnameFromCity(city)
|
||||
hostnames[i] = hostname
|
||||
hostnameToCity[hostname] = city
|
||||
}
|
||||
|
||||
resolverSettings := parallelResolverSettings(hostnames)
|
||||
hostnameToIPs, warnings, err := u.parallelResolver.Resolve(ctx, resolverSettings)
|
||||
for _, warning := range warnings {
|
||||
u.warner.Warn(warning)
|
||||
}
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if len(hostnameToIPs) < minServers {
|
||||
return nil, fmt.Errorf("%w: %d and expected at least %d",
|
||||
common.ErrNotEnoughServers, len(servers), minServers)
|
||||
}
|
||||
|
||||
for hostname, ips := range hostnameToIPs {
|
||||
city := hostnameToCity[hostname]
|
||||
server := models.Server{
|
||||
VPN: vpn.OpenVPN,
|
||||
City: city,
|
||||
Hostname: hostname,
|
||||
UDP: true,
|
||||
IPs: ips,
|
||||
}
|
||||
servers = append(servers, server)
|
||||
}
|
||||
|
||||
sort.Sort(models.SortableServers(servers))
|
||||
|
||||
return servers, nil
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
package updater
|
||||
|
||||
import "github.com/qdm12/gluetun/internal/provider/common"
|
||||
|
||||
type Updater struct {
|
||||
parallelResolver common.ParallelResolver
|
||||
warner common.Warner
|
||||
}
|
||||
|
||||
func New(warner common.Warner, parallelResolver common.ParallelResolver) *Updater {
|
||||
return &Updater{
|
||||
parallelResolver: parallelResolver,
|
||||
warner: warner,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user