Inspiration

The team is taking a course on internet technology and sockets. We saw this as an opportunity to apply class skills in a real-life deployment.

What it does

Given two endpoints, we can transfer files from one endpoint to the other securely, even if on different networks.

How we built it

We built our program in C and utilized many libraries. We open a socket to the server endpoint which sends the data over a port to which the client endpoint may receive the data. The port number and establishment is encrypted with RSA while the data send is encrypted with Advance Encryption Standard (AES).

Challenges we ran into

Some challenges we faced were remotely opening the file within the server and writing the data into that file.

Accomplishments that we're proud of

We were able to successfully establish a connection between two endpoints and successfully encrypt the data.

What we learned

We learned how to use sockets in Python in the aforementioned class and we were able to replicate those steps in C and create a computer network.

What's next for MySCP

This is a small implementation of the scp Linux command and as such we did not implement any flags such as recursively traversing through a folder directory and sending all the data inside. There is also a flag for the type of encryption that can be used in data transfer and another for the exact port choice. Essentially, we would implement more flags for the user to have more customization.

Built With

Share this project:

Updates