Skip to content

Latest commit

 

History

History
87 lines (66 loc) · 3.21 KB

File metadata and controls

87 lines (66 loc) · 3.21 KB

FuckNetflix

Desktop torrent streaming app — paste a magnet link or search for movies/shows, then stream or download. No subscriptions, no DRM.

Built with Electron, WebTorrent, mpv, and a React UI.

Features

  • Stream or download — Add a magnet link and play in the built-in player, or save for later
  • Search — Find movies and TV shows; get magnet links and pick quality
  • Smart torrent picker — Optional local LLM (SmolLM2) suggests the best torrent for your display and preferences
  • Subtitles — Search and attach subtitles to playback
  • Download manager — Queue downloads, pause/resume, play completed files
  • mpv playback — Hardware-accelerated video via bundled mpv

Prerequisites

  • Node.js 18+ (see .nvmrc for recommended version)
  • mpv — Fetched automatically for your platform via npm run download:mpv (or use your system mpv)

Quick start

# Clone and install
git clone https://github.com/drPod/FuckNetflix.git
cd FuckNetflix
npm install

# Build the React frontend
npm run build:renderer

# (Optional) Download mpv for your platform
npm run download:mpv -- --current

# Run the app
npm start

Optional: LLM torrent selector

The app can use a small local model (SmolLM2) to recommend which torrent to pick (resolution, seeders, codec, etc.). It’s optional; you can always choose manually.

  1. Download a compatible GGUF model (e.g. SmolLM2 360M Instruct Q8) and place it in:
    binaries/models/smollm2-360m-instruct-q8_0.gguf
    
  2. Model files are not in the repo (too large for GitHub). Get them from Hugging Face or the SmolLM2 repo.
  3. If the model is missing, the app falls back to manual selection.

Scripts

Script Description
npm start Run the Electron app (build renderer first)
npm run build:renderer Build the React UI with Vite
npm run dev:renderer Run Vite dev server for frontend-only work
npm run download:mpv Download mpv for all supported platforms
npm run download:mpv -- --current Download mpv for current platform only
npm run build Build renderer + create distributable (DMG/NSIS/AppImage)
npm run build:mac macOS build
npm run build:win Windows build
npm run build:linux Linux build

Project layout

├── main.js              # Electron main process
├── preload.js           # Preload bridge (exposes API to renderer)
├── renderer.js          # Loads the built React app
├── src/
│   ├── renderer/        # React app (Vite + React)
│   ├── tmdb-service.js  # TMDB metadata/search
│   ├── llm-torrent-selector.js  # Optional LLM-based torrent picker
│   ├── mpv-controller.js # mpv control
│   └── ...
├── binaries/
│   ├── mpv/             # Platform-specific mpv (downloaded by script)
│   └── models/          # Optional GGUF models (not in repo)
└── scripts/
    └── download-mpv.js  # MPV download script

For renderer ↔ main integration, see RENDERER_INTEGRATION.md.

License

MIT — see LICENSE.