
Python 소켓 프로그래밍 기반의 종단 간 암호화 서버-클라이언트 채팅 애플리케이션으로, 적응형 암호화 모드, 멀티미디어 지원 및 그룹 채팅 기능을 제공합니다.
CryptoChat에 오신 것을 환영합니다. 여기서 대화는 진정으로 비공개로 유지됩니다. 강력한 Python 생태계를 기반으로 구축된 이 애플리케이션은 보내는 모든 단어가 여러 겹의 암호화로 보호되도록 보장합니다. 민감한 업무 세부 사항을 논의하든 개인적인 이야기를 공유하든, CryptoChat은 디지털 시대에 필요한 안식처를 제공합니다. 지금 바로 시작하여 차세대 보안 메시징을 경험해보세요!
저장소 클론:
git clone https://github.com/HalilDeniz/CryptoChat.git
프로젝트 디렉토리로 이동:
cd CryptoChat
필요한 의존성 설치:
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 : 이 도움말 메시지를 표시하고 종료합니다.--host : 서버를 바인딩할 IP 주소.--port : 서버를 바인딩할 포트 번호.--key : 암호화를 위한 비밀 키--loglevel: 로깅 수준 설정--logfile : 로그 파일 이름 설정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:
암호화된 메시징이 올바르게 작동하는지 확인하기 위해 리스닝 도구를 작성했습니다.
└─# 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='
--------------------------------------------------
기여는 환영합니다! 문제를 발견하거나 개선 제안이 있으면 언제든지 이슈를 열거나 풀 리퀘스트를 제출해 주세요.
질문, 의견 또는 제안 사항이 있으시면 언제든지 연락해 주세요:
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
저를 지원해 주셔서 감사합니다! 여러분의 지원 덕분에 CryptoChat과 같은 유용한 도구를 만들고 새 프로젝트를 개발하는 데 더 많은 시간과 노력을 쏟을 수 있습니다. 기여함으로써 기존 도구를 개선하는 데 도움을 줄 뿐만 아니라 새로운 아이디어와 혁신에 영감을 줍니다. 여러분의 지원은 이 프로젝트와 미래의 노력의 성장에 중요한 역할을 합니다. 함께 계속 구축하고 배워나갑시다. 감사합니다!"