A native Swift menu bar app that turns any browser into a full-featured remote. No account. No subscription. No internet.
Why iControl
Open a URL on your phone — that's it. Works on any OS, any browser. Android, iOS, Windows, Linux. No app store, no Bluetooth pairing, no nonsense.
Your keystrokes never leave your network. No relay servers, no cloud, no telemetry. iControl works entirely between your devices on the same Wi-Fi.
Pure Swift with zero external dependencies. Direct access to macOS APIs means native cursor acceleration through the HID pipeline — not simulated. Feels like real hardware.
The entire app — Swift binary, web server, full UI, and all icons in every size — weighs under a megabyte. Flat icon design, zero runtime frameworks.
A complete Magic Keyboard layout with sticky modifiers, Caps Lock, Fn layer, and F1–F12 system shortcuts. Type, compose, or trigger any shortcut your Mac understands.
Five tabs purpose-built for different contexts: General, Type, Media, Apps, System. Modifier keys, clipboard bridge, cursor pad, app launcher — it's all there.
Controls
Five tabs, zero compromises. From media playback to full system shortcuts — it covers the controls that actually matter when your laptop is across the room.
How it works
Open the .dmg, drag iControl to your Applications folder, and launch it. It lives in the menu bar — no Dock icon, no splash screen. Grant Accessibility permission when prompted.
Tap the menu bar icon to see your QR code. Scan it — your token is already embedded, no typing required. Or open
your-mac.local:4040
in any browser.
The web UI loads instantly. Add it to your home screen as a PWA for one-tap access. Your token is saved — future sessions reconnect silently.
Philosophy
iControl does one thing: send input from your phone to your Mac.
Built out of frustration with subscription-gated, ad-riddled remote control apps that charge recurring fees for something that doesn't continuously cost them anything. No frameworks, no package managers, no build steps on either side. The entire project is readable in an afternoon. Fork it, skin it, make it yours.
Connection Security
The QR code already contains your personal token. Scan it once and your device is authenticated permanently. Future reconnects are silent — no prompts, no friction.
No token? Tap Request Access. A dialog appears on your Mac — click Allow or Deny. Approved guests get a session token that lasts until they close the browser tab.
Disable authentication entirely for trusted environments — presentations, home setups where everyone present is welcome. Switching to Open requires Touch ID or your Mac password.
One tap in the menu bar generates a new token and immediately invalidates all previously connected devices — your own included. Scan the new QR code to reconnect.
Security model
iControl only accepts connections from your local network. No port forwarding, no DDNS, no exposure to the internet — physically impossible to reach from outside.
The client sends commands. The Mac executes them. The only data returned is connection state and current volume. No screen data, no file access, ever.
Nothing to sign up for, nothing to leak. No analytics, no telemetry, no third-party SDKs. Once downloaded, iControl exists entirely on your machine.
Commands are validated against a strict whitelist before execution. The server never evaluates arbitrary code or exposes the filesystem.
Get Started
Download the latest release or build from source.