Commit Graph

2361 Commits

Author SHA1 Message Date
Quentin McGaw 09c47838f1 SERVER_DEDICATED option 2026-05-22 01:12:24 +00:00
Quentin McGaw 42c5a5da31 PR feedback 2026-05-22 00:37:56 +00:00
Quentin McGaw 1dc6eb74e5 Remove unneeded allow-compression asym 2026-05-22 00:02:14 +00:00
Quentin McGaw fc5d29b1a6 Add missing "key-direction 1" 2026-05-22 00:02:14 +00:00
Quentin McGaw 2200b3e068 Set TLS crypt for Singapore hostnames only 2026-05-22 00:02:14 +00:00
Quentin McGaw 11e8198dda Add missing openvpn options
- CA
- TLS auth
- TLS crypt (for singapore)
- `allow-compression asym`
- `replay-window 256`
- remote-cert-tls server
- move aes256gcm as preferred cipher
2026-05-22 00:02:14 +00:00
Quentin McGaw 6199fdc853 initial code 2026-05-22 00:02:14 +00:00
Quentin McGaw 7f9cd0fd0c chore(ci): update markdown workflow to use docker hub password from secrets environment 2026-05-21 20:33:28 +00:00
Quentin McGaw 1a25f7377a chore(ci): update CI to work with passteque/gluetun
- push to ghcr.io/qdm12/gluetun using qdm12 GHCR_PAT secret
- change 'qdm12/gluetun' to 'passteque/gluetun' in CI files
2026-05-21 18:32:28 +00:00
Quentin McGaw 691dc3b0bf docs: update url from qdm12/gluetun to passteque/gluetun 2026-05-21 17:54:07 +00:00
Quentin McGaw 5fed7f70ed docs: add socks5 to readme and labels 2026-05-21 17:25:21 +00:00
Quentin McGaw eb9916f0ac feat: socks5 proxy server (#3336)
- `SOCKS5_ENABLED=off`
- `SOCKS5_LISTENING_ADDRESS=":1080"`
- `SOCKS5_USER=`
- `SOCKS5_PASSWORD=`
2026-05-21 19:18:55 +02:00
Quentin McGaw 2210a0e9ad fix(command): fix rare race condition on log line stream at command completion 2026-05-21 15:44:21 +00:00
Quentin McGaw f8a677a424 hotfix(portforward): log both external and internal ports when they diverge
- useful for ProtonVPN only
- clarify things up for the user
2026-05-21 14:45:40 +00:00
Quentin McGaw 8f012014d6 hotfix(firewall/iptables): only save stdout from iptables-save, not stderr 2026-05-21 03:50:44 +00:00
Quentin McGaw b119325241 hotfix(storage): do not write filepath field for non-manifest files 2026-05-19 03:03:30 +00:00
Quentin McGaw 7720b1fad4 fix(storage): ignore empty manifest servers file
- Fix #3318
2026-05-19 02:53:45 +00:00
Quentin McGaw 854bf5811d fix(wireguard): skip tun device checks when using kernelspace 2026-05-19 02:46:40 +00:00
Quentin McGaw 8f82376996 feat(storage): storage file structure changes (#3301)
- migrate persisted server data storage from `/gluetun/servers.json` to `/gluetun/servers/`
- add `STORAGE_SERVERS_ENABLED=on` to enable or disable on-disk server data storage
- add `STORAGE_SERVERS_DIRECTORY_PATH=/gluetun/servers` to configure where per-provider server files are stored
- keep backward compatibility with legacy `STORAGE_FILEPATH=/gluetun/servers.json`
- automatically read and migrate legacy `/gluetun/servers.json` into the new `/gluetun/servers/` layout when needed
- try to remove the legacy servers file after a successful migration to the new storage directory
- switch persisted server data from one large JSON file to a manifest plus per-provider JSON files
- add `UPDATER_PREFER_DIRECT_DOWNLOAD` to allow preferring direct download of provider server data
- keep deprecated updater flags `-enduser` and `-maintainer` as no-op warnings for backward compatibility
- preserve compatibility checks so persisted server data is discarded when its schema version no longer matches the built-in data
- allow preferred persisted provider data to override built-in data when versions match
- servers data now lives at https://github.com/qdm12/gluetun-servers/tree/main/pkg/servers
2026-05-19 04:28:25 +02:00
Immanuel Tikhonov cd19093d1d fix(openvpn/extract): trim spaces in config lines before parsing (#3327) 2026-05-12 03:44:29 +02:00
Quentin McGaw fd12e5f9e7 chore(provider/utils): fix flaky test caused by new random shuffle 2026-05-12 01:28:11 +00:00
Quentin McGaw 3ca4b48887 hotfix(provider/utils): randomize pool of filterd servers to pick connections from 2026-05-12 01:08:19 +00:00
Quentin McGaw 38cf094573 chore(boringpoll): remove gluetun.com which is now DOWN 🎉 2026-05-12 00:58:23 +00:00
Quentin McGaw 5b01324d5f hotfix(pmtud): detect IPv6 usage in VPN connection 2026-05-09 14:40:04 +00:00
Quentin McGaw 445f99d9dc hotfix(openvpn): bump hand-window from 10s to 20s 2026-05-08 16:12:13 +00:00
Quentin McGaw 891249849a fix(provider/pia): handle "port is busy" messages and retry port forwarding logic 2026-05-08 04:16:15 +00:00
Quentin McGaw 5cae870745 feat(provider/pia): try parsing JSON on bad port forwarding API status codes 2026-05-08 04:15:30 +00:00
Quentin McGaw 4ea9884c6c chore(dev): add task to devrun run 2026-05-07 19:21:22 +00:00
Quentin McGaw 3c84a94f11 hotfix(pmtud/ip): handle network is unreachable silently 2026-05-07 19:20:50 +00:00
Quentin McGaw a9e8e427a5 docs(readme): inform users of repository migration under passteque organization 2026-05-07 18:33:50 +00:00
Quentin McGaw e1d31f53f1 fix(configuration/settings/wireguard): ignore empty address strings 2026-05-07 04:53:50 +00:00
Quentin McGaw 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
2026-05-06 05:00:39 +00:00
Quentin McGaw 12f08bf5ad fix(configuration/sources/files/wireguard): fix parsing ipv6 endpoint port 2026-05-05 21:28:08 +00:00
Quentin McGaw 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
2026-05-05 21:15:28 +00:00
Quentin McGaw aab10f9d3f feat(ipv6): prefer IPv6 endpoints when IPv6 is supported 2026-05-04 13:21:52 +00:00
Quentin McGaw 3e59447e58 chore(ci): verify-tools job to check tooling programs 2026-05-04 13:17:45 +00:00
Quentin McGaw fed09562e5 feat(vpn): rotate filtered servers on internal vpn restarts
- Fix #290
2026-05-04 03:29:35 +00:00
Quentin McGaw 4b819b4dbb fix(pia): allow ports 501 and 502 as custom ports given they are the defaults 2026-05-04 03:10:23 +00:00
Quentin McGaw a0f6b208f7 feat(openvpn): reduce handshake window to 10 seconds for faster failure detection (again) 2026-05-03 04:29:29 +00:00
Quentin McGaw 44d510417e chore(devrun): support key and cert for OpenVPN credentials 2026-05-03 04:29:10 +00:00
Quentin McGaw 28ac8b859e chore(ci): test airvpn for OpenVPN 2026-05-03 04:29:08 +00:00
Quentin McGaw 3501782806 chore(ci): test airvpn for Wireguard 2026-05-03 04:29:06 +00:00
Quentin McGaw 4106951340 chore(ci): test private internet access for OpenVPN and port forwarding 2026-05-03 04:29:04 +00:00
Quentin McGaw c47cc90181 chore(ci): test protonvpn OpenVPN with port forwarding 2026-05-03 03:50:16 +00:00
Quentin McGaw f8400c1b1c chore(ci): test protonvpn Wireguard with port forwarding 2026-05-03 02:42:07 +00:00
Quentin McGaw 4bada8f0cd docs(Dockerfile): remove amneziawg ENV declared twice 2026-05-03 01:48:27 +00:00
Quentin McGaw b1b991b84e feat(devrun): add initial implementation of devrun tool
See ./devrun/README.md for more details.
2026-05-02 05:07:10 +00:00
Quentin McGaw 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
2026-05-02 03:29:46 +00:00
Quentin McGaw 9b6f048fe8 chore(pmtud): fix integration tests not compiling 2026-05-02 03:29:01 +00:00
Quentin McGaw 7a74d4f462 hotfix(openvpn): revert "feat(openvpn): reduce handshake window to 10 seconds for faster failure detection"
This reverts commit f615e3c780.
2026-05-01 17:05:09 +00:00