Remote Access

Access your Uplink instance from any device — phone, tablet, or another computer. Use it on the couch, at work, or on the go.

How It Works

Uplink is a web server running on your machine. By default it listens on localhost:3456, which means only that machine can access the UI. To use Uplink from your phone or another device, you have two options:

Quick Comparison

MethodWhereVoice ChatSetup
LAN IPSame network❌ No mic (HTTP)Toggle in Settings
TailscaleAnywhere✅ Full (auto-HTTPS)~5 minutes
💡 Recommendation If you want voice chat on mobile or access from outside your home, use Tailscale. It's free for personal use (up to 100 devices), takes 5 minutes to set up, and Uplink auto-detects it with zero configuration.

Option 1: LAN Access

The simplest option. If your phone and computer are on the same Wi-Fi, you can connect directly.

Step 1: Enable Network Access

By default, Uplink only listens on localhost. You need to open it up to your network.

Easiest way: Go to Settings → Server in Uplink and turn on the Network Access toggle.

Or via environment:

.env or environment variable
UPLINK_HOST=0.0.0.0

Step 2: Find Your LAN IP

Windows PowerShell
ipconfig | findstr "IPv4"
# Example: IPv4 Address. . . : 192.168.1.100
macOS / Linux
hostname -I          # Linux
ipconfig getifaddr en0  # macOS
# Example: 192.168.1.100

Step 3: Connect

On your phone or other device, open a browser and go to:

URL
http://192.168.1.100:3456
⚠ LAN Limitation: No Voice Chat Browsers require HTTPS for microphone access. LAN connections use plain HTTP, so voice chat won't work. Use Tailscale if you need voice on mobile.

Option 2: Tailscale (Recommended)

Tailscale creates a secure mesh VPN between your devices. No port forwarding, no dynamic DNS, no firewall rules. Uplink auto-detects Tailscale and provisions HTTPS certificates — enabling voice chat, camera, and all browser APIs that require a secure context.

Step 1: Install Tailscale

Install on both the machine running Uplink and your phone/remote device.

Sign in with the same account on both devices (Google, Microsoft, GitHub, etc.).

Step 2: Enable Network Access in Uplink

Same as LAN — Uplink needs to listen on 0.0.0.0 so Tailscale connections can reach it.

Go to Settings → Server → Network Access and turn it on. Or:

.env
UPLINK_HOST=0.0.0.0
💡 Tip Enabling authentication (UPLINK_AUTH_ENABLED=true) automatically sets UPLINK_HOST=0.0.0.0, so you don't need to set it separately.

Step 3: Find Your Tailscale Address

Terminal
# Get your Tailscale IP
tailscale ip -4
# Example: 100.85.40.53

# Get your Tailscale hostname (for HTTPS)
tailscale status
# Look for your machine name, e.g. "na8"
# Your FQDN will be: na8.tail8b977a.ts.net

You can also find your Tailscale IP and hostname in the Tailscale app on your desktop or in the Tailscale admin console.

Step 4: Connect

You have two URLs to choose from:

URLVoice ChatNotes
https://your-hostname.ts.net:3457 ✅ Yes Auto-HTTPS, full features, use this for mobile
http://100.x.x.x:3456 ❌ No Plain HTTP, text chat only
🔒 Auto-HTTPS: How It Works When Uplink starts, it checks if Tailscale is running. If detected, it automatically:
  1. Gets your machine's Tailscale FQDN (e.g. na8.tail8b977a.ts.net)
  2. Provisions a valid TLS certificate via tailscale cert
  3. Starts an HTTPS server on port 3457
  4. Refreshes the certificate every 12 hours

No manual certificate setup required. You'll see the HTTPS URL in the Uplink server logs at startup.

Step 5: Install as PWA (Mobile)

For the best experience on your phone, install Uplink as a Progressive Web App:

  1. Open the Tailscale HTTPS URL in your phone's browser (Safari on iOS, Chrome on Android)
  2. iOS: Tap the Share button → "Add to Home Screen"
  3. Android: Tap the menu (⋮) → "Install app" or "Add to Home Screen"
  4. Uplink now appears as a standalone app — full screen, no browser chrome
⚠ Important: Install the PWA from the HTTPS URL If you install the PWA from the plain HTTP URL (http://100.x.x.x:3456), voice chat and push notifications won't work because the PWA will be locked to that insecure origin. Always use the https:// Tailscale URL when adding to your home screen.

Configuration

Gateway URL Must Stay Localhost

This is the most common mistake. The OpenClaw gateway only listens on 127.0.0.1. Uplink connects to it locally, then proxies requests to remote clients. Never point GATEWAY_URL at your Tailscale or LAN IP.

config.json or .env
# ✅ Correct — gateway is always local
GATEWAY_URL=http://127.0.0.1:23248

# ❌ Wrong — gateway doesn't listen on Tailscale IP
GATEWAY_URL=http://100.85.40.53:23248

If GATEWAY_URL points to a non-localhost address, the UI will load but messages will fail with "No response received."

Authentication

When accessing Uplink over a network (LAN or Tailscale), you should enable authentication to prevent unauthorized access.

.env
# Enable auth (also auto-binds to 0.0.0.0)
UPLINK_AUTH_ENABLED=true

# Set a strong token (or generate one in Settings → Connection)
UPLINK_AUTH_TOKEN=your-long-random-token-here

When auth is enabled, all API requests require the Bearer token. The Uplink UI handles this automatically after you enter the token once.

🛡️ Tailscale + Auth = Best of Both Tailscale encrypts all traffic and only your devices can connect. Adding Uplink auth on top means even if someone joins your Tailscale network, they still need the token. Belt and suspenders.

Allowed Origins

Uplink validates WebSocket and API request origins for security. Tailscale domains (*.ts.net) are automatically allowed. If you're using a custom domain or reverse proxy, you may need to add it to the allowed origins in your config.json:

config.json
{
  "allowedOrigins": [
    "http://localhost:3456",
    "https://your-hostname.ts.net:3457"
  ]
}

Firewall Notes

Tailscale handles its own firewall rules automatically. For LAN access, you may need to allow port 3456 (and 3457 for HTTPS):

Windows PowerShell (Admin)
# Allow Uplink HTTP + HTTPS
New-NetFirewallRule -DisplayName "Uplink HTTP" -Direction Inbound -Port 3456 -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName "Uplink HTTPS" -Direction Inbound -Port 3457 -Protocol TCP -Action Allow
Linux (ufw)
sudo ufw allow 3456/tcp
sudo ufw allow 3457/tcp

Multi-Device Sync

All devices connected to the same Uplink server share conversations in real-time. Send a message from your phone, it appears instantly on your desktop — and vice versa. This works automatically via WebSocket, no configuration needed.

Features that sync across devices:

Troubleshooting

"No response received" errors

Check that GATEWAY_URL is set to http://127.0.0.1:23248 (or whatever port your OpenClaw gateway uses). It must be localhost.

Can't connect from phone

Voice chat not working on mobile

HTTPS certificate errors

PWA won't install