A simple CLI to share files over the local network.
This project uses Socket Programming concepts to implement a peer to peer connection to transfer files.
There is no server involved.
The Project involves usage of broadcasting for peer discovery and usage of TCP to send the file as a binary stream.
Two TCP handshakes are performed, one to send all the filenames involved, the other to send the binary data.
- Language Used: Python
- Libraries Used:
- Socket: A library in Python to create web sockets.
- Threading: Library in Python which helps in creation of threads.
- Time: Python library to access time.
-
Clone the project into your system:
$git clone https://github.com/mana-sg/ShareItClone
-
Jump into the git repository.
$cd ShareItClone
-
Run the
main.py
file:$python3 main.py
-
Now that the code is running, you can select whether you want to receive or send files.
-
If you select receive, you have to wait until the sender connects to your connection.
-
If you selected send, you will see a window with all the peer names, select the peer which you want to send the file to.
-
Once you select the peer, a file dialog will open up, select the file which you want to send.
-
The file will be sent successfully.