Quentin McGaw
a35c994bc8
feat(port-forwarding): add {{VPN_INTERFACE}} template variable
2025-11-22 23:32:26 +00:00
Quentin McGaw
0fad44fb68
chore(vpn): do not restart VPN if startup check fails and HEALTH_RESTART_VPN=off
...
- Note you still should not set HEALTH_RESTART_VPN=off this is for debugging only
2025-11-22 15:21:40 +00:00
Quentin McGaw
1abc90970d
chore(health): add ip address to error messages for small checks
2025-11-20 20:03:02 +00:00
Quentin McGaw
a445ba072c
chore(health): log out duration of tries in milliseconds
2025-11-20 15:14:00 +00:00
Quentin McGaw
9e5624d32b
feat(healthcheck): add HEALTH_SMALL_CHECK_TYPE option which can be dns or icmp (default)
...
Note if icmp is not permitted, it fallsback to dns anyway
2025-11-20 15:13:50 +00:00
Quentin McGaw
815fcdb711
chore(healthcheck/icmp): log what IP is being pinged when timing out
2025-11-20 14:46:31 +00:00
Quentin McGaw
9f39d47150
feat(healthcheck): HEALTH_ICMP_TARGET_IP -> HEALTH_ICMP_TARGET_IPS
...
- Specify fallback ICMP IP addresses
- Defaults changed from 1.1.1.1 to 1.1.1.1,8.8.8.8
- Small periodic check cycles through addresses as it fails and moves to retry
2025-11-19 16:03:09 +00:00
Quentin McGaw
f9490656eb
chore(healthcheck): mirror default icmp ip set in Dockerfile in the Go code
2025-11-19 16:02:19 +00:00
Quentin McGaw
482421dda3
feat(healthcheck): HEALTH_TARGET_ADDRESS -> HEALTH_TARGET_ADDRESSES
...
- Specify fallback addresses
- Defaults changed from cloudflare:443 to cloudflare:443,github.com:443
- Startup check runs a parallel dial to each of the addresses specified with a global 6s timeout
- Full periodic check cycles through addresses as it fails and moves to retry
2025-11-19 16:01:50 +00:00
Quentin McGaw
03f1fea123
hotfix(healthcheck): update outdated function comment
2025-11-19 15:34:22 +00:00
Quentin McGaw
31284542a2
fix(wireguard): WIREGUARD_ENDPOINT_IP overrides the IP address of a picked connection
...
- Regression introduced in v3.39.0
- Fix #2759
2025-11-19 13:11:43 +00:00
Quentin McGaw
5b93464fef
fix(proton): giving proton password is not mandatory
2025-11-18 21:36:38 +00:00
Quentin McGaw
debf3474e7
hotfix(protonvpn): fix retro-compatibility with UPDATER_PROTONVPN_USERNAME
2025-11-18 13:40:55 +00:00
Quentin McGaw
2853ca9033
feat(protonvpn): update servers data including paid data
2025-11-18 13:36:05 +00:00
Quentin McGaw
74d059dd77
fix(protonvpn/updater): API authentification fix using email
...
- `UPDATER_PROTONVPN_USERNAME` -> `UPDATER_PROTONVPN_EMAIL`
- `-proton-username` -> `-proton-email`
- fix authentication flow to use email or username when appropriate
- fix #2985
2025-11-18 13:35:04 +00:00
Quentin McGaw
9963e18a8a
fix(storage): do not write updated servers to file if file path is empty
2025-11-18 13:28:03 +00:00
Quentin McGaw
41cd8fb30d
fix(storage): only log warning if flushing merged servers to file fails
2025-11-17 19:04:19 +00:00
Quentin McGaw
c4b9d459ed
fix(dns): fix panic when using DNS_KEEP_NAMESERVER
2025-11-17 17:59:18 +00:00
Quentin McGaw
6e99ca573e
chore(storage): do not read/write to user file when updating in maintainer mode
2025-11-17 15:31:40 +00:00
Quentin McGaw
2cf4d6b469
fix(protonvpn/updater): ignore casing when comparing received username
2025-11-17 15:23:02 +00:00
Quentin McGaw
fcdba0a3cc
feat(portforward): support {{PORT}} template variable
2025-11-16 00:18:01 +00:00
Quentin McGaw
4712d0cf79
change(healthcheck): bump tries and timeouts
...
- small periodic check from 10s+20s+30s to 5s+5s+5s+10s+10s+10s+15s+15s+15s+30s
- full periodic check from 10s+20s to 10s+15s+30s
2025-11-15 16:47:38 +00:00
Quentin McGaw
113c113615
feat(healthcheck): log duration for each failed attempt
2025-11-15 16:45:03 +00:00
Quentin McGaw
6023eb1878
hotfix(dns): compilation error due to dns package upgrade on master
2025-11-14 21:24:40 +00:00
Quentin McGaw
a1ece20617
feat(dns): resolve network-local names ( #2970 )
2025-11-14 17:30:05 +01:00
Quentin McGaw
0bc67b73a8
feat(dns): info log all requests filtered out
2025-11-14 16:19:07 +00:00
Quentin McGaw
c7ab5bd34c
feat(dns): DNS_REBINDING_PROTECTION_EXEMPT_HOSTNAMES option
2025-11-14 16:14:46 +00:00
Quentin McGaw
30609b6fe9
hotfix(configuration/settings): fix requirement for proton username and password
2025-11-13 21:58:46 +00:00
Quentin McGaw
8a0921748b
fix(protonvpn): authenticated servers data updating ( #2878 )
...
- `-proton-username` flag for cli update
- `-proton-password` flag for cli update
- `UPDATER_PROTONVPN_USERNAME` option for periodic updates
- `UPDATER_PROTONVPN_PASSWORD` option for periodic updates
2025-11-13 20:05:26 +01:00
Quentin McGaw
3fac02a82a
feat(server/auth): HTTP_CONTROL_SERVER_AUTH_DEFAULT_ROLE option (JSON encoded)
...
- For example: `{"auth":"basic","username":"me","password":"pass"}`
- For example`{"auth":"apiKey","apikey":"xyz"}`
- For example`{"auth":"none"}` (I don't recommend)
2025-11-13 18:24:41 +00:00
Quentin McGaw
f11f142bee
feat(settings/wireguard): precise WIREGUARD_ENDPOINT_IP must be an IP address for now
2025-11-13 18:24:41 +00:00
Quentin McGaw
3d1b6bc861
feat(server/portforward): change route from /v1/openvpn/portforwarded to /v1/portforward
...
- This route has nothing to do with openvpn specifically
- Remove the `ed` in `portforwarded` to accomodate future routes such as changing the state of port forwarding
- maintaining retrocompatibility with `/v1/openvpn/portforwarded`
- maintaining retrocompatibility with `/openvpn/portforwarded`
- Moved to its own handler `/v1/portforward` instead of `/v1/vpn/portforward` to reduce the complexity of the vpn handler
2025-11-13 14:50:36 +00:00
Quentin McGaw
46ad576233
fix(server/log): log out full URL path not just bottom request URI
2025-11-13 14:29:58 +00:00
Quentin McGaw
46beaac34b
hotfix(server/auth): add old route /openvpn/portforwarded as valid
2025-11-13 14:21:50 +00:00
Quentin McGaw
3025476e8b
chore(portforward): remove double log when clearing port forward file
2025-11-13 14:10:13 +00:00
Quentin McGaw
9984ad22d7
chore(settings/health): remove unneeded health fields
2025-11-13 12:27:33 +00:00
Quentin McGaw
3565ba67c4
hotfix(healthcheck/dns): use dns address tring with port
2025-11-12 01:45:10 +00:00
Quentin McGaw
ffb0bec4da
chore(vpn): rename openvpn* to vpn* variables
2025-11-07 15:26:24 +00:00
Quentin McGaw
4d2b8787e0
chore(dns): replace UNBLOCK with DNS_UNBLOCK_HOSTNAMES
2025-11-07 14:36:10 +00:00
Quentin McGaw
d4831ad4a6
chore(dns): replace DOT_PRIVATE_ADDRESS with DNS_BLOCK_IPS and DNS_BLOCK_IP_PREFIXES
2025-11-07 14:31:09 +00:00
Quentin McGaw
9e1b53a732
feat(server): log number of roles read from auth file
2025-11-05 23:05:10 +00:00
Quentin McGaw
d0113849d6
feat(dns): support doh upstream type
2025-11-05 21:21:16 +00:00
Quentin McGaw
7b25fdfee8
chore(deps): bump dns to v2.0.0-rc9
2025-11-05 20:56:37 +00:00
Quentin McGaw
5ed6e82922
feat(dns): DNS_UPSTREAM_RESOLVER_TYPE option which can be plain or DoT
...
- Migrate `DOT` to `DNS_SERVER`
- Migrate `DOT_PROVIDERS` to `DNS_UPSTREAM_RESOLVERS`
- Migrate `DOT_PRIVATE_ADDRESS` to `DNS_PRIVATE_ADDRESSES`
- Migrate `DOT_CACHING` to `DNS_CACHING`
- Migrate `DOT_IPV6` to `DNS_UPSTREAM_IPV6`
2025-11-05 20:47:21 +00:00
Quentin McGaw
7dbd14df27
chore(dns): merge DoT settings with DNS settings
2025-11-05 20:47:21 +00:00
Quentin McGaw
2bd19640d9
feat(health/dns): try another DNS server if one fails
2025-11-04 15:51:04 +00:00
Quentin McGaw
eb49306b80
hotfix(health): change default icmp target to 1.1.1.1
...
- Cloudflare's 1.1.1.1 seems more reliable than the VPN server public IP address you connect to
- This can still be changed back to 0.0.0.0 to use the VPN server IP address if needed
2025-11-04 14:47:24 +00:00
Quentin McGaw
43da9ddbb3
fix(cyberghost): log warnings from updater resolver
2025-11-04 14:43:02 +00:00
Quentin McGaw
7fbc5c3c07
feat(cyberghost): update servers data
2025-11-04 14:43:02 +00:00
Quentin McGaw
6712adfe6b
hotfix(firewall): handle textual values for protocols
...
- Alpine / iptables-legacy bug introduced in Alpine 3.22
- Alpine: what the hell? Stop introducing breaking changes in iptables on every god damn release!
2025-11-04 14:16:11 +00:00