Skip to content

Releases: vakharwalad23/slate

slate 1.1.0

Choose a tag to compare

@vakharwalad23 vakharwalad23 released this 19 Jul 16:34
74ffda7

slate 1.1.0 makes the phone-to-Mac link end-to-end encrypted and adds QR pairing plus faster discovery.

Encryption is now mandatory

The phone and Mac now run a code-authenticated X25519 + HKDF-SHA256 + ChaCha20-Poly1305 handshake over the same local network link. Every message - auth, commands, app icons, live state, heartbeat - is encrypted. A same-LAN attacker can no longer sniff the token or MITM the connection.

Pairing by QR

The Mac shows a pairing QR; scan it in the app to locate and pair with your Mac in one step. Typing the code by hand still works as a fallback.

Faster, more reliable discovery

A tuned subnet sweep plus an Android UDP broadcast fast path find the Mac quickly and stop leaking sockets on repeated scans.

Update both, together

The app and the helper must match - install BOTH this app (Android APK) and this helper (macOS DMG). An old app against the new helper (or vice versa) will prompt you to update.

Existing pairings keep working: your saved token is preserved, and the first reconnect just runs the new handshake automatically. If you are ever prompted, re-pair by scanning the QR shown on the Mac.

Install

  • Android: install slate-1.1.0.apk.
  • macOS (Homebrew, recommended): brew tap vakharwalad23/tap && brew trust vakharwalad23/tap && brew install --cask slate-helper. Quarantine is cleared for you, and brew upgrade keeps it current.
  • macOS (DMG): open slate-helper-1.1.0.dmg, drag SlateHelper to Applications. The build is self-signed (not notarized), so after copying, clear quarantine once:
    xattr -dr com.apple.quarantine /Applications/SlateHelper.app
  • iOS: no prebuilt build - there is no paid Apple Developer account behind slate, so no App Store or TestFlight. You can still install it on your own iPhone with a free Apple ID and Xcode: set a unique ios.bundleIdentifier in apps/mobile/app.json, run pnpm -F @slate/mobile prebuild, open apps/mobile/ios/slate.xcworkspace, sign with your Personal Team, and Run to your device. Free-provisioned apps stop launching after ~7 days - re-run from Xcode to renew. Full steps: README - iOS on a physical iPhone.

slate v0.1.1

Choose a tag to compare

@vakharwalad23 vakharwalad23 released this 11 Jul 14:06
03777b4

slate v0.1.1

A small update to the phone app. The macOS helper is unchanged from v0.1.0.

What's new

  • App picker in macro steps. When you build a macro, the Launch / Activate / Quit app steps now
    use the same app picker as the main action editor - pick from your Mac's apps (with their real
    icons) instead of typing a bundle id by hand. Manual entry stays as a fallback.

Downloads

  • Android: slate-0.1.1.apk - open it on your phone and allow installing from your browser or
    files app when prompted.
  • macOS helper: slate-helper-0.1.0.dmg (unchanged since v0.1.0). Drag SlateHelper onto
    Applications, then clear quarantine once:
    xattr -dr com.apple.quarantine /Applications/SlateHelper.app

New to slate? See the user guide.

Heads-up: traffic is not yet end-to-end encrypted (keep the helper on a trusted LAN) - see
Security. App-layer E2E encryption is the next
priority.

slate v0.1.0

Choose a tag to compare

@vakharwalad23 vakharwalad23 released this 28 Jun 11:39
3ba2246

slate turns your phone into a programmable Stream Deck for your Mac, over your local network. The
phone shows a grid of buttons; a small macOS menu-bar helper runs each command. Local-network only -
no account, no cloud, nothing leaves your Wi-Fi.

Downloads

  • macOS helper: slate-helper-0.1.0.dmg
  • Android app: slate-1.0.0.apk
  • iOS: build from source (no public build yet).

Install

macOS helper

  1. Open the DMG and drag SlateHelper onto Applications.

  2. The helper is self-signed (not notarized), so macOS quarantines it on first launch. Clear the flag
    once:

    xattr -dr com.apple.quarantine /Applications/SlateHelper.app
  3. Launch it (menu-bar icon, no Dock). To send keystrokes, switch Spaces, cycle apps, or use media
    keys, enable it under System Settings -> Privacy and Security -> Accessibility. Launching apps and
    changing volume do not need it.

Android

Download the APK, open it on your phone, and allow installing from your browser or files app when
prompted.

Pair and use

Open the app, let it discover the Mac (or enter host:port), tap Pair, and type the 6-digit code
shown in the Mac menu. Add buttons, pick an action and icon, and tap to run them.

Security

Local-network only. Today the link is ws:// plus a per-device token on a trusted LAN, so it is not
encrypted in transit. Application-layer end-to-end encryption (code-authenticated X25519 +
ChaCha20-Poly1305) is the next roadmap item. Do not expose the helper's port to untrusted networks.