A secure C++ project implementing a clientβserver file sharing system using TCP sockets in Linux/WSL, supporting authentication, encrypted upload/download, file listing, server logging, and progress bars.
This project demonstrates a secure file-sharing mechanism where:
- Users authenticate using a username & password.
- Files can be uploaded to the server.
- Files can be downloaded from the server.
- All server files can be listed.
- XOR encryption is used for secure transfer.
- Server logs all activities in
server_log.txt.
This project covers Linux socket programming, encryption, clientβserver communication, and file transfer over TCP.
Users authenticate using credentials stored in users.txt.
- Encrypted file transfer
- Chunk-based upload
- Real-time progress bar
- Automatic save on server
- Encrypted transfer
- Progress bar
- Auto-save to
/downloads/folder
View all server files inside shared_files/.
Simple XOR-based encryption applied during upload/download.
Every login, upload, download is logged in server_log.txt.
Assignment-4--Network-File-Sharing-Server-Client/
βββ Client/
β βββ client.cpp
β βββ client
β βββ downloads/
β
βββ Server/
β βββ server.cpp
β βββ server
β βββ users.txt
β βββ server_log.txt
β βββ shared_files/
β
βββ screenshots/
β βββ img1.png
β βββ img2.png
β βββ img3.png
β βββ img4.png
β βββ img5.png
β βββ img6.png
β βββ img7.png
β βββ img8.png
β βββ img9.png
β βββ img10.png
β βββ img11.png
β βββ img12.png
β βββ img13.png
β βββ img14.png
β βββ img15.png
β
βββ README.md
βββ LICENSE
cd Server
g++ server.cpp -o server
./server
cd Client
g++ client.cpp -o client
./client
You will understand:
-
Linux socket programming
-
TCP clientβserver communication
-
File transfer using streams
-
Chunk-based transmission
-
XOR encryption/decryption
-
Logging techniques
-
Git & GitHub workflow
-
WSL/Linux development environment
-
Multi-client support (threaded)
-
AES/RSA encryption instead of XOR
-
GUI interface
-
SHA-256 integrity verification
-
Pause/Resume downloads
π Download Project Report (PDF)
MIT License.
Sandeep Pattanaik
CSE(Cyber Security) Student
ITER, S'O'A University













