Bug fixes
- IPVanish: certificate validation option fixed
- Fix OpenVPN restart logic
- Remove OpenVPN eventual deadlock after a restart
- Fix OpenVPN run loop panicing about log streams after one or more internal openvpn restart
- Shutdowns of subprograms (openvpn and unbound) are handled by the Go program
- Openvpn and Unbound do not receive OS signals
- Openvpn and Unbound run in a different process group than the entrypoint
- Openvpn and Unbound are gracefully shutdown by the entrypoint
- Update golibs with a modified
github.com/qdm12/golibs/command
package - Update
github.com/qdm12/dns
tov1.9.0
where Unbound is launched in its own group
- Fix events routing behavior if
VERSION_INFORMATION=off
- Behavior when exiting at boot
- Events routing routine exits when gluetun stops
- Remove deadlock on dns shutdown
Features
- OpenVPN pull filter for ipv6 options if
OPENVPN_IPV6=off
- Update servers information:
- ProtonVPN
- IPVanish
- Upgrade to Alpine 3.14
- Clean suffix new line(s) for credentials
Documentation
- Add Youtube video
- Simplify metdata and move it at top of readme
Maintenance
Dockerfile
- Download
golangci-lint
fromqmcgaw/binpot
xcputranslate
version as build argument
Readme
- Use native markdown code for svg title image instead of HTML's
<svg>
Logs
- Deduplicate error logs for
goshutdown
- Remove outdated auth error warning about PIA
Asynchronous logic
- Make all loop's
SetStatus
context aware - Rework DNS run loop
- Fix fragile user triggered logic
- Simplify state logic
- Rework Openvpn run loop
- Rework openvpn unhealthy triggered restart to be in the healthcheck loop instead of in the openvpn loop