mystuff/net/gurk-rs/files/vendor/presage
2022-10-31 22:01:15 +01:00
..
.github/workflows Add: gurk-rs (WIP) 2022-10-31 22:01:15 +01:00
examples Add: gurk-rs (WIP) 2022-10-31 22:01:15 +01:00
src Add: gurk-rs (WIP) 2022-10-31 22:01:15 +01:00
.cargo-checksum.json Add: gurk-rs (WIP) 2022-10-31 22:01:15 +01:00
Cargo.toml Add: gurk-rs (WIP) 2022-10-31 22:01:15 +01:00
LICENSE.md Add: gurk-rs (WIP) 2022-10-31 22:01:15 +01:00
README.md Add: gurk-rs (WIP) 2022-10-31 22:01:15 +01:00
rustfmt.toml Add: gurk-rs (WIP) 2022-10-31 22:01:15 +01:00

Presage

CI License

A Rust library that helps building clients for the Signal Messenger, using libsignal-service-rs. It is designed to provide everything you need to get started.

⚠️ The API is considered unstable - I am still experimenting here.

Features:

  • Configuration and secrets storage (using sled)
    • Local encryption
  • Registration
    • SMS
    • Voice call
  • Link as secondary device from Android / iOS app (like Signal Desktop)
  • Synchronize contacts from primary device
  • Receive messages
  • Download + decrypt attachments
  • Send messages
  • Groups support

Instructions

Included in this repository is a CLI very similar (on purpose) to the great signal-cli:

# print help section
cargo run --example=cli -- --help

# link as secondary device, a PNG with a QR code to scan should open
cargo run --example=cli -- link-device --device-name presage

# start receiving messages
cargo run --example=cli -- receive

For usage of the library, a few examples are included under the examples/ directory, and most features are demonstrated in examples/cli.rs.