v3.32.0

passteque/gluetunv3.32.0Oct 31, 2022by qdm12

AI Summary

This release adds support for AirVPN and Surfshark Wireguard, introduces IPv6 connection and tunneling capabilities, and updates built-in server lists for major providers like Mullvad and ProtonVPN.

Key Highlights

  • Added AirVPN and Surfshark Wireguard support
  • Implemented IPv6 connection and tunneling
  • Updated built-in servers for Cyberghost, Mullvad, ProtonVPN, and others
  • Fixed Private Internet Access port forwarding token retrieval

New Features

  • AirVPN support
  • Surfshark Wireguard support
  • IPv6 connection and tunneling
  • Built-in servers updates for Cyberghost, FastestVPN, Ivpn, Mullvad, ProtonVPN, PureVPN and Windscribe
  • HTTP proxy: log credentials sent on mismatch

Full Release Notes

## Features

- AirVPN support (#1145)
- Surfshark Wireguard support (#587)
- IPv6 connection and tunneling (#1114)
- Auto detection of IPv6 support for OpenVPN and `OPENVPN_IPV6` removed
- Built-in servers updates: Cyberghost, FastestVPN, Ivpn, Mullvad, ProtonVPN, PureVPN and Windscribe
- HTTP proxy: log credentials sent on mismatch

## Fixes

- Private Internet Access: get token for port forwarding (#1132)
- FastestVPN: updater handles lowercase `.ovpn` filenames
- Ivpn: update mechanism fixed for Wireguard servers
- Cyberghost: remove outdated server groups `94-1` pemium udp usa, `95-1` premium udp asia, `93-1` pemium udp usa and `96-1` premium tcp asia
- Exit with OS code `0` on successful shutdown
- Public IP fetching
    - handle HTTP status codes `403` as too many requests
    - no retry when too many requests to ipinfo.io
- OpenVPN: do not set `tun-ipv6`
    - server should push `tun-ipv6` if it is available
    - Add ignore filter for `tun-ipv6` if ipv6 is not supported on client
- Updater: error when server has not the minimal information
- Custom provider: `OPENVPN_CUSTOM_CONFIG` takes precedence only if `VPN_SERVICE_PROVIDER` is empty
- Wireguard: ignore IPv6 addresses if IPv6 is disabled
- Environment variables: trim space for wireguard addresses
- OpenVPN: parse `udp4`, `udp6`, `tcp4` or `tcp6`

## Documentation

- Readme: add ProtonVPN and PureVPN to Wireguard support

## Maintenance

### Code changes

- `provider/utils`: do not check for empty wg keys
- `internal/config`:
  - rename `Reader` to `Source` struct
  - define `Source` interface locally where needed
  - rename `mux` source to `merge`
- `internal/storage/servers.json`: remove `"udp": true` for Wireguard
- Filtering: no network protocol filter for Wireguard
- Fix netlink test for wireguard and crash


### Other dependencies

- Bump Go from 1.17 to 1.19
- Upgrade Wireguard dependencies
- golang.org/x/text from 0.3.7 to 0.4.0 (#1198)
- github.com/breml/rootcerts from 0.2.6 to 0.2.8 (#1173)

### Development

- Improve missing provider panic string
- Improve VSCode update command launch config
  - Run without `debug` mode
  - Run from workspace folder so it writes to the right path
  - Pick `-maintainer` or `-enduser` update mode

### CI

- docker/build-push-action from 3.1.1 to 3.2.0 (#1193)
- Fix codeql false positive integer parsing
- github.com/stretchr/testify from 1.8.0 to 1.8.1 (#1210)