qdm12 / gluetun

VPN client in a thin Docker container for multiple VPN providers, written in Go, and using OpenVPN or Wireguard, DNS over TLS, with a few proxy servers built-in.
https://hub.docker.com/r/qmcgaw/gluetun
MIT License
6.71k stars 331 forks source link

Feature request: Also print WireGuard Client Version #2211

Closed the-hotmann closed 2 months ago

the-hotmann commented 2 months ago

What's the feature 🧐

Upon startup, the application prints information about the provided OpenVPN client versions:

INFO OpenVPN 2.5 version: 2.5.8
INFO OpenVPN 2.6 version: 2.6.8

However, there is no information provided about WireGuard. Personally, I believe it would be beneficial to include details about the WireGuard client version used. This addition could potentially aid in debugging processes as well.

Extra information and references

No response

github-actions[bot] commented 2 months ago

@qdm12 is more or less the only maintainer of this project and works on it in his free time. Please:

qdm12 commented 2 months ago

Thanks for the suggestion, I had also thought about doing this, and, after having re-looked into this, this won't be implemented because of the following:

  1. Wireguard is not really versioned, it's still the same protocol. For example the Go module version is v0.0.0-20230325221338-052af4a8072b. There is also little value versioning it since it's all retro-compatible.
  2. The Wireguard Go implementation "userspace" has a version that could be accessed/stored, but this depends at runtime if you run the kernelspace (default if available) or the userspace (should be rather rare).
  3. The kernelspace wireguard version is complicated to obtain. It could be built in the base kernel or loaded as a kernel module (or something else maybe), so there is no uniform way to get it from within the container.
  4. Finally, if you are at the level of debugging the actual Wireguard protocol and/or implementation, then this is a rather big and niche problem to tackle, and:
    1. You don't want to use Gluetun to remove additional moving pieces
    2. You can lookup the version used by checking your wireguard host package installed or the Gluetun go module version if using the userspace version. Checking this is a small step in a likely huge investigation on the Wireguard protocol/implementation.
github-actions[bot] commented 2 months ago

Closed issues are NOT monitored, so commenting here is likely to be not seen. If you think this is still unresolved and have more information to bring, please create another issue.

This is an automated comment setup because @qdm12 is the sole maintainer of this project which became too popular to monitor issues closed.