Skip to content

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

License

Notifications You must be signed in to change notification settings

nalysius/presage

This branch is 159 commits behind axolotl-chat/presage:main.

Folders and files

NameName
Last commit message
Last commit date
Sep 24, 2022
Nov 22, 2022
Nov 13, 2022
Oct 23, 2020
Nov 13, 2022
May 2, 2021
Oct 31, 2022
Sep 24, 2022
May 30, 2022

Repository files navigation

Presage

CI License API Docs

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:

  • Local storage (using sled)
  • Registration
    • SMS
    • Voice call
  • Link as secondary device from Android / iOS app (like Signal Desktop)
  • Synchronize contacts from primary device
  • Receive messages
  • Handle groups v2 (and change events)
  • 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 high-level 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%