Quentin McGaw
11b55abff3
fix(protonvpn): remove duplicate entry IPs
2022-06-09 22:11:40 +00:00
Quentin McGaw
7f32b43895
fix(pia): load custom PIA certificate for API
2022-06-09 17:11:24 +00:00
Quentin McGaw
899f10c35e
chore(resolver): export structs instead of interfaces
2022-06-09 17:11:24 +00:00
Quentin McGaw
415cb7a945
chore(updater): create resolver in provider updater
...
- Pass min servers to resolve call
- Set settings when constructing resolver
- Construct resolver in each provider updater
- No more common resolver for all providers
2022-06-09 17:11:24 +00:00
Quentin McGaw
e37f557cd5
chore(provider): add Name() method per provider
2022-06-09 17:11:24 +00:00
Quentin McGaw
79f213d97a
chore(updater): rename GetServers to FetchServers
2022-06-09 17:11:24 +00:00
Quentin McGaw
11e1c9f9bb
feat(protonvpn): update hardcoded servers data
2022-06-09 16:41:04 +00:00
Quentin McGaw
3ff3816d77
fix(pia): restrict custom port choice
2022-06-09 16:36:59 +00:00
Quentin McGaw
c0bdae8baf
fix(protonvpn): restrict custom port choice
2022-06-09 16:36:17 +00:00
Quentin McGaw
46e6bd16c9
fix(pia): remove duplicate log of pf data expiration
2022-06-09 16:34:28 +00:00
Quentin McGaw
5359257c65
hotfix(pia): port forwarding to use server name
2022-06-06 18:09:21 +00:00
Quentin McGaw
5e659dc5b3
feat(storage): add keep field for servers
2022-06-06 03:04:58 +00:00
Quentin McGaw
b71c8e58f4
fix(vpn): do not close wait error channel on consumer side
2022-06-06 02:56:40 +00:00
Quentin McGaw
e998372ce2
feat(ipvanish): update servers data and remove duplicates
2022-06-06 02:24:58 +00:00
Quentin McGaw
1216326867
chore(storage): common sorting for all servers
2022-06-06 02:24:54 +00:00
Quentin McGaw
f53f0cfffd
feat(surfshark): update servers data
2022-06-06 01:41:00 +00:00
Quentin McGaw
684cef6eab
hotfix(openvpn): openvpn udp specific lines added
2022-06-05 15:48:14 +00:00
Quentin McGaw
b4f6ae030d
hotfix(purevpn): add missing key-direction 1
2022-06-05 15:44:33 +00:00
Quentin McGaw
e95c94294f
feat(pia): update servers data
2022-06-05 15:20:03 +00:00
Quentin McGaw
36b504609b
chore(all): memory and thread safe storage
...
- settings: get filter choices from storage for settings validation
- updater: update servers to the storage
- storage: minimal deep copying and data duplication
- storage: add merged servers mutex for thread safety
- connection: filter servers in storage
- formatter: format servers to Markdown in storage
- PIA: get server by name from storage directly
- Updater: get servers count from storage directly
- Updater: equality check done in storage, fix #882
2022-06-05 15:19:16 +00:00
Quentin McGaw
1e6b4ed5eb
chore(provider): rename test functions to Test_Provider_GetConnection
2022-06-05 14:59:47 +00:00
Quentin McGaw
0549326dfb
chore(updater): tiny code changes
...
- Remove unneeded ctx error check in cyberghost updating code
- Move global scope caser to function local scope
- Return error if updating a single provider in `UpdateServers`
- Add comments on different error paths in `UpdateServers`
2022-06-04 13:50:29 +00:00
Quentin McGaw
87c6ebe1c5
feat(purevpn): update servers data
2022-05-31 14:17:33 +00:00
Quentin McGaw
f0afac243b
feat(privatevpn): update servers data
2022-05-31 14:16:41 +00:00
Quentin McGaw
8e1316bd8a
chore(storage): minor refactoring
...
- Unexport `SyncServers`
- Re-generate mock file
- Remove single use function
2022-05-28 22:51:19 +00:00
Quentin McGaw
b345368257
hotfix(storage): JSON provider versioning safety
2022-05-28 22:44:14 +00:00
Quentin McGaw
90dd3b1b5c
chore(storage): only pass hardcoded versions to read file
2022-05-28 22:36:16 +00:00
Quentin McGaw
22455ac76f
chore(updater): shared not enough servers error
2022-05-28 22:02:18 +00:00
Quentin McGaw
eb18eaf0a9
fix(wireguard): continue on ipv6 route add permission denial
2022-05-28 21:06:21 +00:00
Quentin McGaw
90c6c8485b
chore(updater): common GetServers signature
...
- Log warnings when running outside of CLI mode
- Remove updater CLI bool setting
- Warnings are logged in updating functions
2022-05-28 20:58:50 +00:00
Quentin McGaw
381089ebdf
chore(storage): rename InfoErrorer to Infoer (bad name)
2022-05-28 16:05:19 +00:00
Quentin McGaw
292813831d
chore(updater): internal/updater/loop subpackage
...
- Do not export updater interface
- Export updater struct
- Define local interfaces where needed
- More restrictive updater loop interface in http control server
- Inject `Updater` into updater loop as an interface
2022-05-28 16:03:59 +00:00
Quentin McGaw
991d75a1d0
chore(provider): rename all BuildConf to OpenVPNConfig
2022-05-27 22:04:14 +00:00
Quentin McGaw
d9dfb81cb4
feat(perfect privacy): update servers data
2022-05-27 21:56:52 +00:00
Quentin McGaw
67a9cacb61
hotfix(custom): allow empty servers data
2022-05-27 21:47:41 +00:00
Quentin McGaw
a91eb95456
chore(internal/provider): rename all structs to Provider
2022-05-27 18:05:04 +00:00
Quentin McGaw
a295269518
hotfix(formatter): cyberghost not forced as format
2022-05-27 17:50:14 +00:00
Quentin McGaw
42904b6749
chore(all): move sub-packages to internal/provider
2022-05-27 17:48:51 +00:00
Quentin McGaw
364f9de756
feat(env): clean env variable values
...
- Remove surrounding spaces
- Remove suffix new line characters
2022-05-27 17:27:54 +00:00
Quentin McGaw
7fd45cf17f
feat(wireguard): add debug logs for IPv6 detection
...
- To debug issue #998
- Enable with `LOG_LEVEL=debug`
2022-05-27 17:27:53 +00:00
Quentin McGaw
4bcd8ee9f5
chore(constants): add internal/constants/openvpn package
2022-05-27 16:29:49 +00:00
Quentin McGaw
1b2bcf901a
chore(surfshark): add package internal/provider/surshark/server
...
- Merge `internal/models/location.go` and `internal/constants/surfshark.go` into `internal/provider/surfshark/servers/locationdata.go`
2022-05-27 16:29:48 +00:00
Quentin McGaw
306de8feda
chore(constants): add internal/provider/privateinternetacess/presets package
2022-05-27 16:29:48 +00:00
Quentin McGaw
e3696f1eea
chore(constants): inline Openvpn values in each provider
2022-05-27 16:29:47 +00:00
Quentin McGaw
7ff14a356c
chore(internal/providers): simplify OpenVPN config building
2022-05-27 16:29:47 +00:00
Quentin McGaw
4bde50fb3a
chore(all): use casers instead of strings.Title
...
- Add `golang.org/x/text` dependency
- Update code to use `cases.Title(language.English)`
2022-05-27 16:29:41 +00:00
Quentin McGaw
bd0868d764
chore(all): provider to servers map in allServers
...
- Simplify formatting CLI
- Simplify updater code
- Simplify filter choices for config validation
- Simplify all servers deep copying
- Custom JSON marshaling methods for `AllServers`
- Simplify provider constructor switch
- Simplify storage merging
- Simplify storage reading and extraction
- Simplify updating code
2022-05-27 16:17:53 +00:00
Quentin McGaw
5ffe8555ba
chore(lint): upgrade golangci-lint from v1.44.2 to v1.46.2
...
- Add linter `execinquery`
- Add linter `nosprintfhostport`
2022-05-27 00:52:25 +00:00
Quentin McGaw
78ccbb21cd
change(servers.json): change provider names
...
- From `pia` to `private internet access`
- From `perfectprivacy` to `perfect privacy`
- From `vpnunlimited` to `vpn unlimited`
- This is done to match string constants in the code for another refactor
- Reset each of these providers servers version to `1`.
2022-05-27 00:47:58 +00:00
Quentin McGaw
92dbe1ebad
chore(cli): refactor FormatServers to use provider strings
2022-05-08 19:05:36 +00:00