Skip to content

slient-commit/bitflix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bitflix

A full-stack streaming platform built with Angular, Express.js, and Electron. Content is streamed in real-time from torrent magnet links using WebTorrent, with no need to download files beforehand.

Screenshots

Web App

Home Home Content Home Browse Movies Details Modal Player Watch List

Admin Dashboard

Dashboard Movies Management Magnets Management

Project Structure

torrent-streamer/
  api/           Backend API server
  web-app/           Frontend Angular app
  admin-app/     Admin dashboard (React)
  desktop-app/       Electron desktop app

Database Setup

An example database is provided in the db-example/ folder. Copy it to the api/ folder before running the API standalone or building the desktop app:

cp db-example/bitflix.db api/
cp db-example/users.db api/

API (api/)

Express.js v5 backend with SQLite databases.

  • Runtime: Node.js (ES Modules)
  • Database: SQLite via better-sqlite3
    • bitflix.db — movies, series, episodes, genres, magnets
    • users.db — user accounts, watch history, lists
  • Features: User auth (bcryptjs + token), torrent streaming (WebTorrent), subtitle conversion (SRT to VTT), watch progress tracking, custom user lists
  • Port: 3000
cd api
npm install
node server.js

Frontend (web-app/)

Angular 19 single-page application.

  • UI: Netflix-style dark theme
  • Features: Browse movies/series, search, genre filters, video player with subtitle support, user auth, continue watching, custom lists
  • API: Connects to http://localhost:3000 in dev mode, auto-detects origin in production/Electron
cd app
npm install
npm start        # Dev server on port 4200
npm run build    # Production build to dist/bitflix/

Admin Dashboard (admin-app/)

React + Vite admin panel for managing content.

  • Features: CRUD for movies, series, episodes, cast, genres, magnets, users
  • Pagination: Server-side pagination (20 items per page)
  • API: Connects to http://localhost:3000/api
cd admin-app
npm install
npm run dev      # Dev server on port 5173
npm run build    # Production build to dist/

Desktop App (desktop-app/)

Electron wrapper that bundles the API and frontend into a single desktop application.

  • Platforms: Windows (NSIS installer), macOS (DMG), Linux (AppImage)
  • Architecture: Electron main process forks the Express server as a child process, serves the Angular build as static files on the same origin
  • Port: Dynamically assigned (OS picks a free port)

Dev Mode

cd desktop
npm install
npm start

Requires the Angular app to be built first (cd app && npm run build).

Production Build

cd desktop
npm run build          # Builds Angular + copies files
npm run build:win      # Package for Windows
npm run build:mac      # Package for macOS
npm run build:linux    # Package for Linux

Installers are output to desktop/dist/.

Requirements

  • Node.js 20+
  • Python 3.x with setuptools (for native module compilation)
  • C++ build tools (Visual Studio Build Tools on Windows, Xcode CLI on macOS, build-essential on Linux)

Disclaimer

This project is for educational purposes only. I am not responsible for how it is used. Users are solely responsible for ensuring their use of this software complies with all applicable laws and regulations in their jurisdiction.

About

A full-stack streaming platform built with Angular, Express.js, and Electron. Content is streamed in real-time from torrent magnet links using WebTorrent, with no need to download files beforehand.

Topics

Resources

License

Stars

Watchers

Forks