squick-share app icon

Quick Share
for your Mac.

Send photos, videos, files, folders and links between your Mac and Android phones, using the Quick Share button that's already on every Android device. No cable. No cloud. No account.

Free and open source (MIT) · macOS 13 Ventura or later · Apple Silicon & Intel

The squick-share menu bar window An incoming transfer with its PIN, in dark mode Choosing a nearby device to send to
~35–40 MB/son 5 GHz Wi-Fi
1 GB ≈ 30 stested with a real phone
0accounts, servers or uploads
77automated tests
Features

Everything you expect from AirDrop, for Android.

Android has Quick Share. iPhone has AirDrop. The Mac had nothing that talks to Android, until squick-share.

📥

Receive from Android

A prompt and a notification show who's sending, what, how big, and a 4-digit PIN to confirm it's really them.

📤

Send to Android

Drag files, folders or text onto the menu bar window, choose files, or right-click in Finder › Share › squick-share.

⚡

Wi-Fi speed

Files go straight over your local network. A 1 GB video arrives in about 30 seconds on 5 GHz Wi-Fi.

📁

Folders and batches

Send whole folders with their structure, or dozens of files at once. Duplicate names never overwrite anything.

🔗

Links and text

Shared links open in a small window with Open Link and Copy. Nothing ever opens automatically.

📊

Live progress

Speed, time left and cancel for every transfer, plus a progress ring right in the menu bar.

🔒

Private and encrypted

End-to-end encrypted, device to device. No servers, no accounts, no analytics.

✅

Trusted devices

Optionally auto-accept from your own phone after you approve it once.

🍏

A real Mac app

Native Swift and SwiftUI, light and dark mode, VoiceOver labels, launch at login, sandboxed.

Screenshots

A tour of the app

squick-share lives in your menu bar. Every screen below is rendered from the real app.

Menu bar window, light mode Menu bar window, dark mode

The menu bar window

Click the antenna icon in the menu bar to open it.

  • The status line shows how other devices see you ("Visible as MacBook Pro").
  • Drop files, folders or text in the dashed area, or use Choose Files… and Send Text….
  • Recent lists finished transfers, with a magnifier to show the file in Finder.
  • The eye menu switches visibility and has Announce Again.
Requests and active transfers

Requests and live transfers

Anything that needs you comes first.

  • Requests: accept or decline right from the window, with the PIN shown.
  • Active: each transfer shows a progress bar, size, speed and time left, with Cancel.
  • While sending, the PIN is shown large so you can compare it with the phone, plus a PIN doesn't match button.
  • Errors are explained in plain words, like "The other device declined the transfer."
Incoming transfer prompt, light mode Incoming transfer prompt, dark mode

Accept or decline

When a phone sends you something, a floating window and a notification appear.

  • Who's sending, every file with its type icon, size and folder, and the total.
  • A large 4-digit PIN that should match the phone's screen.
  • Always accept from this device adds it to your trusted devices.
  • Files are saved to your chosen folder and are never opened automatically.
Choosing a nearby device Send panel with QR code

Sending to a phone

After you drop something, nearby devices appear automatically. Click one to send.

  • Phones, tablets and computers each get their own icon.
  • Phone not listed? explains how to make an Android phone visible (Files › Quick Share › Receive).
  • The QR-code option is shown on the right. Not working yet
Received text window

Received links and text

Links and text from your phone open in a small window with Copy, and Open Link for web addresses. Nothing opens by itself.

General settings

Settings

  • Device name: what phones see.
  • Visibility: Everyone, Hidden, or Visible for 10 minutes.
  • Save files to: Downloads or any folder you choose.
  • Launch at login, notifications, and limiting to Wi-Fi or Ethernet.
Trusted devices settings Diagnostics settings

Trusted devices and diagnostics

  • Trusted devices: turn on auto-accept and manage the list.
  • Diagnostics: verbose protocol logging and Copy Diagnostic Log for bug reports. The log never contains file contents, file names, paths or keys.
  • Advanced protocol options let experts adjust compatibility details without rebuilding.
