Commit Graph

  • 548e4342c9 fix(provider/pia): update default OpenVPN ports - 8080 for UDP - 8443 for TCP - According to https://github.com/pia-foss/manual-connections/commit/8a75e46be81583d17f9ab3570881419b35000969 - Credits to @darthShadow master Quentin McGaw 2026-05-06 05:00:39 +00:00
  • 12f08bf5ad fix(configuration/sources/files/wireguard): fix parsing ipv6 endpoint port Quentin McGaw 2026-05-05 21:28:08 +00:00
  • 4ea2337668 feat(dns): re-introduce DNS_SERVER option - force to set DNS_UPSTREAM_RESOLVER_TYPE=plain to avoid any confusion/security hole - force to set DNS_UPSTREAM_PLAIN_ADDRESSES to addresses only with port 53 Quentin McGaw 2026-05-05 21:15:28 +00:00
  • aab10f9d3f feat(ipv6): prefer IPv6 endpoints when IPv6 is supported Quentin McGaw 2026-05-04 13:21:52 +00:00
  • 3e59447e58 chore(ci): verify-tools job to check tooling programs Quentin McGaw 2026-05-04 13:17:45 +00:00
  • fed09562e5 feat(vpn): rotate filtered servers on internal vpn restarts - Fix #290 Quentin McGaw 2026-05-04 03:28:48 +00:00
  • 4b819b4dbb fix(pia): allow ports 501 and 502 as custom ports given they are the defaults Quentin McGaw 2026-05-04 03:10:23 +00:00
  • a0f6b208f7 feat(openvpn): reduce handshake window to 10 seconds for faster failure detection (again) Quentin McGaw 2026-05-03 04:29:29 +00:00
  • 44d510417e chore(devrun): support key and cert for OpenVPN credentials Quentin McGaw 2026-05-03 02:53:36 +00:00
  • 28ac8b859e chore(ci): test airvpn for OpenVPN Quentin McGaw 2026-05-03 02:46:59 +00:00
  • 3501782806 chore(ci): test airvpn for Wireguard Quentin McGaw 2026-05-03 02:39:45 +00:00
  • 4106951340 chore(ci): test private internet access for OpenVPN and port forwarding Quentin McGaw 2026-05-03 02:26:08 +00:00
  • c47cc90181 chore(ci): test protonvpn OpenVPN with port forwarding Quentin McGaw 2026-05-03 02:20:33 +00:00
  • f8400c1b1c chore(ci): test protonvpn Wireguard with port forwarding Quentin McGaw 2026-05-03 02:20:24 +00:00
  • 4bada8f0cd docs(Dockerfile): remove amneziawg ENV declared twice Quentin McGaw 2026-05-03 01:48:27 +00:00
  • b1b991b84e feat(devrun): add initial implementation of devrun tool Quentin McGaw 2026-05-01 22:04:00 +00:00
  • 4a78989d9d chore: do not use sentinel errors when unneeded - main reason being it's a burden to always define sentinel errors at global scope, wrap them with %w instead of using a string directly - only use sentinel errors when it has to be checked using errors.Is - replace all usage of these sentinel errors in fmt.Errorf with direct strings that were in the sentinel error - exclude the sentinel error definition requirement from .golangci.yml - update unit tests to use ContainersError instead of ErrorIs so it stays as a "not a change detector test" without requiring a sentinel error Quentin McGaw 2026-05-02 00:50:16 +00:00
  • 9b6f048fe8 chore(pmtud): fix integration tests not compiling Quentin McGaw 2026-05-02 02:51:49 +00:00
  • 7a74d4f462 hotfix(openvpn): revert "feat(openvpn): reduce handshake window to 10 seconds for faster failure detection" Quentin McGaw 2026-05-01 17:05:09 +00:00
  • 35137cfba0 [create-pull-request] automated change bot/update-servers-list-1777610243 qdm12 2026-05-01 04:37:23 +00:00
  • 66b9f71ecf hotfix(openvpn): fix support for tcp-client Quentin McGaw 2026-05-01 00:39:54 +00:00
  • 704a7fd7ef chore(dev): add AGENTS.md Quentin McGaw 2026-04-30 11:53:20 +00:00
  • f615e3c780 feat(openvpn): reduce handshake window to 10 seconds for faster failure detection Quentin McGaw 2026-04-30 11:53:12 +00:00
  • f1a8303db7 chore(dev): add markdownlint-cli2 (and nodejs) in dev container Quentin McGaw 2026-04-30 11:12:52 +00:00
  • 6d2ce95305 (temporary) show gluetun-servers repository shape storage-refresh Quentin McGaw 2026-04-27 02:47:51 +00:00
  • 25f67cd170 refactor(storage): new storage file structure - new directory structure containing manifest.json and one json file per provider, by default. - the manifest.json file can specify a filepath for each vpn provider - each vpn provider json data file can contain the "preferred": true field to enforce it is used even if outdated, unless there is a version mismatch - STORAGE_SERVERS_DIRECTORY_PATH replaces STORAGE_FILEPATH (which is now a migration source only). It sets the directory where server manifest and per-provider JSON files are stored (default: /gluetun/servers/). - First-run migration: On startup, gluetun checks for the old /gluetun/servers.json file; if found and no new manifest exists, it automatically migrates all data to /gluetun/servers/ directory structure - Silent fallback: If legacy file isn't found, uses the new directory path normally - Legacy cleanup: After successful migration, attempts to remove the old fat JSON file (logs warning only if removal fails, e.g., read-only bind mounts) Quentin McGaw 2026-04-27 02:47:30 +00:00
  • d96752c734 chore(updater): move updater packages to pkg/updaters/<name> Quentin McGaw 2026-04-23 03:47:57 +00:00
  • 7d20060cf0 Chore(deps): Bump go.opentelemetry.io/otel from 1.38.0 to 1.41.0 in /ci dependabot/go_modules/ci/go.opentelemetry.io/otel-1.41.0 dependabot[bot] 2026-04-24 20:26:45 +00:00
  • 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 Quentin McGaw 2026-04-22 12:32:47 +00:00
  • ea3d138bd6 fix(pia): ignore *.pvt.site regions Quentin McGaw 2026-04-22 00:49:47 +00:00
  • c3a6809447 fix(pia): try x.y.128.1 and x.y.0.1 from the gateway IP to find the API IP address Quentin McGaw 2026-04-22 00:42:23 +00:00
  • 624a6990fa Chore(deps): Bump github.com/pelletier/go-toml/v2 from 2.2.4 to 2.3.0 dependabot/go_modules/github.com/pelletier/go-toml/v2-2.3.0 dependabot[bot] 2026-04-21 17:32:59 +00:00
  • c45264eb21 Chore(deps): Bump github.com/klauspost/compress from 1.18.4 to 1.18.5 dependabot/go_modules/github.com/klauspost/compress-1.18.5 dependabot[bot] 2026-04-21 17:32:57 +00:00
  • 51862e56cd Chore(deps): Bump github.com/fatih/color from 1.18.0 to 1.19.0 dependabot/go_modules/github.com/fatih/color-1.19.0 dependabot[bot] 2026-04-21 17:32:56 +00:00
  • 792a5ff5f3 hotfix(dns): fix pool panicing (again) Quentin McGaw 2026-04-21 17:31:36 +00:00
  • 7eef1c89a7 fix(portforward): no longer stuck after failed port forwarding Quentin McGaw 2026-04-20 15:27:47 +00:00
  • 8bc2fbd487 hotfix(dns): fix race condition with DoT pool Quentin McGaw 2026-04-20 14:31:35 +00:00
  • a4eb625fbe chore(settings/dns): remove unused code Quentin McGaw 2026-04-19 18:05:19 +00:00
  • 17a7bf6d54 fix(privateinternetaccess): use AES-GCM for all presets Quentin McGaw 2026-04-19 18:00:56 +00:00
  • b11de4f0c3 fix(privateinternetaccess): remove none encryption preset Quentin McGaw 2026-04-19 17:51:20 +00:00
  • e87a92efa0 hotfix(boringpoll): fix race condition on stop Quentin McGaw 2026-04-19 17:48:38 +00:00
  • 44977f4d9e fix(dns): DNS over TLS pool behavior fixed - handle timed out connections the same as closed connections - close connection on TLS handshake failure - improve mutex handling during connection renewal and retrieval Quentin McGaw 2026-04-19 01:30:54 +00:00
  • c473579261 chore(provider/utils): remove unused code Quentin McGaw 2026-04-16 20:19:55 +00:00
  • d5eeec6fb3 feat(protonvpn): support up to 5 forwarded ports (#3208) Quentin McGaw 2026-04-18 02:36:06 +02:00
  • 8f21596cf4 feat(protonvpn): updater finds more servers using app-version linux-vpn protonvpn-more-servers Quentin McGaw 2026-01-21 12:43:54 +00:00
  • 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 Quentin McGaw 2026-04-10 14:45:30 +00:00
  • 64fd11d013 chore(github): add drunk AI label Quentin McGaw 2026-04-10 14:12:34 +00:00
  • e49b95cebf Chore(deps): Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp dependabot/go_modules/ci/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp-1.43.0 dependabot[bot] 2026-04-08 20:07:08 +00:00
  • 2006fae0e3 fix(wireguard): support IPv6 address formatting from config files (#3273) Drew Wells 2026-04-08 10:04:35 -05:00
  • 3b9c9b24bd fix(server/auth): return 404 or 405 depending on route - Fix #3275 Quentin McGaw 2026-04-07 19:41:05 +00:00
  • 11883aa830 feat(netlink): detect ipv6 support level (#2523) Quentin McGaw 2026-04-07 13:48:15 +02:00
  • 1ae85aa5d0 fix(vyprvpn/updater): update OpenVPN configs zip URL (#3264) Damoon Tahmasbi 2026-04-03 22:34:10 +10:00
  • 763c5be119 fix(server/portforward): use port and ports for both single port and multiple ports forwarded Quentin McGaw 2026-03-29 01:20:13 +00:00
  • 5b88c76a14 fix(openvpn): bundle provider CA certificates in one block (#3258) Michael Bisbjerg 2026-03-26 22:32:43 +01:00
  • c75929b187 Chore(deps): Bump DavidAnson/markdownlint-cli2-action from 22 to 23 dependabot/github_actions/DavidAnson/markdownlint-cli2-action-23 dependabot[bot] 2026-03-26 05:28:23 +00:00
  • 086e3740f3 fix(firewall/iptables): shared mutex for both iptables and ip6tables Quentin McGaw 2026-03-23 14:09:26 +00:00
  • 57cf276d31 chore(firewall/iptables): log restore data on failure to restore Quentin McGaw 2026-03-23 14:03:30 +00:00
  • 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 Quentin McGaw 2026-03-23 13:40:27 +00:00
  • 72af17cc91 hotfix(dns): fix behavior for DNS_UPSTREAM_PLAIN_ADDRESSES Quentin McGaw 2026-03-21 23:37:25 +00:00
  • 8a2e8bda0f hotfix(amneziawg): fix errors (#3240) Zhurik 2026-03-22 01:24:03 +03:00
  • 5e6c11b045 feat(dns): add leak check report log Quentin McGaw 2026-03-16 13:57:14 +00:00
  • 85d2917e8e chore(dns): refactor loop code Run to have less indentation Quentin McGaw 2026-03-16 13:53:14 +00:00
  • 9a5995fa72 hotfix(dns): DNS_UPSTREAM_RESOLVERS defaults to empty if DNS_UPSTREAM_PLAIN_ADDRESSES is not empty Quentin McGaw 2026-03-16 12:55:19 +00:00
  • 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 Quentin McGaw 2026-03-13 18:26:48 +00:00
  • 8aaf998fa1 chore!(firewall): FIREWALL_DEBUG no longer affects the routing logger log level Quentin McGaw 2026-03-13 17:56:39 +00:00
  • f0cbcbb60d chore(ci): bump timeout from 30s to 60s Quentin McGaw 2026-03-13 17:52:48 +00:00
  • 4e5d4f7793 feat(docker): bump Alpine from 3.22 to 3.23 Quentin McGaw 2026-03-13 15:39:25 +00:00
  • 460ffb637a fix(ci): set hash of PR commit instead of synthetic commit in docker build argument Quentin McGaw 2026-03-13 15:12:54 +00:00
  • edc601c41f Chore(deps): Bump golang.org/x/net from 0.51.0 to 0.52.0 dependabot/go_modules/golang.org/x/net-0.52.0 dependabot[bot] 2026-03-13 14:58:54 +00:00
  • c86ad8abfd Chore(deps): Bump github.com/amnezia-vpn/amneziawg-go dependabot/go_modules/github.com/amnezia-vpn/amneziawg-go-1.0.4 dependabot[bot] 2026-03-13 14:58:33 +00:00
  • c83d4b0926 Chore(deps): Bump golang.org/x/text from 0.34.0 to 0.35.0 (#3227) dependabot[bot] 2026-03-13 15:57:47 +01:00
  • 00d1592899 hotfix(sources/secrets): fix wireguard/amnezia mixup - Fix #3228 Quentin McGaw 2026-03-13 14:48:11 +00:00
  • b5b0e01376 Chore(deps): Bump github.com/mdlayher/netlink from 1.7.2 to 1.9.0 (#3199) dependabot[bot] 2026-03-11 21:43:10 +01:00
  • 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 Quentin McGaw 2026-03-11 16:35:18 +00:00
  • efea169495 hotfix(vpn): fix vpn stop when down command is empty Quentin McGaw 2026-03-11 16:26:13 +00:00
  • ba9fcb5b89 hotfix(amnezia): fix settings reading (nil pointer panic) Quentin McGaw 2026-03-11 16:23:50 +00:00
  • 97ccadfd33 chore(vpn): moved wireguard settings helpers from provider/utils to vpn as unexported functions Quentin McGaw 2026-03-11 14:05:55 +00:00
  • e6fc792f4f feat(wireguard): amneziawg implementation (#3150) Zhurik 2026-03-11 16:55:28 +03:00
  • f4eeffe79a Chore(deps): Bump docker/metadata-action from 5 to 6 (#3213) dependabot[bot] 2026-03-11 14:40:32 +01:00
  • 0394e31fe2 Chore(deps): Bump docker/setup-buildx-action from 3 to 4 (#3214) dependabot[bot] 2026-03-11 14:40:19 +01:00
  • 27b8e83aa5 Use ErrKernelModuleMissing when missing kernel module string is detected conntrack Quentin McGaw 2026-03-11 13:35:56 +00:00
  • e557971ae8 hotfix(dns): allow to use plain upstream type with selected builtin providers Quentin McGaw 2026-03-11 13:20:27 +00:00
  • a98b39a03f Chore(deps): Bump golang.org/x/sys from 0.41.0 to 0.42.0 (#3212) dependabot[bot] 2026-03-10 13:50:57 +01:00
  • 760fefd890 Chore(deps): Bump docker/setup-qemu-action from 3 to 4 (#3211) dependabot[bot] 2026-03-10 13:50:36 +01:00
  • 543d3fa95e fix(dns): correct error wrapping for DNS listening address validation - Fix #3216 Quentin McGaw 2026-03-10 12:38:56 +00:00
  • 93999062e4 hotfix(publicip): increase client timeouts from 5s to 15s Quentin McGaw 2026-03-10 12:26:40 +00:00
  • 853f4601a5 chore(ci): fix golangci-lint config exclusion Quentin McGaw 2026-03-10 11:58:49 +00:00
  • 1d29f1f517 hotfix(pmtud): only set MSS on non-local VPN routes Quentin McGaw 2026-03-10 11:51:59 +00:00
  • d790e3385c Revert "chore(expressvpn): remove old invalid certificate to prevent confusion" Quentin McGaw 2026-03-09 14:26:59 +00:00
  • 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 Quentin McGaw 2026-03-08 23:27:04 +00:00
  • d98afce793 hotfix(vpn): inject cmder object for up/down commands and fix cleanup panic Quentin McGaw 2026-03-08 23:06:32 +00:00
  • 57c53bc19e feat(vpn): VPN_UP_COMMAND and VPN_DOWN_COMMAND options Quentin McGaw 2026-03-08 16:06:16 +00:00
  • c0af198155 chore(dockerfile); re-arrange port forwarding env location in Dockerfile Quentin McGaw 2026-03-08 15:34:25 +00:00
  • 3d53cea0f6 chore(expressvpn): bump max fails for updater resolver Quentin McGaw 2026-03-08 13:33:45 +00:00
  • f7a9ddc48b chore(expressvpn): remove old invalid certificate to prevent confusion Quentin McGaw 2026-03-08 13:29:19 +00:00
  • 02a186c145 hotfix(boringpoll): fix debug log to log out last error Quentin McGaw 2026-03-07 16:04:57 +00:00
  • 724cd3a15e feat(server): PUT /v1/portforward route to set ports forwarded (#2392) Rubyn Angelo Stark 2026-03-07 18:06:03 +01:00
  • 199ad77ec9 chore(dns): remove DNS_SERVER, DNS_KEEP_NAMESERVER and replace DNS_ADDRESS with DNS_UPSTREAM_PLAIN_ADDRESSES (#2988) Quentin McGaw 2026-03-07 14:07:57 +01:00
  • dd0edafbb1 Chore(ci): Bump peter-evans/dockerhub-description from 4 to 5 (#2928) dependabot[bot] 2026-03-07 00:48:28 -05:00
  • 9be2fc827b Chore(ci): Bump docker/build-push-action from 6 to 7 (#3197) dependabot[bot] 2026-03-07 00:20:51 -05:00