X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/b18991b9fb3a68b8a3f4bd16a160ead90b4990a9..3d5c440aa24227f7a9a387dd675c6f5844d9c293:/man/signal-cli.1.adoc diff --git a/man/signal-cli.1.adoc b/man/signal-cli.1.adoc index 7d1aa6f1..64e73380 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 @@ -31,16 +32,19 @@ In daemon mode messages are continuously received. *-h*, *--help*:: Show help message and quit. -*-v*, *--version*:: +*--version*:: Print the version and quit. -*--verbose*:: +*-v*, *--verbose*:: Raise log level and include lib signal logs. *--log-file* LOG_FILE:: Write log output to the given file. If `--verbose` is also given, the detailed logs will only be written to the log file. +*--scrub-log*:: +Scrub possibly sensitive information from the log, like phone numbers and UUIDs. + *--config* CONFIG:: Set the path, where to store the config. Make sure you have full read/write access to the given directory. @@ -76,6 +80,9 @@ Choose when to trust new identities: - `always`: Trust any new identity key without verification - `never`: Don't trust any unknown identity key, every key must be verified manually +*--disable-send-log*:: +Disable message send log (for resending messages that recipient couldn't decrypt). + == Commands === register @@ -110,9 +117,9 @@ Only required if a PIN was set. === unregister Disable push support for this device, i.e. this device won't receive any more messages. -If this is the master device, other users can't send messages to this number anymore. +If this is the primary device, other users can't send messages to this number anymore. Use "updateAccount" to undo this. -To remove a linked device, use "removeDevice" from the master device. +To remove a linked device, use "removeDevice" from the primary device. *--delete-account*:: Delete account completely from server. @@ -137,12 +144,12 @@ Update the account attributes on the signal server. Can fix problems with receiving messages. *-n* NAME, *--device-name* NAME:: -Set a new device name for the main or linked device +Set a new device name for the primary or linked device === updateConfiguration Update signal configs and sync them to linked devices. -This command only works on the main devices. +This command only works on the primary devices. *--read-receipts* {true,false}:: Indicates if Signal should send read receipts. @@ -181,7 +188,7 @@ By default "cli" will be used. === addDevice Link another device to this device. -Only works, if this is the master device. +Only works, if this is the primary device. *--uri* URI:: Specify the uri contained in the QR code shown by the new device. @@ -194,7 +201,7 @@ Show a list of linked devices. === removeDevice Remove a linked device. -Only works, if this is the master device. +Only works, if this is the primary device. *-d* DEVICE_ID, *--device-id* DEVICE_ID:: Specify the device you want to remove. @@ -224,13 +231,16 @@ Specify the recipient group ID in base64 encoding. *-m* MESSAGE, *--message* MESSAGE:: Specify the message. -Currently, signal-cli reads the message from stdin if `-m` is missing, but this will change in a future version and the explicit flag `--message-from-stdin` should be used instead. *--message-from-stdin*:: Read the message from standard input. *-a* [ATTACHMENT [ATTACHMENT ...]], *--attachment* [ATTACHMENT [ATTACHMENT ...]]:: Add one or more files as attachment. +Can be either a file path or a data URI. +Data URI encoded attachments must follow the RFC 2397. +Additionally a file name can be added: +e.g.: `data:;filename=;base64,` *--sticker* STICKER:: Send a sticker of a locally known sticker pack (syntax: stickerPackId:stickerId). @@ -241,6 +251,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"` + *--quote-timestamp*:: Specify the timestamp of a previous message with the recipient or group to add a quote to the new message. @@ -253,9 +269,47 @@ 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`). + +*--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. + +*--preview-title*:: +Specify the title for the link preview (mandatory). + +*--preview-description*:: +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. + +RECIPIENT:: +Specify the recipient’s phone number. + +*--receipt* RECEIPT:: +The base64 encoded receipt blob. + +*--note* NOTE:: +Specify a note for the payment notification. + === sendReaction Send reaction to a previously received or sent message. @@ -278,6 +332,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. @@ -327,9 +384,20 @@ 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. + +*--max-messages*:: +Maximum number of messages to receive, before returning. + *--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) + === joinGroup Join a group via an invitation link. @@ -480,6 +548,9 @@ Path to the new avatar image file. *--remove-avatar*:: Remove the avatar +*--mobile-coin-address*:: +New MobileCoin address (Base64 encoded public address) + === updateContact Update the info associated to a number on our contact list. @@ -489,8 +560,11 @@ 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. +*--given-name* NAME, *--name* NAME:: +New (given) name. + +*--family-name* FAMILY_NAME:: +New family name. *-e*, *--expiration* EXPIRATION_SECONDS:: Set expiration time of messages (seconds). @@ -531,16 +605,16 @@ 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. +This command should only be used if this is the primary device. === sendSyncRequest -Send a synchronization request message to the master device (for group, contacts, ...). -The master device will respond with synchronization messages with full contact and group lists. +Send a synchronization request message to the primary device (for group, contacts, ...). +The primary device will respond with synchronization messages with full contact and group lists. === 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 @@ -574,36 +648,75 @@ 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. +=== 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 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. *--dbus*:: -Export DBus interface on user bus. -See signal-cli-dbus (5) for info on the dbus interface. +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. +Export DBus interface on system bus. + +See **signal-cli-dbus**(5) for info on the dbus interface. *--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. *--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) + *--no-receive-stdout*:: Don’t print received messages to stdout. *--receive-mode*:: Specify when to start receiving messages (on-start, on-connection, 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)::