unsigned int is always 4 bytes on windows btw, so this should align properly.
RFC 5389 is a standard protocol that can be used for this instead of ip4.me. I may have gone overboard on the CSPRNG... It was fun though.