Meant to reply with this here and not on the child comment, but either way here is something truly bad you can start with that may meet some of your needs: https://github.com/gatlin/valet
Yes, I would like too... and I see that OMEMO seems to be the current and best protocol for xmpp. But I found only one library and the implementation in profanity. I'm not a crypto guy and I don't understand it, so if there is a simple way to add it (as optional) compile dependency, I will do. But messing up with crypto doesn't sound like a good way to go.
In mcabber is the option to send commands with a fifo, so it would be possible to send (GPG and OTR) encrypted messages. With profanity, it might be possible by writing a plugin.
I just realized, depending on the project, if both sides use that txmppc, any encryption (age, gpg) would work (not with other xmpp client compatible):
sender: echo "m CRYPT:encrypted_message" | txmppc
receiver: txmppc | while read line; do crypt = "${line#*CRYPT:}"; if [ "$line" != "$crypt" ]; then echo "$crypt" | decrypt; else echo "$line"; fi; done
If you make it less bad I will accept any PRs!