Make sure you have full read/write access to the given directory.
*--config* CONFIG::
Set the path, where to store the config.
Make sure you have full read/write access to the given directory.
@@ -38,6+44,11 @@ Make sure you have full read/write access to the given directory.
Specify your phone number, that will be your identifier.
The phone number must include the country calling code, i.e. the number must start with a "+" sign.
Specify your phone number, that will be your identifier.
The phone number must include the country calling code, i.e. the number must start with a "+" sign.
+This flag must not be given for the `link` command.
+It is optional for the `daemon` command.
+For all other commands it is only optional if there is exactly one local user in the
+config directory.
+
*--dbus*::
Make request via user dbus.
*--dbus*::
Make request via user dbus.
@@ -100,7+111,8 @@ Remove the registration lock pin.
=== link
Link to an existing device, instead of registering a new number.
=== 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.
+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.
*-n* NAME, *--name* NAME::
Optionally specify a name to describe this new device.
@@ -112,7+124,8 @@ Link another device to this device.
Only works, if this is the master device.
*--uri* URI::
Only works, if this is the master device.
*--uri* URI::
-Specify the uri contained in the QR code shown by the new device. You will need the full uri enclosed in quotation marks, such as "tsdevice:/?uuid=....."
+Specify the uri contained in the QR code shown by the new device.
+You will need the full uri enclosed in quotation marks, such as "tsdevice:/?uuid=....."
=== listDevices
=== listDevices
@@ -129,7+142,9 @@ Use listDevices to see the deviceIds.
=== getUserStatus
=== getUserStatus
-Uses a list of phone numbers to determine the statuses of those users. Shows if they are registered on the Signal Servers or not. In json mode this is outputted as a list of objects.
+Uses a list of phone numbers to determine the statuses of those users.
+Shows if they are registered on the Signal Servers or not.
+In json mode this is outputted as a list of objects.
[NUMBER [NUMBER ...]]::
One or more numbers to check.
[NUMBER [NUMBER ...]]::
One or more numbers to check.
@@ -150,6+165,9 @@ Specify the message, if missing, standard input is used.
-New messages are printed on standard output and attachments are downloaded to the config directory. In json mode this is outputted as one json object per line.
+New messages are printed on standard output and attachments are downloaded to the config directory.
+In json mode this is outputted as one json object per line.
*-t* TIMEOUT, *--timeout* TIMEOUT::
Number of seconds to wait for new messages (negative values disable timeout).
*-t* TIMEOUT, *--timeout* TIMEOUT::
Number of seconds to wait for new messages (negative values disable timeout).
@@ -189,6+208,8 @@ Don’t download attachments of received messages.
=== joinGroup
Join a group via an invitation link.
=== joinGroup
Join a group via an invitation link.
+To be able to join a v2 group the account needs to have a profile (can be created
+with the `updateProfile` command)
*--uri*::
The invitation link URI (starts with `https://signal.group/#`)
*--uri*::
The invitation link URI (starts with `https://signal.group/#`)
@@ -197,6+218,8 @@ The invitation link URI (starts with `https://signal.group/#`)
Create or update a group.
If the user is a pending member, this command will accept the group invitation.
Create or update a group.
If the user is a pending member, this command will accept the group invitation.
+To be able to join or create a v2 group the account needs to have a profile (can
+be created with the `updateProfile` command)
*-g* GROUP, *--group* GROUP::
Specify the recipient group ID in base64 encoding.
*-g* GROUP, *--group* GROUP::
Specify the recipient group ID in base64 encoding.
@@ -221,7+244,8 @@ Specify the recipient group ID in base64 encoding.
=== listGroups
=== listGroups
-Show a list of known groups and related information. In json mode this is outputted as an list of objects and is always in detailed mode.
+Show a list of known groups and related information.
+In json mode this is outputted as an list of objects and is always in detailed mode.
*-d*, *--detailed*::
Include the list of members of each group and the group invite link.
*-d*, *--detailed*::
Include the list of members of each group and the group invite link.
@@ -336,6+360,8 @@ The path of the manifest.json or a zip file containing the sticker pack you wish
=== daemon
signal-cli can run in daemon mode and provides an experimental dbus interface.
=== daemon
signal-cli can run in daemon mode and provides an experimental dbus interface.
+If no `-u` username is given, all local users will be exported as separate dbus
+objects under the same bus name.
*--system*::
Use DBus system bus instead of user bus.
*--system*::
Use DBus system bus instead of user bus.
@@ -374,6+400,12 @@ 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
Trust new key, without having verified it. Only use this if you don't care about security::
signal-cli -u USERNAME trust -a NUMBER
+== Exit codes
+* *1*: Error is probably caused and fixable by the user
+* *2*: Some unexpected error
+* *3*: Server or IO error
+* *4*: Sending failed due to untrusted key
+
== 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*:
== 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*: