Skip to content

Easily send/receive messages from multiple clients on a LAN scale with XOR+Password message encryption.

License

Notifications You must be signed in to change notification settings

GTeamx/Dynamic.Chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌐 Dynamic.Chat 🌐

GitHub Release GitHub Downloads (all assets, latest release) GitHub Downloads (all assets, all releases) GitHub License
GitHub commits since latest release GitHub commit activity (branch) GitHub commits difference between two branches/tags/commits
GitHub branch check runs GitHub branch check runs Static Badge
GitHub Repo stars GitHub watchers GitHub forks Discord

Dynamic.Chat aims to be an easy to use efficient and secure LAN chatting system. Using a brute-force oriented security (XOR encryption) with a user defined encryption key, broadcasted UDP messages to prevent tracing down who receives the message and who doesn't. This Dyanmic product is part of Dynamic.* products line

⬇️ Usage

Simply download the latest release (with your prefered language, French or English) and simply double click the exe file!

🌟 Features & Functionalities

  • Send encrypted messages over a LAN network
  • Send/receive messages from different clients
  • XOR + Password encryption
  • Change encryption key
  • Add other users encryption keys
  • Change broadcast address

🤔 How does it work ?

  • Client side (send):

    • When starting Dynamic.Chat an encryption key is created using the current Windows session's username and the current seconds (time).
    • That encryption key is saved and used to encrypt outgoing messages using a XOR encryption.
    • After the message is encrypted, its broadcasted on port 888/UDP on a LAN scale.
  • Server side (receive):

    • When starting Dynamic.Chat the listening server is started on a new thread an runs in the background.
    • It listens to all available addresses on port 888/UDP.
    • When receiving a message on that port, it will try and decrypt the packet's messages using the provided encryption keys (using 'addmdp').
    • If the decryption succeeds, the beginning of the message will start with "IDENT=thekeyusedtodecrypt" which confirms that the message has been decrypted correctly.
    • After the decryption succeeded, the sender's username is extract from the packet's message in the field "USER=senderusername". The username is defined based on the sender's Windows session username.
    • Finally we extract the message and format it in the following format "current time | sender's username: sender's message", the message is then displayed to the console.

🔔 Releases/Updates

We highly recommand using the latest releases when possible as they might fix critical issues or errors. Dynamic.Chat updates are ONLY RELEASED HERE!.

There a high chance you'll face errors and issues if your using the latest .exe file from the dev or main branch, please only use the released versions.

🚷 Errors/Bugs (Issues)

If you face any error or bugs during the usage of Dynamic.Chat, please open an issue on our GitHub page. Providing sufficiant information to we are able to reproduce the error/issue on our side (provide the OS, released version that you were using, any "special" config changes that may or may not have done like in the network interfaces for example, ect...)

🔃 Contributing

Before contributing, please make sure that you follow our conventions (naming scheme, indentation) and that your code works! Make sure to also precise on what OS and what OS version you test were ran.

📜 License

This project is licensed under GNU General Public License v3.0 (GPL).