Fast, secure, local Wi-Fi file sharing & bidirectional device integration.
Seamless two-way zero-click file transfers, 1-Click Wireless ADB, customizable Mac script launchers (Stream Deck alternative), wireless HD webcam for Zoom/OBS, incoming call & SMS alerts, live clipboard synchronization, remote trackpad gestures, media remote, presentation clicker, and Gemini AI problem solver between MacBook and Android.
100% Open Source β’ 100% Local Wi-Fi β’ Zero Cloud Servers β’ Zero Telemetry.
π Live Website: https://ttushaarr.github.io/Beamdrop/
Install with a single command via Homebrew:
brew install --cask https://raw.githubusercontent.com/ttushaarr/Beamdrop/main/Casks/beamdrop.rbOr add the tap:
brew tap ttushaarr/beamdrop https://github.com/ttushaarr/Beamdrop
brew install --cask beamdropManual DMG / Zip download: Download BeamDrop-Mac.zip (~540 KB)
- Direct APK: Download BeamDrop-Receiver.apk (~11 MB)
- F-Droid Build Recipe: Included at
metadata/com.beamdrop.receiver.yml - All Releases & Binaries: Browse
dist/Directory
| Feature | Description | macOS | Android |
|---|---|---|---|
| β‘ 1-Click Wireless ADB | Pair and connect ADB wirelessly over Wi-Fi without USB cables or typing adb connect ip:port. Includes pairing code dialog. |
β Controller | β Target |
| π Mac Script Launchers | Turns your tablet or phone into a customizable Stream Deck (trigger npm run dev, docker compose, git pull) with real-time terminal output. |
β Executor | β Controller |
| πΉ Wireless HD Webcam | Stream phone camera to OBS Studio, Zoom, and Google Meet at low-latency 720p 30 FPS. Includes floating Mac live viewer. | β Live Viewer | β 720p Camera |
| π Incoming Call & SMS Alerts | See who is calling on your Mac screen with 1-click ringer mute, instant decline, or quick SMS reply pills. | β Alerts / Actions | β Dialer Relay |
| π Zero-Click File Drops | Photos, videos, and docs sent from Mac auto-route into Android Pictures/, Movies/, and Download/ with instant gallery indexing. |
β Sender | β Receiver |
| π€ Android β Mac Sharing | Send files from Android to Mac's ~/Downloads/BeamDrop/ via the in-app picker or native Android Share Sheet (ACTION_SEND). |
β Receiver | β Sender |
| πͺ Menu Bar Quick Drop | Drag files directly onto the macOS menu bar icon to send instantly without opening the main application window. | β Sender | β |
| πΈ Continuity Camera | Use your Android camera as a Mac continuity webcam with 1-click high-res snapshot capture to ~/Desktop/. |
β Viewer | β Capture |
| πΌοΈ Camera Roll Backup | One-tap backup of recent Android camera roll photos straight to Mac ~/Pictures/BeamDrop/Camera/. |
β Receiver | β Sender |
| π¬ Notification Quick Reply | View Android notifications on macOS and reply directly to WhatsApp, SMS, and messaging apps using inline textfields. | β Sender | β Streamer |
| π Live Clipboard Sync | Copy on Mac, paste on Android. Copy on Android, paste on Mac. Sub-10ms latency over local SSE. | β Bi-dir | β Bi-dir |
| π±οΈ Remote Trackpad & Keys | Use your Android device as a wireless Mac trackpad (drag, tap-to-click, right-click, scroll strip, typing). | β Server | β Client |
| π΅ Media Remote (MPRIS) | Control Spotify, Apple Music, and Mac system audio volume remotely from your device. | β Server | β Client |
| π₯οΈ Presentation Clicker | Giant Next/Prev slide buttons, presentation timer, F5 full-screen start, and B blackout key. | β Server | β Client |
| βοΈ One-Tap System Commands | Lock screen, sleep, take desktop screenshot, mute, empty trash, launch Terminal, and open URLs. | β Server | β Client |
| π Find My Device Ringing | Ring Android device with max volume alarm + vibration from Mac, or ring Mac loudly from Android. | β Bi-dir | β Bi-dir |
| π Bidirectional Battery | Real-time battery percentage and charging indicator (β‘) visible on both devices. | β Bi-dir | β Bi-dir |
| π Remote File Browser | Browse, explore, and download files stored on your Android device from a native Finder view on macOS. | β Client | β Server |
| πΈ Mac Screenshot Shortcut | Hit Cmd + Shift + D (or Cmd + Option + S / Menu Bar) to instantly capture your Mac screen and beam it straight to your tablet's gallery (Pictures/LaptopTransfer/). |
β Global Hotkey | β Auto-Gallery |
| π€ Gemini AI Question Solver | Hit Cmd + Shift + X (or Cmd + Option + A / Menu Bar) on Mac to capture any question, exam problem, or coding challenge on your screen. Beams to your tablet and solves it with Gemini AI step-by-step with zero browser tabs needed. Includes 1-tap "Send to Mac Clipboard (βV)"! |
β Global Hotkey (ββ§X) | β Gemini AI |
| βοΈ Continuity Sketch Pad | Draw, sketch, or sign on your tablet with finger/stylus and insert directly onto Mac Desktop or Mac Pasteboard (Cmd+V). |
β Receiver | β Canvas |
| π₯οΈ Wireless Second Screen | Stream your MacBook screen to your Android tablet at 30+ FPS low latency with interactive touch clicks (Sidecar mode). | β Streamer | β Viewer |
| π Biometric Mac Unlock | Unlock your MacBook wirelessly using your Android tablet's fingerprint sensor. | β Receiver | β Auth |
| πΆ Instant Hotspot & Audio | Trigger Android hotspot tethering and wireless audio relay between devices with a single tap. | β Bi-dir | β Bi-dir |
| π Dynamic Wi-Fi Discovery | Works across home Wi-Fi, office/campus subnets (10.x, 192.168.x), and mobile hotspots without manual IP entry. |
β Bi-dir | β Bi-dir |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Two-Way Transfer Architecture β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
[MacBook (macOS)] ββββββββ(Local Wi-Fi / TCP :8765)βββββββ> [Android Device]
β’ Drag & drop onto app window β’ Auto-routes:
β’ Menu bar quick drop target - Pictures/LaptopTransfer/ (Gallery)
β’ SHA-256 bit-for-bit verification - Movies/LaptopTransfer/ (Videos)
- Download/LaptopTransfer/ (Docs)
[MacBook (macOS)] <βββββββ(Local Wi-Fi / TCP :8768)ββββββββ [Android Device]
β’ Mac Receiver Service (:8768) β’ Native Android Share Sheet (ACTION_SEND)
β’ Saves to ~/Downloads/BeamDrop/ β’ In-App Multi-File Picker
β’ Camera photos to ~/Pictures/BeamDrop/Camera/ β’ 1-Tap Camera Roll Auto-Backup
β’ Live camera snapshot to ~/Desktop/ β’ Continuity Camera Endpoint (:8765)
- Initial Pairing (One-Time Only):
- Launch BeamDrop on both devices.
- Enter the 6-digit PIN code displayed on the Android device into the Mac app (or scan the QR payload).
- Cryptographic auth tokens are established and stored securely.
- Sending from Mac to Android:
- Drag and drop any file onto the BeamDrop window or the Menu Bar icon.
- With "Send automatically on select" checked, transfer starts immediately.
- Files are automatically classified and indexed into
Pictures/,Movies/, orDownload/.
- Sending from Android to Mac:
- From Any App (Share Sheet): Select photos/documents in Google Photos, Files, or Gallery β tap Share β select BeamDrop.
- From BeamDrop App: Tap "Send Files" to pick documents/photos, or tap "Backup Photos" to sync your camera roll.
- Files arrive instantly in
~/Downloads/BeamDrop/or~/Pictures/BeamDrop/Camera/on your Mac with native notifications and chime.
- Click "Take Photo from Android" in the Mac app under the Continuity Camera card.
- Android's Camera2 engine captures a full 1280x720 JPEG snapshot.
- The photo transfers instantly to
~/Desktop/BeamDrop_Snapshot_<timestamp>.jpgwith a Finder reveal button and notification chime. - If BeamDrop was backgrounded, it automatically wakes up to capture and stream the frame.
- BeamDrop runs an
NSStatusItemin your macOS top menu bar with a paperplane icon. - Direct Drop Target: Drag any file from Finder onto the menu bar icon to drop it to your Android device immediatelyβno need to switch windows.
- Status Popover: Click the icon to view connection status, battery levels, initiate quick file transfers, or re-scan your network subnet.
- Incoming Android notifications (WhatsApp, SMS, Telegram, Signal, Slack) are mirrored to your Mac.
- Notifications supporting Android's
RemoteInputdisplay an inline reply text field. - Type your response on Mac and hit ReplyβBeamDrop dispatches the reply directly through Android without needing to unlock your device.
Incoming files on Android are routed dynamically based on MIME type and extension using Scoped Storage APIs:
| File Type | Extensions | Device Storage Path | Gallery Integration |
|---|---|---|---|
| Photos & Images | .jpg, .jpeg, .png, .webp, .heic, .gif, .avif, .bmp, .tiff |
Pictures/LaptopTransfer/ |
Immediate Gallery / Google Photos indexing via MediaStore.Images (IS_PENDING = 0) |
| Videos | .mp4, .mkv, .mov, .webm, .avi, .3gp, .m4v |
Movies/LaptopTransfer/ |
Immediate Gallery video indexing via MediaStore.Video |
| Documents & Archives | .pdf, .zip, .tar, .gz, .7z, .docx, .xlsx, code, text |
Download/LaptopTransfer/ |
Standard Download/ folder via MediaStore.Downloads |
BeamDrop never silently overwrites existing files on either macOS or Android. If report.pdf already exists, incoming files are automatically renamed to report (1).pdf, report (2).pdf, preserving the original extension and data.
- Press
Cmd + Shift + D(orCmd + Option + S) from anywhere on your Mac to instantly capture your display. - Alternatively, click the Menu Bar paperplane icon β "Send Screenshot to Tablet (ββ§D)".
- The screenshot is immediately transferred to your Android tablet and indexed into
Pictures/LaptopTransfer/. - It shows up immediately in your Android Gallery / Google Photos app and triggers a notification on the tablet with zero latency.
- Local Network Only: Transfers occur over direct TCP sockets on your local Wi-Fi network. Zero cloud relays, zero external telemetry, zero tracking.
- Mutual Device Trust: Unpaired clients receive
HTTP 401 Unauthorizedand are rejected. - Cryptographic PIN Authentication: One-time 6-digit pairing PIN generates a persistent SHA-256 Bearer Token verified on every API request and transfer chunk.
- SHA-256 Bit-for-Bit Integrity: Mac calculates SHA-256 hash before sending; Android verifies checksum during stream to guarantee 100% uncorrupted delivery.
- Network Ports:
8765: Android Receiver Server (file upload, SSE events stream, remote commands, continuity camera).8768: macOS Reverse Receiver Server (receiving files from Android, camera backups, ping discovery).
beamdrop/
βββ macos/ # Native macOS Application (Swift 5.9, SwiftUI)
β βββ Sources/BeamDrop/
β β βββ App/ # Entrypoint & AppDelegate
β β βββ Models/ # TransferItem, PairedDevice, KdeModels
β β βββ Services/ # TransferClient, ClipboardSync, Discovery, KDE Connect,
β β β # MacReceiverService (:8768), MenuBarManager
β β βββ Views/ # DropZone, KDE Connect, MenuBarPopover, History
β βββ Resources/ # App icons & Entitlements
βββ android/ # Native Android Receiver & Sender (Kotlin, Jetpack Compose)
β βββ app/src/main/java/com/beamdrop/receiver/
β βββ camera/ # CameraHelper (Continuity Camera capture)
β βββ model/ # TransferRecord, KdeConnectModels, PairedDevice
β βββ security/ # PairingManager & Keystore token storage
β βββ server/ # Embedded lightweight HTTP server (:8765)
β βββ service/ # FileReceiverForegroundService, FileSenderManager,
β β # BeamDropNotificationListenerService
β βββ storage/ # Scoped Storage MediaStore Router
β βββ ui/ # Jetpack Compose Screens (Dashboard, Trackpad, Media, Commands)
βββ dist/ # Pre-built binaries (BeamDrop.app, BeamDrop-Receiver.apk)
βββ website/ # Open-source landing page
βββ docs/ # GitHub Pages static documentation
βββ scripts/ # Automated build scripts (build_macos_app.sh)
The pre-built native application bundle is located in dist/:
open dist/BeamDrop.appchmod +x scripts/build_macos_app.sh
bash scripts/build_macos_app.shInstall the ready-to-run APK directly from dist/:
adb install -r dist/BeamDrop-Receiver.apk- Ensure your Android SDK path is exported:
export ANDROID_HOME="$HOME/Library/Android/sdk"
- Navigate to the android directory and assemble:
cd android && ./gradlew assembleDebug
- The APK will be generated at:
android/app/build/outputs/apk/debug/app-debug.apk
Android actively throttles background execution to conserve battery. To ensure BeamDrop stays responsive when the screen turns off or while using other apps:
- Disable Battery Optimization:
- In BeamDrop on Android, open Settings.
- Tap "Disable Battery Optimization" and select Allow (
ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS).
- App Battery Settings:
- Open device Settings β Apps β BeamDrop β Battery.
- Select Unrestricted (prevents Android from putting the app to sleep).
- Lock App in Recent Apps:
- Swipe up to open Recent Apps.
- Tap the BeamDrop app icon at the top of its window card and tap Lock.
- Foreground Service Notification:
- BeamDrop automatically displays an ongoing notification ("BeamDrop Active"). This signals the Android kernel to keep the background process alive.
- Devices don't discover each other on public/office Wi-Fi:
- Many corporate, university, and public cafΓ© networks enable AP Isolation, preventing connected devices from talking directly to each other.
- Solution: Turn on your Android device's Portable Wi-Fi Hotspot and connect your Mac to it. This provides an isolated high-speed 5GHz direct connection without router interference.
- Firewall blocking transfers:
- Ensure local network connections on ports
8765and8768are permitted (System Settings β Network β Firewall).
- Ensure local network connections on ports
- Images don't appear in Gallery immediately:
- BeamDrop sets
IS_PENDING = 0and triggersMediaScannerConnection.scanFile. Google Photos and native galleries will index immediately. Pull down to refresh if your gallery app caches views.
- BeamDrop sets
- Continuity camera snapshot shows permission error:
- Ensure the Camera permission is granted on Android under
Settings β Apps β BeamDrop β Permissions β Camera.
- Ensure the Camera permission is granted on Android under