https://name.boxd.sh the moment it boots. TLS terminated, HTTP redirects to HTTPS, HSTS set, WebSockets supported. No DNS to point, no certificates to renew, no deploy step. Start a server on port 8000, share the URL.
How it works
When a VM boots, boxd registers a default proxy that pairshttps://name.boxd.sh with port 8000 on the VM. DNS is created automatically (60s TTL). You can change the port, swap to auto-detect, or add subdomain proxies for additional services on the same VM.
The result: prototypes, design reviews, and founder demos are one command away from being shareable.
Use it
https://demo.boxd.sh and you’re looking at it.
If your app listens on a different port:
Multi-port apps
Frontend on 3000, API on 3001, websocket on 8080? Add a subdomain proxy per port.boxd proxy delete api --vm=demo.
Patterns
Founder demo
Spin a fresh box, run your dev server, paste the URL into a DM. Suspend it after the call. Resume in microseconds when the next person clicks the link.Design review on a branch
Fork your golden, check out the branch, share the URL with the designer. Destroy the fork when merged.nginx in front of multiple services
nginx is pre-installed and listens on 8000 once you start it. Point the default proxy at nginx and route internally:FAQ
Do WebSockets work?
Do WebSockets work?
Yes. The proxy upgrades WebSocket connections transparently.
Is the URL public?
Is the URL public?
Yes. Anyone with the URL can reach the service. If you need auth, put it in your app or in front of it (e.g. basic auth via nginx).
What happens to the URL when I destroy the VM?
What happens to the URL when I destroy the VM?
The DNS record is removed. Recreating a VM with the same name reuses the same URL and, when possible, the same IP.
Can I use a custom domain?
Can I use a custom domain?
Custom domain binding isn’t available yet. Contact the Azin team if you need it.
Next
Per-PR preview URLs
A URL per pull request, posted as a comment on the PR.
Proxies
The HTTPS layer in detail. Domains, ports, TLS.