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.
Log in or sign up for Devpost to join the conversation.