signal-cli adalah antarmuka baris perintah untuk pengirim pesan Signal. Ini mendukung pendaftaran, verifikasi, pengiriman dan penerimaan pesan. signal-cli menggunakan libsignal-service-java yang di-patch, diekstraksi dari kode sumber Signal-Android. Untuk mendaftar Anda memerlukan nomor telepon di mana Anda dapat menerima SMS atau panggilan masuk.
signal-cli terutama dimaksudkan untuk digunakan di server untuk memberi tahu admin tentang peristiwa penting. Untuk kasus penggunaan ini, ia memiliki mode daemon dengan antarmuka JSON-RPC (halaman manual) dan antarmuka D-BUS (halaman manual). Untuk antarmuka JSON-RPC ada juga contoh klien sederhana, yang ditulis dalam Rust.
Anda dapat membuat signal-cli sendiri atau menggunakan file biner yang disediakan, yang dapat digunakan di Linux, macOS, dan Windows. Ada juga image buruh pelabuhan dan beberapa paket Linux yang disediakan oleh komunitas.
Persyaratan sistem:
setidaknya Java Runtime Environment (JRE) 21
perpustakaan asli: libsignal-client
Lib asli dibundel untuk x86_64 Linux (dengan glibc yang cukup baru), Windows dan MacOS. Untuk sistem/arsitektur lain lihat: Menyediakan lib asli untuk libsignal
Lihat versi terbaru.
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/
Anda dapat menemukan petunjuk lebih lanjut di Wiki:
Untuk gambaran penggunaan lengkap silakan baca halaman manual dan wiki.
Penting: AKUN adalah nomor telepon Anda dalam format internasional dan harus menyertakan kode panggilan negara. Oleh karena itu, ini harus dimulai dengan tanda "+". (Lihat Wikipedia untuk daftar semua kode negara.)
Daftarkan nomor (dengan verifikasi SMS)
signal-cli -a ACCOUNT register
Anda dapat mendaftarkan Signal menggunakan nomor telepon rumah. Dalam hal ini Anda dapat melewati proses verifikasi SMS dan langsung menuju verifikasi panggilan suara dengan menambahkan tombol --voice
di akhir perintah register di atas.
Mendaftar mungkin memerlukan penyelesaian tantangan CAPTCHA: Pendaftaran dengan captcha
Verifikasi nomor menggunakan kode yang diterima melalui SMS atau suara, opsional tambahkan --pin PIN_CODE
jika Anda telah menambahkan kode pin ke akun Anda
signal-cli -a ACCOUNT verify CODE
Kirim pesan
signal-cli -a ACCOUNT send -m " This is a message " RECIPIENT
Pipa konten pesan dari proses lain.
uname -a | signal-cli -a ACCOUNT send --message-from-stdin RECIPIENT
Terima pesan
signal-cli -a ACCOUNT receive
Petunjuk : Protokol Signal mengharapkan pesan masuk diterima secara teratur (menggunakan daemon
atau perintah receive
). Hal ini diperlukan agar enkripsi dapat bekerja secara efisien dan untuk mendapatkan pembaruan pada grup, penghitung waktu kedaluwarsa, dan fitur lainnya.
Kata sandi dan kunci kriptografi dibuat saat mendaftar dan disimpan di direktori home pengguna saat ini:
$XDG_DATA_HOME/signal-cli/data/
$HOME/.local/share/signal-cli/data/
Proyek ini menggunakan Gradle untuk membangun dan memelihara dependensi. Jika Anda menginstal versi gradle terbaru, Anda dapat mengganti ./gradlew
dengan gradle
dalam langkah-langkah berikut.
Periksa sumbernya di suatu tempat di sistem file Anda dengan
git clone https://github.com/AsamK/signal-cli.git
Jalankan Gradle:
./gradlew build
2a. Buat pembungkus shell di build/install/signal-cli/bin :
./gradlew installDist
2b. Buat file tar di build/distribusi :
./gradlew distTar
2c. Buat file tar gemuk di build/libs/signal-cli-fat :
./gradlew fatJar
2d. Kompilasi dan jalankan signal-cli:
./gradlew run --args= " --help "
Dimungkinkan untuk membuat biner asli dengan GraalVM. Ini masih bersifat eksperimental dan tidak akan berhasil di semua situasi.
Instal GraalVM dan atur lingkungannya
Jalankan Gradle:
./gradlew nativeCompile
Biner tersedia di build/native/nativeCompile/signal-cli
Untuk pertanyaan dan masalah yang sering diajukan, lihat di wiki.
Proyek ini menggunakan libsignal-service-java dari Open Whisper Systems:
https://github.com/WhisperSystems/libsignal-service-java
Berlisensi di bawah GPLv3: http://www.gnu.org/licenses/gpl-3.0.html