*--config* CONFIG::
Set the path, where to store the config.
Make sure you have full read/write access to the given directory.
- (Default: $HOME/.config/signal)
+ (Default: `$XDG_DATA_HOME/signal-cli` (`$HOME/.local/share/signal-cli`))
*-u* USERNAME, *--username* USERNAME::
Specify your phone number, that will be your identifier.
VERIFICATIONCODE::
The verification code.
+*-p* PIN, *--pin* PIN::
+ The registration lock PIN, that was set by the user. Only required if a PIN was set.
+
unregister
~~~~~~~~~~
Disable push support for this device, i.e. this device won't receive any more messages.
Update the account attributes on the signal server.
Can fix problems with receiving messages.
+setPin
+~~~~~~
+Set a registration lock pin, to prevent others from registering this number.
+
+REGISTRATION_LOCK_PIN::
+ The registration lock PIN, that will be required for new registrations (resets after 7 days of inactivity)
+
+removePin
+~~~~~~~~~
+Remove the registration lock pin.
+
link
~~~~
Link to an existing device, instead of registering a new number. This shows a
*-e*, *--endsession*::
Clear session state and send end session message.
+sendReaction
+~~~~~~~~~~~~
+Send reaction to a previously received or sent message.
+
+RECIPIENT::
+ Specify the recipients’ phone number.
+
+*-g* GROUP, *--group* GROUP::
+ Specify the recipient group ID in base64 encoding.
+
+*-e* EMOJI, *--emoji* EMOJI::
+ Specify the emoji, should be a single unicode grapheme cluster.
+
+*-a* NUMBER, *--target-author* NUMBER::
+ Specify the number of the author of the message to which to react.
+
+*-t* TIMESTAMP, *--target-timestamp* TIMESTAMP::
+ Specify the timestamp of the message to which to react.
+
+*-r*, *--remove*::
+ Remove a reaction.
+
receive
~~~~~~~
Query the server for new messages. New messages are printed on standardoutput and
Default is 5 seconds.
*--ignore-attachments*::
Don’t download attachments of received messages.
+*--json*::
+ Output received messages in json format, one object per line.
updateGroup
~~~~~~~~~~~
*-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.
+*-v* VERIFIED_SAFETY_NUMBER, *--verified-safety-number* VERIFIED_SAFETY_NUMBER::
+ Specify the safety number of the key, only use this option if you have verified
+ the safety number.
+
+updateProfile
+~~~~~~~~~~~~~
+Update the name and/or avatar image visible by message recipients for the current users.
+The profile is stored encrypted on the Signal servers. The decryption key is sent
+with every outgoing messages (excluding group messages).
+*--name*::
+ New name visible by message recipients.
+
+*--avatar*::
+ Path to the new avatar visible by message recipients.
+
+*--remove-avatar*::
+ Remove the avatar visible by message recipients.
+
+updateContact
+~~~~~~~~~~~~~
+Update the info associated to a number on our contact list. This change is only
+local but can be synchronized to other devices by using `sendContacts` (see
+below).
+If the contact doesn't exist yet, it will be added.
+
+NUMBER::
+ Specify the contact phone number.
+
+*-n*, *--name*::
+ Specify the new name for this contact.
+
+block
+~~~~~
+Block the given contacts or groups (no messages will be received). This change is only
+local but can be synchronized to other devices by using `sendContacts` (see
+below).
+
+[CONTACT [CONTACT ...]]::
+ Specify the phone numbers of contacts that should be blocked.
+
+*-g* [GROUP [GROUP ...]], *--group* [GROUP [GROUP ...]]::
+ Specify the group IDs that should be blocked in base64 encoding.
+
+unblock
+~~~~~~~
+Unblock the given contacts or groups (messages will be received again). This change is only
+local but can be synchronized to other devices by using `sendContacts` (see
+below).
+
+[CONTACT [CONTACT ...]]::
+Specify the phone numbers of contacts that should be unblocked.
+
+*-g* [GROUP [GROUP ...]], *--group* [GROUP [GROUP ...]]::
+Specify the group IDs that should be unblocked in base64 encoding.
+
+sendContacts
+~~~~~~~~~~~~
+Send a synchronization message with the local contacts list to all linked devices.
+This command should only be used if this is the master device.
+
+uploadStickerPack
+~~~~~~~~~~~~~~~~~
+Upload a new sticker pack, consisting of a manifest file and the stickers in WebP
+format (maximum size for a sticker file is 100KiB).
+The required manifest.json has the following format:
+
+```json
+{
+ "title": "<STICKER_PACK_TITLE>",
+ "author": "<STICKER_PACK_AUTHOR>",
+ "cover": { // Optional cover, by default the first sticker is used as cover
+ "file": "<name of webp file, mandatory>",
+ "emoji": "<optional>"
+ },
+ "stickers": [
+ {
+ "file": "<name of webp file, mandatory>",
+ "emoji": "<optional>"
+ }
+ ...
+ ]
+}
+```
+
+PATH::
+ The path of the manifest.json or a zip file containing the sticker pack you
+ wish to upload.
daemon
~~~~~~
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
+ signal-cli -u USERNAME trust -v SAFETY_NUMBER 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
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/
+`$XDG_DATA_HOME/signal-cli/` (`$HOME/.local/share/signal-cli/`)
-For legacy users, the old config directory is used as a fallback:
+For legacy users, the old config directories are used as a fallback:
+
+ $HOME/.config/signal/
$HOME/.config/textsecure/