Mac Remote Icon

Mac Remote

Control your Mac from your phone without installing an app.

curl -sL https://raw.githubusercontent.com/adarsh9780/mac_remote/main/install.sh | bash
View on GitHub

Features

Brightness and Volume controls

Brightness & Volume

Control brightness and volume with a live readout of the current value.

Media Controls

Media Controls

Rewind, previous, play/pause, next, fast-forward, plus a scrolling "Now Playing" readout.

Trackpad Settings

Trackpad

Move the cursor with adjustable pointer sensitivity and scroll speed.

Keyboard

Native Keyboard

Type into text fields using your phone's native keyboard. Includes a "Send Enter" action.

App Switcher

Remote App Switcher

See what's running and launch or switch to an app directly from your phone.

Zero Install on Client

Works from Safari, Chrome, or any mobile browser.

Two-Way Synchronization

If you change volume or media directly on your Mac, the web UI instantly updates.

How it works

The Swift menu bar app starts the Go server and shows status controls (QR code pairing, quit) from the menu bar icon. The Go server serves the control UI and talks directly to the Swift object via Cgo to perform the native macOS actions.

Phone browser ──HTTP──▶ Go server (menu bar app, :5050) ──Cgo──▶ Swift object (CoreAudio, brightness, NSWorkspace, CGEvent)

Security & Pairing

Mac Remote is designed to operate on your local area network (LAN). It uses the following measures to restrict access:

  • QR-code & One-time-code pairing: An on-screen 6-digit one-time code is required before a new device gets control.
  • Brute-force protection: Automatic lockout after 5 failed OTP attempts.
  • Device Management: Mac Remote enforces exactly one connected device at a time. You can instantly disconnect the active user from the Mac menu bar to securely allow a new pairing.

System Requirements

  • macOS 13.0 or later
  • Go 1.21+ (only if building from source)
  • Xcode Command Line Tools (only if building from source)