Quentin McGaw
4ba159e483
chore(all): review error wrappings
...
- remove repetitive `cannot` and `failed` prefixes
- rename `unmarshaling` to `decoding`
2023-04-01 16:57:18 +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
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
90dd3b1b5c
chore(storage): only pass hardcoded versions to read file
2022-05-28 22:36:16 +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
920ad8b54b
chore(errors): review all errors in codebase
2022-02-20 02:58:16 +00:00
Quentin McGaw
e0e3ca3832
Feat: Perfect privacy support ( #606 )
2021-10-05 10:44:15 -07:00
Quentin McGaw (desktop)
1d25a0e18c
Fix: server data version diff when reading file
2021-09-30 15:22:57 +00:00
Quentin McGaw
985cf7b7dd
Feat: ExpressVPN support ( #623 )
2021-09-23 10:19:30 -07:00
Quentin McGaw
d8e008606f
Feat: WeVPN support ( #591 )
2021-09-23 07:58:13 -07:00
Quentin McGaw (desktop)
3863cc439e
Maint: internal/storage rework
...
- No more global variables
- Inject merged servers to configuration package
- Fix #566 : configuration parsing to use persisted servers.json
- Move server data files from `internal/constants` to `internal/storage`
2021-08-27 19:10:03 +00:00
Quentin McGaw (desktop)
3c44214d01
Maint: pass only single strings to logger methods
...
- Do not assume formatting from logger's interface
- Allow to change golibs in the future to accept only strings for logger methods
2021-07-23 17:36:08 +00:00
Quentin McGaw (desktop)
21f4cf7ab5
Maint: do not mock os functions
...
- Use filepaths with /tmp for tests instead
- Only mock functions where filepath can't be specified such as user.Lookup
2021-07-23 16:06:19 +00:00
Quentin McGaw
2c77b73ebc
IPVanish support ( #475 )
...
- Fix #410 and #416
2021-06-20 09:21:48 -07:00
Quentin McGaw
d81d4bbda3
VPN Unlimited support ( #499 )
...
- Fixes #420
- Revert to docker/build-push-action@v2.4.0
2021-06-20 09:18:03 -07:00
Quentin McGaw (desktop)
8b8bab5c58
Feature: IVPN support
2021-05-31 00:11:16 +00:00
Quentin McGaw
442340dcf2
Feature: create /gluetun if it does not exist
2021-05-06 21:10:28 +00:00
Quentin McGaw
954e3c70b2
Feature: Protonvpn support ( #437 clone on #434 )
2021-04-25 15:44:45 -04:00
Quentin McGaw
9f4077d35d
Feature: FastestVPN support ( #383 )
2021-03-05 23:12:19 -05:00
Quentin McGaw
9509b855f1
Feature: PrivateVPN support ( #393 )
2021-03-05 22:58:57 -05:00
Quentin McGaw
be72f4a046
Feature: Hide My Ass VPN provider support ( #401 )
2021-03-05 22:45:54 -05:00
Quentin McGaw
1fd3ee7149
Maintenance: sort alphabetically providers in code
2021-02-26 12:58:58 +00:00
Quentin McGaw
f1b1001863
Torguard support ( #387 )
...
See discussion on #374
2021-02-17 20:36:30 -05:00
Quentin McGaw
5dcbe79fa8
Move OS package to golibs
2021-01-02 01:57:00 +00:00
Quentin McGaw
c5a7a83d3a
Bug fix: do not fail if servers.json is empty
2020-12-31 21:19:29 +00:00
Quentin McGaw
bedf613cff
Code maintenance: storage merging reworked
2020-12-29 17:49:38 +00:00
Quentin McGaw
73479bab26
Code maintenance: OS package for file system
...
- OS custom internal package for file system interaction
- Remove fileManager external dependency
- Closer API to Go's native API on the OS
- Create directories at startup
- Better testability
- Move Unsetenv to os interface
2020-12-29 00:55:31 +00:00
Quentin McGaw
f1e4b9937b
Privado support, fix #285 ( #288 )
2020-11-08 20:56:49 -05:00
Quentin McGaw
a7a7efe9c3
Remove PIA v3 servers support
2020-11-05 02:10:34 +00:00
Quentin McGaw
9c73faaaeb
Add linters and fix lint issues
2020-10-20 02:45:28 +00:00
Quentin McGaw
d463e4cb69
New PIA servers support ( #227 )
...
* Adapt storage: SyncServers write to file option, export FlushToFile
* CLI built-in updater for old and new PIA servers
* Update hardcoded IP addresses for PIA old and new servers
* Add PIA old to allServers struct and update timestamps
* Adapt code to work with new and old PIA servers
* Remove PIA subdomains (unneeded) from resolver tool
2020-08-28 08:17:04 -04:00
Quentin McGaw
aa9693a84d
Persistent server pools ( #226 )
...
* GetAllServers with version & timestamp tests
* Storage package to sync servers
* Use storage Sync to get and use servers
2020-08-25 19:38:50 -04:00