Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

For anyone who is interested in making an iMessage proxy and has time to spend: There is a legitimate way to interact with the iMessage system with a standard protocol. It requires you to have a host iPhone (no jailbreaking needed).

What you need to have is a Bluetooth adapter with MAP (Message Access Profile) support. Your iPhone will treat all messages from the MAP protocol as if they are from the Messages app. This means it will automatically route your SMS as iMessage if possible (you have no say on what the iPhone decides to do, however). As a bonus, you can also use email addresses as recipients with MAP.

A good place to start probing is the WT32 or WT41u module from Silicon Laboratories. It supports MAP, although it looks like the module supports receive-only [1]. I do not know whether you can hack blueZ to support MAP. I've tried to look at it and I don't think the MAP support for blueZ is complete but I could as well be very wrong. A Raspberry Pi 0 as a bluetooth middleman is very sweet, regardless.

Once that Bluetooth middleman is set up, you can use a public server to relay your messages. The scheme will look something like this:

iPhone <--bluetooth--> (WT41+ESP32)|(Pi0+BlueZ) <--wifi--> MQTT broker <--wifi--> your device of choice.

I am relatively confident that this scheme will work. I just don't have time in my hands to do it. So I figured I could share here. Hopefully, some good hacker will do it and publish it. Happy hacking!

1: https://www.silabs.com/documents/public/application-notes/AN...



A bit of a shameless self-plug, but it took me 4 weekends to implement iMessage message receiving with BlueZ[0]. Sadly, all I learned about Bluetooth LE and Apple's ANCS will be completely useless when it comes to sending messages, since MAP works over Bluetooth, while ANCS works over Bluetooth Low Energy, and these 2 protocols are almost nothing alike.

[0] https://github.com/pzmarzly/ancs4linux


The only problem is that any messages that the iPhone received while the middleman was out of range won’t get to your PC, but this’d still be extremely useful for quick replies.

I wonder if the iPhone will accept photos over MAP....


> The only problem is that any messages that the iPhone received while the middleman was out of range won’t get to your PC

That is not a problem. MAP is sort of like the IMAP protocol. You can ask the phone to give you older messages and the iPhone does indeed support that as well.

Moreover, with this scheme, you will likely have to keep the donor host iPhone and the middleman at home and have them plugged in 24/7. So then your middleman doesn’t have to be extremely clever, although it wouldn’t hurt if it was.


Does it support group threads? That’s one of the biggest limitations to Tesla’s implementation of this.


Can you _send_ messages this way though? I wonder why Smartwatches don't make use of it. I can't send iMessages from my Pebble, only read them.


Yes - you’ll need:

- The latest iOS

- A module that supports sending.


> What you need to have is a Bluetooth adapter with MAP (Message Access Profile) support. When you send a message from the MAP protocol, then your iPhone will treat all messages as if they are sent from the Messages app.

What is the “legitimate” reason for this? Bluetooth accessories that can send messages, ideally from the MFI program?


Common use cases include car dashboards that read your SMS out loud and smartwatches.


MAP is a standard protocol [1]. I think that's pretty legit?

1: https://en.wikipedia.org/wiki/List_of_Bluetooth_profiles#Mes...


This would be extremely useful. I can imagine the only reason why it doesn't exist yet is because few people were aware of this. Thanks for sharing.


Haha, I don’t know who else besides me who knew about this. I just happened to discover it the other day... night... month ;-) HN is the first platform that I shared this discovery with.

I figured that the ideas are free, the important part is the execution. I hope I didn’t accidentally open the Pandora’s box for the spammers and such. My thought is that programmatically sending iMessages is already doable just needs a lot of mucking around. This just makes it much more convenient.


Has anyone tried putting this into a Windows app yet?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: