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
/.mp4
media 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-Session
SQLite
(for user and media metadata)Fernet
fromcryptography
(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