Menu bar icon states

The menu bar icon

See what's happening without opening anything:

  • Antenna: visible. Antenna with a slash: hidden.
  • Dot: a request is waiting for you.
  • Ring with ↓ / ↑: receiving or sending; the ring fills with progress.
Install

Install in 2 steps

Download one DMG from the latest release.

FileFor
squick-share-<version>-universal.dmgAny Mac. Pick this if you're not sure.
squick-share-<version>-arm64.dmgApple Silicon Macs (M1, M2, M3, M4 …). Smaller download.
squick-share-<version>-x86_64.dmgIntel Macs. Smaller download.

Not sure which Mac you have? Apple menu › About This Mac: "Chip: Apple M…" is Apple Silicon, "Processor: … Intel" is Intel. Each release also includes a .zip of the same app.

Copy the app to Applications

Double-click the .dmg, then drag squick-share onto the Applications folder in the window that opens.

Allow it to open (first launch only)

squick-share is free and ad-hoc signed rather than notarized by Apple, so macOS asks you to confirm it once. Pick one:

A. System Settings: open squick-share and click Done on the warning. Go to System Settings › Privacy & Security, scroll down, click Open Anyway and confirm. Open the app again and click Open. (On macOS 13 and 14: right-click the app › Open › Open.)
B. Terminal: run one command:
xattr -dr com.apple.quarantine /Applications/squick-share.app && open /Applications/squick-share.app

