Skip to content

A Rust library to help write clients for the Signal Messenger.

License

Notifications You must be signed in to change notification settings

lushing/presage

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

A Rust library to help write clients for the Signal Messenger.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%