Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
man(1)			      Profanity XMPP client			  man(1)

NAME
     Profanity - a simple console based XMPP chat client.

SYNOPSIS
     profanity [-vh] [-l level] [-a account]

DESCRIPTION
     Profanity	is  a simple lightweight console based XMPP chat client. Its em-
     phasis is on having a simple and configurable command driven  UI,	see  the
     homepage at:

     <https://profanity-im.github.io>

OPTIONS
     -v, --version
	    Show version and build information.

     -h, --help
	    Show help on command line arguments.

     -a, --account ACCOUNT
	    Auto  connect  to an account on startup, ACCOUNT must be an existing
	    account.

     -c, --config
	    Use an alternative config file.

     -l, --log LEVEL
	    Set the logging level, LEVEL may be set  to  DEBUG,  INFO  (the  de-
	    fault), WARN or ERROR.

     -f, --logfile
	    Specify a different logfile

     -r, --cmd
	    Specify  the  commands  that  should be run right after starting up.
	    This can be given multiple times, e.g.
	    profanity --cmd /foo --cmd "/sleep 10" --cmd /quit

     -t, --theme THEME
	    Specify which theme to use.  THEME must be one  of	the  themes  in-
	    stalled in $XDG_CONFIG_HOME/profanity/themes

KEYBINDINGS
     Tab, Shift+Tab
	    Tab completion next, previous.  Works for commands, nicks and quotes
	    (when input line starts with >).

     ALT+1..Alt-0 or F1..F10
	    Choose window 1..10.

     ALT+q..Alt-p (in QWERTY layout)
	    Choose window 11..20.

     ALT+LEFT
	    Choose previous chat window.

     ALT+RIGHT
	    Choose next chat window.

     PAGEUP
	    Page the active window up.

     PAGEDOWN
	    Page the active window down.

     ALT+PAGEUP
	    Page the occupants or roster panel up.

     ALT+PAGEDOWN
	    Page the occupants or roster panel down.

     ALT+UP or ALT+WHEELUP
	    Scroll  up.  Note:	limited  support for scrolling with mouse wheel,
	    please, get in touch with devs if you know how to  add  support  for
	    other terminals.

     ALT+DOWN or ALT+WHEELDOWN
	    Scroll down. See note above.

     ALT+a  Jump to the next unread window.

     ALT+v  Mark current window for later reading with an attention flag.

     ALT+m  Switch between windows marked with the attention flag.

     ALT+ENTER
	    Add newline character without sending a message/command.

     ALT+c  Run  external  editor  (see  profanity-editor(1))  for current input
	    line.

     CTRL+DOWN
	    Store current input line in history but do not execute it.

     Note: Profanity is using GNU Readline library to handle  input  so  default
     configuration  file  ~/.inputrc  affects  operation.  In  addition  to that
     $XDG_CONFIG_HOME/profanity/inputrc is read after all default keybindigs are
     set so one can override or add settings there. For reference, see	Readline
     documentation:  info  readline  "Command Line Editing" "Readline Init File"
     "Readline Init File Syntax" and the list of available Profanity commands in
     inputwin.c.  Standard Readline keybindings are supported, including C-r for
     interactive history search  and  C-x  C-r	for  reloading	inputrc  without
     restart.

USING PROFANITY
     The  first  step is to connect to an XMPP Server. The /connect and /account
     command can be used to setup the XMPP accounts within profanity  (see  pro-
     fanity-connect(1)	and profanity-account(1)) with an existing XMPP Account.
     The /register command can be used to register an account on a server.  pro-
     fanity-register(1) Use the /help commands connection command  in  profanity
     to display more commands for managing your connection.

     The  roster  is your address book. By default, your roster will be shown in
     "window 1" which is the profanity /console.  It's possible to /roster  hide
     and  to /roster show the address book in the profanity console. Buddies can
     be added via /roster add JID.

     To see the online status of your contacts, the /sub command can be used  to
     manage subscriptions to the presence of contacts.	/sub request will send a
     request.  /sub  allow  is used to approve a contact's subscription request.
     Use /help commands roster to get a list of commands which can  be	used  to
     manage your roster.

     Open  chat windows can been shown by /wins command. Jumping to a window can
     be done via /win NUMBER or /win JID. profanity supports autocompletion with
     TAB-Key.  The /msg command can be used to start a chat with  your	contact.
     Groupchats  can  be joined with the /join command or managed within the ac-
     count's bookmark.

     If the group chat is stored in the bookmarks, the group chat can be set  to
     auto-join. If the auto-join is switched off, use /bookmark join to join the
     group  chat.  The /sendfile and /url command can be used to share and down-
     load files. Enter > and press the TAB key to quote an existing  message  in
     the chat window.

     The  user	guide  can  be	found  at  <https://profanity-im.github.io/user-
     guide.html>.

