Quentin McGaw
62ad8bcd8f
fix(pia): set port forward file owned with PUID and PGID
2022-06-25 15:44:29 +00:00
Quentin McGaw
2805c3388a
hotfix(fastestvpn): add remote-cert-tls server
2022-06-25 15:16:38 +00:00
Quentin McGaw
535297dcf5
chore: extract.PEM replaces PEM parse functions
2022-06-24 23:10:00 +00:00
Quentin McGaw
b3b6933ef4
chore(lint): review exclude rules
2022-06-20 13:36:24 +00:00
Quentin McGaw
edbbcc041a
fix(protonvpn): set free field for free servers
2022-06-18 18:30:27 +00:00
Quentin McGaw
d430ebc34f
feat(protonvpn): update servers data
2022-06-18 18:30:05 +00:00
Quentin McGaw
0e9abc6e1d
chore(tests): modify JSON tests to not need all providers listed
2022-06-18 15:08:59 +00:00
Quentin McGaw
75454be6b6
fix(pprof): override operation in global settings
2022-06-18 00:16:14 +00:00
Quentin McGaw
89b6a031b0
chore(vpn): add check for empty public key for Wireguard
2022-06-12 15:59:48 +00:00
Quentin McGaw
d4c6a9bdb5
feat(storage): log time difference as a friendly duration
2022-06-12 15:35:04 +00:00
Quentin McGaw
9898387579
feat(updater): Configurable min ratio
...
- `UPDATER_MIN_RATIO` variable
- `-minratio` flag for CLI operation
2022-06-12 14:03:00 +00:00
Quentin McGaw
1ea15a1a13
chore(protonvpn): document to remove SERVER_NAMES
2022-06-12 01:58:46 +00:00
Quentin McGaw
bda6707685
chore(all): remove unexported interfaces
2022-06-12 01:15:14 +00:00
Quentin McGaw
89277828ac
chore(publicip): internal/publicip/ipinfo package
2022-06-12 01:11:22 +00:00
Quentin McGaw
83b4a3fe55
chore(publicip): refactoring
...
- Exported `Fetcher` interface
- Inject `Fetcher` to publicip loop and updaters
- Get public IP and information at the same time
- Only query ipinfo.io
- Make `MultiInfo` part of the `Fetch` object
2022-06-12 00:46:08 +00:00
Quentin McGaw
45c9e780c0
chore(updater): rename presolver to parallelResolver
2022-06-11 20:12:35 +00:00
Quentin McGaw
33b8f5f596
chore(settings): updater DNS address as string
2022-06-11 20:11:20 +00:00
Quentin McGaw
447a7c9891
updater: refactoring and set DNS server correctly
...
- Fix CLI operation not setting DNS server
- Fix periodic operation not setting DNS server
- Set DNS address for resolution once at start for both CLI and periodic operation
- Inject resolver to each provider instead of creating it within
- Use resolver settings on every call to `.Resolve` method, instead of passing it to constructor
- Move out minServers check from resolver
2022-06-11 19:47:46 +00:00
Quentin McGaw
578ef768ab
chore(all): return concrete types, accept interfaces
...
- Remove exported interfaces unused locally
- Define interfaces to accept arguments
- Return concrete types, not interfaces
2022-06-11 01:34:30 +00:00
Quentin McGaw
0378fe4a7b
chore(all): Providers containing all provider objects
...
- Share the same providers for updater and vpn
- Initialise all providers at start
- Get from `Providers` instead of constructing on every run
2022-06-10 00:47:56 +00:00
Quentin McGaw
ebd94723c1
chore(updater): incorporate FetchServers method in Provider interface
...
- Each provider interface can now fetch updated servers data
- Rename each provider updater subpackage name to `updater`
- Updater constructor does not take a settings struct
- Updater update method takes in a slice of provider strings
2022-06-09 23:47:41 +00:00
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