Publish a local app

from localhost to https, in three commands

Janus turns a Holesail public key into a public HTTPS site. Your app keeps running on your own machine; nothing is uploaded, and visitors install nothing.

1. Run your app

Start it however you normally would and note the port. Binding to 127.0.0.1 is fine — you do not need to expose it on 0.0.0.0.

2. Publish the port

npx holesail --live 3000 --public

The --public flag is required. Without it Holesail prints an s000 private key, which is the serve credential — it lets the holder impersonate your backend. This gateway refuses those on purpose, so a key without --public gets you a 400 and nothing else.

3. Open the link

Holesail prints hs://0000…. Everything after hs:// is your subdomain:

https://0000<your-key>.janus.ssani.dev/

The key is the password

There is no other access control. Anyone holding that URL reaches your app exactly as you left it — and a local dev server usually has no login at all, so “anyone” means full access to whatever it can read, write, or spend.

When something breaks

Framework notes

Machine-readable version for an AI assistant: /llms.txt