A simple Python file transfer project that demonstrates core networking, checksum, and encryption concepts using sockets. It supports both secure and unsecure file transfers between a client and a server.
- Secure transfers using ChaCha20
- Unsecure (plain) file transfers
- File listing from the server
- SHA-256 integrity verification
client_soc.py– Client downloadermulti_sevrer_soc.py– Multi-client serverstorage/– Server filesfolder/– Client downloads (auto-created)
-
Clone the repository
-
Install dependencies:
pip install -r requirements.txt
-
Start the server:
python multi_sevrer_soc.py- Run the client:
python client_soc.pyChoose secure (y) or unsecure (n), select a file, and it downloads to folder/.
-
Default host:
127.0.0.1 -
Ports:
- Secure:
53189 - Unsecure:
56723
- Secure:
-
Requires Python 3.x and
pycryptodomex
19/05/2025