Skip to content

Reach M.A.V.E.N from your phone (Tailscale)

M.A.V.E.N listens on loopback only. The supported way to reach it from another device is a private network - Tailscale here; an SSH tunnel works the same way - plus the remote-access PIN. Never forward port 3000 to the internet.

Install Tailscale on the machine running M.A.V.E.N and on your phone, and sign both into the same tailnet. Note the machine’s MagicDNS name - something like rog.tail1234.ts.net (tailscale status shows it).

On the M.A.V.E.N machine:

Terminal window
tailscale serve --bg 3000

This publishes http://rog.tail1234.ts.net:3000 to the tailnet only. M.A.V.E.N keeps its loopback bind; Tailscale does the forwarding.

Settings → Security → Allowed hosts - add rog.tail1234.ts.net. You can skip this: an unknown host gets the unlock screen and a correct PIN adds it for you. The list is where you later review and remove devices.

Settings → Security → Reveal on the machine, or cat ~/.maven/access-pin. M.A.V.E.N generated it at first boot and printed it once.

Browse to http://rog.tail1234.ts.net:3000. You get Enter access PIN; type it. The session lasts 30 days; the host is remembered in Allowed hosts. Add the page to the home screen for a full-screen app.

In dev mode (npm run dev) Next refuses its assets from an unknown origin. Add the host to allowedDevOrigins in next.config.ts and restart. The production service (npm start) does not have this restriction.

Browsers allow the microphone only on HTTPS or localhost. tailscale serve can terminate TLS for you (tailscale serve --bg --https=443 3000), which also makes the mic button appear on the phone.