v3.36.0
passteque/gluetunv3.36.0Oct 31, 2023by qdm12
AI Summary
Major update adding Wireguard `WIREGUARD_ALLOWED_IPS` support, ProtonVPN port forwarding with NAT-PMP, and upgraded Alpine/Go versions. Contains minor breaking changes regarding DNS and updater command syntax.
Key Highlights
- Added `WIREGUARD_ALLOWED_IPS` variable
- Added `VPN_PORT_FORWARDING_PROVIDER` variable
- ProtonVPN port forwarding support with NAT-PMP
- Alpine upgraded to 3.17 and Go upgraded to 1.21
Breaking Changes
- `DNS_KEEP_NAMESERVER` leaves DNS fully untouched (behavior change)
- `update` command uses dashes instead of spaces for provider names (e.g., `-vpn unlimited` -> `-vpn-unlimited`)
New Features
- Wireguard Allowed IPs configuration
- Port Forwarding Provider selection
- Surfshark servers data API endpoint updated
- Routing: add outbound subnets routes only for matching ip families
Full Release Notes
🎃 Happy Halloween 🎃 Hopefully it is not a spooky release! 😸 ## Features - Wireguard - `WIREGUARD_ALLOWED_IPS` variable (#1291) - Parse settings from `/gluetun/wireguard/wg0.conf` (#1120) - VPN server port forwarding - `VPN_PORT_FORWARDING_PROVIDER` variable (#1616) - ProtonVPN port forwarding support with NAT-PMP (#1543) - Servers data - Surfshark servers data API endpoint updated (#1560) - Built-in servers data updated for Cyberghost, Mullvad, Torguard, Surfshark - Clarify "Wireguard is up" message logged - Updater log warning about using `-minratio` if not enough servers are found - Configuration: add `/32` if not present for Wireguard addresses ## Fixes - **Minor breaking change**: `DNS_KEEP_NAMESERVER` leaves DNS fully untouched - **Minor breaking change**: `update` command uses dashes instead of spaces for provider names (i.e. `-vpn\ unlimited` -> `-vpn-unlimited`) - Port forwarding run loop reworked and fixed (#1874) - Public IP fetching run loop reworked and fixed - ProtonVPN: add `aes-256-gcm` cipher for OpenVPN - Custom provider: allow custom endpoint port setting - IPv6 support for ipinfo (#1853) - Routing: `VPNLocalGatewayIP` Wireguard support - Routing: add outbound subnets routes only for matching ip families - Routing: change firewall only for matching ip families - Netlink: try loading Wireguard module if not found (#1741) - Public IP: do not retry when doing too many requests ## Documentation - Readme - remove `UPDATER_VPN_SERVICE_PROVIDERS` in docker-compose config - remove Slack channel link (don't have time to check it) - update Wireguard native integrations support list - Update to use newer wiki repository - update URLs logged by program - update README.md links - update contributing guide link - update issue templates links - replace Wiki issue template by link to Gluetun Wiki repository issue creation - set program announcement about Github wiki new location - Issue templates - add Unraid as option in bug issue template - provide minimum requirements for an issue: title must be filled, at least 10 lines of log provided, Gluetun version must be provided ## Maintenance - Dockerfile: add missing environment variables - `OPENVPN_PROCESS_USER` value defaults to `root` - Add `HTTPPROXY_STEALTH=off` - Add `HTTP_CONTROL_SERVER_LOG=on` - Code - `internal/settings`: change source precedence order: Secret files then files then environment variables - `internal/routing`: Wrap `setupIPv6` rule error correctly - Move vpn gateway obtention within port forwarding service - `internal/vpn`: fix typo `portForwader` -> `portForwarder` - `internal/provider`: use type assertion for port forwarders - CI - rename workflow to `Markdown` - Markdown workflow triggers on `*.md` files only - Markdown workflow triggers for pull requests as well - Markdown job runs misspell, linting and dead link actions - Markdown publishing step to Docker Hub is only for pushes to the master branch - Add markdown-skip workflow - Dependencies - Upgrade Go to 1.21 - Upgrade linter to v1.54.1 - Bump golang.org/x/text from 0.10.0 to 0.11.0 (#1726) - Bump golang.org/x/sys from 0.8.0 to 0.11.0 (#1732, #1786) - Bump golang.org/x/net from 0.10.0 to 0.12.0 (#1729) - bump gosettings to v0.4.0-rc1