Hello! I've built a very similar project using Wireguard, Caddy and <300 lines of python with self-hosting as a prime goal.
Cool part is that you don't even need to install a client. If you have Wireguard and curl you can simply run this one-liner:
curl https://tunnel.pyjam.as/8080 > tunnel.conf && wg-quick up ./tunnel.conf
> You can now access http://0.0.0.0:8080 on https://<unique_slug>.tunnel.pyjam.as/
We also use wildcard certificates to avoid leaking the randomly generated subdomains.
Cool part is that you don't even need to install a client. If you have Wireguard and curl you can simply run this one-liner:
We also use wildcard certificates to avoid leaking the randomly generated subdomains.Check it out if you're interested.
Code: https://gitlab.com/pyjam.as/tunnel
Public instance: https://tunnel.pyjam.as