X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/1c4578ceac4b42152304d3292ffc0b09c15ac0d2..bba3c2218903f13f04510ab5dc0e44af30dc355f:/README.md diff --git a/README.md b/README.md index 552eac41..184d7595 100644 --- a/README.md +++ b/README.md @@ -1,35 +1,80 @@ # textsecure-cli -textsecure-cli is a commandline interface for [libtextsecure-java](https://github.com/WhisperSystems/libtextsecure-java). It supports registering, verifying, sending and receiving messages. However receiving messages currently doesn't work, because libtextsecure-java [does not yet support registering for the websocket support](https://github.com/WhisperSystems/libtextsecure-java/pull/5). For registering you need a phone number where you can receive SMS or incoming calls. -It is primarily intented to be used on servers to notify admins of important events. +textsecure-cli is a commandline interface for [libtextsecure-java](https://github.com/WhisperSystems/libtextsecure-java). It supports registering, verifying, sending and receiving messages. However receiving messages currently only works with a patched libtextsecure-java, because libtextsecure-java [does not yet support registering for the websocket support](https://github.com/WhisperSystems/libtextsecure-java/pull/5). For registering you need a phone number where you can receive SMS or incoming calls. +It is primarily intended to be used on servers to notify admins of important events. ## Usage -usage: textsecure-cli [-h] -u USERNAME {register,verify,send,receive} ... +usage: textsecure-cli [-h] [-u USERNAME] [-v] {register,verify,send,quitGroup,updateGroup,receive} ... -* Register a number +* Register a number (with SMS verification) textsecure-cli -u USERNAME register -* Register a number with voice verification +* Register a number (with voice verification) textsecure-cli -u USERNAME register -v -* Verify the number using the code received via SMS +* Verify the number using the code received via SMS or voice textsecure-cli -u USERNAME verify CODE * Send a message to one or more recipients - textsecure-cli -u USERNAME send -m "This is a message" [RECIPIENT [RECIPIENT ...]] + textsecure-cli -u USERNAME send -m "This is a message" [RECIPIENT [RECIPIENT ...]] [-a [ATTACHMENT [ATTACHMENT ...]]] * Pipe the message content from another process. uname -a | textsecure-cli -u USERNAME send [RECIPIENT [RECIPIENT ...]] +* Groups + + * Create a group + + textsecure-cli -u USERNAME updateGroup -n "Group name" -m [MEMBER [MEMBER ...]] + + * Update a group + + textsecure-cli -u USERNAME updateGroup -g GROUP_ID -n "New group name" + + * Send a message to a group + + textsecure-cli -u USERNAME send -m "This is a message" -g GROUP_ID + +## DBus service + +textsecure-cli can run in daemon mode and provides an experimental dbus interface. +For dbus support you need jni/unix-java.so installed on your system (Debian: libunixsocket-java ArchLinux: libmatthew-unix-java (AUR)). + +* Run in daemon mode (dbus session bus) + + textsecure-cli -u USERNAME daemon + +* Send a message via dbus + + textsecure-cli --dbus send -m "Message" [RECIPIENT [RECIPIENT ...]] [-a [ATTACHMENT [ATTACHMENT ...]]] + +### System bus + +To run on the system bus you need to take some additional steps. +It’s advisable to run textsecure-cli as a separate unix user, the following steps assume you created a user named *textsecure*. +These steps, executed as root, should work on all distributions using systemd. + +```bash +cp data/org.asamk.TextSecure.config /etc/dbus-1/system.d/ +cp data/org.asamk.TextSecure.service /usr/share/dbus-1/system-services/ +cp data/textsecure.service /etc/systemd/system/ +sed -i -e "s|%dir%||" -e "s|%number%||" /etc/systemd/system/textsecure.service +systemctl daemon-reload +systemctl enable textsecure.service +systemctl reload dbus.service +``` + +Then just execute the send command from above, the service will be autostarted by dbus the first time it is requested. + ## Storage -The password and cryptographic keys are created when registering and stored in the current users home directory. +The password and cryptographic keys are created when registering and stored in the current users home directory: $HOME/.config/textsecure/data/ @@ -38,7 +83,7 @@ The password and cryptographic keys are created when registering and stored in t This project uses [Gradle](http://gradle.org) for building and maintaining dependencies. -1. Checkout the source somewhere on your filesystem wit +1. Checkout the source somewhere on your filesystem with git clone https://github.com/AsamK/textsecure-cli.git @@ -48,7 +93,7 @@ dependencies. 3. Create shell wrapper in *build/install/textsecure-cli/bin*: - ./gradlew installApp + ./gradlew installDist 4. Create tar file in *build/distributions*: