Giter Club home page Giter Club logo

dme's Introduction

DME

DME

DME is a Python-based chat application that provides secure communication between users. This application uses Tkinter for GUI, Json for data serialization, sockets for network communication and threading for concurrent execution.

Table of contents

Prerequisites

To run the application, you will need to have Python 3 installed on your system. You can download and install the latest version of Python from the official website: https://www.python.org/downloads/.

Installation

You can clone the repository to your local machine using the following command:

git clone https://github.com/Chawki-BS/DME.git

After cloning the repository, you need to install the required dependencies using the following command:

pip install -r requirements.txt

Usage

To start the server, run the following command:

python3 server_login.py

You will see a server login page. Enter your IP address and a none used port number to start the server. To start the client, run the following command:

python3 main.py

You will see a client login page. Enter client name, server IP address and server port number to connect to the server.

  • You can then invite other users to join the chatroom by sharing the chatroom IP address and port number with them and run the "main.py" file.
  • You can then start chatting with other users in the chatroom.

Features

  • Secure and private chatroom.
  • User authentication and registration.
  • Real-time messaging using sockets and threading.
  • Ability to administer the chatroom (kick and ban users).
  • User-friendly interface using Tkinter.

Security

  • Access Control: Access to chatrooms is restricted to authorized users only. Certain actions, such as creating or deleting chatrooms, are restricted to administrators only.
  • Testing: I have conducted security testing to identify and fix security vulnerabilities in the chatroom app. Automated tools are used to scan the app for vulnerabilities, and manual penetration testing is conducted to simulate attacks by an attacker.
  • As we take security seriously, we are currently working on improving the app's security focusing on these features :
    • LDAP Server Integration: We are currently working on implementing an LDAP server to authenticate users using certificates that are signed by a certificate authority. This will provide an additional layer of security to our chatroom app by ensuring that only authorized users can access it.
    • Encryption: All chat messages and user credentials are encrypted using SSL/TLS certificate to protect their confidentiality during transmission.
    • Hashing: To ensure the integrity of data, we are implementing hashing algorithms to validate the authenticity of data transmitted between the client and server.

Contributing

If you find any bugs or issues with the app, please report them by opening an issue on Github. Contributions to the app are also welcome - if you have any ideas for new features or improvements, please feel free to submit a pull request.

Demo

You can find a demonstrative video in the link below : https://www.youtube.com/watch?v=7SYNEUspvuM

License

This project is licensed under the MIT License - see the LICENSE file for details.

dme's People

Contributors

chawki-bs 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.