]> nmode's Git Repositories - signal-cli/blobdiff - man/signal-cli.1.adoc
Bump version to 0.13.1
[signal-cli] / man / signal-cli.1.adoc
index ad510dfe994eaff53cc5b80917fb8adb7cb61a17..80d4c37ef07d34efc49376c44ef28ada4d42d276 100644 (file)
@@ -25,7 +25,7 @@ For this use-case, it has a dbus and a JSON-RPC interface, that can be used to s
 
 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.
+In daemon mode messages are by default continuously received.
 
 == Options
 
@@ -44,6 +44,7 @@ If `--verbose` is also given, the detailed logs will only be written to the log
 
 *--scrub-log*::
 Scrub possibly sensitive information from the log, like phone numbers and UUIDs.
+Doesn't work reliably on dbus logs with very verbose logging (`-vvv`)
 
 *--config* CONFIG::
 Set the path, where to store the config.
@@ -70,6 +71,9 @@ Make request via user dbus.
 *--dbus-system*::
 Make request via system dbus.
 
+*--bus-name*::
+Connect to another D-Bus bus name than the default.
+
 *-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"
@@ -96,12 +100,16 @@ If the account was deleted (with --delete-account) it cannot be reactivated.
 
 *-v*, *--voice*::
 The verification should be done over voice, not SMS.
+Voice verification only works if an SMS verification has been attempted before.
 
-*--captcha*::
+*--captcha* 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
 For the staging environment, use: https://signalcaptchas.org/staging/registration/generate.html
-Check the developer tools for a redirect starting with signalcaptcha:// Everything after signalcaptcha:// is the captcha token.
+After solving the captcha, right-click on the "Open Signal" link and copy the link.
+
+*--reregister*::
+Register even if account is already registered.
 
 === verify
 
@@ -146,6 +154,55 @@ Can fix problems with receiving messages.
 *-n* NAME, *--device-name* NAME::
 Set a new device name for the primary or linked device
 
+*-u* NAME *--username* NAME::
+Specify a username that can then be used to contact this account.
+This can either be just the nickname (e.g. test) or the complete username with discriminator (e.g. test.000).
+Returns the new username with discriminator and the username link.
+
+*--delete-username*::
+Delete the username associated with this account.
+
+*--unrestricted-unidentified-sender* {true,false}::
+Enable if anyone should be able to send you unidentified sender messages.
+
+*--discoverable-by-number* {true,false}::
+Enable/disable if the account should be discoverable by phone number
+
+*--number-sharing* {true,false}::
+Indicates if Signal should share its phone number when sending a message.
+
+=== startChangeNumber
+
+Change an account to a new phone number with SMS or voice verification.
+Use the finishChangeNumber command to complete the verification.
+
+NUMBER::
+The new phone number.
+
+*-v*, *--voice*::
+The verification should be done over voice, not SMS.
+Voice verification only works if an SMS verification has been attempted before.
+
+*--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
+For the staging environment, use: https://signalcaptchas.org/staging/registration/generate.html
+After solving the captcha, right-click on the "Open Signal" link and copy the link.
+
+=== finishChangeNumber
+
+Verify the number using the code received via SMS or voice.
+
+NUMBER::
+The new phone number.
+
+*-v*, *--verification-code*::
+The verification code.
+
+*-p* PIN, *--pin* PIN::
+The registration lock PIN, that was set by the user.
+Only required if a PIN was set.
+
 === updateConfiguration
 
 Update signal configs and sync them to linked devices.
@@ -229,6 +286,9 @@ Send the message to self without notification.
 *-g* GROUP, *--group-id* GROUP::
 Specify the recipient group ID in base64 encoding.
 
+*-u* USERNAME, *--username* USERNAME::
+Specify the recipient username or username link.
+
 *-m* MESSAGE, *--message* MESSAGE::
 Specify the message.
 
