v3.17.0
passteque/gluetunv3.17.0May 8, 2021by qdm12
AI Summary
Upgrades Alpine, OpenVPN, and Unbound to newer versions, adds ProtonVPN support, and blocks IPv6 traffic by default.
Key Highlights
- Alpine 3.13 and OpenVPN 2.5.1 upgrades
- ProtonVPN support
- IPv6 traffic blocking
- Robust updater DNS resolution
Breaking Changes
- Block IPv6 traffic by default
- Clear firewall rules on shutdown
New Features
- Upgrade Alpine from 3.12 to 3.13
- Upgrade `openvpn` from 2.4.10 to 2.5.1
- Upgrade `unbound` from 1.10.1 to 1.13.0
- Protonvpn support
- Block IPv6 traffic
- Update server information
- Feature: more robust updater DNS resolution
Full Release Notes
## Features
- Upgrade Alpine from 3.12 to 3.13
- Upgrade `openvpn` from 2.4.10 to 2.5.1
- Upgrade `unbound` from 1.10.1 to 1.13.0
- Upgrade `iptables` from 1.8.4 to 1.8.6
- Protonvpn support (#437 clone on #434)
- Restart Openvpn if the container is unhealthy (#417 & #441)
- Block IPv6 traffic (#428)
- Block all IPv6 traffic with `ip6tables` by default
- Adapt existing firewall code to handle IPv4 and IPv6, depending on user inputs and environment
- Only run `ip6tables` if it is supported by the Kernel (#431, issue #430)
- Update server information
- Cyberghost
- FastestVPN
- HideMyAss
- Privado
- PrivateVPN
- Private Internet Access
- PureVPN
- Surfshark
- VyprVPN
- Clear firewall rules on shutdown (issue #276)
Feature: more robust updater DNS resolution
- Parallel resolver to resolve multiple hosts
- Repeat resolver to repeat resolution for a single host
- Additional parameters for fault toleration
- Do not update servers if 10% of DNS resolutions failed
- `resolver` package in `internal/updater` package
## Fixes
- Replace Surfshark default cipher with `aes-256-gcm`
- Block IPv6 traffic (#428)
- Remove `pull-filter ignore ping-restart` openvpn instructions
## Maintenance
- Upgrade `golangci-lint` to `v1.39.0`
- Improve error wrapping in the `firewall` package
- Dev container changes
- Bind mount for root only
- Support for Windows HyperV bind mounts
- Run `go mod tidy` after `go mod download` on container creation
- Use `:z` flag for possibly shared bind mounts
- Bind mount `~/.zsh_history`
- Bind mount `~/.docker` config directory