8000 GitHub - brongan/brongnal: rust
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

brongan/brongnal

Repository files navigation

Brongnal

I took Going Bark: A Furry’s Guide to End-to-End Encryption as a great idea for a project.

X3DH and Double-Ratchet are implemented in Rust in the protocol directory.

Warning

DO NOT USE THIS.

ASSUME IT IS INSECURE.

USE Signal instead.

This is for fun and learning :)

Instructions

App

To run and build this app, you need to have installed:

You can check that your system is ready with the commands below. Note that all the Flutter subcomponents should be installed.

rustc --version
flutter doctor
cargo install rinf

Generated schema for messages between Dart and Rust are not commited and must be recreated. If you have newly cloned the project repository or made changes to the .proto files in the ./messages directory, run the following command:

rinf message

Now you can run and build this app just like any other Flutter projects.

flutter run

If you're building for Android flutter build apk or flutter run. I have these settings:

flutter config --jdk-dir /usr/lib/jvm/java-17-openjdk
flutter config --android-sdk ~/android-sdk

Ensure that you have your config pointing to the correct installations.

Backend

To run and build the backend, you need to have installed:

cargo r -p server

Client

cargo r -p client $USER http://localhost:8080

Server Release

For me to install the server,

I use Justfile for hard to remember commands.

just deploy

Deploys the server to signal.brongan.com

grpcurl is a cool way to see the exposed rpcs from the [proto directory](./native/server/proto/].

grpcurl signal.brongan.com:443 describe

Package Structure

native/ contains rust code. hub is the flutter frontending binding package and depends on client and proto. server implements the gossamer and service RPC services and depends on proto and protocol. client depends on proto and protocol and implmenets the client. proto defines protobufs at both the RPC level and serialized messages below the protocol level.

About

rust

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  
0