@@ -251,6 +311,12 @@ e.g.: `--sticker 00abac3bc18d7f599bff2325dc306d43:2`
 Mention another group member (syntax: start:length:recipientNumber) In the apps the mention replaces part of the message text, which is specified by the start and length values.
 e.g.: `-m "Hi X!" --mention "3:1:+123456789"`
 
+*--text-style*::
+Style parts of the message text (syntax: start:length:STYLE).
+Where STYLE is one of: BOLD, ITALIC, SPOILER, STRIKETHROUGH, MONOSPACE
+
+e.g.: `-m "Something BIG!" --text-style "10:3:BOLD"` or for a mixed text style `-m "Something BIG!" --text-style "0:9:ITALIC" "10:3:BOLD"`
+
 *--quote-timestamp*::
 Specify the timestamp of a previous message with the recipient or group to add a quote to the new message.
 
@@ -263,6 +329,12 @@ Specify the message of the original message.
 *--quote-mention*::
 Specify the mentions of the original message (same format as `--mention`).
 
+*--quote-text-style*::
+Style parts of the original message text (same format as `--text-style`).
+
+*--quote-attachment*::
+Specify the attachments of the original message (syntax: contentType[:filename[:previewFile]]), e.g. 'audio/aac' or 'image/png:test.png:/tmp/preview.jpg'.
+
 *--preview-url*::
 Specify the url for the link preview.
 The same url must also appear in the message body, otherwise the preview won't be displayed by the apps.
@@ -285,6 +357,25 @@ Specify the number of the author of the story.
 *-e*, *--end-session*::
 Clear session state and send end session message.
 
+*--edit-timestamp*::
+Specify the timestamp of a previous message with the recipient or group to send an edited message.
+
+=== sendMessageRequestResponse
+
+Send response to a message request to linked devices.
+
+RECIPIENT::
+Specify the recipients’ phone number.
+
+*-g* GROUP, *--group-id* GROUP::
+Specify the recipient group ID in base64 encoding.
+
+*-u* USERNAME, *--username* USERNAME::
+Specify the recipient username or username link.
+
+*--type* TYPE::
+Type of message request response (accept, delete)
+
 === sendPaymentNotification
 
 Send a payment notification.
@@ -308,6 +399,9 @@ Specify the recipients’ phone number.
 *-g* GROUP, *--group-id* GROUP::
 Specify the recipient group ID in base64 encoding.
 
+*-u* USERNAME, *--username* USERNAME::
+Specify the recipient username or username link.
+
 *-e* EMOJI, *--emoji* EMOJI::
 Specify the emoji, should be a single unicode grapheme cluster.
 
@@ -360,6 +454,9 @@ Specify the recipients’ phone number.
 *-g* GROUP, *--group-id* GROUP::
 Specify the recipient group ID in base64 encoding.
 
+*-u* USERNAME, *--username* USERNAME::
+Specify the recipient username or username link.
+
 *-t* TIMESTAMP, *--target-timestamp* TIMESTAMP::
 Specify the timestamp of the message to delete.
 
@@ -565,6 +662,9 @@ Remove the info of a given contact
 NUMBER::
 Specify the contact phone number.
 
+*--hide*::
+Hide the contact in the contact list, but keep the data.
+
 *--forget*::
 Delete all data associated with this contact, including identity keys and sessions.
 
@@ -636,6 +736,18 @@ The required manifest.json has the following format:
 PATH::
 The path of the manifest.json or a zip file containing the sticker pack you wish to upload.
 
+=== listStickerPacks
+
+Show a list of known sticker packs.
+
+=== addStickerPack
+
+Install a sticker pack for this account.
+
+*--uri* [URI]::
+Specify the uri of the sticker pack.
+e.g. https://signal.art/addstickers/#pack_id=XXX&pack_key=XXX
+
 === getAttachment
 
 Gets the raw data for a specified attachment.
@@ -652,18 +764,36 @@ Referred to generally as recipient.
 *-g* [GROUP], *--group-id* [GROUP]::
 Alternatively, specify the group IDs for which to get the attachment.
 
