IIITMG Filelink is a sleek and powerful peer-to-peer file sharing tool built for local networks. It offers encrypted transfers, auto device discovery, and a clean GUI that makes sharing files and folders seamless across devices.
- 📁 Send files and folders
- 📦 Folders are zipped before transfer
- 🛑 Pause,
▶️ Resume, ❌ Cancel transfers on the fly - 🔐 Optional Fernet encryption
- 🌗 Light and Dark UI themes
- 🔍 Auto device discovery on local subnet
- 🧭 Toggle between Send and Receive modes
- 📜 View real-time transfer logs
- 📂 Set custom save location for received files
When enabled, files are encrypted chunk-by-chunk using Fernet encryption.
A small hexadecimal snippet of the first encrypted chunk is printed to the console as proof of encryption.
💡 Make sure to update the
ENCRYPTION_KEY
inconfig.py
with a valid key.
You can generate one using:
from cryptography.fernet import Fernet
print(Fernet.generate_key())
The application scans your local subnet (based on your IP) to detect other devices running the Filelink receiver server.
Ensure the target device has:
- The app running (
python3 main.py
) - No firewall blocking incoming LAN connections on the relevant port
The transfer progress bar widget allows:
- Pausing/resuming individual file transfers
- Canceling specific transfers mid-way
This is useful during large transfers or on unstable networks.
On any device on your LAN, simply run:
python3 main.py
This will start the receiver server in the background and launch the CampusShare IIITMG GUI.
-
Add Files/Folders:
Use “Add Files” / “Add Folder” buttons or drag and drop files into the file list. -
Device Discovery:
Click “Scan Network” to auto-discover active receivers on your subnet. -
Encryption:
Toggle the “Encrypt Transfer” checkbox to securely transmit your data. -
Transfer Control:
Use the progress section to monitor transfers and pause/resume/cancel as needed. -
Theme Toggle:
Switch between Light and Dark mode using the theme selector on the top right.
- Clone the repository
git clone https://github.com/RAWx18/IIITMG-Filelink.git
cd IIITMG-Filelink
- Install dependencies
pip install -r requirements.txt
- Run the app
python3 main.py
IIITMG-Filelink/
├── animations/ # UI animation logic
│ ├── animation_manager.py
│ └── message_transfer.py
│
├── gui/ # GUI layout and widgets
│ ├── file_selector.py
│ ├── main_window.py
│ └── progress_bar.py
│
├── networking/ # Server-client networking logic
│ ├── server.py
│ └── client.py
│
├── utils/ # Helper methods for file/network operations
│ ├── file_utils.py
│ └── network_utils.py
│
├── config.py # Configuration and keys
├── key.py # Handles Fernet encryption key logic
├── main.py # Main launcher
├── requirements.txt # Dependencies
├── file_structure.md # Internal documentation
└── README.md # This file
- Ryan Madhuwala
- Mahil Patel
- Priyansh Kumar
- Anukrati Chaturvedi
For educational use only.
You're welcome to fork and build upon it for personal or academic projects.