Quick Start
Prerequisites
Before you begin, ensure you have the following installed and configured:
- Flutter SDK: Latest stable version.
- TMDB API Key: Required for movie and TV show metadata (Free).
- Platform-specific tools:
- Windows: Visual Studio (Desktop development with C++).
- Android: Android Studio and SDK.
Installation
1. Clone the Repository
Start by cloning the Freak-Flix repository to your local machine:
git clone https://github.com/MNDL-27/freak-flix.git
cd freak-flix
2. Install Dependencies
Fetch the required Flutter packages:
flutter pub get
Running the Application
Windows (Desktop)
Freak-Flix uses media_kit for high-performance video playback, which requires the MPV library.
- Download the
mpv-1.dll(available via mpv-build-en-scripts). - Place
mpv-1.dllin your build directory (build/windows/runner/DebugorRelease) or ensure it is in your system PATH. - Execute the run command:
flutter run -d windows
Mobile & Web
Run the application on your preferred target:
# Android
flutter run -d android
# Web
flutter run -d chrome
Initial Configuration (Under 5 Minutes)
Once the app is launched, follow these steps to transform your raw files into an organized library.
1. Configure Metadata Providers
Head to Settings > API Configuration to enable automatic poster, backdrop, and biography fetching.
- Movies & TV: Enter your TMDB API Key.
- Anime: (Optional) Connect your AniList account.
- Adult Content: Go to Settings > Advanced, enable "Adult Content," and provide your StashDB Endpoint and API Key.
2. Add Your Media Library
Freak-Flix can index both local drives and cloud storage.
- Local Storage: Go to Library > Add Folder and select the root directory of your media.
- Cloud Streaming (OneDrive):
- Navigate to Settings > Cloud.
- Sign in with your Microsoft account.
- Select the OneDrive folders you wish to index. The app will stream these files directly without requiring local synchronization.
3. Trigger a Scan
Click the Scan Library button. Freak-Flix will:
- Identify file types (Movies, TV, Anime).
- Match titles against TMDB, AniList, or StashDB.
- Download high-resolution artwork and actor profiles.
Backend Services (Optional)
If you are a developer looking to host your own authentication and proxy services (to bypass CORS or manage users), Freak-Flix includes a backend suite:
- Cloudflare Worker: Located in
backend/src/index.ts, handling D1 database interactions and library scanning logic. - Netlify Functions: Located in
netlify/functions/, providing proxies for StashDB and Microsoft Auth.
To use your own backend, update the API base URL in the app's configuration file to point to your deployed Cloudflare or Netlify endpoint.