Enables your phone to trigger keypresses/OS events on a Mac over HTTP using TCP/IP
Download Mac Remote (latest release)
Big shoutout to Tanner Roof @rooftb for helping out with the client-side UX
This application runs a Go server on your Mac that exposes an API for triggering keypresses and system events. It also serves a locally hosted Next.js static build, accessible from any device on the same local network.
- Private networks only — both devices must be on the same private network (home or office WiFi). Public networks (hotels, airports, cafes) typically enforce client isolation, which blocks device-to-device communication even when connected to the same network.
- Play / Pause
- Previous / Next Track
- Sleep
- Arrow Key Left / Right
- Brightness Up / Down
- Volume Up / Down
- Spacebar
- Background color picker modal (saves preference locally)
- Info page displaying icon-to-action mappings
- Apple Silicon (arm64, M1 or newer)
- macOS 11 Big Sur or later
- Download the DMG file
- Drag Mac Remote to your Applications folder
- Launch app from Applications folder
- Eject DMG file
You may encounter one or both of the following errors when launching the app for the first time. This happens because the app isn't signed with an Apple Developer certificate ($99/year — no thanks).
“Mac Remote” is damaged and can’t be opened. You should eject the disk image.
Fix: Remove the quarantine attribute via
xattr -d com.apple.quarantine "/path/to/Mac Remote.app"You will need to update two settings in macOS to grant permission:
-
System Events – corresponds to play/prev/next track
System Settings → Privacy & Security → Automation
Locate Mac Remote and toggle System Events on. -
Basic Accessibility – corresponds to keystrokes
System Settings → Privacy & Security → Accessibility
Locate Mac Remote and toggle it on.
client: Static Next.js build served through go server. Runs on a device connected to the same network and acts as the user interface for sending commands
server: Go server running on mac that handles triggering OS operations based on incoming http requests. Includes fileserver for Next.js static build
electrobun: Desktop application UI. Opens a window to display the QR code and server IP address
- Ensure go 1.23 is installed on system
- Ensure Bun is installed
- Install qrencode for QR code generation of the IP address landing page via mobile device
brew install qrencode
- Clone repository
git clone https://github.com/akleventis/lan_mac_remote.git
- Install npm dependencies
cd client && npm install
Note: You may need to update permissions to make executable:
chmod +x scripts/*
Electrobun is the desktop application that launches the go_binary executable and opens the user interface
cd electrobun && bun start
- For support, please open an issue


