Just wrapped up a personal project focused on secure media delivery β what began as a simple experiment in streaming has evolved into a full-fledged application.
- β Firebase Realtime Database integration to fetch login credentials and Fernet encryption keys
- β
Fernet (AES-level) encryption for
.mp3/.mp4media files - β On-demand decryption β media is decrypted only during playback
- β Protection against direct downloaders like IDM
- β
External video URL playback support (
.mp4,.webm) - β Folder-based browsing, login system, and pagination
Flask+Flask-SessionSQLite(for user and media metadata)Fernetfromcryptography(for secure encryption)Google Firebase RTDB(for credentials and key management)
π https://muthumediaplayer.onrender.com
Media files are encrypted into JSON blobs (storing the encrypted content as a base64-encoded string inside a .json file) using a generated Fernet key. Metadata such as filename, path, and tags are stored in SQLite.
When a user accesses media via the player, the app performs just-in-time decryption and streams the content β ensuring privacy, performance, and protection against direct access.
#Flask #Python #Cybersecurity #GoogleFirebase #SQLite #MediaStreaming #OpenSource #PythonFlask #MediaPlayer #Encryption #PrivateProject #MuthuMediaPlayer