Yeah I’d check for fragmentation, particularly coming from whatever was on the opposite end of this tunnel. This looks like librespeed (which is super simple to run in a container, ‘adolfintel/speedtest‘, if interested…I run some at work and it’s very useful) so I’m assuming it was running on the server at the other end of the wireguard tunnel?
That latency and jitter are also absurd tho. Op should run a bufferbloat test on both sides. Though I don’t always trust those results from librespeed.
My comments are just the code that didn’t work but I don’t want to delete yet because I might make it work except I never will be cause I already rewrote it so it does.