LocalShare is a lightweight homeserver management interface that is made with simplicity and performance in mind. A lightweight, web-based file-sharing application designed for temporary uploads and downloads with real-time streaming support. Built using Flask, SQLite, HTML, CSS, and JavaScript, this project enables users to upload files, stream media (e.g., MP4, MKV, MP3, FLAC), and download them within a 24-hour window.
- Upload files with real-time progress tracking (up to 2 GB limit, adjustable).
- Download files with a green-themed button.
- Stream video and audio files (MP4, MKV, MP3, FLAC, WebM, OGG).
- Automatic file cleanup after 24 hours.
- Cross-device compatibility with troubleshooting for streaming issues (e.g., black frames, playback interruptions).
-
Clone the repository:
git clone https://github.com/Hexanol777/LocalShare.git cd LocalShare -
Install dependencies:
pip install -r requirements.txt-
Set up the environment:
- Ensure the
instance/anduploads/directories exist (created automatically on first run). - No additional configuration is needed for the SQLite database (
instance/database.db).
- Ensure the
-
Run the application:
python app.py
Access the server at
http://0.0.0.0:5000or your local IP (e.g.,http://192.168.1.100:5000).
- Streamable Extensions: Edit the
STREAMABLE_EXTENSIONSlist inapp.pyto add or remove supported file types (e.g.,['.mp4', '.mkv', '.mp3', '.flac', '.webm', '.ogg']). - MIME Types: Update the
mime_typesdictionary in the/stream/<file_id>route to support new extensions with appropriate MIME types. - Port: Change the
portinapp.run(host='0.0.0.0', port=5000)if needed.