Originally, I had planned on making a separate program that would generate WireGuard configurations to files, which would then be read by the client/server prior to connecting. However, I decided against it to not make the connection process cumbersome; instead, when a client wants to establish a wireguard connection, they'll send one of these across, which just contains their public key and source (The only parts of knowledge needed to facilitate a handshake). Does this theoretically present a security vulnerability? I don't think so. The local public key is truncated and displayed on the main page, and both the server and client need to manually confirm that the public key they received is the one they expected. Without the corresponding private key, it's impossible for an attacker to try and sit in the middle.
The documentation for this struct was generated from the following file: