The app allows to simply transfer files from one machine to another via local network, at maximum allowed speeds. The application was implemented using pure Python and sockets.
The project consists of two applications: sender
and receiver
. To transfer files, gui.py
needs to be launched on sender machine, and sock_receiver.py
needs to be launched on receiver machine side.
Sender part has GUI, receiver is implemented as command line module.
Both sender and receiver implemented as child classes of python socket
class, which allows to utilize power of pure python sockets.
Before you start setting up the project, you need to install some PyGObject dependencies. You can check here for detailed guide for your OS.
- Cloning a repository with code
git clone https://github.com/akim-malyshchyk/file-sharer.git
- Activating a virtual python environment and installing dependencies (inside the repository folder)
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
After that you should be able to launch src/sender/gui.py
and src/receiver/sock_receiver.py
That's how sender GUI and receiver CLI should look like if initial configuration went fine
After that everything is pretty simple:
- Type your receiver machine local IP address
- Choose file and click send
After that, receiver will create received
folder and save the file there