signal-cli は、Signal メッセンジャーのコマンドライン インターフェイスです。メッセージの登録、確認、送受信をサポートします。 signal-cli は、Signal-Android ソース コードから抽出された、パッチが適用された libsignal-service-java を使用します。登録にはSMSや着信を受信できる電話番号が必要です。
signal-cli は主に、サーバー上で重要なイベントを管理者に通知するために使用することを目的としています。この使用例では、JSON-RPC インターフェイス (マニュアル ページ) と D-BUS インターフェイス (マニュアル ページ) を備えたデーモン モードがあります。 JSON-RPC インターフェイスには、Rust で書かれた簡単なサンプル クライアントもあります。
signal-cli は自分でビルドすることも、Linux、macOS、Windows で動作する提供されたバイナリ ファイルを使用することもできます。コミュニティによって提供される Docker イメージといくつかの Linux パッケージもあります。
システム要件:
少なくとも Java ランタイム環境 (JRE) 21
ネイティブ ライブラリ: libsignal-client
ネイティブ ライブラリは、x86_64 Linux (最新の glibc を含む)、Windows、および MacOS 用にバンドルされています。他のシステム/アーキテクチャについては、「libsignal のネイティブ ライブラリを提供する」を参照してください。
最新バージョンを参照してください。
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/
詳しい手順は Wiki でご覧いただけます。
完全な使用法の概要については、マニュアル ページと Wiki を参照してください。
重要: アカウントは国際形式の電話番号であり、国番号を含める必要があります。したがって、「+」記号で始める必要があります。 (すべての国コードのリストについては、Wikipedia を参照してください。)
番号を登録する(SMS認証あり)
signal-cli -a ACCOUNT register
Signalは固定電話番号を使用して登録できます。この場合、上記の register コマンドの最後に--voice
スイッチを追加することで、SMS 検証プロセスをスキップして音声通話検証に直接ジャンプできます。
登録するには CAPTCHA チャレンジを解決する必要がある場合があります: キャプチャによる登録
SMS または音声で受信したコードを使用して番号を確認します。アカウントに PIN コードを追加している場合は、オプションで--pin PIN_CODE
を追加します。
signal-cli -a ACCOUNT verify CODE
メッセージを送信する
signal-cli -a ACCOUNT send -m " This is a message " RECIPIENT
別のプロセスからメッセージの内容をパイプします。
uname -a | signal-cli -a ACCOUNT send --message-from-stdin RECIPIENT
メッセージを受信する
signal-cli -a ACCOUNT receive
ヒント: Signal プロトコルは、受信メッセージが ( daemon
またはreceive
コマンドを使用して) 定期的に受信されることを想定しています。これは、暗号化が効率的に機能し、グループ、有効期限タイマー、その他の機能の更新を取得するために必要です。
パスワードと暗号キーは登録時に作成され、現在のユーザーのホーム ディレクトリに保存されます。
$XDG_DATA_HOME/signal-cli/data/
$HOME/.local/share/signal-cli/data/
このプロジェクトでは、依存関係の構築と維持に Gradle を使用します。最新の gradle バージョンがインストールされている場合は、次の手順で./gradlew
gradle
に置き換えることができます。
ファイルシステム上のどこかにあるソースをチェックアウトします。
git clone https://github.com/AsamK/signal-cli.git
グラドルを実行します。
./gradlew build
2a. build/install/signal-cli/binにシェル ラッパーを作成します。
./gradlew installDist
2b. build/distributionsに tar ファイルを作成します。
./gradlew distTar
2c. build/libs/signal-cli-fatにファット tar ファイルを作成します。
./gradlew fatJar
2d。 signal-cli をコンパイルして実行します。
./gradlew run --args= " --help "
GraalVM を使用してネイティブ バイナリを構築することが可能です。これはまだ実験段階であり、すべての状況で機能するとは限りません。
GraalVMをインストールして環境をセットアップする
グラドルを実行します。
./gradlew nativeCompile
バイナリはbuild/native/nativeCompile/signal-cliで入手できます。
よくある質問や問題については、Wiki を参照してください。
このプロジェクトでは、Open Whisper Systems の libsignal-service-java を使用します。
https://github.com/WhisperSystems/libsignal-service-java
GPLv3 に基づくライセンス: http://www.gnu.org/licenses/gpl-3.0.html