GithubHelp home page GithubHelp logo

ensichat's Introduction

PROJECT DISCONTINUED

Unfortunately, I won't be able to continue development on Ensichat, due to lack of time. I suggest you give Briar a try instead.

If you wish to take over maintenance of the project, please contact me.

Ensichat

Build Status License: MPLv2

Instant messenger for Android that is fully decentralized, and uses strong end-to-end encryption. Messages are sent directly between devices via Bluetooth or Internet, without any central server. Relay nodes are used to ensure message delivery, even if the target node is offline.

For details on how Ensichat works, you can check out my bachelor thesis, and read the protocol definition.

screenshot 1

screenshot 2

screenshot 3

Get it on Google Play Get it on F-Droid

To set up a server, please follow the instructions on the wiki.

Building

To setup a development environment, just install Android Studio and import the project.

Alternatively, you can use the command line. To create a debug apk, run ./gradlew assembleDevDebug. This requires at least Android Lollipop on your development device. If you don't have 5.0 or higher, you have to use ./gradlew assembleRelDebug. However, this results in considerably slower incremental builds. To create a release apk, run ./gradlew assembleRelRelease.

Testing

You can run the unit tests with ./gradlew test. After connecting an Android device, you can run the Android tests with ./gradlew connectedDevDebugAndroidTest (or ./gradlew connectedRelDebugAndroidTest if your Android version is lower than 5.0).

To run integration tests for the core module, use ./gradlew integration:run. If this fails (or is very slow), try changing the value of Crypto#PublicKeySize to 512 (in the core module).

License

The project is licensed under the MPLv2.

The launcher icon is based on the Bubbles Icon created by Paomedia which is available under CC BY 3.0.

ensichat's People

Contributors

nutomic avatar arneball avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.