Quentin McGaw
67bd1171ae
feat(env): rename vpn port forwarding variables
...
- `VPN_PORT_FORWARDING_STATUS_FILE`
- `VPN_PORT_FORWARDING`
- Deprecate PIA specific variables for VPN port forwarding
2023-04-27 10:23:55 +00:00
Quentin McGaw
4e2e46014d
chore(settings): inet.af/netaddr -> net/netip
2023-04-23 11:43:50 +00:00
Quentin McGaw
1693c59e0d
chore(lint): fix issues
...
- sources/env: remove unused `envToInt`
- fix `ireturn` error for `newCipherDESCBCBlock`
2023-04-22 11:02:53 +00:00
Quentin McGaw
fa7fd5f076
fix(pprof): settings rates can be nil
2023-04-20 23:10:02 +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
03ed3cb1c8
feat(wireguard): WIREGUARD_IMPLEMENTATION variable
...
- Can be `auto` (default), `userspace` or `kernelspace`
2022-12-02 11:16:27 +00:00
Quentin McGaw
b275354a92
fix(env): trim space for wireguard addresses
2022-10-28 10:49:51 +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
e583f9de47
fix(codeql): fix integer parsing (false positive)
2022-08-27 16:45:29 +00:00
Quentin McGaw
8570e09eb9
chore(config): rename Reader to Source struct
2022-08-26 15:40:35 +00:00
Quentin McGaw
ae5cba519c
chore(config): define Source interface locally where needed
2022-08-26 15:03:59 +00:00
Quentin McGaw
fba73a0a0f
fix(settings): OPENVPN_CUSTOM_CONFIG precedence for custom provider only if VPN_SERVICE_PROVIDER is empty
2022-08-25 04:01:17 +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
652daec509
Change: OPENVPN_CLIENTKEY -> OPENVPN_KEY
...
- No breaking change since this was undocumented
2022-08-13 18:56:37 +00:00
Quentin McGaw
f94d4b761a
Change: OPENVPN_CLIENTCRT -> OPENVPN_CERT
...
- No breaking change since this was undocumented
2022-08-13 18:55:29 +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
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
33b8f5f596
chore(settings): updater DNS address as string
2022-06-11 20:11:20 +00:00
Quentin McGaw
364f9de756
feat(env): clean env variable values
...
- Remove surrounding spaces
- Remove suffix new line characters
2022-05-27 17:27:54 +00:00
Quentin McGaw
9dd5e7bf1d
fix: PUID and PGID as 32 bit unsigned integers
2022-05-01 16:29:56 +00:00
Quentin McGaw
e1f89bb569
fix(health): HEALTH_VPN_DURATION_ADDITION
2022-04-23 11:09:24 +00:00
Quentin McGaw
934fafb64b
chore(constants): internal/constants/vpn package
2022-04-18 11:14:07 +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
c33fb8bb97
fix(env): OPENVPN_FLAGS functionality
2022-03-31 20:49:01 +00:00
Quentin McGaw
179274ade0
feat(log): use github.com/qdm12/log library
2022-03-30 09:03:20 +00:00
Quentin McGaw
c6f68a64e6
fix(health): use TCP dialing instead of ping
...
- `HEALTH_TARGET_ADDRESS` to replace `HEALTH_ADDRESS_TO_PING`
- Remove `github.com/go-ping/ping` dependency
- Dial TCP the target address, appending `:443` if port is not set
2022-03-22 08:50:56 +00:00
Quentin McGaw
ae0334c930
chore(sources): wrap error with source string
2022-02-20 03:04:16 +00:00
Quentin McGaw
920ad8b54b
chore(errors): review all errors in codebase
2022-02-20 02:58:16 +00:00
Quentin McGaw (desktop)
576c1ee0c5
fix(env): accept uppercase SHADOWSOCKS_CIPHER
2022-02-09 12:33:47 +00:00
Quentin McGaw (desktop)
5d4032edf4
fix(env): accept uppercase OPENVPN_PROTOCOL
2022-02-09 12:33:24 +00:00
Quentin McGaw (desktop)
ff3f84f9fd
hotfix(env): OPENVPN_CIPHERS empty parsing
2022-02-06 22:58:23 +00:00
Quentin McGaw
2a19b68b9a
hotfix(env): fix parsing of unset server filters
2022-02-06 20:13:40 +00:00
Quentin McGaw
ed6c010aff
hotfix(env): fix BLOCK_SURVEILLANCE parsing
2022-02-06 20:06:58 +00:00
Quentin McGaw
783fb38e41
hotfix(env): allow empty VPN_ENDPOINT_IP
2022-02-06 20:02:45 +00:00
Quentin McGaw
fcab4ae3c6
chore(env): SERVER_NAMES variable
...
- With retro-compatibility with `SERVER_NAME`
2022-02-06 19:59:07 +00:00
Quentin McGaw
a69c456965
chore(env): SERVER_HOSTNAMES variable
...
- With retro-compatibility with `SERVER_HOSTNAME`
2022-02-06 19:59:07 +00:00
Quentin McGaw
0e6db2f1c5
chore(env): SERVER_REGIONS variable
...
- With retro-compatibility with `REGION`
2022-02-06 19:59:07 +00:00
Quentin McGaw
7aab18d197
chore(env): SERVER_CITIES variable
...
- With retro-compatibility with `CITY`
2022-02-06 19:59:07 +00:00
Quentin McGaw
d6b39e66d1
chore(env): SERVER_COUNTRIES variable
...
- With retro-compatibility with `COUNTRY`
2022-02-06 19:59:07 +00:00
Quentin McGaw
3f5c72d898
chore(env): simplify Cyberghost retro logic
2022-02-06 19:59:07 +00:00
Quentin McGaw
691ade794b
chore(env): PRIVATE_INTERNET_ACCESS_VPN_PORT_FORWARDING_STATUS_FILE
...
- With retro-compatibility with `PORT_FORWARDING_STATUS_FILE`
2022-02-06 19:59:07 +00:00
Quentin McGaw
1693c4ed8a
chore(env): PRIVATE_INTERNET_ACCESS_VPN_PORT_FORWARDING
...
- With retro-compatibility with `PORT_FORWARDING`
2022-02-06 19:59:07 +00:00
Quentin McGaw
ae9b3279c3
chore(env): PRIVATE_INTERNET_ACCESS_OPENVPN_ENCRYPTION_PRESET variable
...
- With retro-compatibility with `PIA_ENCRYPTION` and `ENCRYPTION`
2022-02-06 19:59:07 +00:00
Quentin McGaw
04956e45c7
chore(env): OPENVPN_CIPHERS variable
...
- With retro-compatibility with `OPENVPN_CIPHER`
2022-02-06 19:59:07 +00:00
Quentin McGaw
027664af7b
chore(env): VPN_SERVICE_PROVIDER variable
...
- With retro-compatibility with `VPNSP`
2022-02-06 19:59:07 +00:00
Quentin McGaw
f8d5f76bdf
chore(env): WIREGUARD_ADDRESSES variable
...
- With retro-compatibility with `WIREGUARD_ADDRESS`
2022-02-06 19:59:07 +00:00
Quentin McGaw
114f9be47f
chore(env): DNS_ADDRESS variable
...
- With retro-compatibility with `DNS_PLAINTEXT_ADDRESS`
2022-02-06 19:59:07 +00:00