Your Mac, in any browser.
Over your own Tailscale.

Control your Mac from your phone on 5G, or turn a spare tablet or laptop into a second monitor for it. Nothing to install on the device you view from, no port forwarding, no relay server, no account besides your own tailnet.

Free and open source · Apache-2.0 · macOS 14+

A live screen, not a slideshow

Hardware HEVC or H.264 from the Mac over WebRTC, with rate control built for mobile links: it cuts fast when 5G dips and is back in a couple of seconds.

Touch, trackpad and real shortcuts

Trackpad or touch mode, pinch to zoom, three-finger swipes for Spaces. Keys arrive as real key presses, so app shortcuts and held keys just work.

Any screen becomes a second monitor

A tablet, laptop or phone browser turns into an extra display the size of that screen. Drag windows onto it like a plugged-in monitor.

Unlock from the lock screen

A locked Mac shows up as locked. Type your Mac password on your phone and it goes to the real lock screen; then the fast stream resumes.

Invite a guest, view-only if you like

Give a friend an expiring invite with a one-time code. They see this Mac only, never your password, and the Mac names them while they’re on.

Files and sound

Drop files on the screen and they land in the Mac’s Downloads, never replacing anything. Switch on sound to hear the Mac on your device.

Install

tailreach is built on your own Mac. You need the Xcode Command Line Tools and a Tailscale account with MagicDNS and HTTPS certificates on.

Homebrew

$ brew install tanmaydoesai/tailreach/tailreach
$ tailreach setup

From source (needs Go)

$ git clone https://github.com/TanmayDoesAI/tailreach.git
$ cd tailreach && make setup

Setup ends with tailreach doctor, which lists what’s left for you (approve the Tailscale sign-in, choose a device password, allow two permissions) with the exact fix for each. Then open the link it prints on your phone. Full guide →

How it works

  1. One program on the Mac with Tailscale built in (tsnet). It joins your tailnet as devices and gets a real HTTPS certificate. No Tailscale app needed on the Mac.
  2. No server in the middle. Your phone opens https://devices.<tailnet>.ts.net/mac/. Only your Tailscale identity gets in, then your device password or a passkey.
  3. WebRTC over the tailnet. A small Swift helper captures with ScreenCaptureKit and encodes with VideoToolbox; the video goes as UDP straight to the browser’s hardware decoder.

How the stream works → · Security →

Why not something else?

They’re good tools. tailreach is for when you want a browser-only viewer on your own private network.

FreeOpen sourceJust a browser on the phoneNo port forwarding or server to runSecond monitorUnlock from the lock screen
tailreachYesYesYes¹YesYesYes
macOS Screen SharingYesNoNoNo²NoYes
Chrome Remote DesktopYesNoNoYesNo·
RustDeskYesYesNoYes³··
Jump DesktopNoNoNoYes··
ParsecYes⁴NoNoYes··
  1. Plus the Tailscale app, which puts the phone on your tailnet.
  2. Built in and great on a local network; reaching it from outside needs port forwarding or a VPN.
  3. Uses RustDesk’s public relay servers by default, or one you host yourself.
  4. Free for personal use; paid plans for teams.

A dot means we haven’t verified it. Corrections are welcome as an issue.