-=== daemon
+=== getAvatar
 
-signal-cli can run in daemon mode and provides an experimental dbus or JSON-RPC interface.
-If no `-a` account is given, all local accounts will be exported as separate dbus objects under the same bus name.
+Gets the raw data for a specified contact, contact's profile or group avatar.
+The attachment data is returned as a Base64 String.
 
-*--dbus*::
-Export DBus interface on user bus. +
-See **signal-cli-dbus**(5) for info on the dbus interface.
+*--contact* [RECIPIENT]::
+Specify the number of a recipient.
 
-*--dbus-system*::
-Export DBus interface on system bus. +
-See **signal-cli-dbus**(5) for info on the dbus interface.
+*--profile* [RECIPIENT]::
+Specify the number of a recipient.
+
+*-g* [GROUP], *--group-id* [GROUP]::
+Alternatively, specify the group ID for which to get the avatar.
+
+=== getSticker
+
+Gets the raw data for a specified sticker.
+The attachment data is returned as a Base64 String.
+
+*--pack-id* [PACK_ID]::
+Specify the id of a sticker pack (hex encoded).
+
+*--sticker-id* [STICKER_ID]::
+Specify the index of a sticker in the sticker pack.
+
+=== daemon
+
+signal-cli can run in daemon mode and provides JSON-RPC or an experimental dbus interface.
+If no `-a` account is given, all local accounts will be loaded.
+Multiple interfaces can be used at the same time, e.g. `daemon --socket --dbus`
 
 *--socket [SOCKET]*::
 Export a JSON-RPC interface on a UNIX socket (default $XDG_RUNTIME_DIR/signal-cli/socket). +
@@ -678,6 +808,17 @@ Expose a JSON-RPC interface as http endpoint (default localhost:8080).
 The JSON-RPC endpoint is `/api/v1/rpc`. +
 See **signal-cli-jsonrpc**(5) for info on the JSON-RPC interface.
 
+*--dbus*::
+Export DBus interface on user bus. +
+See **signal-cli-dbus**(5) for info on the dbus interface.
+
+*--dbus-system*::
+Export DBus interface on system bus. +
+See **signal-cli-dbus**(5) for info on the dbus interface.
+
+*--bus-name*::
+Claim another D-Bus bus name than the default.
+
 *--ignore-attachments*::
 Don’t download attachments of received messages.
 
@@ -693,6 +834,36 @@ Don’t print received messages to stdout.
 *--receive-mode*::
 Specify when to start receiving messages (on-start, on-connection, manual)
 
+=== jsonRpc
+
+Run in signal-cli in JSON-RPC mode.
+Reads JSON-RPC requests on stdin and responds on stdout.
+See **signal-cli-jsonrpc**(5) for info on the JSON-RPC interface.
+
+*--ignore-attachments*::
+Don’t download attachments of received messages.
+
+*--ignore-stories*::
+Don’t receive story messages from the server.
+
+*--send-read-receipts*::
+Send read receipts for all incoming data messages (in addition to the default delivery receipts)
+
+*--receive-mode*::
+Specify when to start receiving messages (on-start, manual)
+
+=== submitRateLimitChallenge
+
+When running into rate limits, sometimes the limit can be lifted, by solving a CAPTCHA.
+To get the captcha token, go to https://signalcaptchas.org/challenge/generate.html
+For the staging environment, use: https://signalcaptchas.org/staging/registration/generate.html
+
+*--challenge* CHALLENGE_TOKEN::
+The challenge token from the failed send attempt.
+
+*--captcha* CAPTCHA::
+The captcha result, starting with signalcaptcha://
+
 == Examples
 
 Register a number (with SMS verification)::
@@ -734,6 +905,7 @@ signal-cli -a ACCOUNT trust -a NUMBER
 * *2*: Some unexpected error
 * *3*: Server or IO error
 * *4*: Sending failed due to untrusted key
+* *5*: Server rate limiting error
 
 == Files