Name: signal-cli-android
Owner: Guardian Project
Description: signal-cli (formerly textsecure-cli) provides a commandline and dbus interface for WhisperSystems/libsignal-service-java
Forked from: AsamK/signal-cli
Created: 2017-11-06 14:30:51.0
Updated: 2018-01-05 02:08:00.0
Pushed: 2017-12-25 08:36:38.0
Size: 795
Language: Java
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
signal-cli is a commandline interface for libsignal-service-java. It supports registering, verifying, sending and receiving messages. To be able to link to an existing Signal-Android/signal-cli instance, signal-cli uses a patched libsignal-service-java, because libsignal-service-java does not yet support provisioning as a slave device. For registering you need a phone number where you can receive SMS or incoming calls. signal-cli is primarily intended to be used on servers to notify admins of important events. For this use-case, it has a dbus interface, that can be used to send messages from any programming language that has dbus bindings.
You can build signal-cli yourself, or use the provided binary files, which should work on Linux, macOS and Windows. For Arch Linux there is also a package in AUR. You need to have at least JRE 7 installed, to run signal-cli.
See latest version.
rt VERSION=<latest version, format "x.y.z">
https://github.com/AsamK/signal-cli/releases/download/v"${VERSION}"/signal-cli-"${VERSION}".tar.gz
tar xf signal-cli-"${VERSION}".tar.gz -C /opt
ln -sf /opt/signal-cli-"${VERSION}"/bin/signal-cli /usr/local/bin/
Important: The USERNAME (your phone number) must include the country calling code, i.e. the number must start with a “+” sign. (See Wikipedia for a list of all country codes.
Register a number (with SMS verification)
signal-cli -u USERNAME register
Verify the number using the code received via SMS or voice
signal-cli -u USERNAME verify CODE
Send a message
signal-cli -u USERNAME send -m "This is a message" RECIPIENT
Pipe the message content from another process.
uname -a | signal-cli -u USERNAME send RECIPIENT
Receive messages
signal-cli -u USERNAME receive
For more information read the man page and the wiki.
The password and cryptographic keys are created when registering and stored in the current users home directory:
$HOME/.config/signal/data/
For legacy users, the old config directory is used as a fallback:
$HOME/.config/textsecure/data/
This project uses Gradle for building and maintaining
dependencies. If you have a recent gradle version installed, you can replace ./gradlew
with gradle
in the following steps.
Checkout the source somewhere on your filesystem with
git clone https://github.com/AsamK/signal-cli.git
Execute Gradle:
./gradlew build
Create shell wrapper in build/install/signal-cli/bin:
./gradlew installDist
Create tar file in build/distributions:
./gradlew distTar
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.
This project uses libsignal-service-java from Open Whisper Systems:
https://github.com/WhisperSystems/libsignal-service-java
Licensed under the GPLv3: http://www.gnu.org/licenses/gpl-3.0.html