Commit Graph

1530 Commits

Author SHA1 Message Date
Quentin McGaw f615e3c780 feat(openvpn): reduce handshake window to 10 seconds for faster failure detection 2026-04-30 23:55:59 +00:00
Quentin McGaw 628b0a22e2 hotfix(pia): fix servers data updater and update servers data
- use v7 API endpoint to get correct list of servers
- skip offline regions
- do not skip *.pvt.site
2026-04-22 12:34:56 +00:00
Quentin McGaw ea3d138bd6 fix(pia): ignore *.pvt.site regions 2026-04-22 00:49:47 +00:00
Quentin McGaw c3a6809447 fix(pia): try x.y.128.1 and x.y.0.1 from the gateway IP to find the API IP address 2026-04-22 00:42:23 +00:00
Quentin McGaw 7eef1c89a7 fix(portforward): no longer stuck after failed port forwarding 2026-04-20 15:27:47 +00:00
Quentin McGaw a4eb625fbe chore(settings/dns): remove unused code 2026-04-19 18:05:19 +00:00
Quentin McGaw 17a7bf6d54 fix(privateinternetaccess): use AES-GCM for all presets 2026-04-19 18:00:56 +00:00
Quentin McGaw b11de4f0c3 fix(privateinternetaccess): remove none encryption preset 2026-04-19 17:51:20 +00:00
Quentin McGaw e87a92efa0 hotfix(boringpoll): fix race condition on stop 2026-04-19 17:48:38 +00:00
Quentin McGaw c473579261 chore(provider/utils): remove unused code 2026-04-19 01:31:09 +00:00
Quentin McGaw d5eeec6fb3 feat(protonvpn): support up to 5 forwarded ports (#3208) 2026-04-18 02:36:06 +02:00
Quentin McGaw 7e7e8182ef fix(proton): fix updater code
- simplest fix ever
- proton: how can you return such obscure error messages
- ai: you suck hard at fixing anything still it's embarassing
2026-04-10 14:48:54 +00:00
Drew Wells 2006fae0e3 fix(wireguard): support IPv6 address formatting from config files (#3273) 2026-04-08 17:04:35 +02:00
Quentin McGaw 3b9c9b24bd fix(server/auth): return 404 or 405 depending on route
- Fix #3275
2026-04-07 19:44:07 +00:00
Quentin McGaw 11883aa830 feat(netlink): detect ipv6 support level (#2523)
- add option `IPV6_CHECK_ADDRESSESES=[2001:4860:4860::8888]:53,[2606:4700:4700::1111]:53`
- gluetun needs access to the addresses above through the host firewall, to test ipv6 support before setting up the vpn
2026-04-07 07:48:15 -04:00
Damoon Tahmasbi 1ae85aa5d0 fix(vyprvpn/updater): update OpenVPN configs zip URL (#3264) 2026-04-03 14:34:10 +02:00
Quentin McGaw 763c5be119 fix(server/portforward): use port and ports for both single port and multiple ports forwarded 2026-03-29 01:22:04 +00:00
Michael Bisbjerg 5b88c76a14 fix(openvpn): bundle provider CA certificates in one block (#3258) 2026-03-26 22:32:43 +01:00
Quentin McGaw 086e3740f3 fix(firewall/iptables): shared mutex for both iptables and ip6tables 2026-03-23 14:35:33 +00:00
Quentin McGaw 57cf276d31 chore(firewall/iptables): log restore data on failure to restore 2026-03-23 14:35:33 +00:00
Quentin McGaw 405a6f699d hotfix(dns): always run and use built-in DNS server
- start DNS server before healthcheck
- do not fallback to plaintext anymore
- allow to use plain addresses with a port different than 53, system-wide
- do not wait for the DNS server and rely on healtcheck only
2026-03-23 14:35:12 +00:00
Quentin McGaw 72af17cc91 hotfix(dns): fix behavior for DNS_UPSTREAM_PLAIN_ADDRESSES 2026-03-21 23:37:36 +00:00
Zhurik 8a2e8bda0f hotfix(amneziawg): fix errors (#3240) 2026-03-21 23:24:03 +01:00
Quentin McGaw 5e6c11b045 feat(dns): add leak check report log 2026-03-16 13:57:14 +00:00
Quentin McGaw 85d2917e8e chore(dns): refactor loop code Run to have less indentation 2026-03-16 13:53:14 +00:00
Quentin McGaw 9a5995fa72 hotfix(dns): DNS_UPSTREAM_RESOLVERS defaults to empty if DNS_UPSTREAM_PLAIN_ADDRESSES is not empty 2026-03-16 13:48:35 +00:00
Quentin McGaw 2438fc2c3a chore!(firewall): iptables logger level is set at FIREWALL_IPTABLES_LOG_LEVEL
- firewall log level is still fully controlled by `LOG_LEVEL`
- iptables log level defaults to `info` even if global log level is `debug` to minimize the amount of debug logs
- iptables log level is only set to debug if retro-compatible `FIREWALL_DEBUG=on` or if `FIREWALL_IPTABLES_LOG_LEVEL=debug`
2026-03-16 12:46:53 +00:00
Quentin McGaw 00d1592899 hotfix(sources/secrets): fix wireguard/amnezia mixup
- Fix #3228
2026-03-13 14:48:11 +00:00
Quentin McGaw b04529c380 chore!(amneziawg): refactor to be separate from wireguard
- amneziawg is now a VPN protocol and no longer a Wireguard implementation
- Use it with VPN_TYPE=amneziawg
- document AMNEZIAWG_* options in Dockerfile
- document amneziawg support in readme
- separate amneziawg settings and code from wireguard
- re-use code from wireguard whenever possible
2026-03-11 17:16:18 +00:00
Quentin McGaw efea169495 hotfix(vpn): fix vpn stop when down command is empty 2026-03-11 16:26:13 +00:00
Quentin McGaw ba9fcb5b89 hotfix(amnezia): fix settings reading (nil pointer panic) 2026-03-11 16:23:50 +00:00
Quentin McGaw 97ccadfd33 chore(vpn): moved wireguard settings helpers from provider/utils to vpn as unexported functions 2026-03-11 14:05:55 +00:00
Zhurik e6fc792f4f feat(wireguard): amneziawg implementation (#3150) 2026-03-11 14:55:28 +01:00
Quentin McGaw e557971ae8 hotfix(dns): allow to use plain upstream type with selected builtin providers 2026-03-11 13:20:32 +00:00
Quentin McGaw 93999062e4 hotfix(publicip): increase client timeouts from 5s to 15s 2026-03-10 12:26:40 +00:00
Quentin McGaw 1d29f1f517 hotfix(pmtud): only set MSS on non-local VPN routes 2026-03-10 11:51:59 +00:00
Quentin McGaw d790e3385c Revert "chore(expressvpn): remove old invalid certificate to prevent confusion"
This reverts commit f7a9ddc48b.
2026-03-09 14:26:59 +00:00
Quentin McGaw 069cde8a85 hotfix(pmtud): set mss on all VPN routes
- fix behavior for OpenVPN splitting default route in multiple routes
- fix behavior for Wireguard if user specifies AllowedIPs
2026-03-08 23:27:04 +00:00
Quentin McGaw d98afce793 hotfix(vpn): inject cmder object for up/down commands and fix cleanup panic 2026-03-08 23:06:32 +00:00
Quentin McGaw 57c53bc19e feat(vpn): VPN_UP_COMMAND and VPN_DOWN_COMMAND options 2026-03-08 16:06:16 +00:00
Quentin McGaw 3d53cea0f6 chore(expressvpn): bump max fails for updater resolver 2026-03-08 13:33:45 +00:00
Quentin McGaw f7a9ddc48b chore(expressvpn): remove old invalid certificate to prevent confusion 2026-03-08 13:29:19 +00:00
Quentin McGaw 02a186c145 hotfix(boringpoll): fix debug log to log out last error 2026-03-07 17:10:45 +00:00
Rubyn Angelo Stark 724cd3a15e feat(server): PUT /v1/portforward route to set ports forwarded (#2392) 2026-03-07 17:10:38 +00:00
Quentin McGaw 199ad77ec9 chore(dns): remove DNS_SERVER, DNS_KEEP_NAMESERVER and replace DNS_ADDRESS with DNS_UPSTREAM_PLAIN_ADDRESSES (#2988)
- Remove `DNS_SERVER` (aka DOT) option: the DNS server forwarder part is now always enabled (see below why)
- Remove `DNS_KEEP_NAMESERVER`: the container will always use the built-in DNS server forwarder, because it can handle now local names with local resolvers (see #2970), it can use the `plain` upstream type (see https://github.com/qdm12/gluetun/commit/5ed6e8292278b54bb5081de0e8ccd0d63a275b3c) AND you can use `DNS_UPSTREAM_PLAIN_ADDRESSES` (see below)
- Replace `DNS_ADDRESS` with `DNS_UPSTREAM_PLAIN_ADDRESSES`:
  - New CSV format with port, for example `ip1:port1,ip2:port2`
  - requires `DNS_UPSTREAM_TYPE=plain` to be set to use `DNS_UPSTREAM_PLAIN_ADDRESSES` (unless using retro `DNS_ADDRESS`)
  - retrocompatibility with `DNS_ADDRESS`. If set, force upstream type to plain and empty user-picked providers. 127.0.0.1 is now ignored since it's always set to this value internally.
  - Warning log on using private upstream resolvers updated
- Warning log if using a private IP address for the plain DNS server which is not in your local subnets
All in all, this greatly simplifies code and available options (less options for the same features is a win). It also allows you to specify multiple plain DNS resolvers on ports other than 53 if needed.
2026-03-07 14:07:57 +01:00
Quentin McGaw b7735ecc00 fix(updater): only uses DoH to cloudflare+google
- prevent dns plaintext manipulation both the periodic update and when running in cli mode
- possibly higher reliability on poor connections versus UDP
- drop `-dns` flag in update command
- for now no configuration allowed since it makes everything rather complex
2026-03-06 21:01:52 +00:00
Quentin McGaw 457e5597bb feat(others): optional BORINGPOLL_GLUETUNCOM to fight AI slop scammy gluetun[dot]com 2026-03-06 16:27:16 +00:00
Quentin McGaw 5b2f86f4e7 fix(expressvpn): remove pakistan server 2026-03-06 14:03:15 +00:00
Quentin McGaw 39bd9854f7 chore(vpn): find VPN route earlier in MTU update function 2026-03-05 16:56:42 +00:00
Quentin McGaw c2c9504e94 hotfix(pmtud): set TCP MSS before changing MTU, and revert to original MTU if TCP MSS route set fails 2026-03-05 16:53:26 +00:00