Skip to content

pdev-labs/FluxMedia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

175 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

FluxMedia Logo

FluxMedia

A premium, cross-platform media portal and processing toolkit.

PyPI Version Supported Python Versions License Downloads Code Style

FluxMedia is a production-ready media manager, automated downloader, and local streaming gateway wrapped in a responsive terminal application and web interface.


πŸ“’ Latest Release: v1.7.11

  • Instagram 403 Forbidden Fix: Fixed an issue where the Instagram Profile Downloader would fail with a 403 Forbidden error because it was not loading the authenticated instaloader session. The session is now properly loaded when fetching profiles or posts.

πŸ“’ Previous Release: v1.7.10

  • Installer Silent Exit on Sub-Menu Selection: Fixed a critical bug in install.sh where selecting any submenu option other than the first (such as "Uninstall") would cause the entire script to instantly exit and return to the prompt. This occurred due to the show_menu function returning non-zero exit codes for downstream options while set -e was active.
  • Arch Linux Installer: Fixed the package name for pipx (python-pipx) and added -Sy to sync databases before downloading during the pacman dependency installation step on Arch Linux.

🌟 Key Features

  • Universal Extraction Core: Seamlessly download high-quality videos, playlists, audio streams, channel collections, and subtitles powered by a robust wrapper around yt-dlp.
  • Sync Play (Watch Party) [Beta]: Synchronize media playback across all connected devices on your local network, perfect for hosting local watch parties.
  • FluxMedia Web UI: A beautiful, responsive React-based web dashboard to remotely control your downloads, manage files, and host Watch Parties directly from your browser.
  • Built-in LAN Sharing Gateway: Share downloaded files instantly to any device on your local network using a built-in password-protected HTTP server with QR code access.
  • Instagram Profile Downloader [Beta]: Batch download media directly from Instagram profiles with our new custom extraction module.
  • Advanced Post-Processing: Automatically extract audio (MP3/M4A/FLAC), merge separate audio/video formats, inject descriptions and tags, and embed album artwork via FFmpeg.
  • Universal OS Support: The one-liner install.sh script automatically resolves dependencies across macOS (brew), Android Termux (pkg), and virtually all Linux package managers (apt, pacman, dnf, apk, zypper, xbps).

πŸ’» Visual Preview

FluxMedia CLI Dashboard

FluxMedia CLI showing QR Share Gateway active on the local network.


πŸš€ Quick Start

1. Installation

Linux / macOS (Bash):

curl -sL https://raw.githubusercontent.com/pdev-labs/FluxMedia/main/install.sh | bash

Windows (PowerShell):

iex (irm https://raw.githubusercontent.com/pdev-labs/FluxMedia/main/install.ps1)

Alternatively, you can install directly via pip:

pip install fluxmedia

(Android/Termux Users: Pydantic-core requires compilation. See the Installation Guide for the correct pip command.)

For detailed, OS-specific manual installation instructions, please check the Installation Guide.

2. Usage

Launch the interactive console portal:

fluxmedia

Launch the newly added Web UI dashboard (also accessible by pressing W in the main menu):

fluxmedia --web

Or open the Textual TUI dashboard directly:

fluxmedia --tui

πŸ“š Documentation

Detailed user guides and developer docs are organized in the docs/ folder:

  • πŸ“₯ Installation Guide β€” Step-by-step setup guides for Windows, macOS, Linux, and Android (Termux).
  • βš™οΈ Configuration Guide β€” Explanations of config options, directories, and customization schemas.
  • πŸ“¦ Downloader Engine β€” Internals on formatting flags, post-processors, and download strategies.
  • πŸ“Ά LAN QR Share Portal β€” Guide to local HTTP streaming, REST API endpoints, and authentication tokens.
  • πŸ› οΈ Troubleshooting Guide β€” Common solutions for SSL issues, Windows Defender configurations, and storage permissions.
  • πŸ“– Frequently Asked Questions β€” Answers to common developer and user questions.
  • πŸ—οΈ Architecture Overview β€” Codebase directory layout, dynamic imports, and module dependencies.

πŸ—ΊοΈ Roadmap

We are constantly improving the platform. Here are our high-level goals:

  • Milestone 1: Parallel multi-threaded downloading and expanded website extractors.
  • Milestone 2: In-terminal visual video trimming and custom TUI styling themes.
  • Milestone 3: Multi-user permissions on the share portal and upgraded web player seeking.

Check out ROADMAP.md for our complete milestones plan.


🀝 Contributing

We welcome all contributions! Whether you are fixing type errors, adding new feature modules, or enhancing the documentation:

  1. Review the Contributing Guide.
  2. Ensure you adhere to the Code of Conduct.
  3. If you modify any frontend web assets, remember to run the repack builder:
    python repack.py

πŸ“œ License & Credits

FluxMedia is open-source software licensed under the MIT License.

Credits

  • Core extraction engine powered by yt-dlp.
  • Terminal styling and layouts powered by rich and textual.
  • Audio tagging powered by mutagen.
Made with ❀️ by pdev-labs