I use wireguard on a cheap VPS that comes with an IPV6 /64. Connecting devices get a public IPV6 address. Most of which are assigned a subdomain so I can remember them. It works wonderfully.
No, I just cobbled it together with standard Linux routing tools.
echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
The trickiest part is making sure that the VPS answers NDP requests for the routed addresses:
echo 1 > /proc/sys/net/ipv6/conf/all/proxy_ndp
for i in `seq 0x0010 0x001f`; do
ip=2001:1111:2222:3333::$(printf '%x' $i)
ip neigh add proxy $ip dev ens3
done
Assign the routed address range to the wireguard interface:
ip addr add 2001:1111:2222:3333::10/124 dev wg0
That's the gist of it. I might do a proper writeup next week if I can find time.