
Ende-zu-Ende verschlüsselte Server-Client-Chat-Anwendung mit adaptiven Verschlüsselungsmodi, Multimedia-Unterstützung und Gruppenchat, aufgebaut auf Python-Socket-Programmierung.
Willkommen bei CryptoChat – wo Unterhaltungen wirklich privat bleiben. Unsere Anwendung, die auf dem robusten Python-Ökosystem basiert, stellt sicher, dass jedes von Ihnen gesendete Wort in mehrere Verschlüsselungsschichten gehüllt ist. Egal, ob Sie vertrauliche Geschäftsdetails besprechen oder persönliche Geschichten teilen, CryptoChat bietet den Rückzugsort, den Sie im digitalen Zeitalter benötigen. Tauchen Sie ein und erleben Sie die nächste Stufe sicherer Nachrichtenübermittlung!
Klonen Sie das Repository:
git clone https://github.com/HalilDeniz/CryptoChat.git
Wechseln Sie in das Projektverzeichnis:
cd CryptoChat
Installieren Sie die erforderlichen Abhängigkeiten:
pip install -r requirements.txt
$ python3 server.py --help
usage: server.py [-h] [--host HOST] [--port PORT] [--loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL}] [--logfile LOGFILE]
Start the chat server.
options:
-h, --help show this help message and exit
--host HOST The IP address to bind the server to. (Default: 0.0.0.0)
--port PORT The port number to bind the server to. (Default: 12345)
--loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL}
Set the logging level (Default: INFO)
--logfile LOGFILE Set the log file name. (Default: server.log
--------------------------------------------------------------------------
$ python3 client.py --help
usage: client.py [-h] [--host HOST] [--port PORT]
Connect to the chat server.
options:
-h, --help show this help message and exit
--host HOST The server's IP address.
--port PORT The port number of the server.
$ python3 serverE.py --help
usage: serverE.py [-h] [--host HOST] [--port PORT] [--key KEY] [--loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL}] [--logfile LOGFILE]
Start the chat server.
options:
-h, --help show this help message and exit
--host HOST The IP address to bind the server to. (Default=0.0.0.0)
--port PORT The port number to bind the server to. (Default=12345)
--key KEY The secret key for encryption. (Default=mysecretpassword)
--loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL}
Set the logging level (Default: INFO)
--logfile LOGFILE Set the log file name. (Default: server.log)
--------------------------------------------------------------------------
$ python3 clientE.py --help
usage: clientE.py [-h] [--host HOST] [--port PORT] [--key KEY]
Connect to the chat server.
options:
-h, --help show this help message and exit
--host HOST The IP address to bind the server to. (Default=127.0.0.1)
--port PORT The port number to bind the server to. (Default=12345)
--key KEY The secret key for encryption. (Default=mysecretpassword)
--help : Zeigt diese Hilfemeldung an und beendet das Programm.--host : Die IP-Adresse, an die der Server gebunden werden soll.--port : Die Portnummer, an die der Server gebunden werden soll.--key : Der geheime Schlüssel für die Verschlüsselung.--loglevel: Legt die Protokollierungsebene fest.--logfile : Legt den Namen der Protokolldatei fest.python3 clientE.py
Enter your username: deniz
Help Menu:
/help -> Help menu
deniz: Enter your message: /help
deniz: Enter your message:
Help Menu:
/help -> Help Menu
/exit -> Exit the program.
/clear -> Clear the chat screen.
/userlist -> View the list of connected users.
/dm [user] [message] -> Send a direct message to a user.
/changeuser [new_username] -> Change your username.
deniz: Enter your message:
Ich habe ein Tool zum Lauschen geschrieben, um zu überprüfen, ob die verschlüsselte Nachrichtenübermittlung korrekt funktioniert
└─# python3 SCsniff.py
IP Packet: Source IP=127.0.0.1, Destination IP=127.0.0.1
TCP Packet: Source Port=12345, Destination Port=50968
Raw Data: b'gAAAAABlOlxawZboULf0WJkQQkzVwJKLXbGh3qyxWYbaCqNhi5xLwhR9YdckSiPiPQCkWHHGSzKAKG5pW3HyatQnpekoR0Zl-_DH-WH_azjGm86QGW1PRnE='
--------------------------------------------------
IP Packet: Source IP=127.0.0.1, Destination IP=127.0.0.1
TCP Packet: Source Port=12345, Destination Port=50968
Raw Data: b'gAAAAABlOlxawZboULf0WJkQQkzVwJKLXbGh3qyxWYbaCqNhi5xLwhR9YdckSiPiPQCkWHHGSzKAKG5pW3HyatQnpekoR0Zl-_DH-WH_azjGm86QGW1PRnE='
--------------------------------------------------
IP Packet: Source IP=127.0.0.1, Destination IP=127.0.0.1
TCP Packet: Source Port=50968, Destination Port=12345
--------------------------------------------------
TCP Packet: Source Port=42228, Destination Port=12345
Raw Data: b'gAAAAABlOlyHDfYapDc2kawoEjNozSJybZBk0SxZwMiE2_x9OffGGc-NlaB3FHJue6jY3rQbBKseCkDATpnBgJRxLJQA6heDlw=='
--------------------------------------------------
IP Packet: Source IP=127.0.0.1, Destination IP=127.0.0.1
TCP Packet: Source Port=42228, Destination Port=12345
Raw Data: b'gAAAAABlOlyHDfYapDc2kawoEjNozSJybZBk0SxZwMiE2_x9OffGGc-NlaB3FHJue6jY3rQbBKseCkDATpnBgJRxLJQA6heDlw=='
--------------------------------------------------
IP Packet: Source IP=127.0.0.1, Destination IP=127.0.0.1
TCP Packet: Source Port=12345, Destination Port=42228
Raw Data: b'gAAAAABlOlyHyCO4dV50WtplQ8eZxbH8d9xuL04iGsrbjhU-oFlguaaig0vjRd7GVvLiBm5Js6kFYHpc6esuTkDrmabq-k1DdSrlEHOgvdaMotxMMg5KEL8='
--------------------------------------------------
IP Packet: Source IP=127.0.0.1, Destination IP=127.0.0.1
TCP Packet: Source Port=12345, Destination Port=42228
Raw Data: b'gAAAAABlOlyHyCO4dV50WtplQ8eZxbH8d9xuL04iGsrbjhU-oFlguaaig0vjRd7GVvLiBm5Js6kFYHpc6esuTkDrmabq-k1DdSrlEHOgvdaMotxMMg5KEL8='
--------------------------------------------------
IP Packet: Source IP=127.0.0.1, Destination IP=127.0.0.1
TCP Packet: Source Port=42228, Destination Port=12345
Raw Data: b'gAAAAABlOlyPKyzTR_-1LFSNLtBCR5sghmont3299N9QWrQhHXzwo1Y-toax3Xh4f3PQ5cG-8QuOpM9ApGFoxkVGbpH4Bfhy9iYduQgwYy59kChiGwIQ1rI='
--------------------------------------------------
IP Packet: Source IP=127.0.0.1, Destination IP=127.0.0.1
TCP Packet: Source Port=42228, Destination Port=12345
Raw Data: b'gAAAAABlOlyPKyzTR_-1LFSNLtBCR5sghmont3299N9QWrQhHXzwo1Y-toax3Xh4f3PQ5cG-8QuOpM9ApGFoxkVGbpH4Bfhy9iYduQgwYy59kChiGwIQ1rI='
--------------------------------------------------
Beiträge sind willkommen! Wenn Sie Probleme finden oder Verbesserungsvorschläge haben, können Sie gerne ein Issue eröffnen oder einen Pull-Request einreichen.
Wenn Sie Fragen, Kommentare oder Vorschläge zu CryptoChat haben, können Sie mich gerne kontaktieren:
Dieses Projekt ist unter der MIT-Lizenz lizenziert. Weitere Informationen finden Sie in der LICENSE-Datei.
Vielen Dank, dass Sie in Erwägung ziehen, mich zu unterstützen! Ihre Unterstützung ermöglicht es mir, mehr Zeit und Mühe in die Entwicklung nützlicher Tools wie CryptoChat und neuer Projekte zu investieren. Indem Sie beitragen, helfen Sie mir nicht nur, bestehende Tools zu verbessern, sondern inspirieren auch neue Ideen und Innovationen. Ihre Unterstützung spielt eine entscheidende Rolle für das Wachstum dieses Projekts und zukünftige Vorhaben. Lassen Sie uns gemeinsam weiter bauen und lernen. Danke!"