-
Notifications
You must be signed in to change notification settings - Fork 10
Project Direction #40
Comments
Hi Michael, that of course would be awesome, for me, my goal is using this library to implement the same thing but instead of signal application, the WhatsApp Service, i know that WhatsApp has a private API but i managed to reverse engineering the application while ago and written a small library called (
anyway, using this library will enable us to do incredible things, more in that later.. Using this library in real world application will enable us to find more bugs and improve the public API library to match the ergonomic rust style. |
It looks like we're both wanting to build clients on top of the signal protocol. Have you tried using this library for talking to WhatsApp? And how did you get started reverse-engineering WhatsApp's communication protocol? |
I've created a libsignal-service-rs repository to start working on the equivalent of libsignal-service-java. I'm not overly familiar with that Java library though, so I've been finding it hard to get started... |
We may as well release @shekohex, I'll add you as an owner. |
Hi all, I am coming into this late. Excited to see the WhatsApp protocol library still functioning. I have previously used python-axolotl with limited success and quick bans. I am eager to try out
if that works reliably. Here is my use case : https://twitter.com/hewanike ( Automated weather updates in Kenya). It can / will reach a wider audience when coupled with WhatsApp as well. Will build out a signal implementation of the twitter bot and see how that goes. |
Want to see this project moving forward! |
Just chirping in here. I'm redesigning Whisperfish, which was previously build around a custom-implemented Go library, to use this crate instead (and Rust). Main reason is that it's easier to follow the C library (like this library is doing) than keeping a parallel implementation. I'm using Actix/Tokio (together with Qt) for that application, so I'd be interested in an async-compatible crate too. Is this something that might go into your |
As it stands, this should be async-compatible because I was envisioning |
Yes, exactly what I thought too. That'll be very useful.
Expect patches :-) |
Hi @Michael-F-Bryan, I'm having a look at libsignal-service at the moment. If you'd be interested in discussing a bit, and you have an IRC client or Matrix account, would you join me on Freenode #whisperfish or #whisperfish:rubdos.be? If not, it's no problem, I'll open issues and merge requests on that repo. |
I have a Slack client-server project where users can send encrypted messages to each other (a basic public/private key and AES implementation inspired by OpenPGP), but would like to add the Signal protocol for direct messaging once two client peers are introduced. I was going to port the Java implementation, but luckily found your Rust implementation instead so will try and use it going forward. |
The Something to keep in mind is that
This repo contains the former and covers the vast majority of the API surface, while @rubdos has been doing a lot of work on the service layer in Michael-F-Bryan/libsignal-service-rs. If you are interested, you may want to work with him over there to get more of the service layer completed. |
@Michael-F-Bryan Thanks for the overview. 👍 |
This crate now covers a fair amount of the
libsignal-protocol-c
API, so it's probably time to be more organised and write down our goals.My end goal is to be able to write a bot in Rust which can communicate using Signal. For example, I could run a service on a Raspberry Pi and have it send notifications to my phone when something happens.
As such, I guess the next step would be to create a
libsignal-service-rs
project which builds on top oflibsignal-protocol-rs
and handles things like communicating with signal's servers and securely managing keys/sessions.This also gives us a chance to use
libsignal-protocol-rs
in a real-world scenario (e.g. to see if the API is ergonomic or logically sound), seeing as we've only really got thegenerate_keys
andsessions
examples to go on at the moment...@shekohex, what are your thoughts?
The text was updated successfully, but these errors were encountered: