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.
torrent-streamer/
api/ Backend API server
web-app/ Frontend Angular app
admin-app/ Admin dashboard (React)
desktop-app/ Electron desktop app
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/Express.js v5 backend with SQLite databases.
- Runtime: Node.js (ES Modules)
- Database: SQLite via better-sqlite3
bitflix.db— movies, series, episodes, genres, magnetsusers.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.jsAngular 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:3000in 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/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/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)
cd desktop
npm install
npm startRequires the Angular app to be built first (cd app && npm run 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 LinuxInstallers are output to desktop/dist/.
- 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)
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.