On first launch an antenna icon appears in the menu bar (there's no Dock icon). When macOS asks to find devices on your local network, click Allow. This is required. Allow notifications too, for Accept/Decline alerts.

How to use

Share in seconds

Both devices just need to be on the same Wi-Fi network.

📲 Phone → Mac

  1. On the phone, share anything and choose Quick Share.
  2. Tap your Mac's name.
  3. Check the 4-digit PIN matches, then click Accept.
  4. Files land in Downloads; links open in a small window.

💻 Mac → Phone

  1. Drop files, folders or text onto the squick-share window, or right-click in Finder › Share › squick-share.
  2. On the phone, open Files › Quick Share › Receive (or the Quick Share tile) and keep it open.
  3. Click the phone when it appears, then accept on the phone.

Tip: on Xiaomi/Redmi phones, use Quick Share (Google's), not "Xiaomi Share". If the phone doesn't see your Mac, choose Announce Again from the eye menu.

How it works

A from-scratch Quick Share implementation in Swift

squick-share speaks Google's Quick Share protocol over Wi-Fi. Here's a transfer from a phone, step by step.

Phone
Bonjour / mDNS announcement"squick-share is here" (service _FC9F5ED42C8A._tcp)
Mac
Phone
TCP connection + ConnectionRequestthe phone's name and type
Mac
Phone
UKEY2 key exchangeP-256 elliptic-curve Diffie-Hellman with a commitment
Mac
🔢 Both devices derive the same 4-digit PIN from the shared secret
🔒 From here on, every message is AES-256 encrypted and HMAC-SHA256 signed
Phone
Introductionfile names, sizes and types
Mac
Phone
Acceptafter you click Accept
Mac
Phone
File data in 512 KB chunkswritten straight to disk, then moved into place
Mac
Phone
Done, disconnectkeep-alives flow both ways throughout
Mac

The layers

LayerWhat it does
DiscoveryAdvertises the Mac with Bonjour (mDNS) and finds phones the same way. Re-announces every 20 s so phones that reconnect to Wi-Fi still find it.
HandshakeUKEY2: P-256 ECDH with a commitment, producing the session keys and the PIN.
Secure channelAES-256-CBC encryption plus HMAC-SHA256, checked before decrypting, with strict sequence numbers.
TransferFiles stream in 512 KB chunks to a temporary file in your folder, then move into place atomically. Memory stays flat even for huge files.
AppSwiftUI menu bar app, notifications, settings, and a Finder/Safari share extension, all on top of a UI-free Swift package called QuickShareCore.

Tested and measured

Real deviceAndroid phone with Google Quick Share, both directions, PIN verified
Speed~35 MB/s phone → Mac, ~30 MB/s Mac → phone (5 GHz Wi-Fi)
Big files1.05 GB video in 30 s; an 11-file, 440 MB batch in 14 s
MemoryA 128 MiB transfer adds about 1 MiB of memory
Automated tests77, including crypto checked against an independent Python implementation, malformed-data fuzzing, and loopback transfers
Privacy & security

Your files never leave your network

No servers, no accounts, no analytics. squick-share only talks to devices on your local network.

🔐

End-to-end encrypted

Fresh keys for every transfer. The PIN on both screens confirms you're connected to the right device.

🧹

Safe file handling

Incoming names are sanitized (no ../ tricks, hidden files or spoofed extensions). Files are written only inside your chosen folder and never opened automatically.

🧱

Sandboxed

Runs in the macOS App Sandbox with the Hardened Runtime. It only gets network access and your chosen folders.

🛡

Defensive by design

Strict message ordering, size limits, and timeouts at every stage, plus fuzz tests that feed it malformed data.

Compatibility

What it works with

DeviceStatus
Android with Google Quick ShareTested both directions
Pixel, SamsungExpected same protocol, not yet tested
Quick Share for Windows, RQuickShare (Linux)Expected not yet tested
QR-code pairingNot working yet

Not supported: Wi-Fi Direct and hotspot transfers (not available to normal Mac apps), internet relay, Google-account "Your devices / Contacts" visibility (use Everyone), and Bluetooth. Both devices must be on the same Wi-Fi network.

FAQ

Questions and troubleshooting

My phone doesn't show my Mac.
  • Make sure both are on the same Wi-Fi network, not a guest network, and no VPN is running.
  • Check the status line says Visible as …, then choose Announce Again from the eye menu.
  • If the window says Local network permission is off, click Open System Settings and turn squick-share on.
  • Some routers block the multicast traffic discovery uses. Quick test: connect the Mac to the phone's hotspot.
My Mac doesn't show my phone.

Android phones only advertise themselves while they're ready to receive. Open Files › Quick Share › Receive (or the Quick Share tile in Quick Settings) and keep that screen open.

Why does macOS warn me when I first open it?

squick-share is free and ad-hoc signed rather than notarized through Apple's paid program. Follow step 2 once and it opens normally afterwards.

Does it work with iPhone?

No. iPhones use AirDrop, which already works with your Mac. squick-share is for Android's Quick Share.

Is it safe to accept files?

Files are only saved, never opened, and only inside your chosen folder. Check the PIN matches the sender's screen, and decline anything you don't expect.

Something failed. How do I report it?

Open Settings › Diagnostics, turn on verbose logging, try again, click Copy Diagnostic Log, and paste it into an issue on GitHub. The log never contains file contents, file names or keys.

For developers

Build it yourself

Requires Xcode 16 or later. The protocol lives in a UI-free Swift package, QuickShareCore, with a small public API.

git clone https://github.com/mukesh-devs/squick-share.git && cd squick-share
./scripts/build-release.sh --install   # universal build, installed to /Applications
./scripts/build-release.sh --all       # universal, arm64 and x86_64 apps + zips
./scripts/make-dmg.sh                  # squick-share-<version>-<arch>.dmg
cd Packages/QuickShareCore && swift test   # 77 tests
FolderContents
SquickShare/The SwiftUI menu bar app: views, settings, notifications
ShareExtension/Finder and Safari share menu extension
Packages/QuickShareCore/Protocol, crypto and networking (Swift 6), plus a command-line tool and the test suite
docs/This site, protocol notes, compatibility matrix, and the device testing guide
scripts/Release builds, DMG packaging, screenshots, protobuf generation, crypto test vectors
.github/workflows/Release workflow: tests, builds all variants, publishes DMGs and zips

Releases: push a tag like v1.0.2 and GitHub Actions publishes squick-share-<version>-{universal,arm64,x86_64}.{dmg,zip}. More in the README.