man(1)
๐ man(1) โ Profanity XMPP client, but make it OX
okay bestie, so this is the man page for Profanity, a simple console based XMPP chat client. โจ But specifically? This one is here to walk you through setting up XEP-0374: OpenPGP for XMPP Instant Messaging โ aka OX. ๐
๐ฆ NAME
Profanity โ a simple console based XMPP chat client. ๐
๐ธ DESCRIPTION
This man page is here to help you set up XEP-0374: OpenPGP for XMPP Instant Messaging. Which is also known as OX. iykyk. ๐
For the deets on usage, go check man profanity-ox or peek at /help ox. ๐ซถ
So here's the thing โ Profanity wants to give you, the user, maximum freedom in setting up your own system. So it will not touch your GPG settings directly. Which lowkey means you're gonna have to do some manual steps yourself. They're all described right here. No cap. ๐ญ
๐ Generate OpenPGP key materials
Step one, babes: make an OpenPGP key pair. The key pair generation gets done with the gpg command of GnuPG.
gpg --quick-generate-key xmpp:alice@domain.tld future-default default 3y
This command will generate an OpenPGP key with a UID of xmpp:alice@domain.tld. The option future-default is what was used to generate a ed25519/cv25519 key. And the key is set to expire in three years. โณ
Replace the Jabber ID with your JID and do not forget the URI xmpp: prefix โ it's giving essential, fr fr.
Example output:
pub ed25519 2021-09-21 [SC] [verfรคllt: 2024-09-20]
583BAE703A801095B6B71A56BD801174B1A0B84A
uid xmpp:alice@domain.tld
sub cv25519 2021-09-21 [E]
๐ค Export your public key
You need to export your public key so you can later upload it into a PEP node. It's just a way for your chat partners to retrieve the public key from you. ๐ซถ Use the command below to export that public key:
Example command:
gpg --export \
--export-options export-minimal \
--export-filter 'keep-uid=uid =~ xmpp:alice@domain.tld' \
--export-filter 'drop-subkey=usage =~ a' \
583BAE703A801095B6B71A56BD801174B1A0B84A \
> /tmp/pep-key.gpg
The key will be exported to /tmp/pep-key.gpg. And you may check the key with the command below:
gpg --show-key --with-sig-list /tmp/pep-key.gpg
โ ๏ธ Keep in mind, bestie: public keys may have some information in them (signatures, name, e-mail address). Be careful which data will be exported. ๐ Theexport-optionsandexport-filteroption of GnuPG will help you filter that data.
๐ฎ Publish your key
You can use Profanity to publish your exported key into your account (PEP). The /ox announce command will publish your key. ๐
/ox announce /tmp/pep-key.gpg - the Profanity /ox announce /tmp/pep-key.gpg command.
The command will create two PEP node records to store the key. Iconic behavior honestly.
๐ Discover keys
To discover public keys of your partners, use the /ox discover command. Sherlock era. ๐ต๏ธ
Example output:
/ox discover buddy@domain.tld
Discovering Public Key for buddy@domain.tld
1234567890ABCDEF1234567890ABCDEF12345678
To request and import a key, you can use the /ox request command.
/ox request buddy@domain.tld 1234567890ABCDEF1234567890ABCDEF12345678
Requesting Public Key 1234567890ABCDEF1234567890ABCDEF12345678 for buddy@domain.tld
Public Key imported
The key will be imported into your gnupg keyring. periodt. ๐ซ
โ๏ธ Sign the imported key
The key can be shown via gpg โ gpg -k xmpp:buddy@domain.tld. Make sure the key is the key of your buddy, and then sign that key with your key. ๐
gpg --ask-cert-level --default-key 583BAE703A801095B6B71A56BD801174B1A0B84A --sign-key 1234567890ABCDEF1234567890ABCDEF12345678
The command /ox contacts will show the keys with XMPP-UID. The command /ox keys will show all known OpenPGP keys. ๐
๐จ Only once you signed the key can you actually use OX with your partner. Like, actually. No shortcuts.
๐ฌ Use OX
Within a chat window you can start OX via /ox start and stop it via /ox end. ๐
Messages will be sent signed and encrypted. main character secure communication energy, we love to see it. ๐ฅ
and that's a wrap, bestie!! ๐ฆ this whole thing was brought to you by Profanity 0.18.2, dated 2026-06-08 โ man(1) out, slay forever ๐ โจ
๐ฆ where this page comes from
- ubuntu stonking: profanity 0.18.2-1 ยท GPL-3.0-or-later WITH OpenSSL exception
- ubuntu stonking: profanity-light 0.18.2-1 ยท GPL-3.0-or-later WITH OpenSSL exception
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms