v3.14.0

passteque/gluetunv3.14.0Feb 12, 2021by qdm12

AI Summary

Adds OpenVPN pull filters, runs OpenVPN as root by default, and improves logging with location information.

Key Highlights

  • OpenVPN runs as root by default
  • Improved logging with location info
  • Updater DNS improvements

Breaking Changes

  • Openvpn: runs as root by default
  • Shadowsocks password is now compulsory

New Features

  • Openvpn: add pull filter to ignore ping-restart
  • Openvpn: runs as root by default
  • Logging: log country, region and city
  • Only log a health message once
  • Updater: updater does DNS resolutions during longer periods

Full Release Notes

## Features

- Openvpn: add pull filter to ignore `ping-restart` instructions so Openvpn exits on error (and gets restarted by the program)
- Openvpn: runs as root by default to avoid permission errors, as the entrypoint must run with root anyway. This has more benefits than disadvantages.
- Logging: initial settings log improved
- Logging: log country, region and city corresponding to the public IP address, obtained from https://ipinfo.io, every time openvpn establishes a connection
- Logging: Only log a health message **once** when the health state changes from unhealthy to healthy or from healthy to unhealthy
- Updater: updater does DNS resolutions during longer periods (20 seconds, all in parallel) in order to obtain a larger pool of IP addresses per VPN server hostname

## Bug fixes

- Nordvpn & Windscribe: empty 'nil' connection bug fix
- Windscribe: TLS keys out of sync fixed by adding `reneg-sec 0` and `ncp-disable` options to the openvpn configuration
- Windscribe: Fix `SERVER_HOSTNAME` to be non compulsory as `HOSTNAME` was conflicting with the options
- Updater: uses plaintext DNS and not Unbound in order to resolve all hostnames without getting blocked

## Maintenance

- Merging `settings` and `params` package into a new `configuration` package to simplify future maintenance
- Add package comments to statisfy new linting rules
- Remove type aliases in order to support proto generated structures for a better API