Top
Best
New

Posted by zackb 5 days ago

Tether: iMessage, SMS, etc. on Linux(zackbartel.com)
397 points | 165 comments
pzmarzly 12 hours ago|
> Personally, I think putting an interoperability protocol implementation behind a copyleft license is a little unfortunate!

Huh, haven't thought of it. Just relicensed ancs4linux to MIT.

voakbasda 12 hours ago||
I love HN. Read an article that raises a reasonable point about a project’s license, and that project’s author shows up to announce they were convinced and changed the license accordingly. Repo was updated 5 minutes ago.

It’s things like this that give me hope for the world.

LtWorf 6 hours ago|||
I'm not a scab, so I won't use permissive licenses on my unpaid projects. People who want to use them at work can cry me a river.
9dev 6 hours ago||
Same. Started to adopt AGPLv3 for every new project. With AI sucking up all the CV-driven contributors, it’s time to take back open source as a joyful hobby for nerds that enjoy programming and sharing their creations with one another, instead of being corpo stans that do free support for shareholder driven enterprises.
threecheese 5 hours ago|||
Do you think AGPL is going to stop a crawler from incorporating your work into their training set? I don’t. There are zero meaningful consequences atm.

That being said, I’m with you in spirit and in action, but realistically it’s pointless outside of living in accordance with your values.

Edit: Re-reading that, i just told you that your principles are pointless, and thats fucked up and wrong. I’m going to live in accordance with mine and not delete this, but apologies.

arcanemachiner 4 hours ago|||
That's kinda how I'm thinking about this in terms of licenzing my upcoming projects.

The code is just going to be laundered anyways, so why bother putting on a license like AGPL that might just hinder adoption?

edoceo 3 hours ago||
I went through similar thoughts. Settled on just dropping everything under MIT.

I'm using AI assistance a bunch, nothing fully vibe coded (yet) so what's it really matter? My "novel" approach to BOM line item attributes?

lostlogin 4 hours ago|||
What a thread.

Maybe there is hope for the internet?

Muromec 4 hours ago|||
I don't bother so much with licenses, but learned to reply with "that would be 1k bucks" instead of "you are welcome" where someone wants my library to do something it didn't before.
stackghost 11 hours ago|||
Not to be Debbie Downer but software licensing has no effect on what matters to billions of people.

We are facing very real global and societal issues that people on this site are actively exacerbating, like disinformation and climate change.

If a dude changing an inconsequential text file on GitHub gives you hope for the world, then please broaden your perspective.

kian 11 hours ago|||
So I'm guessing you don't do anything except what matters to billions of people? Always 100% fully generalized contributions, never making your local world a better place? Your only local contributions being to tell off people who are grateful that their lives are materially improved by someone else's smaller actions... You must be beloved by your community.
stackghost 9 hours ago||
[flagged]
hnfong 9 hours ago|||
Yet here you are, posting self-congratulatory comments about how you don't post self-congratulatory things.

IMHO this is even less meaningful/impactful than the comment that you objected to.

rpdillon 9 hours ago|||
I don't think the point you're trying to make improves the quality of the discussion here. If a downstream project laments a license and the author changes it, that's good communication and cooperation. Complaining that people are happy with the outcome isn't productive.
kaonwarb 11 hours ago||||
Making one small corner of the world a little bit better is a good thing. There's not much use in complaining that it's not as big of an impact as could hypothetically be achieved on some larger issues.
mrec 8 hours ago|||
“He who would do good to another must do it in minute particulars. General good is the plea of the scoundrel, hypocrite, and flatterer.” -- William Blake
stackghost 11 hours ago|||
It's things like this that rob my of my hope for the world.
chermi 9 hours ago||
Lol. Someone liking this change is stupid for letting it lift their outlook, right? How stupid is it then to let this comment rob your hope.
Barbing 3 hours ago||
:) Alternative reply to lighten mood in odd thread:

  Not to be Debbie Downer but making one small corner of the world a little bit better has no effect on what matters to billions of people.

  We are facing very real global and societal issues that people are actively exacerbating.

  If a dude explaining that there’s not much use in complaining robs you of hope for the world, then please broaden your perspective.
