Giter Club home page Giter Club logo

ecryptransf's Introduction

File Transfer Application

Computer Networks Project Application

The project is not running using a concurrent server.

The application will allow for transfer of data:

  • From the client to the server(server here will act like a file backup, can be external to the users folder)
  • The current program can handle only 1 client at a time. First the first client is served then the next client will be served - One at a Time. The current version is capable of handling multiple client connections to the server. But the connections are not multithreded, there is a single TCP welcoming socket and an individual connection socket created (and closed) for each client communication. To make this work with multiple clients at the same time - multi-threaded application using socket.
  • The program supports sending a file from a client folder to a server folder, the user will have to change these folders to transfer files.
  • The program encrypts the files in transit using AES in Block Cipher Mode with a 128-bit key for encryption during transit using symmetric key encryption facilitated by the Fernet library.
  • The files to be sent are located from the file system using os module

Languages

Python

Libraries

  1. socket
  2. fernet
  3. os

Features

  • Encryption during transit
  • File transfer from client to server
  • Support for multiple clients
  • Can be used to backup onto a different folder on another device in LAN

Will not work if there is a firewall

  • Support for a wide variety of file types - txt, script

Dependencies

Cryptography module needs to be installed, other modules are built-in

pip install cryptography

Execution

Clone the repository using

git clone https://github.com/AlanJoji/EcrypTransf.git

And enter the working directory

cd EcrypTransf

A server terminal for running the server side to receive the file(s)

python server.py

A client terminal for running the client side to send the file(s)

python client.py

Future developments

  • File backup system
  • Multi-threading socket creation

ecryptransf's People

Contributors

alanjoji avatar ad1tya24 avatar whybhuv avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.