Quentin McGaw
e0a977cf83
change(openvpn): default upgraded from 2.5 to 2.6
2024-05-02 08:13:51 +00:00
Quentin McGaw
ecc80a5a9e
chore(config): upgrade to gosettings v0.4.0
...
- drop qdm12/govalid dependency
- upgrade qdm12/ss-server to v0.6.0
- do not unset sensitive config settings (makes no sense to me)
2024-03-25 19:14:20 +00:00
Quentin McGaw
0da2b6ad0b
chore(lint): add musttag linter and fix lint errors
...
Breaking change: JSON fields changed in the server API
2023-06-08 07:43:26 +00:00
Quentin McGaw
def407d610
chore(settings): use qdm12/gosettings functions
...
- use: FileExists, ObfuscateKey, BoolToYesNo
- remove local functions moved to gosettings
2023-05-28 10:33:36 +00:00
Quentin McGaw
a43973c093
chore(settings): use github.com/qdm12/gosettings
2023-05-25 12:08:43 +00:00
Quentin McGaw
3b807e2ca9
feat(openvpn): add support for openvpn 2.6
2023-05-21 13:23:51 +00:00
Quentin McGaw
e8f2296a0d
change(openvpn): Openvpn 2.4 no longer supported
2023-05-21 13:20:02 +00:00
Julio Gutierrez
5200ee5722
chore(settings): use generics for helping functions ( #1427 )
2023-05-20 22:37:23 +02:00
Quentin McGaw
219d1f371c
chore(all): wrap all sentinel errors
...
- Force to use `errors.Is` instead of `==` to compare errors
2023-04-20 23:10:06 +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
9a528c42f8
chore(settings): precise base64 DER for some OpenVPN fields
2023-03-25 12:10:01 +00:00
Quentin McGaw
f15dde6502
feat(providers): add AirVPN support ( #1145 )
2022-10-17 02:54:56 -04:00
Quentin McGaw
dd7630997b
fix(vpnsecure): allow empty OpenVPN user+password
2022-09-10 14:46:17 +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
Quentin McGaw
062b6a276c
fix(settings): read PEM files but b64 env vars
...
- Extract base64 data from PEM files and secret files
- Environment variables are not PEM encoded and only the base64 data
- Affects OpenVPN certificate, key and encrypted key
2022-08-24 17:48:45 +00:00
Quentin McGaw
a182e3503b
feat: add VPNsecure.me support ( #848 )
...
- `OPENVPN_ENCRYPTED_KEY` environment variable
- `OPENVPN_ENCRYPTED_KEY_SECRETFILE` environment variable
- `OPENVPN_KEY_PASSPHRASE` environment variable
- `OPENVPN_KEY_PASSPHRASE_SECRETFILE` environment variable
- `PREMIUM_ONLY` environment variable
- OpenVPN user and password not required for vpnsecure provider
2022-08-15 16:54:58 -07:00
Quentin McGaw
8db2944749
chore(settings): OpenVPN ClientCrt -> Cert
2022-08-13 18:59:07 +00:00
Quentin McGaw
5986432a22
chore(settings): OpenVPN ClientKey -> Key
2022-08-13 18:58:09 +00:00
Quentin McGaw
1ab74e6bb3
chore: OpenVPN user and password as nullable
...
- Username and password can be the empty string for custom provider
2022-08-13 18:01:26 +00:00
Quentin McGaw
535297dcf5
chore: extract.PEM replaces PEM parse functions
2022-06-24 23:10:00 +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
2eec60cdd2
chore(custom): validate Openvpn file earlier
2022-05-07 19:33:21 +00:00
Quentin McGaw
54b7e23974
chore(constants): internal/constants/providers
...
- New package to avoid package import cycles
2022-04-16 19:30:26 +00:00
Quentin McGaw
69eee345d2
feat(ivpn): allow no password for account IDs
...
- When matching `i-xxxx-xxxx-xxxx` username
- When matching `ivpn-xxxx-xxxx-xxxx` username
2022-03-09 21:01:25 +00:00
Quentin McGaw
920ad8b54b
chore(errors): review all errors in codebase
2022-02-20 02:58:16 +00:00
Quentin McGaw
ac4a4f83fc
chore(settings): split openvpn validation in functions
2022-02-20 00:08:55 +00:00
Quentin McGaw
7a8f5f53d5
feat(openvpn): OPENVPN_PROCESS_USER and deprecates OPENVPN_ROOT
2022-01-27 23:34:19 +00:00
Quentin McGaw
9de6428585
feat(pprof): add pprof HTTP server ( #807 )
...
- `PPROF_ENABLED=no`
- `PPROF_BLOCK_PROFILE_RATE=0`
- `PPROF_MUTEX_PROFILE_RATE=0`
- `PPROF_HTTP_SERVER_ADDRESS=":6060"`
2022-01-26 17:23:55 -05:00
Quentin McGaw
7e2ea4d74d
hotfix(custom): allow empty user and password for OpenVPN
2022-01-13 15:18:39 +00:00
Quentin McGaw
b32c01c11a
fix(custom): OPENVPN_CUSTOM_CONFIG
2022-01-07 15:12:49 +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