Quentin McGaw
5467652b8b
chore(openvpn): support multiple CAs in generated config
2023-12-19 18:21:03 +00:00
Quentin McGaw
0406de399d
chore(portforward): move vpn gateway obtention within port forwarding service
2023-09-23 12:03:06 +00:00
Quentin McGaw
8ad16cdc12
feat(protonvpn): port forwarding support with NAT-PMP ( #1543 )
...
Co-authored-by: Nicholas Xavier <nicho@nicho.dev >
2023-06-30 20:09:44 +02:00
Quentin McGaw
0a29337c3b
chore(all): replace net.IP with netip.Addr
2023-05-20 20:06:12 +00:00
Quentin McGaw
723d0f5e12
chore(lint): upgrade from v1.51.2 to v1.52.2
2023-04-12 09:40:00 +00:00
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
1d1657e9be
fix(pia): remove username+password from login bad http status code
2022-10-31 11:00:43 +00:00
Quentin McGaw
7fdc7de210
feat(ipv6): use ipv6 endpoint IPs if supported
2022-09-12 21:31:37 +00:00
Quentin McGaw
5ddd703f6a
feat(vpn): auto detection of IPv6 support
...
- `OPENVPN_IPV6` removed
- Affects OpenVPN
- Use the same mechanism for OpenVPN and Wireguard
- Check only once at program start since this is unlikely to change at runtime
- Log if IPv6 is supported
- Remove `IPv6` boolean from settings structs
- Move IPv6 detection as a method on NetLinker
2022-09-06 12:16:29 +00:00
Stijn Hoop
532df9f8d4
fix(privateinternetaccess): get token for port forwarding ( #1132 )
2022-09-05 08:01:48 -07:00
Quentin McGaw
5914cb0e37
chore(build): bump Go from 1.17 to 1.18
...
- Unneeded disabled linters are: `rowserrcheck`, `sqlclosecheck`
- Disabled linter is `wastedassign` which is tolerable
2022-08-24 21:54:08 +00:00
Quentin McGaw
6826b05d58
chore(all): remove all package comments
2022-07-02 20:58:43 +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
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
7f32b43895
fix(pia): load custom PIA certificate for API
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
46e6bd16c9
fix(pia): remove duplicate log of pf data expiration
2022-06-09 16:34:28 +00:00
Quentin McGaw
1216326867
chore(storage): common sorting for all servers
2022-06-06 02:24:54 +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
22455ac76f
chore(updater): shared not enough servers error
2022-05-28 22:02:18 +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
991d75a1d0
chore(provider): rename all BuildConf to OpenVPNConfig
2022-05-27 22:04:14 +00:00
Quentin McGaw
a91eb95456
chore(internal/provider): rename all structs to Provider
2022-05-27 18:05:04 +00:00
Quentin McGaw
42904b6749
chore(all): move sub-packages to internal/provider
2022-05-27 17:48:51 +00:00
Quentin McGaw
4bcd8ee9f5
chore(constants): add internal/constants/openvpn package
2022-05-27 16:29:49 +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
db91625de4
fix(pia): port forwarding certificate
...
- Do not use custom PIA certificate
- Only use OS certificates
- Update unit test
2022-04-25 08:31:27 +00:00
Quentin McGaw
187f42277a
fix(pia): hide escaped url query values
2022-04-23 11:21:08 +00:00
Quentin McGaw
0c0f1663b1
chore: simplify provider GetConnection
2022-04-20 15:16:55 +00:00
Quentin McGaw
f5c00c3e2d
chore(filter): common filter for all providers
2022-04-18 17:08:31 +00:00
Quentin McGaw
072b42d867
chore(v4): add v4 comments about server names
2022-04-17 16:21:21 +00:00
Quentin McGaw
5d66c193aa
chore(models): common Server & Servers for all providers ( #943 )
2022-04-17 16:21:19 +00:00
Quentin McGaw
920ad8b54b
chore(errors): review all errors in codebase
2022-02-20 02:58:16 +00:00
Quentin McGaw
c40d4e075e
chore(validation): move functions from constants
...
- Move validation functions from `internal/constants` to `internal/configuration/settings/validation`
- Concatenate all OpenVPN constants in `internal/constants/openvpn.go`
2022-02-13 01:21:25 +00:00
Quentin McGaw
c73369e11c
chore(constants): remove and move constant paths
...
- Remove unused paths
- Move paths to inline constants if used only once
2022-02-06 19:59:07 +00:00
Quentin McGaw
7a8f5f53d5
feat(openvpn): OPENVPN_PROCESS_USER and deprecates OPENVPN_ROOT
2022-01-27 23:34:19 +00:00
Quentin McGaw
7d824a5179
chore(settings): refactor settings processing ( #756 )
...
- Better settings tree structure logged using `qdm12/gotree`
- Read settings from environment variables, then files, then secret files
- Settings methods to default them, merge them and override them
- `DNS_PLAINTEXT_ADDRESS` default changed to `127.0.0.1` to use DoT. Warning added if set to something else.
- `HTTPPROXY_LISTENING_ADDRESS` instead of `HTTPPROXY_PORT` (with retro-compatibility)
2022-01-06 06:40:23 -05:00
Quentin McGaw (desktop)
ca975b1c01
Feat: multiple OpenVPN ciphers for negotiation
...
- Perfect privacy to accept AES-256-CBC and AES-256-GCM
- Cyberghost default cipher set to AES-256-GCM
- `OPENVPN_CIPHER` accept comma separated cipher values
- Use `ncp-ciphers` for OpenVPN 2.4
2021-10-05 20:36:23 +00:00
Quentin McGaw (desktop)
cf95692b93
Maint: package local narrow Logger interfaces
2021-09-23 17:06:09 +00:00
Quentin McGaw (desktop)
81bf83db13
Maint: remove disable-occ from PIA (match Wiki)
2021-09-16 20:32:34 +00:00
Quentin McGaw (desktop)
dc6171185e
Maint: add more linters to golangci-lint
2021-09-14 19:26:46 +00:00
Quentin McGaw (desktop)
1340511b64
Maint: re-order OpenVPN options
2021-09-14 15:46:40 +00:00
Quentin McGaw (desktop)
9f65157a0d
Maint: OpenVPN: add explicit-exit-notify for UDP
2021-09-14 15:13:40 +00:00
Quentin McGaw (desktop)
89166cdabf
Maint: OpenVPN: PIA: add tls-exit option
2021-09-14 15:09:22 +00:00
Quentin McGaw (desktop)
af3f882bb8
Maint: OpenVPN: only add persist-key when running without root
2021-09-14 14:55:39 +00:00
Quentin McGaw (desktop)
2ab05b9350
Maint: OpenVPN: only add persist-tun when running without root
2021-09-14 14:54:59 +00:00
Quentin McGaw (desktop)
0730b6db6e
Maint: remove ncp-disable deprecated option
...
- Affects Cyberghost
- Affects PIA
- Affects Torguard
- Affects Windscribe
2021-09-13 15:59:33 +00:00