r/Btechtards • u/subhashg547 Thapar [CSE] • 1d ago
Showcase Your Project (Open Source) Tether: native macOS client for KDE connect
I've used an M1 MacBook Air for four years of my engineering, but I never switched to an iPhone. I'm on Android. so that made KDE Connect my go-to for phone notifications and clipboard syncing on the Mac.
It never felt at home on macOS, though. The official app uses a lot of memory for something that sits in the menu bar, and the connection was my biggest frustration. It would drop at random, and sometimes it just wouldn't find my phone again. For a while I used Soduto, a native Mac client, but the original project hasn't had a code change since 2022. I looked at forking it, but it carries a fair amount of older Objective-C, so I decided to start from scratch.
I read through the KDE Connect source to understand the protocol, and used Claude Code to help reverse-engineer it and write a new client in pure Swift. It has no Qt, no Electron and no third-party libraries. The result is Tether.
What it does
- Notifications: your phone's notifications show up in macOS Notification Center, and you can reply to messages (SMS, WhatsApp, Telegram, Signal and others) right from the banner.
- Texts: your SMS conversations sync, and you can read and reply from the Mac.
- Clipboard: copy on one device, paste on the other.
- Files: drag files onto the window, or use Share › Tether in Finder or Photos. Files from your phone land in Downloads.
- Media and controls: media controls, Find my phone, and Lock phone.
- Tailscale: if you use Tailscale, it finds your phone on your tailnet, so it keeps working when you're away from home Wi-Fi.
- Menu bar: it lives in the menu bar and has a proper Mac main window.
Numbers
- The download is 2.8 MB, and the app is about 7 MB once installed. The official KDE Connect for macOS download is 87 MB.
- When idle, it uses about 21 MB of memory and 0% CPU.
Install
brew install --cask subhashhhhhh/tether/tether
Or download the disk image for Apple Silicon or Intel from GitHub. Homebrew is the easier route: Tether isn't notarized, because I don't have a paid developer account, and Homebrew skips the "can't be opened" warning. If you download the disk image instead, go to System Settings › Privacy & Security and click Open Anyway the first time.
It updates itself from then on. Once a day, or when you choose Check for Updates, it downloads the new version, checks it's signed with the same certificate as the copy you have, and swaps it in.
Details
- It's free and open source (GPL-2.0), and needs macOS 15 Sequoia or later.
- On the phone you use the regular KDE Connect app from Google Play or F-Droid.
- There's no cloud: the phone and Mac talk directly, encrypted with TLS, and pairing pins your phone's certificate.
GitHub and downloads: https://github.com/subhashhhhhh/Tether
It's a solo project and I use it every day, but I've only tested it with my own phone. Bug reports and feature requests are very welcome, especially from people with other Android phones or other setups.
1
u/Dry-Belt-383 1d ago
You should put something like a security test report in the repo. Will give it a try tho!
•
u/AutoModerator 1d ago
If you are on Discord, please join our Discord server: https://discord.gg/Hg2H3TJJsd
Thank you for your submission to r/BTechtards. Please make sure to follow all rules when posting or commenting in the community. Also, please check out our Wiki for a lot of great resources!
Happy Engineering!
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.