No description
Find a file
2015-12-16 21:38:32 +01:00
data Add example files for making a dbus activatable service 2015-12-16 21:38:30 +01:00
gradle/wrapper Update gradle 2015-11-23 16:02:00 +01:00
src/main Take dbus name only when the service is ready 2015-12-16 21:38:32 +01:00
.gitignore First commit 2015-05-11 12:55:18 +02:00
build.gradle Rename package 2015-12-13 11:06:10 +01:00
gradlew Update gradle 2015-11-23 16:02:00 +01:00
gradlew.bat First commit 2015-05-11 12:55:18 +02:00
LICENSE Add README and LICENCE 2015-05-11 12:55:26 +02:00
README.md Update README 2015-11-26 17:36:54 +01:00
settings.gradle First commit 2015-05-11 12:55:18 +02:00

textsecure-cli

textsecure-cli is a commandline interface for 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. 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] [-v] {register,verify,send,quitGroup,updateGroup,receive} ...

  • Register a number (with SMS verification)

      textsecure-cli -u USERNAME register
    
  • Register a number (with voice verification)

      textsecure-cli -u USERNAME register -v
    
  • 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 ...]] [-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
    

Storage

The password and cryptographic keys are created when registering and stored in the current users home directory:

    $HOME/.config/textsecure/data/

Building

This project uses Gradle for building and maintaining dependencies.

  1. Checkout the source somewhere on your filesystem with

     git clone https://github.com/AsamK/textsecure-cli.git
    
  2. Execute Gradle:

     ./gradlew build
    
  3. Create shell wrapper in build/install/textsecure-cli/bin:

     ./gradlew installDist
    
  4. Create tar file in build/distributions:

     ./gradlew distTar
    

Troubleshooting

If you use a version of the Oracle JRE and get an InvalidKeyException you need to enable unlimited strength crypto. See https://stackoverflow.com/questions/6481627/java-security-illegal-key-size-or-default-parameters for instructions.

License

This project uses libtextsecure-java from Open Whisper Systems:

https://github.com/WhisperSystems/libtextsecure-java

Licensed under the GPLv3: http://www.gnu.org/licenses/gpl-3.0.html