{"id":18386767,"url":"https://github.com/aniko33/charles-csec","last_synced_at":"2025-04-07T00:33:23.983Z","repository":{"id":65071757,"uuid":"579159498","full_name":"aniko33/Charles-CSEC","owner":"aniko33","description":"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.","archived":true,"fork":false,"pushed_at":"2023-01-26T18:48:19.000Z","size":150,"stargazers_count":13,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-01T20:47:23.690Z","etag":null,"topics":["aniko","charles-csec","chatroom","cryptography","csec","cyber","decks","decks-team","encrypted-chat","hacking","mr-robot","python","python-chat","python-socket","rich","rsa","rsa-python","rsa-socket","server-chat","socket"],"latest_commit_sha":null,"homepage":"https://csec-project-github.web.app/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aniko33.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-12-16T20:16:02.000Z","updated_at":"2025-02-13T17:47:20.000Z","dependencies_parsed_at":"2023-02-14T21:16:21.183Z","dependency_job_id":null,"html_url":"https://github.com/aniko33/Charles-CSEC","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aniko33%2FCharles-CSEC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aniko33%2FCharles-CSEC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aniko33%2FCharles-CSEC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aniko33%2FCharles-CSEC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aniko33","download_url":"https://codeload.github.com/aniko33/Charles-CSEC/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247574088,"owners_count":20960495,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aniko","charles-csec","chatroom","cryptography","csec","cyber","decks","decks-team","encrypted-chat","hacking","mr-robot","python","python-chat","python-socket","rich","rsa","rsa-python","rsa-socket","server-chat","socket"],"created_at":"2024-11-06T01:23:18.349Z","updated_at":"2025-04-07T00:33:23.698Z","avatar_url":"https://github.com/aniko33.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003eCharles CSEC\u003c/h1\u003e\n\n  [![Version](https://img.shields.io/badge/Version-1.1-success)](https://github.com/aniko33/Charles-CSEC/releases)\n  [![Platform](https://img.shields.io/badge/Platform-Windows%2C%20Mac%2C%20Linux-blue)](#)\n  [![Python_version](https://img.shields.io/badge/Python%20version-3.8-blueviolet)](#)\n\n\u003cimg src=\"https://user-images.githubusercontent.com/76649588/208201214-add50e06-c0da-4e2d-ba87-d33c797d035b.png\"\u003e\n\u003c/div\u003e\n\n# Index\n\n- [Features](#features)\n\n- [Installation](#installation)\n\n- [Configuration (server-side)](#configuration)\n\n- [Commands (client-side)](#commands)\n\n- [Running](#running)\n\n- [How does it work](#how-does-it-work)\n\n- [Showcase](#showcase)\n\n- [Bug report](#bug-report)\n\n- [License](#license)\n\n- [Contributors](#contributors)\n\n# Features\n\n- RSA encryption\n\n- Easy to read code\n\n- Protected by network sniffer\n\n- File upload with Anonfile\n\n- No trace of your IP\n\n# Installation\n\n### From source code\n\nYou need to have **[Python](https://www.python.org/downloads/)** and **[PIP](https://www.w3schools.com/python/python_pip.asp)** installed which you can download from your [**package manager**](https://www.geeksforgeeks.org/how-to-install-python-on-linux/) or site.\n\nAfter installing Python and PIP you need to install ***program dependencies***.\nYou can  with this command:\n\n```bash\ngit clone https://github.com/aniko33/Charles-CSEC \u0026\u0026 cd Charles-CSEC\n```\n\nThen, you will need to install python dependencies:\n\n```bash\npip install -r requirements.txt\n```\n\nAfter you ***installed the various dependencies***, now you **can customise your configurations your server or start your client**.\n\n### From the compiled version\n\nYou have to **go to the [latest releases](https://github.com/aniko33/Charles-CSEC/releases)** and you have to ***download the client or the server depending*** on what you want to do.\n\n#### Important note\n\nIf you have installed the **server version**, **create a file named *config.json*** and set the [default configurations](https://github.com/aniko33/Charles-CSEC/blob/main/server/config.json).\n\n# Configuration\n\nTo configure your server, **open the *config.json* file in the following path: *server/config.json***.\n\nScroll to the top and edit this part:\n\n```json\n{\n    \"ip\": \"127.0.0.1\",\n    \"port\": 8889,\n    \"buffer\": 1024,\n    \"welcome_message\": \"[red]welcome to \u003cchat name\u003e[/red]\",\n    \"protected_by_password\": false,\n    \"password\": \"P4ssw0rd\"\n}\n```\n\n| Variable              | Description                                                                                                                                       |\n| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |\n| ip                    | The IP address where the server will start listening for connections                                                                              |\n| port                  | The **connection port**, it is recommended to ***keep it default*** (***8889***)                                                                  |\n| buffer                | The maximum network buffer, changes in this value affects the ***RSA key lenght***                                                                |\n| welcome_message       | Welcome message to new users, the colors can be found in the **[Rich documentation](https://rich.readthedocs.io/en/stable/appendix/colors.html)** |\n| protected_by_password | You can enter true if you want to **protect your chat by password** or you can put false                                                          |\n| password              | Enter the password you want                                                                                                                       |\n\n# Commands\n\n- `/help` show command list\n\n- `/nick` get your nickname\n\n- `/upload \u003cpath\u003e` upload file with **Anonfile**, usage: `/upload /home/user/file.txt`\n\n# Running\n\nTo run the program just ***go to the main folder*** and execute this command:\n\n#### Client\n\n```bash\ncd client \u0026\u0026 python main.py\n```\n\n#### Server\n\n```bash\ncd server \u0026\u0026 python main.py\n```\n\n# How does it work\n\nThe **keys are generated using the [RSA Encryption Algorithm](https://www.geeksforgeeks.org/rsa-algorithm-cryptography/)**.\n\u003cbr\u003e 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_**.\n\nFor more detailed explanation, please, refer to the [RSA Encryption Algorithm Documentation](https://www.geeksforgeeks.org/rsa-algorithm-cryptography/)\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg width=\"800px\" src=\"https://user-images.githubusercontent.com/76649588/208201163-7e596078-c95d-4902-8d94-e496b60fe315.png\" title=\"\" alt=\"flow.png\" data-align=\"center\"\u003e\n\u003c/div\u003e\n\n# Showcase\n\n  ![showcase](https://user-images.githubusercontent.com/76649588/210849677-16957b3d-879f-43b5-9ef5-debbf88dbb02.png)\n  ![showcase2](https://user-images.githubusercontent.com/76649588/210849685-99112e0d-041f-4edd-b8ba-6701d4695564.png)\n  ![showcase3](https://user-images.githubusercontent.com/76649588/210849687-d2ce8b67-05b0-46f2-9534-475ed5456cc2.png)\n\n# Bug report\n\n**To report an exploit or a bug write**, create a [new issue](https://github.com/aniko33/Charles-CSEC/issues)\n\n# License\n\nThis application is distributed under the ***[GPL](https://it.wikipedia.org/wiki/GNU_General_Public_License) license*** you can ***consult the file***: ***[LICENSE.txt](LICENSE.txt)***\n\n# Contributors\n\n\u003ca href=\"https://github.com/aniko33/Charles-CSEC/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contributors-img.web.app/image?repo=aniko33/Charles-CSEC\"/\u003e\n\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faniko33%2Fcharles-csec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faniko33%2Fcharles-csec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faniko33%2Fcharles-csec/lists"}