40 lines
1.4 KiB
Markdown
40 lines
1.4 KiB
Markdown
# signal-cli-jsonrpc-client
|
|
|
|
[](https://crates.io/crates/signal-cli-jsonrpc-client)
|
|
[](https://crates.io/crates/signal-cli-jsonrpc-client)
|
|
[](LICENSE-APACHE)
|
|
[](LICENSE-MIT)
|
|
|
|
[API Docs](https://docs.rs/signal-cli-jsonrpc-client/latest/signal_cli_jsonrpc_client/)
|
|
|
|
A Rust JSON-RPC client for [signal-cli](https://github.com/AsamK/signal-cli) daemon.
|
|
|
|
## Origin
|
|
|
|
The RPC interface and transport code in this crate is based on the example client code from the signal-cli repository:
|
|
|
|
- <https://github.com/AsamK/signal-cli/blob/master/client/src/jsonrpc.rs>
|
|
|
|
## Usage
|
|
|
|
```rust
|
|
use signal_cli_jsonrpc_client::{connect_tcp, RpcClient};
|
|
|
|
// Connect to signal-cli daemon via TCP
|
|
let client = connect_tcp("127.0.0.1:7583").await?;
|
|
|
|
// Use the RpcClient trait methods
|
|
let version = client.version().await?;
|
|
```
|
|
|
|
## Features
|
|
|
|
- TCP transport for connecting to signal-cli daemon
|
|
- Unix domain socket transport (on Unix systems)
|
|
- Full RPC interface matching signal-cli's JSON-RPC API
|
|
- Helper types for sending messages and handling received messages
|
|
|
|
## License
|
|
|
|
MIT or Apache 2.0 at your option.
|