DotLine is an instant messaging application with end-to-end encryption support out of the box built on top of Node.js and Apache Cassandra.
DotLine supports several type of content, such as text messages, attachments, geo positions, voice messages, and stickers.
Most important DotLine features:
- End-to-end encryption support based on AES-256 and RSA.
- User account recovery support through secret recovery key.
- Supports text messages, attachments, geo positions, voice messages, and stickers (static and animated).
- Discrete with a very low privacy footprint and access tracking for additional account security.
Disclaimer: I made this as part of my graduation project, for that reason this piece of software is provided "as is" and without any sort of warranty or guarantee for future updates.
If you feel a little curious you can try out DotLine here.
Before setting up the client make sure to have a server to connect to! Have a look at how to set up the DotLine server here.
To set up a DotLine client instance you can use the available public Docker images available for Linux (both amd64 and arm64) here; alternatively you can simply clone this repository and follow the install instruction to set up DotLine without using Docker on your local environment to try out or customize the software.
Before start installing the DotLine client on your local environment please make sure you have all the required dependencies:
- Node.js version 18 or greater.
Once you cloned this repository you have to place your configuration file in config/config.json
, you can find a configuration sample in the config
directory.
Note that the configuration file and its sample are in JSON 5 format, so feel free to use comments if you need them.
Once the configuration is ready you can go on installing all the required modules running npm install
in the project root directory, note that this command will automatically compile the font-end, which is written using React.js and SASS, using WebPack, of course you can compile it every time you need using those commands: npm run webpack-dev
(for development builds) and npm run webpack-prod
(for production builds).
If you are looking for instructions to install the software as a Docker container refer to the official page on Docker Hub.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Developed with ❤️ by Enrico Sola.