ENCRYPTION
     Profanity supports various kinds of encryption: OMEMO, OTR, PGP,  OX.   You
     can only enable one of them per correspondent at a time.

     OMEMO  OMEMO  (/omemo) is defined in XEP-0384. It uses an implementation of
	    the Signal protocol for key management and to  synchronize	messages
	    among  different  clients.	It works even when other clients are of-
	    fline. And offers Perfect Forward Secrecy and Plausible deniability.
	    Servers need to support PEP (XEP-0163).  We  implement  the  "siacs"
	    version  of  OMEMO.  Version  0.3.0,  which  is currently the widest
	    adopted option.  OMEMO is the only encryption  option  in  Profanity
	    that  also supports encryption for MUCs (XEP-0045) and file transfer
	    via HTTP upload (XEP-0363).

     OTR    OTR (/otr) is defined in XEP-0364. It uses a combination of the  AES
	    symmetric-key  algorithm,  the  DiffieaHellman key exchange, and the
	    SHA-1 hash function. It offers deniable authentication  and  Perfect
	    Forward Secrecy. To initialize a session both clients need to be on-
	    line  at  the same time. A session is between two clients, so multi-
	    client chats are not working. Which is a feature not a bug. OTR does
	    by design not work for MUCs.

     OpenPGP
	    OpenPGP (/pgp) is defined in XEP-0027. Is uses a public  and  secret
	    key.  It is also known as Legacy OpenPGP and has been deprecated. It
	    doesn't provide protection against replay  attacks.  MUCs  and  file
	    transfer via HTTP upload are not specified and thus not supported.

     OX     OX (/ox) is defined in XEP-0373 and XEP-0374. It's a more modern way
	    to	use  OpenPGP on XMPP and tries to fix the shortcomings of legacy
	    XEP-0027. Servers need to support  PEP  (XEP-0163).  MUCs  and  file
	    transfer via HTTP upload are not specified and thus not supported.

     DETAILS
	    For  more details read the relevant XEPs and look at the overview at
	    <https://wiki.xmpp.org/web/XMPP_E2E_Security>

TERMINOLOGY
     There is some XMPP specific terminology that might  be  unknown  for  fresh
     users. We will try to describe them here since they are often references in
     the help and man pages.

     JID    Stands  for  Jabber  ID.  It refers to an XMPP address. Historically
	    XMPP was also known as Jabber.

     MAM    Stands for Message Archive Management (XEP-0313) and  describes  the
	    ability to store messages on the server and retrieve them later.

     MUC    Stands  for Mutli-User Chats (XEP-0045) and are also called, groups,
	    group chats, chatrooms or conferences.

     Roster
	    The roster is your contact list. By default displayed at  the  right
	    side on the console window. See RFC6121.

     XEP    XMPP is an extendable protocol. There are core features and optional
	    features described in XMPP Extension Protocols, short XEPs.

     There are various kind of messages.

     1:1 messages are regular messages from one party to another party, from one
     JID to the other JID. Often you have the other party added to your roster.

     MUC messages are messages from one party to a group chat.

     MUC PM (MUC private message) are messages from one party to another party
     which are in the same group chat. You might not have the JID of this person
     in your roster or don't know their JID at all. Communication is done over
     the MUC via the nick. Only the two parties can see the message. In the An-
     droid client Conversations this is displayed as "whispering". If a user
     leaves a MUC another user can join the MUC with the same nick unless the
     nick is registered. Which often isn't the case.

SEE ALSO
     Profanity	itself	has  a lot of built-in help. Check the /help command for
     more information.	Type "/help help" for information on how to use help it-
     self.  Profanity ships with one man page for each	built-in  command,  e.g.
     there is profanity-account(1) for /account.

CONFIGURATION
     Configuration  for Profanity is stored in $XDG_CONFIG_HOME/profanity/profrc
     ,	details  on  commands  for  configuring  Profanity  can  be   found   at
     <https://profanity-im.github.io/reference.html>  or the respective built-in
     help or man pages.

BUGS
     Bugs can either be reported  by  raising  an  issue  at  the  Github  issue
     tracker:

     <https://github.com/profanity-im/profanity/issues>

     or to the mailing list at:

     <https://lists.posteo.de/listinfo/profanity>

LICENSE
     Copyright	(C)  2012  - 2019 James Booth <boothj5web@gmail.com>.  Copyright
     (C) 2019 - 2026 Michael Vetter <jubalh@iodoru.org>.   License  GPLv3+:  GNU
     GPL version 3 or later <https://www.gnu.org/licenses/gpl.html> This is free
     software;	you  are  free	to change and redistribute it.	There is NO WAR-
     RANTY, to the extent permitted by law.

AUTHORS/CREDITS
     Profanity was created by James Booth <boothj5web@gmail.com> with many  con-
     tributions  from  others, see the full list at: <https://github.com/profan-
     ity-im/profanity/graphs/contributors>

0.18.1				   2026-05-15				  man(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=profanity&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help