Skip to content

Commit

Permalink
Refresh README.md (whisperfish#294)
Browse files Browse the repository at this point in the history
  • Loading branch information
gferon authored Nov 14, 2024
1 parent cf6eafc commit 29e6abe
Showing 1 changed file with 9 additions and 16 deletions.
25 changes: 9 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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
Expand All @@ -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.

0 comments on commit 29e6abe

Please sign in to comment.