X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/207764e0be91aeb9a6c52fa8639a822555f8759a..a40810e33e059cb641d1c1512d5da0e2caae8fd9:/man/signal-cli.1.adoc diff --git a/man/signal-cli.1.adoc b/man/signal-cli.1.adoc index 90b2c97d..33f99a6f 100644 --- a/man/signal-cli.1.adoc +++ b/man/signal-cli.1.adoc @@ -5,6 +5,7 @@ vim:set ts=4 sw=4 tw=82 noet: :quotes.~: = signal-cli (1) +:doctype: manpage == Name @@ -24,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 @@ -95,12 +96,13 @@ 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*:: 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. === verify @@ -145,6 +147,41 @@ Can fix problems with receiving messages. *-n* NAME, *--device-name* NAME:: Set a new device name for the primary or linked device +*--unrestricted-unidentified-sender* {true,false}:: +Enable if anyone should be able to send you unidentified sender messages. + +=== 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. @@ -250,6 +287,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. @@ -262,6 +305,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. @@ -275,9 +324,18 @@ Specify the description for the link preview (optional). *--preview-image*:: Specify the image file for the link preview (optional). +*--story-timestamp*:: +Specify the timestamp of a story to reply to. + +*--story-author*:: +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. + === sendPaymentNotification Send a payment notification. @@ -313,6 +371,9 @@ Specify the timestamp of the message to which to react. *-r*, *--remove*:: Remove a reaction. +*--story*:: +React to a story instead of a normal message + === sendReceipt Send a read or viewed receipt to a previously received message. @@ -363,6 +424,9 @@ In json mode this is outputted as one json object per line. Number of seconds to wait for new messages (negative values disable timeout). Default is 5 seconds. +*--max-messages*:: +Maximum number of messages to receive, before returning. + *--ignore-attachments*:: Don’t download attachments of received messages. @@ -552,6 +616,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. @@ -589,7 +656,7 @@ The primary device will respond with synchronization messages with full contact === uploadStickerPack -Upload a new sticker pack, consisting of a manifest file and the sticker images. +Upload a new sticker pack, consisting of a manifest file and the sticker images. + Images must conform to the following specification: (see https://support.signal.org/hc/en-us/articles/360031836512-Stickers#sticker_reqs ) - Static stickers in PNG or WebP format @@ -623,26 +690,60 @@ 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. -=== daemon +=== listStickerPacks -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. +Show a list of known sticker packs. -*--dbus*:: -Export DBus interface on user bus. -See signal-cli-dbus (5) for info on the dbus interface. +=== addStickerPack -*--dbus-system*:: -Export DBus interface on system bus. -See signal-cli-dbus (5) for info on the dbus interface. +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. +This is done using the ID of the attachment the recipient or group ID. +The attachment data is returned as a Base64 String. + +*--id* [ID]:: +The ID of the attachment as given in the attachment list of the message. + +*--recipient* [RECIPIENT]:: +Specify the number which sent the attachment. +Referred to generally as recipient. + +*-g* [GROUP], *--group-id* [GROUP]:: +Alternatively, specify the group IDs for which to get the attachment. + +=== 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). -See signal-cli-jsonrpc (5) for info on the JSON-RPC interface. +Export a JSON-RPC interface on a UNIX socket (default $XDG_RUNTIME_DIR/signal-cli/socket). + +See **signal-cli-jsonrpc**(5) for info on the JSON-RPC interface. *--tcp [HOST:PORT]*:: -Export a JSON-RPC interface on a TCP socket (default localhost:7583). -See signal-cli-jsonrpc (5) for info on the JSON-RPC interface. +Export a JSON-RPC interface on a TCP socket (default localhost:7583). + +See **signal-cli-jsonrpc**(5) for info on the JSON-RPC interface. + +*--http [HOST:PORT]*:: +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. *--ignore-attachments*:: Don’t download attachments of received messages. @@ -659,6 +760,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):: @@ -700,6 +831,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