diff --git a/README.md b/README.md index f9a08de6f..4819bfe4e 100644 --- a/README.md +++ b/README.md @@ -8,22 +8,17 @@ A Rust library that helps building clients for the [Signal Messenger](https://si Features: -- [x] Local storage (using [sled](https://github.com/spacejam/sled)) - - [x] Registration/linking - - [x] Contacts - - [x] Groups - - [x] Messages - - [x] Local encryption (using [matrix-sdk-store-encryption](https://crates.io/crates/matrix-sdk-store-encryption)) +- [x] Local storage with encryption: + - [x] with [sled](https://github.com/spacejam/sled) + - [ ] with [sqlx](https://crates.io/sqlx) and `sqlite` (see #287) - [x] Registration - [x] SMS - [x] Voice call - [x] Link as secondary device from Android / iOS app (like Signal Desktop) -- [x] Synchronize contacts from primary device -- [x] Receive messages -- [x] Handle groups v2 (and change events) -- [x] Download + decrypt attachments -- [x] Send messages -- [x] Groups support +- [x] Contacts (synchronized from primary device) and profiles +- [x] Groups +- [x] Messages (incoming and outgoing) +- [x] Fetch, decrypt and store attachments ## Instructions @@ -37,14 +32,14 @@ presage-store-sled = { git = "https://github.com/whisperfish/presage" } # For a discussion as to why, see: # https://github.com/whisperfish/libsignal-service-rs/tree/93c23cf27d27a17a803e34ea3dd6a82d268fa79e#working-around-the-issue-with-curve25519-dalek [patch.crates-io] -curve25519-dalek = { git = 'https://github.com/signalapp/curve25519-dalek', tag = 'signal-curve25519-4.1.1' } +curve25519-dalek = { git = 'https://github.com/signalapp/curve25519-dalek', tag = 'signal-curve25519-4.1.3' } ``` and look at the generated Rust documentation of the `Manager` struct to get started. ## Demo CLI -Included in this repository is a CLI very similar (on purpose) to the great [signal-cli](https://github.com/AsamK/signal-cli): +Included in this repository is a nearly fully functional CLI that can serve as an example to build your client (you can also use it to query your `presage` database): ``` # print help section @@ -56,5 +51,3 @@ cargo run -- link-device --device-name presage # start receiving messages cargo run -- receive ``` - -For using the library, the CLI is a good starting point to learn how the API can be used.