signal-cli es una interfaz de línea de comandos para Signal Messenger. Admite registrar, verificar, enviar y recibir mensajes. signal-cli utiliza un libsignal-service-java parcheado, extraído del código fuente de Signal-Android. Para registrarse necesita un número de teléfono donde pueda recibir SMS o llamadas entrantes.
signal-cli está destinado principalmente a usarse en servidores para notificar a los administradores sobre eventos importantes. Para este caso de uso, tiene un modo demonio con interfaz JSON-RPC (página de manual) e interfaz D-BUS (página de manual). Para la interfaz JSON-RPC también hay un cliente de ejemplo simple, escrito en Rust.
Puede crear signal-cli usted mismo o utilizar los archivos binarios proporcionados, que deberían funcionar en Linux, macOS y Windows. También hay una imagen de Docker y algunos paquetes de Linux proporcionados por la comunidad.
Requisitos del sistema:
al menos Java Runtime Environment (JRE) 21
biblioteca nativa: libsignal-client
Las bibliotecas nativas están incluidas para Linux x86_64 (con glibc suficientemente reciente), Windows y MacOS. Para otros sistemas/arquitecturas, consulte: Proporcionar biblioteca nativa para libsignal
Ver última versión.
export VERSION= < latest version, format " x.y.z " >
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/
Puede encontrar más instrucciones en la Wiki:
Para obtener una descripción general completa del uso, lea la página de manual y la wiki.
Importante: La CUENTA es su número de teléfono en formato internacional y debe incluir el código de llamada del país. Por lo tanto debería comenzar con un signo "+". (Consulte Wikipedia para obtener una lista de todos los códigos de países).
Registrar un número (con verificación por SMS)
signal-cli -a ACCOUNT register
Puede registrar Signal utilizando un número de teléfono fijo. En este caso, puede omitir el proceso de verificación por SMS y pasar directamente a la verificación de llamadas de voz agregando el parámetro --voice
al final del comando de registro anterior.
Registrarse puede requerir resolver un desafío CAPTCHA: Registro con captcha
Verifique el número usando el código recibido por SMS o voz, opcionalmente agregue --pin PIN_CODE
si ha agregado un código PIN a su cuenta
signal-cli -a ACCOUNT verify CODE
enviar un mensaje
signal-cli -a ACCOUNT send -m " This is a message " RECIPIENT
Canalice el contenido del mensaje desde otro proceso.
uname -a | signal-cli -a ACCOUNT send --message-from-stdin RECIPIENT
Recibir mensajes
signal-cli -a ACCOUNT receive
Sugerencia : El protocolo Signal espera que los mensajes entrantes se reciban regularmente (mediante daemon
o un comando receive
). Esto es necesario para que el cifrado funcione de manera eficiente y para obtener actualizaciones de grupos, temporizador de vencimiento y otras funciones.
La contraseña y las claves criptográficas se crean al registrarse y se almacenan en el directorio de inicio del usuario actual:
$XDG_DATA_HOME/signal-cli/data/
$HOME/.local/share/signal-cli/data/
Este proyecto utiliza Gradle para crear y mantener dependencias. Si tiene instalada una versión reciente de Gradle, puede reemplazar ./gradlew
con gradle
en los siguientes pasos.
Consulte la fuente en algún lugar de su sistema de archivos con
git clone https://github.com/AsamK/signal-cli.git
Ejecutar Gradle:
./gradlew build
2a. Cree un contenedor de shell en build/install/signal-cli/bin :
./gradlew installDist
2b. Cree un archivo tar en compilación/distribuciones :
./gradlew distTar
2c. Cree un archivo tar gordo en build/libs/signal-cli-fat :
./gradlew fatJar
2do. Compile y ejecute signal-cli:
./gradlew run --args= " --help "
Es posible construir un binario nativo con GraalVM. Esto todavía es experimental y no funcionará en todas las situaciones.
Instale GraalVM y configure el entorno
Ejecutar Gradle:
./gradlew nativeCompile
El binario está disponible en build/native/nativeCompile/signal-cli
Para preguntas y problemas frecuentes, consulte la wiki.
Este proyecto utiliza libsignal-service-java de Open Whisper Systems:
https://github.com/WhisperSystems/libsignal-service-java
Licenciado bajo GPLv3: http://www.gnu.org/licenses/gpl-3.0.html