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
       emphasis	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	exist-
	      ing 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 de-
       fault configuration file	~/.inputrc affects operation. In  addition  to
       that  $XDG_CONFIG_HOME/profanity/inputrc	is read	after all default key-
       bindigs are set so one can override or add settings there.  For	refer-
       ence,  see Readline documentation: info readline	"Command Line Editing"
       "Readline Init File" "Readline Init File	Syntax"	and the	list of	avail-
       able 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 /ac-
       count command can be used to setup the XMPP accounts  within  profanity
       (see  profanity-connect(1)  and	profanity-account(1)) with an existing
       XMPP Account. The /register command can be used to register an  account
       on  a  server.  profanity-register(1) Use the /help commands connection
       command in profanity to display more commands for managing your connec-
       tion.

       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 /ros-
       ter 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 autocomple-
       tion  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  man-
       aged within the account'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 download files. Enter > and press the TAB key to quote	an ex-
       isting 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  offline.  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  en-
	      cryption	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 DiffieHellman 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  online  at the same	time. A	session	is between two
	      clients, so multiclient chats are	not working. Which is  a  fea-
	      ture not a bug. OTR does by design not work for MUCs.

       OpenPGP
	      OpenPGP  (/pgp) is defined in XEP-0027. Is uses a	public and se-
	      cret key.	It is also known as Legacy OpenPGP and has been	depre-
	      cated. 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	refer-
       ences 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 aa extendable protocol. There are core features and op-
	      tional features described	in  XMPP  Extension  Protocols,	 short
	      XEPs.

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  itself.  Profanity	ships with one man page	for each built-in com-
       mand, e.g. there	is profanity-account(1)	for /account.

CONFIGURATION
       Configuration  for  Profanity  is  stored  in  $XDG_CONFIG_HOME/profan-
       ity/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>.	 Copy-
       right (C) 2019 -	 2025  Michael	Vetter	<jubalh@iodoru.org>.   License
       GPLv3+:	 GNU   GPL   version   3   or  later  <https://www.gnu.org/li-
       censes/gpl.html>	This is	free software; you are free to change and  re-
       distribute it.  There is	NO WARRANTY, to	the extent permitted by	law.

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

0.15.1				  2025-08-22				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.0.quarterly>

home | help