The problem is Opnsense, as the BSD kernel used is doing single thread network routing. So the APU can saturate 1gbit with multiple connections/threads or if you switch to a firewall with a Linux kernel like OpenWRT.
That said, a N100 probably does have enough single thread performance to do 1.2 Gbit. Not sure about the full 2.5gbit though.
I met the main developer at the CCC congress two days ago, and we talked about it a bit. The problem is that he is only a backend developer, and the front ends for Friendica are a really old and messy codebase.
I think the best option for Friendica would be to fork one of the available alternative front ends for Mastodon and adapt it for the additional functionality of Friendica. But they need a frontend dev to help out with that.
Whatsapp is under the hood still a lightly modified XMPP system, and given Zucks recent comments about federated protocols (albright in a Threads i.e. ActivityPub context), they might just get their XMPP federation working again.
By typing in the numbers, or selectively sharing them from the address book. This works fine on Signal, Telegram and Threema. Only Whatsapp makes it so that you have to share your entire address book with the app.
With some workarounds you can actually use whatsapp also without giving it access to your address book, which shows that it is clearly an intentional dark pattern by Facebook to make people share their entire address book with them to avoid the hassle.
Also WhatsApp requests access to the phone book and is very hard to use if you deny access. This is very likely done because Facebook wants access to the stored numbers to build a social graph. Even if you personally don’t mind, it is a gross privacy violation to share the phone number of other people with Facebook.
XMPP is much more popular for private messaging, so you don’t have many large public group chats like on Discord (and lesser extend Matrix). It can do it, but clients are not really optimized for that to be honest.
As for the specific questions on e2ee: OMEMO as it is currently implemented in most clients is very similar to Signal in security, but like Signal it does not encrypt metadata. There is an updated OMEMO standard that does encrypt metadata as well, but it hasn’t been adopted by any popular XMPP clients yet. However both versions are significantly more secure than Matrix’s MegOLM, which has chosen to sacrifice a lot of security for user convenience IMHO.
XMPP is actively developed, but it doesn’t have much funding for the open-source efforts, so it lacks PR and some things don’t develop as quickly as what you might be used from VC funded for-profit companies like Element/matrix.
I like the Movim webclient, but most current users seem to prefer the native clients for XMPP.
XMPP uses way less resources because it was designed to scale to billions of users for chat, instead of being some over-engineered failed experiment to use a DACS for chat, which really isn’t a good idea and never was.