한국어 · English
Ping is a native SwiftUI Android companion for macOS. It connects directly to the KDE Connect Android app for SMS, notifications, file transfer, clipboard sync, remote commands, trackpad and keyboard input, Find My Phone, and scrcpy screen mirroring—without requiring KDE Connect for Mac.
Ping is beta software. Protocol compatibility and Android permissions can vary by phone vendor and KDE Connect version.
Open the DMG and drag Ping from the left onto the Applications folder on the right.
The current beta is not Apple-notarized yet, so macOS can block its first launch:
- Try opening Ping once, then close the macOS warning.
- Open System Settings → Privacy & Security.
- Scroll to Security and select Open Anyway beside “Ping was blocked to protect your Mac.”
- Confirm Open Anyway in the final prompt. Future launches work normally.
Choose Korean or English inside the app, keep Ping in the macOS menu bar, and check for updates with one button.
Ping bundles scrcpy and adb. Pair Android Wireless debugging once, then start mirroring from Ping with keyboard and mouse control.
Create, edit, disable, or remove commands on the Mac. Enabled commands appear in KDE Connect's Run Command screen on Android.
| Feature | What it does | Android requirement |
|---|---|---|
| SMS | Loads real conversations, sends SMS, and supports notification quick reply | SMS permissions in KDE Connect |
| Notifications | Shows Android notifications in Ping and macOS Notification Center | Notification sync enabled |
| Files | Browses phone storage over SFTP, downloads, and drag-uploads | Filesystem expose plugin |
| Clipboard | Sends text and links in both directions | Clipboard plugin; Android background limits may apply |
| Remote commands | Runs only commands explicitly saved and enabled on this Mac | Run Command plugin |
| Remote input | Uses the phone as a Mac trackpad, keyboard, or presentation remote | Remote Input plugin and macOS Accessibility permission |
| Mirroring | Opens low-latency scrcpy mirroring with keyboard and mouse control | USB debugging or Wireless debugging |
| Device tools | Battery state, cancellable Find My Phone, and quick menu-bar actions | Relevant KDE Connect plugins |
Ping never inserts demo messages, notifications, or transfers. While device data is pending, the UI shows an explicit loading, empty, or error state.
- Install and open KDE Connect for Android.
- Put the phone and Mac on the same local network.
- Open Ping, select the discovered phone, and request pairing.
- Confirm the request on Android and then in Ping.
- Enable only the KDE Connect plugins and Android permissions you want to use.
KDE Connect for macOS is not required. Ping implements the documented KDE Connect packet protocol directly in Swift and keeps companion traffic on the local network.
Mirroring is a separate ADB connection from the normal Ping/KDE Connect connection:
- Enable Android Developer options → Wireless debugging.
- In Ping, open Mirroring → Wireless debugging setup.
- Pair with the code/address shown by Android, then connect.
Wireless debugging must remain enabled for wireless mirroring. SMS, notifications, files, clipboard, commands, and remote input do not require Developer options. RCS conversations are not currently read or sent; use your phone's messaging app for RCS.
Ping uses Sparkle for signed in-app updates.
- Ping checks the GitHub Release appcast once per day.
- A new version is never installed silently: approve it from the update prompt.
- Check manually from Settings → Updates → Check for Updates or the menu-bar icon.
- Release archives and the appcast are signed with a dedicated Ed25519 update key.
Maintainers can follow the release guide to create a DMG and publish an update from a v* tag.
- SMS, notification, clipboard, and file contents are not uploaded to a Ping server.
- Pairing uses a local TLS identity and certificate pinning.
- Remote commands are stored on the Mac; Android receives names and opaque IDs, not editable shell text.
- A remote command runs without a confirmation dialog, so add only commands you understand and trust.
- Bundled third-party license notices are copied into
Ping.app/Contents/Resources/ThirdPartyLicenses.
- macOS 14 Sonoma or later
- Android with KDE Connect
- Same local network for discovery and companion features
- USB or Wireless debugging only for screen mirroring
The current release workflow builds for the GitHub runner architecture. Universal distribution is planned; check each release asset name for arm64 or x86_64.
git clone https://github.com/kmelon55/ping.git
cd ping
swift build
./scripts/package-app.sh
open Ping.appCreate a local DMG:
./scripts/create-dmg.shThe packaging script downloads the pinned scrcpy 4.1 archive for the current Mac architecture and verifies its SHA-256 checksum.
Bug reports, device compatibility results, translations, and focused pull requests are welcome. Please read CONTRIBUTING.md before opening a pull request. Do not include real SMS, phone numbers, notification contents, pairing codes, or update-signing keys in screenshots or logs.
Ping is an independent project and is not affiliated with or endorsed by KDE e.V. “KDE” and “KDE Connect” are used only to describe protocol compatibility.
Ping is open-source software released under the MIT License. Third-party components remain subject to their respective licenses, which are included in the packaged app.



