github qdm12/gluetun v3.23.0

latest releases: v3.38.0, v3.37.0, v3.36.0...
2 years ago

🎉 It's our 1000th commit!!! 🌟

Features

  • Support for Wireguard (#565)
    • For Mullvad (#565)
    • For Windscribe (#565)
  • Wireguard works with kernel space or user space if unavailable
  • VPN_TYPE variable
  • WIREGUARD_PRIVATE_KEY variable
  • WIREGUARD_ADDRESS variable
  • WIREGUARD_PRESHARED_KEY variable
  • WIREGUARD_PORT variable
  • OPENVPN_INTERFACE defaulting to tun0

Bug fixes

  • Change ownership of OpenVPN configuration file with PUID and PGID
  • OpenVPN custom config process user gets removed
  • OpenVPN custom config with custom network interface name set properly in firewall
  • Sorted IP addresses for servers.json (#574)
  • Only allow traffic through VPN interface when needed

Documentation

  • Update readme
    • Image size lowered to 31MB
    • Using Alpine 3.14
    • Wireguard support

Changes

  • HTTP control server /v1/openvpn route interacts with OpenVPN settings only (not provider settings)

Maintenance

  • internal/vpn package for vpn loop (OpenVPN and Wireguard)
  • internal/netlink package used by internal/wireguard
  • Improve internal/configuration code
  • Read all settings first
  • Context aware collectLines functions
  • internal/tun package to handle tun device operations
    • TUN check verifies Rdev value of file
    • Inject as interface to main function
    • Add integration test
    • Clearer log message for end users if tun device does not exist
    • Remove tun file opening at the end of tun file creation
  • Remove unix package (unneeded for tests)
  • Do not mock unix.Mkdev (no OS operation)
  • internal/openvpn/custom package for custom configuration with tests
  • Better log when catching an OS signal
  • Fix logger settings inheritance
  • Keep VPN tunnel interface name in firewall state
  • Upgrade from Go 1.16 to Go 1.17

Don't miss a new gluetun release

NewReleases is sending notifications on new releases.