chermi 55 minutes ago||
You understand I'm on your side here, right?
literallyroy 10 hours ago||||
I saw someone smile at the park the other day, do you think you could talk to them for me?
LastTrain 3 hours ago||||
I think you like very much to be a debbie downer
yard2010 10 hours ago||||
Not GP but I feel like that's kinda their point - the fact that we still have this platform to collaborate in such an organic way is truly remarkable and must not be taken for granted.
sicktriple 9 hours ago||||
This is verifiably false. Without copyleft licensing like the GPL or permissive licensing like MIT and Apache we literally would not have the internet, or it would be somehow even more wildly dystopian and proprietary than it already is.
LinuxIsntVeryGo 9 hours ago||
[flagged]
inigyou 10 hours ago||||
Actually a lot of that bad stuff billionaires are doing is enabled by MIT licensed software. Like, device lockdown is illegal with GPL3
LinuxIsntVeryGo 9 hours ago||
People are concerned about having homes to live in and having food to eat. They aren't concerned about 'device lockdown'. Try to see the bigger picture.
inigyou 9 hours ago||
Device lockdown is why our biggest billionaires are billionaires. It's how they made their money and still make it.
inquirerGeneral 43 minutes ago||
[dead]
rewgs 11 hours ago||||
You are indeed being a Debbie Downer.
sophrosyne42 8 hours ago|||
You must be fun at parties
kees99 12 hours ago|||
Isn't this[0] the use-case that is supposedly covered by LGPL?

[0] copyleft-licensed library that could be legally linked into non-copyleft code base.

LinuxIsntVeryGo 11 hours ago||
[flagged]
b40d-48b2-979e 11 hours ago||
Those poor multi-trillion dollar companies that can't use copyleft projects, whatever will they do?
tadfisher 10 hours ago||
Write copyleft software?
9dev 5 hours ago||
Nah, send the trench grunts to cry on the internet
huimang 2 hours ago|||
Please consider using the LGPL instead.
zackb 7 hours ago|||
Thank you for all the hard work and inspiration.
nvr219 6 hours ago|||
Hero
LeFantome 10 hours ago|||
Thank you!
Luker88 8 hours ago||
You might want to check again for something that has patent protection. apache2+llvm exception, or just the mozilla public license...

EUPL is also basically GPL without being viral, too.

voakbasda 12 hours ago||
Mega-kudos to the author for chipping away at the wall around Apple’s garden.

I have had a iPhone for 15 years, and I have only ever been able to back it up with iTunes on windows (as I will never buy a Mac).

Apple’s refusal to provide interoperability borders on criminal. I wish there was a better option.

abcd_f 11 hours ago||
Have a look at https://github.com/libimobiledevice/libimobiledevice and iOS backup projects that are based on it.
dadoum 11 hours ago|||
Or idevice [0] (the one I prefer), or go-ios [1], or pymobiledevice3 [2]

[0]: https://github.com/jkcoxson/idevice

[1]: https://github.com/danielpaulus/go-ios

[2]: https://github.com/doronz88/pymobiledevice3

voakbasda 11 hours ago|||
Over the years, I have tried to make that solution work, but it never ever went smoothly.

Maybe it’s time to try it again, but it’s an arms race from what I remember. Apple just keeps changing things; if you’re on the latest iOS version, it was unlikely to work. Has that changed?

inventor7777 2 hours ago|||
Since you are dead-set against getting a Mac, why don't you move to Android? It seems like a better fit as Apple's whole thing is about continuity between their own devices, which obviously will not work for you.
voakbasda 1 hour ago|||
> why don't you move to Android?

Because I trust Google even less than Apple (and a de-Googled phone would not be useful to me).

callc 1 hour ago|||
> their own devices

Sure! Apple can do whatever they want with their devices. But when they sell them to people, it’s no longer theirs.

People are (IMHO rightfully) not happy with a general computing device not being open.

Societies are pushing back against this practice through legal means, which is good!

The best part is if people want to stay inside whatever ecosystem, they can! It can be opt-in to enable developer mode to do what you can already do on any desktop PC.

If you want to lock down gran and gramps iphone (or PC for that matter), you can! Make an admin account and have them use an account with less privileges.

