311 lines
8.6 KiB
Go
311 lines
8.6 KiB
Go
|
|
package constants
|
||
|
|
|
||
|
|
import (
|
||
|
|
"github.com/qdm12/private-internet-access-docker/internal/models"
|
||
|
|
)
|
||
|
|
|
||
|
|
const (
|
||
|
|
WindscribeCertificate = "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"
|
||
|
|
WindscribeOpenvpnStaticKeyV1 = "5801926a57ac2ce27e3dfd1dd6ef82042d82bd4f3f0021296f57734f6f1ea714a6623845541c4b0c3dea0a050fe6746cb66dfab14cda27e5ae09d7c155aa554f399fa4a863f0e8c1af787e5c602a801d3a2ec41e395a978d56729457fe6102d7d9e9119aa83643210b33c678f9d4109e3154ac9c759e490cb309b319cf708cae83ddadc3060a7a26564d1a24411cd552fe6620ea16b755697a4fc5e6e9d0cfc0c5c4a1874685429046a424c026db672e4c2c492898052ba59128d46200b40f880027a8b6610a4d559bdc9346d33a0a6b08e75c7fd43192b162bfd0aef0c716b31584827693f676f9a5047123466f0654eade34972586b31c6ce7e395f4b478cb"
|
||
|
|
)
|
||
|
|
|
||
|
|
func WindscribeRegionChoices() (choices []string) {
|
||
|
|
uniqueChoices := map[string]struct{}{}
|
||
|
|
for _, server := range WindscribeServers() {
|
||
|
|
uniqueChoices[string(server.Region)] = struct{}{}
|
||
|
|
}
|
||
|
|
for choice := range uniqueChoices {
|
||
|
|
choices = append(choices, choice)
|
||
|
|
}
|
||
|
|
return choices
|
||
|
|
}
|
||
|
|
|
||
|
|
func WindscribeServers() []models.WindscribeServer {
|
||
|
|
return []models.WindscribeServer{
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("albania"),
|
||
|
|
Subdomain: "al",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("argentina"),
|
||
|
|
Subdomain: "ar",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("argentina"),
|
||
|
|
Subdomain: "ar",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("australia"),
|
||
|
|
Subdomain: "au",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("austria"),
|
||
|
|
Subdomain: "at",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("azerbaijan"),
|
||
|
|
Subdomain: "az",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("belgium"),
|
||
|
|
Subdomain: "be",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("bosnia"),
|
||
|
|
Subdomain: "ba",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("brazil"),
|
||
|
|
Subdomain: "br",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("bulgaria"),
|
||
|
|
Subdomain: "bg",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("canada east"),
|
||
|
|
Subdomain: "ca",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("canada west"),
|
||
|
|
Subdomain: "ca-west",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("colombia"),
|
||
|
|
Subdomain: "co",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("croatia"),
|
||
|
|
Subdomain: "hr",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("cyprus"),
|
||
|
|
Subdomain: "cy",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("czech republic"),
|
||
|
|
Subdomain: "cz",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("denmark"),
|
||
|
|
Subdomain: "dk",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("estonia"),
|
||
|
|
Subdomain: "ee",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("egypt"),
|
||
|
|
Subdomain: "eg",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("fake antarctica"),
|
||
|
|
Subdomain: "aq",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("finland"),
|
||
|
|
Subdomain: "fi",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("france"),
|
||
|
|
Subdomain: "fr",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("georgia"),
|
||
|
|
Subdomain: "ge",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("germany"),
|
||
|
|
Subdomain: "de",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("greece"),
|
||
|
|
Subdomain: "gr",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("hong kong"),
|
||
|
|
Subdomain: "hk",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("hungary"),
|
||
|
|
Subdomain: "hu",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("iceland"),
|
||
|
|
Subdomain: "is",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("india"),
|
||
|
|
Subdomain: "in",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("indonesia"),
|
||
|
|
Subdomain: "id",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("ireland"),
|
||
|
|
Subdomain: "ie",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("israel"),
|
||
|
|
Subdomain: "il",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("italy"),
|
||
|
|
Subdomain: "it",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("japan"),
|
||
|
|
Subdomain: "jp",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("latvia"),
|
||
|
|
Subdomain: "lv",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("lithuania"),
|
||
|
|
Subdomain: "lt",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("macedonia"),
|
||
|
|
Subdomain: "mk",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("malaysia"),
|
||
|
|
Subdomain: "my",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("mexico"),
|
||
|
|
Subdomain: "mx",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("moldova"),
|
||
|
|
Subdomain: "md",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("netherlands"),
|
||
|
|
Subdomain: "nl",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("new zealand"),
|
||
|
|
Subdomain: "nz",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("norway"),
|
||
|
|
Subdomain: "no",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("philippines"),
|
||
|
|
Subdomain: "ph",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("poland"),
|
||
|
|
Subdomain: "pl",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("portugal"),
|
||
|
|
Subdomain: "pt",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("romania"),
|
||
|
|
Subdomain: "ro",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("russia"),
|
||
|
|
Subdomain: "ru",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("serbia"),
|
||
|
|
Subdomain: "rs",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("singapore"),
|
||
|
|
Subdomain: "sg",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("slovakia"),
|
||
|
|
Subdomain: "sk",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("slovenia"),
|
||
|
|
Subdomain: "si",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("south africa"),
|
||
|
|
Subdomain: "za",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("south korea"),
|
||
|
|
Subdomain: "kr",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("spain"),
|
||
|
|
Subdomain: "es",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("sweden"),
|
||
|
|
Subdomain: "se",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("switzerland"),
|
||
|
|
Subdomain: "ch",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("thailand"),
|
||
|
|
Subdomain: "th",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("tunisia"),
|
||
|
|
Subdomain: "tn",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("turkey"),
|
||
|
|
Subdomain: "tr",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("ukraine"),
|
||
|
|
Subdomain: "ua",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("united arab emirates"),
|
||
|
|
Subdomain: "ae",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("united kingdom"),
|
||
|
|
Subdomain: "uk",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("us central"),
|
||
|
|
Subdomain: "us-central",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("us east"),
|
||
|
|
Subdomain: "us-east",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("us west"),
|
||
|
|
Subdomain: "us-west",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("vietnam"),
|
||
|
|
Subdomain: "vn",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("windflix ca"),
|
||
|
|
Subdomain: "wf-ca",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("windflix jp"),
|
||
|
|
Subdomain: "wf-jp",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("windflix uk"),
|
||
|
|
Subdomain: "wf-uk",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
Region: models.WindscribeRegion("windflix us"),
|
||
|
|
Subdomain: "wf-us",
|
||
|
|
},
|
||
|
|
}
|
||
|
|
}
|