Skip to content

mostypc123/sendit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sendit

sendit is a serverless chat app written in C++. It is basically a fancy file writer and reader. It is planned to expand it to a GUI app and give it support for connecting with SSH, in both the GUI and the CLI.

Usage

Build from source:

make -j$(nproc)

To create a new "instance", just send a message in a new directory. If you are root, sendit automatically uses /run/sendit. Otherwise, it uses ./.sendit.

TODO: support custom directories, should be easy to just edit the StateDir class

Admin

The admin can send admin messages (the admin functionality will expand). You need to set an admin password:

sendit -m admin-setpwd # interactive
sendit -m admin-setpwd:password # non-interactive (obv)

It is better to use interactive mode as it is safer.

The password is hashed with SHA256 and stored in the statedir in the file "admin-pwd".

Sending a message using CLI

To send messages as a user (including admin - for admin messages it asks for the password):

sendit -m message -n MyName

If no name is set, anonymous is used.

Reading messages

To read all messages, just run sendit:

sendit

While the reader is running, it assigns a color to every user that does not have one.

To use a proper client, use sendit with the -i flag.

motd

To set a welcome text, send this as admin:

admin-setmotd:welcome text...

Then unset:

admin-setmotd:unset

The .hh files include implementations because i am NOT going to use the ugly classname::funcname() {code} syntax. Thank you. Oh and, not everything is a vuln. "Weak RNG" is not a vuln for COLOR GENERATION. Thank you again.

About

A serverless chat app written in C++

Resources

License

Stars

3 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors