v3.19.0

passteque/gluetunv3.19.0Jun 25, 2021by qdm12

AI Summary

Adds support for IPVanish and VPN Unlimited, improves Cyberghost updater, and adds custom OpenVPN configuration options.

Key Highlights

  • IPVanish and VPN Unlimited support
  • Improved Cyberghost updater
  • Custom OpenVPN cipher support
  • PIA `none` encryption preset

New Features

  • IPVanish support
  • VPN Unlimited support
  • IVPN: add Bulgaria and Spain servers
  • Improve Cyberghost updater by waiting up to 20 seconds
  • PureVPN: update server information
  • Custom openvpn config fixes
  • PIA: `none` encryption preset

Full Release Notes

## Features

- IPVanish support (#475, #410, $416)
- VPN Unlimited support (#499, #420)
- IVPN: add Bulgaria and Spain servers
- Improve Cyberghost updater by waiting up to 20 seconds for repeated DNS resolutions
- PureVPN: update server information

## Fixes

- IVPN: use name prefix for TLS check instead of full hostname
- PureVPN: change default cipher to `AES-256-GCM`
- Custom openvpn config:
  - Fix settings log
  - Only use and write OpenVPN auth file if openvpn user is set
  - `remote` OpenVPN configuration line
  - Custom cipher `OPENVPN_CIPHER` for OpenVPN 2.5
- PIA: `none` encryption preset
  - Set `cipher` and `auth` to `none`
  - Add `ncp-disable` OpenVPN option
- Prevent exit race condition for program *loops*

## Documentation

- Change [docker-compose.yml](docker-compose.yml) to not use secrets
- Clarify setup instructions for 32 bit
- Add [maintenance document](maintenance.md)
- Issue templates
  - add how to use code highlighting
  - Help issues: add Github discussions link

## Maintenance

### CI

- Faster cross Docker builds by properly pulling build platform specific `qmcgaw/xcputranslate`
- Avoid cross Docker build out of memory errors using the `xcputranslate sleep` feature
- Better Docker layer caching for rebuilds
  - Install `g++` in `base` stage before copying code
  - Install `xcputranslate` in base stage before copying code
  - Install `golangci-lint` in base stage before copying code
- Upgrade `qmcgaw/xcputranslate` to from `v0.4.0` to `v0.6.0`
- Deduplicate Dockerfile base stage build
- Dockerfile test stage has its entrypoint set to run tests

### Code

- Use `github.com/qdm12/goshutdown@v0.1.0` instead of `internal/shutdown`
- Upgrade `golangci-lint` to `v1.41.1`
- Update list of golangci-lint linters
  - Replace `golint` with `revive` linter
- Upgrade `golang/mock` to `v1.6.0`
- Remove dependency on `github.com/kyokomi/emoji`
- Upgrade `github.com/fatih/color` to `v1.12.0`
- Upgrade `github.com/qdm12/dns` to `v1.8.0`
- Upgrade `github.com/qdm12/golibs`
- Upgrade `github.com/qdm12/updated`