Charles-CSEC
Charles-CSEC copied to clipboard
CSEC is a client-based encrypted chat. allows you to avoid network sniffing or an attack done directly from the server. it is easy to use and modify and is available on Linux, Windows, Mac.
Index
-
Features
-
Installation
-
Configuration (server-side)
-
Commands (client-side)
-
Running
-
How does it work
-
Showcase
-
Bug report
-
License
-
Contributors
Features
-
RSA encryption
-
Easy to read code
-
Protected by network sniffer
-
File upload with Anonfile
-
No trace of your IP
Installation
From source code
You need to have Python and PIP installed which you can download from your package manager or site.
After installing Python and PIP you need to install program dependencies. You can with this command:
git clone https://github.com/aniko33/Charles-CSEC && cd Charles-CSEC
Then, you will need to install python dependencies:
pip install -r requirements.txt
After you installed the various dependencies, now you can customise your configurations your server or start your client.
From the compiled version
You have to go to the latest releases and you have to download the client or the server depending on what you want to do.
Important note
If you have installed the server version, create a file named config.json and set the default configurations.
Configuration
To configure your server, open the config.json file in the following path: server/config.json.
Scroll to the top and edit this part:
{
"ip": "127.0.0.1",
"port": 8889,
"buffer": 1024,
"welcome_message": "[red]welcome to <chat name>[/red]",
"protected_by_password": false,
"password": "P4ssw0rd"
}
Variable | Description |
---|---|
ip | The IP address where the server will start listening for connections |
port | The connection port, it is recommended to keep it default (8889) |
buffer | The maximum network buffer, changes in this value affects the RSA key lenght |
welcome_message | Welcome message to new users, the colors can be found in the Rich documentation |
protected_by_password | You can enter true if you want to protect your chat by password or you can put false |
password | Enter the password you want |
Commands
-
/help
show command list -
/nick
get your nickname -
/upload <path>
upload file with Anonfile, usage:/upload /home/user/file.txt
Running
To run the program just go to the main folder and execute this command:
Client
cd client && python main.py
Server
cd server && python main.py
How does it work
The keys are generated using the RSA Encryption Algorithm.
when the client wants to send a message, it gets encrypted with the public key, through the server then will forward it to the connected clients, that will decrypt it using the private key.
For more detailed explanation, please, refer to the RSA Encryption Algorithm Documentation

Showcase
Bug report
To report an exploit or a bug write, create a new issue
License
This application is distributed under the GPL license you can consult the file: LICENSE.txt