We can have the best of all worlds. An integrated ecosystem. Security. User computing rights.

rpdillon 9 hours ago|||
I'm shouting into the wind here a fair amount, but I just discovered DeltaChat and ArcaneChat. ArcaneChat is available only on Android, but DeltaChat is available on iOS and uses chatmail relays. My family has found it to be super useful and effective. I don't think it's viable to convert everybody in my social circle, but I've been very happy with the apps and attachments, notifications, and general performance.

https://chatmail.at/

I'm considering running my own chatmail relay, although I haven't tried that yet.

inigyou 7 hours ago|||
DeltaChat was much more useful when it worked with any email server and didn't need its own special kind of server. We have plenty of messengers that use their own servers, like matrix, XMPP, and simplex.
SahAssar 6 hours ago|||
Didn't know they stopped working with regular email servers, that is a huge letdown. I'm guessing this was quite recent?

That was their one big plus and while I avoided it because of PGP, this means that it really has no upside over XMPP for me.

rpdillon 4 hours ago|||
I appreciate the simplicity of hosting ChatMail versus a regular mail server. It's simpler, lighter weight, and better suited for the chat use case. It's basically the ideal messaging platform for my needs.
inigyou 1 hour ago||
It defeats the selling point of DeltaChat. You may as well use XMPP or Matrix.
chanux 4 hours ago|||
I use DeltaChat just by myself to share things between devices. Not really the intended purpose but it's good enough for me!
timcobb 11 hours ago|||
Pixel is nice, in my opinion better than iOS, and more open for now
KetoManx64 9 hours ago||
Especially with GrapheneOS
Danox 9 hours ago|||
Doesn’t interoperability work two(Windows)-three(Linux) ways?
sneak 11 hours ago|||
You could stop using iMessage and iCloud.
Rohansi 10 hours ago|||
Green bubbles, WhatsApp, Signal, etc. are not an option for a lot of people. I don't get it either.
drnick1 3 hours ago|||
What is the problem with green bubbles? I don't get it. Doesn't it just mean the other person is not using an Apple device?

If you really want blue bubbles, use Signal, the default color is blue.

kps 3 hours ago|||
Apple's green bubbles are low contrast and hard to read, on purpose.
Barbing 3 hours ago|||
For years it meant fewer features and frustrating experiences in group chats.

Kids liked renaming group chats and liking/reacting to individual messages, and sending higher-res photos, and one "green bubble" participant nerfed the whole chat for everyone.

In spite of Apple knowing kids got bullied over this, meh, money. Thankfully this has now been just about fixed (depending on which Android version/carrier someone has), so green bubble stigma should be on its way out [eventually].

Firmly believe no one ever actually cared about the color.

SirMaster 2 hours ago|||
How has it been fixed? It's still just Apple parsing the messages that came through like so and so reacted with some emoji to some message, and then attaching it to that message. But then this doesn't work with reacting to attachments like photos as it doesn't know which photo was reacted to.
Rohansi 2 hours ago|||
RCS messages still show as green bubbles. I'm sure kids will still be bullied for it even if group chats didn't degrade.

All of these problems could be avoided if iMessage was cross-platform or if people just used something else. Nobody is being forced to use iMessage

agoodusername63 10 hours ago||||
Because techies on average aren't socially popular enough to get anybody to make any effort to msg them on a better platform.
nvme0n1p1 10 hours ago||
Speak for yourself
agoodusername63 10 hours ago||
Ok! I don't use iMessage because people I want to talk to are happy to install a new app to do so. :)
ihjbtvjkdidie 6 hours ago||||
What is there to get? Some people just don’t want to use other services. Period.

Not sure why people having their own subjective views and preferences is such a hard concept to grasp.

Rohansi 2 hours ago||
That's not what's hard to understand. It's choosing to exclusively use iMessage knowing that not everyone can use it. And then shifting your social circle based on one company's decision to not support it on other platforms.
sneak 3 hours ago||||
That’s simply not true.
smt88 9 hours ago|||
I know people who have iPhones just for FaceTime because young and old non-techies use those a lot.

I’ve gotten my close friends onto Signal but there are still always 3-4 group chats where that isn’t possible.

Rohansi 8 hours ago||
> I’ve gotten my close friends onto Signal but there are still always 3-4 group chats where that isn’t possible.

I'm sure it's possible for them to use Signal but some people are unreasonably stubborn.

k4rli 10 hours ago|||
Or leave the walled garden entirely. GrapheneOS has all the same stuff.
sneak 3 hours ago||
GrapheneOS hardware options are substantially behind iOS hardware options. Also Graphene is somewhat annoying to use; I missed shots bc the camera app didn’t open fast enough.
ihjbtvjkdidie 6 hours ago|||
[flagged]
LinuxIsntVeryGo 11 hours ago|||
[flagged]
voakbasda 11 hours ago|||
Because they provide a platform. Platforms are not normal products. Once a product becomes a platform, the rules should change to force interoperability. This should be true no matter the product or technology.
SadTrombone 11 hours ago||||
Nobody's asking Apple to provide anything. We just want them to stop sending cease and desists to developers who do provide said thing.
cassianoleal 11 hours ago|||
They don't have to add support. All they need is APIs and documentation.
LinuxIsntVeryGo 11 hours ago||
[flagged]
cassianoleal 11 hours ago||
No it's not.
jonhohle 10 hours ago||
Do you think it costs nothing to provide stable APIs and write documentation?
cassianoleal 10 hours ago||
No. Why would I think that?
slashdave 8 hours ago||
You mean the same Apple, who supports RCS, and historically supported open protocols?

As to iMessage, think carefully about the architecture, and maybe you can imagine why it is Apple only.

conception 7 hours ago||
As a fanboy I can admit rcs came with them kicking and screaming against it.
stevehawk 7 hours ago||
didn't it take legal threats from the EU to ultimately make it happen?
ihjbtvjkdidie 6 hours ago||
Yeah, and I’ve yet to make any use of this feature. Nice to have, but let’s not pretend RCS is that big of a deal in any way.
LooseMarmoset 20 minutes ago||
This guy did a nice thing for people, let's keep it positive.

Thank you very much for this! KDEConnect is great, but it's a little awkward to use with iOS (because of Apple, not the great developers), so this is a nice project to see.

I don't see references to contributions, do you have a patreon or something?

harryposner 9 hours ago||
The linked blueferry doc is excellent. Back in 2020, inspired by a comment on HN, I looked into writing a proxy to send and receive iMessages on Linux through an iPhone connected with Bluetooth Message Access Profile (MAP). I was able to send and receive messages, but I ran into the problem mentioned in the doc in the "Group metadata side channel" section: the bMessages in the inbox included the message originator, but didn't include the recipients, even though the MAP standard says that it "shall" be included (see page 22). I didn't know about ANCS, so it didn't occur to me to use that channel, and without any way to tell what context a message was sent in, I couldn't do threading, so I decided it wasn't worth pursuing.

The group messages were the biggest problem, and that's what made me give up, but there were some other issues:

- Shared links showed up as "Website: Short description (example.com)" and didn't include the URL

- Images weren't shown at all

I might take a look and see how blueferry handled those limitations.

[blueferry doc] https://github.com/erikwb/blueferry/blob/main/PROTOCOL.md

[inspiration] https://news.ycombinator.com/item?id=23411520#23413394

[Bluetooth MAP standard] https://www.bluetooth.com/specifications/specs/message-acces...

erikwb 3 hours ago|
Hey! I made blueferry - the bluetooth connection works great on certain adapters, but ANCS is the wild west. I love that Tether is helping to figure out all the quirks there - I had lots of time a month ago and almost none now.
ThinkBeat 10 hours ago||
This is all made possible by broker app on the iPhone / (or other device) to send data back and forward. When I first read the headline I thought it would integrate directly into the Apple ecosystem without needing middlemen which would have been crazy impressive since I believe it is or very near entirely impossible.
randyrand 3 hours ago||
Every device requires a random product key issued by apple and they’re not supposed to be reused.

No good way to get around that except buying an Apple device and taking its key.

mmoustafa 10 hours ago||
not impossible, pypush did it 3 years ago
d3Xt3r 2 hours ago||
Any possibility of handling phone calls too? Like making and receiving calls. Also, any plans of making Tether itself mobile-UI/UX friendly?

