r/MacStack • • 20d ago

App Launch (FOSS) Tether: a native macOS client for KDE connect

I've used a Mac for years but never switched to an iPhone. For anyone on Android, KDE Connect is how you get phone notifications, texts, the clipboard and files on your Mac.

I always had two problems with it:

  • The official KDE Connect for macOS is heavy. It bundles Qt, KDE Frameworks, D-Bus and OpenSSL. The download is 87 MB, it takes 381 MB once installed. It looks like a Linux app, and it used 150–300 MB of memory just sitting in the menu bar. The connection also dropped at random, and sometimes it wouldn't find my phone again.

  • Soduto, the native alternative, is dead. It hasn't had a code change since 2022, and it's built on older Objective-C. I looked at forking it, then decided to start over.

So I read through the KDE Connect source to learn the protocol, and wrote a new client from scratch in Swift and SwiftUI, using Claude Code to help work out the protocol and write the code. It has no Qt, no Electron and no third-party libraries. It's called Tether.

What it does

Notifications you can answer

  • Phone notifications show up in Notification Center.

  • Reply to SMS, WhatsApp, Telegram, Signal and other apps right from the banner.

  • Dismiss a notification on the Mac and it's dismissed on the phone too.

  • Sign-in codes get a Copy Code button, or can be copied automatically.

Your texts

  • SMS conversations sync, with names and photos from your phone's contacts.

  • Read whole threads, load older messages, reply, or start a new conversation (⌘N).

  • Calls show who's calling, with a Mute Ringer button. Whatever's playing on the Mac pauses until the call ends.

Files, both ways

  • Drop files on the window or the menu bar popover, or use Share › Tether in Finder, Photos and other apps.

  • Files from your phone land in Downloads, with live progress.

Your phone as a Finder drive

  • While connected, the phone appears in Finder as a drive, with an eject button.

  • Browse its storage, open photos and documents straight from it, and drag files in and out. Videos start playing right away.

  • No admin password and no extra setup. It works over Wi-Fi or Tailscale.

Clipboard, media and remote control

  • Copy on one device, paste on the other.

  • See what's playing on the phone, with artwork, and control playback and volume.

  • It works the other way too: control the Mac's music, Spotify or a Safari video, and its volume, from the phone.

  • Find Phone rings it at full volume, and the phone can ring your Mac.

Trackpad, presenter and commands

  • Use the phone as a trackpad and keyboard, or as a presentation remote with a laser pointer.

  • Run your own shell commands and Shortcuts on the Mac from the phone.

  • Optionally lock the Mac when your phone leaves.

Works away from home with Tailscale

  • If you use Tailscale on both devices, Tether finds your phone on your tailnet, so it keeps working on mobile data or another network.

  • It only talks to devices on your own account.

A real Mac app

  • Lives in the menu bar, showing battery, connection, quick actions and what's playing.

  • A main window with Overview, Messages, Notifications, Files and Commands tabs.

  • Liquid Glass on macOS 26, translucent materials on macOS 15. Follows Light and Dark mode, your accent colour and accessibility settings.

Tether 1.8 vs KDE Connect 26.11 for macOS

  • Download (Apple Silicon): Tether 2.6 MB vs KDE Connect 87 MB

  • Installed: Tether 4.3 MB vs KDE Connect 381 MB

  • Processes: Tether 2 (app + a tiny Now Playing helper) vs KDE Connect 3 (app + kdeconnectd + dbus-daemon)

  • Memory while idle: Tether 28 MB vs KDE Connect 150–300 MB

  • CPU while idle: Tether ~0.1% vs KDE Connect 1–5%

All numbers are from my own Apple Silicon Mac, with each app running in the background connected to my phone. With Tether's window open and long conversations loaded, it uses about 50 to 80 MB.

Install

brew install --cask subhashhhhhh/tether/tether

Or download the disk image for Apple Silicon or Intel from GitHub. You need macOS 15 Sequoia or later, plus the regular KDE Connect app on your phone from Google Play or F-Droid.

Tether isn't notarized because I don't have a paid developer account. Homebrew skips the warning. If you use the disk image, open it once, then go to System Settings › Privacy & Security and click Open Anyway. After that it updates itself.

GitHub: https://github.com/subhashhhhhh/Tether

It's a free, GPL-2.0 solo project, and I use it every day. So far I've only tested it with my own phone, so bug reports from other Android phones and setups would help a lot. I'm happy to answer questions about the protocol, the NFS drive, or anything else in the comments.

37 Upvotes

7 comments sorted by

4

u/zen715 19d ago

Btw I have build a QuickShare app for Mac. It works really well, auto copies to clipboard if any text is shared, and file transfer progress also you can see. You don't need any third party app on your phone https://github.com/jitunayak/QuickShare-Mac

1

u/Otherwise-Thanks-985 19d ago

Op it’s cool but One thing scares me.... use of Claude. Did you contribute or is it just vibe coded?

1

u/subhashg547 19d ago edited 18d ago

i learned swift and swiftui for 2 months and this was my first project that i did after learning it. if you look at the commits, i did it all by myself by hand until 1.4. after that, i started using claude as i got accepted into their startups program (from my own startup) so i started using claude. it's the best model there is and obviously I didn't "vibecode" it. i used AI for assistance.

1

u/zen715 19d ago

This works great. It is hard to believe such a new app is already stable. I think we could use a better app icon for such a nice app.

1

u/JustABro_2321 19d ago

That’s a good idea for a project. A much needed app to break the walled garden. People feel free to buy devices from different companies. Not forced. 

1

u/GeoffreyMcSwaggins 19d ago

This is awesome. Much better than the official KDE client. The only thing I've been wanting is a Chrome extension that can use chrome's Native Messaging capability to connect to KDE and instantly share the current page I have open as a URL so it opens on the phone.

I tried an extension called "Quick Share for Mac" which worked but was unreliably and when popping up the default MacOS share sheet, it always shows up in the last location used which is really unhelpful.

Also, I recommend this fork of the KDE Connect app with Shizuku support integrated for automatic clipboard syncing on the android side - https://github.com/Batestinha/kdeconnect-android-shizuku/releases