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/commandpackage - Update
github.com/qdm12/dnstov1.9.0where 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-lintfromqmcgaw/binpot xcputranslateversion 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
SetStatuscontext 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