X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/2487fff44a03f9a7461d166073ad58eab1b4820c..b57993584696068ede584c9d9e6825a69cc0e420:/README.md diff --git a/README.md b/README.md index 6d857fb6..bf61ea90 100644 --- a/README.md +++ b/README.md @@ -3,13 +3,18 @@ signal-cli is a commandline interface for the [Signal messenger](https://signal.org/). It supports registering, verifying, sending and receiving messages. signal-cli uses a [patched libsignal-service-java](https://github.com/Turasa/libsignal-service-java), -extracted from the [Signal-Android source code](https://github.com/signalapp/Signal-Android/tree/main/libsignal/service). +extracted from the [Signal-Android source code](https://github.com/signalapp/Signal-Android/tree/main/libsignal-service). 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 daemon mode with D-BUS -interface ([man page](https://github.com/AsamK/signal-cli/blob/master/man/signal-cli-dbus.5.adoc)) and JSON-RPC interface ([documentation](https://github.com/AsamK/signal-cli/wiki/JSON-RPC-service)). +signal-cli is primarily intended to be used on servers to notify admins of important events. +For this use-case, it has a daemon mode with JSON-RPC interface ([man page](https://github.com/AsamK/signal-cli/blob/master/man/signal-cli-jsonrpc.5.adoc)) +and D-BUS interface ([man page](https://github.com/AsamK/signal-cli/blob/master/man/signal-cli-dbus.5.adoc)) . For the JSON-RPC interface there's also a simple [example client](https://github.com/AsamK/signal-cli/tree/master/client), written in Rust. +signal-cli needs to be kept up-to-date to keep up with Signal-Server changes. +The official Signal clients expire after three months and then the Signal-Server can make incompatible changes. +So signal-cli releases older than three months may not work correctly. + ## Installation You can [build signal-cli](#building) yourself or use @@ -18,7 +23,7 @@ Windows. There's also a [docker image and some Linux packages](https://github.co System requirements: -- at least Java Runtime Environment (JRE) 17 +- at least Java Runtime Environment (JRE) 21 - native library: libsignal-client The native libs are bundled for x86_64 Linux (with recent enough glibc), Windows and MacOS. For other @@ -31,15 +36,14 @@ See [latest version](https://github.com/AsamK/signal-cli/releases). ```sh export VERSION= -wget https://github.com/AsamK/signal-cli/releases/download/v"${VERSION}"/signal-cli-"${VERSION}"-Linux.tar.gz -sudo tar xf signal-cli-"${VERSION}"-Linux.tar.gz -C /opt +wget https://github.com/AsamK/signal-cli/releases/download/v"${VERSION}"/signal-cli-"${VERSION}".tar.gz +sudo tar xf signal-cli-"${VERSION}".tar.gz -C /opt sudo ln -sf /opt/signal-cli-"${VERSION}"/bin/signal-cli /usr/local/bin/ ``` You can find further instructions on the Wiki: - [Quickstart](https://github.com/AsamK/signal-cli/wiki/Quickstart) -- [DBus Service](https://github.com/AsamK/signal-cli/wiki/DBus-service) ## Usage @@ -127,9 +131,8 @@ version installed, you can replace `./gradlew` with `gradle` in the following st It is possible to build a native binary with [GraalVM](https://www.graalvm.org). This is still experimental and will not work in all situations. -1. [Install GraalVM and setup the enviroment](https://www.graalvm.org/docs/getting-started/#install-graalvm) -2. [Install prerequisites](https://www.graalvm.org/reference-manual/native-image/#prerequisites) -3. Execute Gradle: +1. [Install GraalVM and setup the environment](https://www.graalvm.org/docs/getting-started/#install-graalvm) +2. Execute Gradle: ./gradlew nativeCompile