My plan is to get a Linux phone (or convert an Android phone to Linux) and use it as a daily driver, but keep an old iPhone around for regular calls and texts, and for compatibility with some apps like banking apps. Tether seems like it could be useful to bridge that gap, so all I'd need to do is just keep the iPhone in my vicinity and never actually have to operate it, unless it's for using some proprietary app/service.

erikwb 2 hours ago|
Calls are possible over obex, yeah - see prior art at https://github.com/gabrielmeir53/iphonebridge .
blinkingled 9 hours ago||
As a KDE Connect user for a few years I know it doesn't always work without reconnecting especially with sleep cycles on the phone and the laptop but it does everything on Android at least - clipboard sync, notifications, sms, calls, remote control and media playback control. Must be iOS restrictions that made the author go through the admirable effort.

IOW Linux ecosystem has better vertical integration without any direct ties with Android :)

xur17 9 hours ago|
Does KDE connect work with other, non KDE window managers?
J-Kuhn 2 hours ago|||
It even works on Windows.
zackb 9 hours ago||||
Yes, and it's great. But you can't iMessage / SMS or get Notifications with iPhone.
hparadiz 3 hours ago||
My absolute favorite feature in KDE Connection is full audio device output / input control remotely so I can silence notifications without getting up or start playing music through the speakers.
bygosh 9 hours ago|||
yes, there's even a GNOME shell extension[0] that implements the KDE Connect protocol without needing the official KDE version.

[0]: https://github.com/GSConnect/gnome-shell-extension-gsconnect

pkulak 7 hours ago||
Sorry if this is obvious, but does it use the same thing OpenBubbles does? What's nice about that is that it just hooks directly into Apple's servers, so doesn't require a connection to your phone or anything.
zackb 7 hours ago|
This is a good question. No, OpenBubbles impersonates a Mac and talks to Apple's servers. Tether connects to the phone via Bluetooth and asks the iphone to send/receive messages. OpenBubbles's technique is not supported by Apple, while their Bluetooth version is.

Besides messaging it doesn't do any of the other stuff Tether does (author, im biased).

pkulak 6 hours ago||
Thank you! Yeah, this is a lot more features than openbubbles could ever do. Going to check it out for sure. Thanks for making it!
djfergus 1 hour ago||
I installed this and spent a reasonable amount of time trying to get it to work. It didn't.

* GTK interface is buggy on hyprland (could only click buttons when app was on its own screen and not set to fullscreen)

* docs are vibe slop and incorrect:

~ tether pair

[2026-08-30 11:33:26.084] [ERR] Unknown action. Run tether --help for options

~ tether --pair

[2026-08-30 11:33:29.949] [ERR] Pairing requires a TCP+TLS connection. Use --host to specify a target.

* installation requires sudo escalation to configure bluetooth settings with a vague warning but no real explanation of what the risks are.

* couldn't get it to reliably connect - the feedback from linux and ios apps were vague and didn't help with what was broken or what was required to fix it.

Promising project, I'd love a solution like this but not worth my time for now.

zackb 52 minutes ago||
Heh, I wrote all of the docs, hence the typos :)

* This is troubling as I've tested it extensively in Hyprland on different machines.

* You are right that the root installation requirements need more clarification. I was so focused on making it as easy as possible for the user that I buried important details.

* The failures to connect are an endless battle given the crazy inconsistencies in bt controllers. ~/.local/state/tether/tetherd.log should have the details I need to debug it, if you are inclined to open an issue.

nacs 1 hour ago||
I ran into similar issues on a mostly stock Ubuntu 24.

When I start the gtk app, it has a scan devices button but it never finds my phone even though I've paired via bluetooth and its on same LAN.

The iOS app just has a spinning icon that goes forever even though it sees my computer name in the 'discovered devices' list.

I tried pairing from CLI and GTK app and no go on Wifi or Bluetooth.

cpressland 8 hours ago|
For me this is the last piece of the puzzle keeping me on macOS. I’ll give it a proper test later and if it works as described I’ll be ordering a Framework 13 Pro.
More comments...