Linked in three steps

A Mac app, a phone app, one QR code. The relay is a fourth, optional step for when you leave the house.

  1. Step 1

    Install the Mac app

    Grab the DMG from the latest release, drag Link to Mac into Applications and launch it — it lives in your menu bar. LAN-direct sync is on by default, so on the same Wi-Fi there is nothing to configure.

    Prefer building from source? Clone the repo and open the Xcode project:

    git clone https://github.com/grkndev/LinkToMac.git
    cd LinkToMac/mac
    xcodegen generate && open LinkToMac.xcodeproj
  2. Step 2

    Install the Android app

    Sideload the APK from the same release page (it's a personal-use project — it isn't on the Play Store). Then enable Developer options → Wireless Debugging — the app uses it once to grant itself background clipboard access.

    Building it yourself instead:

    cd LinkToMac/mobile
    bun install
    bun run android   # dev client — Expo Go is not supported
  3. Step 3

    Pair with the QR code

    Open Show pairing QR from the Mac's menu-bar icon and scan it with the phone app. The code carries everything — the pairing secret, the Mac's LAN port, and the relay address if you've set one — so both ends configure themselves. Copy something and paste it on the other device; you're linked.

  4. Step 4 · optional

    Host the relay

    Only needed to keep syncing when phone and Mac are on different networks. It's a tiny Node.js WebSocket server; run it on any box you own:

    cd LinkToMac/server
    cp .env.example .env   # set RELAY_AUTH_TOKEN
    docker compose up -d   # or: npm install && npm run dev

    Put it behind a reverse proxy with TLS (wss), then add its address in the Mac app under Server Settings… and re-show the QR — the phone picks it up on the next scan and still prefers the direct LAN link whenever you're home.

Before you start

  • A Mac running macOS (the app sits in the menu bar and starts at login)
  • An Android phone with Developer options available
  • Both devices on the same Wi-Fi for pairing
  • Optional: a server or NAS for the relay, reachable over TLS from outside