Today I’m feeling healthy and confident enough to start a thread about Whisperfish, the Signal client originally built by Andrew E. Bruno in 2016 (thank you so much, Andrew). In February 2019, aebruno announced the EOL of his Whisperfish. I have then, four months later, volunteered to take the lead and rewrite the whole thing against
libsignal-protocol-c, the official and upstream ratchet/axolotl/e2ee library.
It’s taken me a long time, and during the time I switched to Rust, which turned out to be a radical choice back then, but has since paid of: Signal themselves started switching the protocol library to Rust, and SailfishOS introduced preliminary Rust support in 3.4. I had to DIY my Rust SDK (and haven’t migrated yet).
What followed was a painful rewrite of many things, but it is now starting to pay off. I’d like to thank Markus Törnqvist and Gabriel Féron for their efforts in respectively the Sailfish part and the back end part. I have (re)written the bulk of the application, including a very experimental (but very much working)
await-enabled Qt interface, which I want to get cleaned up by Whisperfish 1.0.0.
The result of our efforts is, currently, Whisperfish 0.6-alpha.3. While I am confident many more people can use the “new” Whisperfish, be aware that this is an alpha release. This means that things will fail and you might lose data. That being said: I have many reports of people losing data with Whisperfish 0.5, data that is not lost on my rewrite. This is due to the new cryptographic library, and many updated API calls. If you install this software (thanks!) please leave feedback, both positive and negative in this thread.
- Sending and receiving messages
- Receiving attachments
Notably not implemented:
- Sending attachments
- Starting conversations with new people
- Altering groups
The above means, that if you can wait with sending pictures (my priority number one) and if you have a working Whisperfish 0.5 installation, you can probably start using the Whisperfish 0.6-alpha’s. Be prepared to send me feedback, either through the forum, Matrix or IRC (freenode#whisperfish). Bug reports and feature requests are more than welcome on the Gitlab issue tracker
Before downloading any of this, please read the above paragraph.
Master branch builds (“nightlies”)
- armv7hl: https://gitlab.com/rubdos/whisperfish/-/jobs/artifacts/master/browse?job=build:armv7hl
- i486: https://gitlab.com/rubdos/whisperfish/-/jobs/artifacts/master/browse?job=build:i486
Published versions can be found on my OpenRepos account.