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
e2ba2f82c0
feat(routing): add IPv6 inbound routing
2022-03-13 19:36:45 +00:00
Quentin McGaw
ace5e97e68
fix(routing): only set routes for IPv4 default routes
2022-03-13 14:40:17 +00:00
Quentin McGaw
82d42297e8
chore(routing): remove unused LocalSubnetGetter
2022-03-13 13:32:19 +00:00
Quentin McGaw
f99d5e8656
feat(firewall): use all default routes
...
- Accept output traffic from all default routes through VPN interface
- Accept output from all default routes to outbound subnets
- Accept all input traffic on ports for all default routes
- Add IP rules for all default routes
2022-03-13 13:26:33 +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
39a62f5db7
feat(firewall): improve error message when NET_ADMIN is missing
2022-03-09 11:16:10 +00:00
Quentin McGaw
006b218ade
feat(firewall): auto-detect which iptables
...
- On `iptables` error, try to use `iptables-nft`
- On `ip6tables` error, try to use `ip6tables-nft`
2022-02-26 22:55:22 +00:00
Quentin McGaw
836f021a87
chore(lint): add containedctx, decorder and errchkjson
2022-02-26 13:49:53 +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
ac4a4f83fc
chore(settings): split openvpn validation in functions
2022-02-20 00:08:55 +00:00
Quentin McGaw
a4652c2d32
feat(validation): reject server filters ignored for some VPN providers
2022-02-18 14:06:13 +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 (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
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
5603e25542
chore(env): VPN_INTERFACE
...
- With retro-compatibility with `OPENVPN_INTERFACE`
- With retro-compatibility with `WIREGUARD_INTERFACE`
2022-02-06 19:59:07 +00:00
Quentin McGaw
0d8cb66d43
chore(env): getEnvWithRetro helper function
2022-02-06 19:59:07 +00:00
Quentin McGaw
e7e4cfca4c
fix(env): Retro-compatible precedence order for variables with defaults set in Dockerfile
...
- `BLOCK_NSA` has precedence over `BLOCK_SURVEILLANCE`
- `HEALTH_OPENVPN_DURATION_ADDITION` has precedence over `HEALTH_VPN_DURATION_ADDITION`
- `HEALTH_OPENVPN_DURATION_INITIAL` has precendence over `HEALTH_VPN_DURATION_INITIAL`
- Chain of precedence: `PROXY` > `TINYPROXY` > `HTTPPROXY`
- Chain of precedence: `PROXY_LOG_LEVEL` > `TINYPROXY_LOG` > `HTTPPROXY_LOG`
- `PROTOCOL` has precendence over `OPENVPN_PROTOCOL`
- `IP_STATUS_FILE` has precendence over `PUBLICIP_FILE`
- `SHADOWSOCKS_PORT` has precedence over `SHADOWSOCKS_LISTENING_ADDRESS`
- `SHADOWSOCKS_METHOD` has precedence over `SHADOWSOCKS_CIPHER`
2022-02-06 19:59:07 +00:00
Quentin McGaw
fd23f1a29b
chore(env): do not validate control server port
2022-02-06 19:59:07 +00:00
Quentin McGaw
57481e3dd7
fix(cyberghost): compat log if COUNTRY is empty
2022-02-06 19:59:07 +00:00
Quentin McGaw
53952b143f
fix(server): allow to bind on a random port
2022-02-06 19:59:07 +00:00
Quentin McGaw
ea143c0c9a
feat(vpn): VPN_ENDPOINT_PORT
...
- Deprecate `OPENVPN_PORT`
- Deprecate `WIREGUARD_ENDPOINT_PORT`
2022-01-28 00:10:23 +00:00
Quentin McGaw
a951110461
feat(vpn): VPN_ENDPOINT_IP
...
- Deprecate `OPENVPN_TARGET_IP`
- Deprecate `WIREGUARD_ENDPOINT_IP`
2022-01-28 00:09:58 +00:00
Quentin McGaw
7a8f5f53d5
feat(openvpn): OPENVPN_PROCESS_USER and deprecates OPENVPN_ROOT
2022-01-27 23:34:19 +00:00
Quentin McGaw
1b585159d1
feat(server): HTTP_CONTROL_SERVER_PORT to HTTP_CONTROL_SERVER_ADDRESS
2022-01-27 23:15:08 +00:00
Quentin McGaw (desktop)
f3692cd47f
feat(mullvad): OWNED to OWNED_ONLY
2022-01-27 14:12:25 +00:00
Quentin McGaw (desktop)
15800fd4ff
feat(expressvpn): update built-in data
2022-01-27 13:01:08 +00:00
Quentin McGaw (desktop)
9fb085f361
hotfix(updater): do not default to custom
2022-01-27 12:57:27 +00:00
Quentin McGaw
1e3f878470
feat(updater): UPDATER_VPN_SERVICE_PROVIDERS
...
- Updater defaults to update the VPN provider in use if enabled
2022-01-26 22:41:06 +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