Quentin McGaw
67a9cacb61
hotfix(custom): allow empty servers data
2022-05-27 21:47:41 +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
7ff14a356c
chore(internal/providers): simplify OpenVPN config building
2022-05-27 16:29:47 +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
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
1d94f8ab2b
chore(storage): remove unneeded VPN default
2022-04-23 11:09:04 +00:00
Quentin McGaw
e6c3cb078a
chore(storage): tcp and udp fields for all servers
...
- Updater code sets UDP and TCP compatibility for all providers
- Increase servers.json model versions for affected providers (mullvad, windscribe, privado, protonvpn, privatevpn)
- Remove retro-compatibility server defaults
- Update all affected providers servers data (mullvad, windscribe, privado, protonvpn, privatevpn)
2022-04-23 10:23:41 +00:00
Quentin McGaw
306d8494d6
hotfix(servers): assume UDP+TCP if not precised
2022-04-19 11:52:05 +00:00
Quentin McGaw
ac9571c6b2
chore(storage): runtime defaults on servers data
...
- `openvpn` default VPN protocol for servers
- True UDP if VPN protocol is Wireguard
2022-04-18 12:08:26 +00:00
Quentin McGaw
5d66c193aa
chore(models): common Server & Servers for all providers ( #943 )
2022-04-17 16:21:19 +00:00
Quentin McGaw
aa729515b9
chore(models): streamline all server models IPs ( #942 )
...
- Use `IPs []net.IP` for all server models
- Use `ips` JSON field for all server models
- Merge IPv4 and IPv6 addresses together for Mullvad
2022-04-17 16:18:34 +00:00
Quentin McGaw
5d7b278957
change(protonvpn): change server name JSON field from name to server_name
2022-04-16 17:51:15 +00:00
Quentin McGaw
acdbe2163e
chore(protonvpn): remove unused exit IPs field
2022-03-16 09:44:57 +00:00
Quentin McGaw
c3a231e0ab
chore(storage): omit empty fields in servers.json
2022-03-16 09:43:47 +00:00
Quentin McGaw (desktop)
afbea415e3
Maint: replace ❎ with ❌ for markdown generated tables
2021-10-25 22:38:59 +00:00
Quentin McGaw
e0e3ca3832
Feat: Perfect privacy support ( #606 )
2021-10-05 10:44:15 -07:00
Quentin McGaw (desktop)
a432de95a9
Maint: deduplicate ProtonVPN servers by entry IP
2021-09-30 15:23:18 +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)
f9aadeef1c
Maint: Remove CYBERGHOST_GROUP (change)
...
- It does not make any sense with newer server data
- It was to be deprecated anyway
2021-09-23 13:54:24 +00:00
Quentin McGaw (desktop)
625de1c834
Maint: migrate Cyberghost REGION to COUNTRY
2021-09-23 13:28:32 +00:00
Quentin McGaw (desktop)
03ba9169f4
Feat: format-servers CLI command
2021-09-23 13:13:17 +00:00
Quentin McGaw (desktop)
6bcbaf085d
Maint: remove NordVPN SERVER_NAME filter
...
- Filter was not effective
- Is to be deprecated in v4 anyway
- Bump NordVPN server model version to `3`
- Remove `Name` field from NordVPN server model
2021-09-21 23:56:29 +00: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
f1a82d9d9c
Feat: rework Surfshark servers data ( #575 )
...
- Feat: `MULTIHOP_ONLY` variable
- Feat: `COUNTRY` variable
- Feat: `CITY` variable
- Feat: `REGION` variable, with retro-compatibility
- Feat: merge servers from API, zip and hardcoded hostnames
- Fix: remove outdated and duplicate servers
- Maint: faster update with fully parallel DNS resolutions
2021-08-23 10:25:00 -07:00
Quentin McGaw (desktop)
06a2d79cb4
Feat: Wireguard support for Ivpn ( #584 )
2021-08-23 16:01:01 +00:00
Quentin McGaw
c348343b22
IVPN server data update code and ISP filter ( #578 )
...
- Use IVPN's HTTP API instead of their .zip file
- Unit tests for API and GetServers
- Paves the way for Wireguard
- Update server information for IVPN
- Add `ISP` filter for IVPN
2021-08-22 20:11:56 -07:00
Quentin McGaw
614eb10d67
Wireguard support for Mullvad and Windscribe ( #565 )
...
- `internal/wireguard` client package with unit tests
- Implementation works with kernel space or user space if unavailable
- `WIREGUARD_PRIVATE_KEY`
- `WIREGUARD_ADDRESS`
- `WIREGUARD_PRESHARED_KEY`
- `WIREGUARD_PORT`
- `internal/netlink` package used by `internal/wireguard`
2021-08-22 14:58:39 -07:00
Quentin McGaw (desktop)
bec8ff27ae
Feat: OPENVPN_INTERFACE defaulting to tun0
...
- Fix: custom config with custom network interface name for firewall
- Keep VPN tunnel interface in firewall state
- Vul fix: only allow traffic through vpn interface when needed
- Adapt code to adapt to network interface name
- Remove outdated TUN and TAP constants
2021-08-19 23:22:55 +00:00
Quentin McGaw (desktop)
3d8e61900b
Maint: make VPN connection not specific to OpenVPN
...
- Add VPN field to ServerSelection struct
- Set VPN type to server selection at start using VPN_TYPE
- Change OpenVPNConnection to Connection with Type field
- Rename Provider GetOpenVPNConnection to GetConnection
- Rename GetTargetIPOpenVPNConnection to GetTargetIPConnection
- Rename PickRandomOpenVPNConnection to PickRandomConnection
- Add 'OpenVPN' prefix to OpenVPN specific methods on connection
2021-08-19 14:09:41 +00:00
Quentin McGaw (desktop)
f17a4eae3e
Maint: rework OpenVPN custom configuration code
...
- Refactor code and errors returned
- Add unit tests
- Make custom config code independent from loop
2021-08-18 20:12:26 +00:00
Quentin McGaw
c777f8d97d
Feat: add verify-x509-name to Windscribe Openvpn config ( #529 )
2021-07-28 07:18:08 -07:00
Quentin McGaw (desktop)
1e0bfc3b0c
Maint: rename BUILD_DATE to CREATED
2021-07-20 15:28:02 +00:00
Quentin McGaw (desktop)
da4d528463
Maint: hardcoded data in JSON embedded file
...
- Server information, versions and timestamps together in internal/constants/servers.json
- breaking change: updater cli uses -enduser instead of -file
- breaking change: updater cli uses -maintainer instead of -stdout
- Fix: replace special last a character with 'a' from Bogota for PrivateVPN
- Feat: do not write out servers and timestamp if no change was detected
2021-07-20 03:01:26 +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)
9be912e9fd
HotFix: IVPN add TCP and UDP fields
2021-05-31 00:41:44 +00:00
Quentin McGaw (desktop)
8b8bab5c58
Feature: IVPN support
2021-05-31 00:11:16 +00:00
Quentin McGaw
e8c8742bae
Maintenance: split each provider in a package
...
- Fix VyprVPN port
- Fix missing Auth overrides
2021-05-11 17:10:51 +00:00
Quentin McGaw
baf506ae27
Feature: multiple IP addresses per PIA server
2021-05-10 15:44:46 +00:00
Quentin McGaw
52ff03ae41
Feature: 3 IP addresses per Windscribe server
2021-05-10 14:34:42 +00:00
Quentin McGaw
2d95edf8ab
Feature: Filter VyprVPN servers by hostname, and:
...
- Extract if server supports TCP and UDP (never TCP now)
- Filter servers by protocol (unused for now)
2021-05-10 02:12:13 +00:00
Quentin McGaw
95b0fb81d6
Feature: Multiple IPs for each Torguard server
...
- Fallback on IP from configuration file if DNS resolution fails
- Download both TCP and UDP zip files to detect support for each
- Filter servers by supported network protocol
-
2021-05-10 01:48:52 +00:00
Quentin McGaw
eff65dce00
Feature: filter Surfshark servers by hostname
2021-05-10 01:24:46 +00:00
Quentin McGaw
6c1c069261
Feature: filter by hostname for PureVPN servers
...
- Record support for TCP and UDP for each hostname
- Fix: each hostname supports only TCP or UDP, not both
- Update PureVPN server information
2021-05-10 00:36:14 +00:00
Quentin McGaw
4fe1e062f2
Feature: filter PIA servers by hostname and name
2021-05-09 16:49:22 +00:00
Quentin McGaw
8407542600
Feature: filter by country, region and city for Privado
2021-05-09 00:51:34 +00:00
Quentin McGaw
248cc0d3d3
Feature: filter by name and hostname for NordVPN
2021-05-08 22:51:59 +00:00
Quentin McGaw
2ec2f45c82
Feature: filter by hostname for Mullvad servers
2021-05-08 19:17:36 +00:00
Quentin McGaw
a34769ae02
Feature: filter by hostname for Cyberghost servers
2021-05-08 19:05:11 +00:00