I set up AirMessage, and it is very glitchy. I can't message some people because I get an error every time. You need to own a Mac to set it up, and it needs to always be awake. So if you have a laptop, it doesn't really work. There is an option to give your apple login info to a third party, and they will run it on their Mac, but I don't trust that at all.
I own a Mac and a pixel 8. I use blue bubbles. It works great. Don't have any issues with it. When you send messages through it, it goes through your email associated with your iCloud account
Beeper's software stack is partly open source. They develop the mautrix bridges for WhatsApp, Signal, Discord and many more as open source.
What they keep closed source is their clients (and probably infrastructure).
The documentation to host their bridges is great [1] and the bridges works with most server implementaions (I know of Synapse, Dendrite & Conduit).
I'm running signal and whatsapp bridges for years now without problems, but it's definitely simpler to pay for Beeper.
The problem with these bridges is that they have to decrypt messages and encrypt them again with matrix. This means anyone who controls the server running bridges has access to your messages. Self-hosting means I'm still in control of my data.
It’s been on my agenda for a while to set up a Matrix server with an iMessage bridge with the idea I could interact with all of my message protocols from one place. I haven’t gotten around to it, but it might be worth a look.
Biuebubbles is based. I was running on an old Mac mini then switched to a vm on my server (spoofing the hw info from the Mac mini) for Ventura + lower power consumption.
I use an old iphone to link my phone number, but will eventually switch to pypush as a way or registering without the iPhone