X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/f324a4329843a18fee99c59da32c71d04f8083e2..e6ea5d55f8128633f8bcc8faf346754e24f671ae:/man/signal-cli.1.adoc diff --git a/man/signal-cli.1.adoc b/man/signal-cli.1.adoc index 7781b1c5..bd51033f 100644 --- a/man/signal-cli.1.adoc +++ b/man/signal-cli.1.adoc @@ -21,6 +21,9 @@ For registering you need a phone number where you can receive SMS or incoming ca 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. +For some functionality the Signal protocol requires that all messages have been received from the server. +The `receive` command should be regularly executed. In daemon mode messages are continuously received. + == Options *-h*, *--help*:: @@ -29,6 +32,9 @@ Show help message and quit. *-v*, *--version*:: Print the version and quit. +*--verbose*:: +Raise log level and include lib signal logs. + *--config* CONFIG:: Set the path, where to store the config. Make sure you have full read/write access to the given directory. @@ -44,6 +50,9 @@ Make request via user dbus. *--dbus-system*:: Make request via system dbus. +*-o* OUTPUT-MODE, *--output* OUTPUT-MODE:: +Specify if you want commands to output in either "plain-text" mode or in "json". Defaults to "plain-text" + == Commands === register @@ -54,6 +63,12 @@ Use the verify command to complete the verification. *-v*, *--voice*:: The verification should be done over voice, not SMS. +*--captcha*:: +The captcha token, required if registration failed with a captcha required error. +To get the token, go to https://signalcaptchas.org/registration/generate.html +Check the developer tools for a redirect starting with signalcaptcha:// +Everything after signalcaptcha:// is the captcha token. + === verify Verify the number using the code received via SMS or voice. @@ -91,7 +106,8 @@ Remove the registration lock pin. === 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. @@ -104,6 +120,7 @@ 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=....." === listDevices @@ -118,6 +135,15 @@ Only works, if this is the master device. Specify the device you want to remove. Use listDevices to see the deviceIds. +=== 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. + +[NUMBER [NUMBER ...]]:: +One or more numbers to check. + === send Send a message to another user or group. @@ -162,19 +188,30 @@ Remove a reaction. === receive Query the server for new messages. -New messages are printed on standardoutput and attachments are downloaded to the config directory. +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). Default is 5 seconds. *--ignore-attachments*:: Don’t download attachments of received messages. -*--json*:: -Output received messages in json format, one object per line. + +=== 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/#`) === updateGroup 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. @@ -192,16 +229,18 @@ 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. +If the user is a pending member, this command will decline the group invitation. *-g* GROUP, *--group* GROUP:: Specify the recipient group ID in base64 encoding. === listGroups -Show a list of known groups. +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. +Include the list of members of each group and the group invite link. === listIdentities @@ -227,9 +266,9 @@ Specify the safety number of the key, only use this option if you have verified === updateProfile -Update the name and/or avatar image visible by message recipients for the current users. +Update the name and 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). +The decryption key is sent with every outgoing messages to contacts. *--name*:: New name visible by message recipients.