--- /dev/null
+/////
+vim:set ts=4 sw=4 tw=82 noet:
+/////
+:quotes.~:
+
+signal-cli (1)
+============
+
+Name
+----
+signal-cli - A commandline and dbus interface for the Signal messenger
+
+Synopsis
+--------
+*signal-cli* [--config CONFIG] [-h | -v | -u USERNAME | --dbus | --dbus-system] command [command-options]
+
+Description
+-----------
+
+signal-cli is a commandline interface for libsignal-service-java. It supports
+registering, verifying, sending and receiving messages. For registering you need a
+phone number where you can receive SMS or incoming calls.
+signal-cli was primarily developed to be used on servers to notify admins of
+important events. For this use-case, it has a dbus interface, that can be used to
+send messages from any programming language that has dbus bindings.
+
+Options
+-------
+
+*-h*, *--help*::
+ Show help message and quit.
+
+*-v*, *--version*::
+ Print the version and quit.
+
+*--config* CONFIG::
+ Set the path, where to store the config.
+ (Default: $HOME/.config/signal)
+
+*-u* USERNAME, *--username* USERNAME::
+ Specify your phone number, that will be your identifier.
+
+*--dbus*::
+ Make request via user dbus.
+
+*--dbus-system*::
+ Make request via system dbus.
+
+Commands
+--------
+
+register
+~~~~~~~~
+Register a phone number with SMS or voice verification. Use the verify command to
+complete the verification.
+
+*-v*, *--voice*::
+ The verification should be done over voice, not SMS.
+
+verify
+~~~~~~
+Verify the number using the code received via SMS or voice.
+
+VERIFICATIONCODE::
+ The verification code.
+
+link
+~~~~
+Link to an existing device, instead of registering a new number. This shows a
+"tsdevice:/…" URI. If you want to connect to another signal-cli instance, you can
+just use this URI. If you want to link to an Android/iOS device, create a QR code
+with the URI (e.g. with qrencode) and scan that in the Signal app.
+
+*-n* NAME, *--name* NAME::
+ Optionally specify a name to describe this new device. By default "cli" will
+ be used.
+
+addDevice
+~~~~~~~~~
+Link another device to this device. Only works, if this is the master device.
+
+*--uri* URI::
+ Specify the uri contained in the QR code shown by the new device.
+
+listDevices
+~~~~~~~~~~~
+Show a list of connected devices.
+
+removeDevice
+~~~~~~~~~~~~
+Remove a connected device. Only works, if this is the master device.
+
+*-d* DEVICEID, *--deviceId* DEVICEID::
+ Specify the device you want to remove. Use listDevices to see the deviceIds.
+
+send
+~~~~
+Send a message to another user or group.
+
+RECIPIENT::
+ Specify the recipients’ phone number.
+
+*-g* GROUP, *--group* GROUP::
+ Specify the recipient group ID in base64 encoding.
+
+*-m* MESSAGE, *--message* MESSAGE::
+ Specify the message, if missing, standard input is used.
+
+*-a* [ATTACHMENT [ATTACHMENT ...]], *--attachment* [ATTACHMENT [ATTACHMENT ...]]::
+ Add one or more files as attachment.
+
+*-e*, *--endsession*::
+ Clear session state and send end session message.
+
+receive
+~~~~~~~
+Query the server for new messages. New messages are printed on standardoutput and
+attachments are downloaded to the config directory.
+
+*-t* TIMEOUT, *--timeout* TIMEOUT::
+ Number of seconds to wait for new messages (negative values disable timeout).
+ Default is 5 seconds.
+
+updateGroup
+~~~~~~~~~~~
+Create or update a group.
+
+*-g* GROUP, *--group* GROUP::
+ Specify the recipient group ID in base64 encoding. If not specified, a new
+ group with a new random ID is generated.
+
+*-n* NAME, *--name* NAME::
+ Specify the new group name.
+
+*-a* AVATAR, *--avatar* AVATAR::
+ Specify a new group avatar image file.
+
+*-m* [MEMBER [MEMBER ...]], *--member* [MEMBER [MEMBER ...]]::
+ Specify one or more members to add to the group.
+
+quitGroup
+~~~~~~~~~
+Send a quit group message to all group members and remove self from member list.
+
+*-g* GROUP, *--group* GROUP::
+ Specify the recipient group ID in base64 encoding.
+
+
+listIdentities
+~~~~~~~~~~~~~~
+List all known identity keys and their trust status, fingerprint and safety
+number.
+
+*-n* NUMBER, *--number* NUMBER::
+ Only show identity keys for the given phone number.
+
+trust
+~~~~~
+Set the trust level of a given number. The first time a key for a number is seen,
+it is trusted by default (TOFU). If the key changes, the new key must be trusted
+manually.
+
+number::
+ Specify the phone number, for which to set the trust.
+
+*-a*, *--trust-all-known-keys*::
+ Trust all known keys of this user, only use this for testing.
+
+*-v* VERIFIED_FINGERPRINT, *--verified-fingerprint* VERIFIED_FINGERPRINT::
+ Specify the safety number or fingerprint of the key, only use this option if you have verified
+ the fingerprint.
+
+
+daemon
+~~~~~~
+signal-cli can run in daemon mode and provides an experimental dbus interface. For
+dbus support you need jni/unix-java.so installed on your system (Debian:
+libunixsocket-java ArchLinux: libmatthew-unix-java (AUR)).
+
+*--system*::
+ Use DBus system bus instead of user bus.
+
+
+Examples
+--------
+
+Register a number (with SMS verification)::
+ signal-cli -u USERNAME register
+
+Verify the number using the code received via SMS or voice::
+ signal-cli -u USERNAME verify CODE
+
+Send a message to one or more recipients::
+ signal-cli -u USERNAME send -m "This is a message" [RECIPIENT [RECIPIENT ...]] [-a [ATTACHMENT [ATTACHMENT ...]]]
+
+Pipe the message content from another process::
+ uname -a | signal-cli -u USERNAME send [RECIPIENT [RECIPIENT ...]]
+
+Create a group::
+ signal-cli -u USERNAME updateGroup -n "Group name" -m [MEMBER [MEMBER ...]]
+
+Add member to a group::
+ signal-cli -u USERNAME updateGroup -g GROUP_ID -m "NEW_MEMBER"
+
+Leave a group::
+ signal-cli -u USERNAME quitGroup -g GROUP_ID
+
+Send a message to a group::
+ signal-cli -u USERNAME send -m "This is a message" -g GROUP_ID
+
+Trust new key, after having verified it::
+ signal-cli -u USERNAME trust -v FINGER_PRINT NUMBER
+
+Trust new key, without having verified it. Only use this if you don't care about security::
+ signal-cli -u USERNAME trust -a NUMBER
+
+Files
+-----
+The password and cryptographic keys are created when registering and stored in the
+current users home directory, the directory can be changed with *--config*:
+
+ $HOME/.config/signal/
+
+For legacy users, the old config directory is used as a fallback:
+
+ $HOME/.config/textsecure/
+
+
+Authors
+-------
+
+Maintained by AsamK <asamk@gmx.de>, who is assisted by other open
+source contributors. For more information about signal-cli development, see
+<https://github.com/AsamK/signal-cli>.