Remote Access

Access your agent from anywhere using Tailscale.

Jean2 binds to 0.0.0.0:8742 by default. With Tailscale, any device on your tailnet can reach your server through a stable IP, no matter where you are.

Web client on the target machine

Run both the server and the web client on the machine you want to access remotely. Then open it from any browser on any device.

  1. Install Tailscale on the target machine and connect it to your tailnet
  2. Start Jean2:
jean2 start
  1. Open the web client:
jean2 open
  1. Open the URL printed by the client. Replace localhost with the machine's Tailscale IP (100.x.x.x):
http://100.x.x.x:3774

Open that URL from any device on your tailnet. Your laptop, phone, tablet. The web client talks to the server over WebSocket, so everything works the same as local.

Server only on the target machine

Run just the server on the remote machine. Connect to it from a desktop or web client running on your device.

  1. Install Tailscale on both machines
  2. On the target machine, start the server:
jean2 start
  1. On your device, point the client to the server's Tailscale IP:

Web client:

npx @jean2/client --server http://100.x.x.x:8742

Desktop app: Enter http://100.x.x.x:8742 as the server URL when connecting.

  1. Paste your API token when prompted.

Finding your Tailscale IP

On any machine with Tailscale installed:

tailscale ip

You can also find all devices on your tailnet in the Tailscale admin console.

Custom port

The default port is 8742. To change it, set in ~/.jean2/.env:

JEAN2_PORT=8080

Then connect to the custom port. For example, http://100.x.x.x:8080.

Without Tailscale

Tailscale is the easiest option, but any network that lets two machines talk to each other works.

Same network. Use the machine's local IP (192.168.x.x).

VPN. Use whatever IP your VPN assigns.

Public. Set up a reverse proxy (nginx, Caddy) with TLS, or use a tunnel service.