Skip to content

Secure File Transfer Tool Built With Python + Flask. End-To-End Encrypted File Upload & Download System - Like A Private Mini WeTransfer With AES Encryption.

License

Notifications You must be signed in to change notification settings

DecryptMike/DecryptMike-SecureFileTransfer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Python Made with-Flask AES Encrypted Supports-Uploads Supports-Downloads Backend-Flask Client-Side Encryption Algorithm-AES 256 License

DecryptMike Logo

🛡️ Secure File Transfer Tool

A secure, client-side encrypted file transfer web app built with Python and Flask. Think “mini WeTransfer” but with
hacker-grade protection: every file is encrypted using AES before upload and decrypted only after download.

⚙ Features

  • 🔐 Client-side AES encryption using cryptography.fernet
  • 📤 Upload & encrypt any file (images, PDFs, docs, zips, etc.)
  • 📥 Decrypt & download encrypted .enc files back to their original form
  • 🧠 Stylish hacker-inspired UI with Matrix aesthetics
  • 💾 File integrity via .key file + Flask routes
  • 🔐 Secure folder storage for original, encrypted, and decrypted assets

🧠 Skills Demonstrated

  • Flask web routing
  • AES encryption (Fernet)
  • File I/O in Python
  • Secure file handling logic
  • Frontend + backend integration
  • Cyber-themed UI/UX

⚡️ Local, fast, and easy to run


📸 Screenshot

Sign In Page

🧪 Tech Stack

Layer Tech Used
Backend Python 3.11, Flask
Encryption AES (Fernet - cryptography)
Frontend HTML, inline CSS
UI Theme Hacker/Cyberpunk Matrix style

📁 Folder Structure

secure-file-transfer/
│
├── static/                # Logo assets, CSS if needed
├── templates/             # HTML (index.html)
├── uploads/               # Raw uploaded files
├── encrypted/             # AES encrypted versions
├── decrypted/             # Final decrypted files
├── encryption_utils.py    # Core AES logic
├── generate_key.py        # One-time key generation
├── app.py                 # Flask server logic
├── filekey.key            # 🔐 Auto .gitignored
├── requirements.txt       # Dependencies
└── README.md              # This file

🚀 Getting Started

  • Clone & Activate Environment
git clone https://github.com/DecryptMike/Secure-File-Transfer.git
cd Secure-File-Transfer
python3 -m venv venv
source venv/bin/activate
  • Install Requirements
pip install -r requirements.txt
  • Generate Encryption Key (Run Once)
python generate_key.py

This creates a filekey.key (auto .gitignored) — keep this safe!

  • Launch the Web App
python app.py

🌐 How It Works

  1. User uploads a file → it’s encrypted client-side with AES.
  2. App stores .enc version in /encrypted
  3. Download & send .enc file
  4. Recipient uploads it back → file is decrypted only with matching key

💡 Why I Built It

To demonstrate real-world cybersecurity fundamentals — encryption, secure file transfer, and web-based automation. It’s also a perfect portfolio piece for recruiters to showcase Flask + encryption + frontend integration in a clean, branded UI.


⚠️ Disclaimer

This project is for educational use only. Do not use this in production without enhancements such as:

  • Authenticated sessions
  • Key rotation
  • Secure HTTPS hosting

💻 Built by @DecryptMike


About

Secure File Transfer Tool Built With Python + Flask. End-To-End Encrypted File Upload & Download System - Like A Private Mini WeTransfer With AES Encryption.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published