rustpush is a Rust library that implements Apple's push (APNs), IDS identity, iMessage, FaceTime, Find My and iCloud protocols, so software can act as an Apple device without running Messages on a Mac. It is developed at github.com/OpenBubbles/rustpush and powers the OpenBubbles apps for Android and Windows. The code is under the Server Side Public License (SSPL) v1, with an extra exception granted only to OpenBubbles. The README is one line and there are no docs or tagged releases; the latest commit is from 2026-10-12.
The source is free to use under SSPL v1, which requires anyone offering its functionality to others as a service to publish the source of their whole service. Registration needs Apple hardware identifiers from a Mac, or an always-on iPhone running a relay app. The module that generates Mac validation data (open-absinthe) is closed source; its public repo is a placeholder stub.
Linq is a managed API with dedicated lines, REST endpoints, signed webhooks, SDKs and SOC 2 Type II, from $260 a month for Pro. rustpush is a library you embed in your own Rust code: there is no hosted service, HTTP API, webhook system or documentation, and you register your own Apple ID and device identity. It covers FaceTime calls, which Linq's API does not place or answer.
Rust developers building their own iMessage client or bridge who can work from source code alone and accept SSPL terms.
rustpush supports 39 of the 77 features compared on Linq Alternatives.