Skip to content
henrypan16Public

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

Quantum - A modern qBittorrent UI

Quantum is an alternative web interface for qBittorrent, built to manage thousands of torrents at once and stay responsive under heavy load.

The latest release, v2.0.0, is available on the releases page.

What works today

  • Sign in: sessions carry over between visits, and passwords are never stored
  • Torrent list: updates every second, with column sorting, name search, filters that take several values with live totals, and a choice of columns. Only the rows on screen are drawn, so 10,000 torrents stay smooth
  • Saved views: columns, sort and filters are kept on the server and follow you between devices, along with any views you save
  • Batch actions: select several torrents to pause, resume, delete, recheck, reannounce or force start
  • Adding torrents: from files, magnet links or URLs, with save path, category, tags and a preview of the files
  • Organising: assign and manage categories and tags, rename torrents, edit comments and move data
  • Limits: per-torrent speed and share limits, torrent options, queue order, and focus seeding on chosen torrents
  • Detail tabs: general information, trackers, peers, files and HTTP sources, with editing
  • Actions: labelled toolbar buttons for the common actions, a pause or resume button on every row, and right-click menus on torrents, files, trackers, HTTP sources and peers
  • Global controls: a status bar with speeds, connection and free space, quick speed limits, and stop-all and start-all
  • Themes: a light and dark mode switch, which starts from your system setting
  • Settings: qBittorrent's preferences, searchable, with a folder picker and network interface choices, plus a log viewer, an About page and a shutdown button
  • Mobile: torrents become cards, details open as a sheet, and dialogs and menus sit within reach of a thumb

Quantum reaches 87 of the 132 qBittorrent API endpoints. Search, RSS and the torrent creator are still to come. See the roadmap for the full list, the planned order and the performance targets.

Goals

  1. Scalable torrent management: handle large numbers of torrents, with batch operations and automated management
  2. Modern interface: a clean, responsive UI that works across devices
  3. Advanced filtering and sorting: find torrents by status, size, peers and more
  4. Performance: use minimal resources, even with a very long torrent list
  5. Customization: settings that let users tailor the interface
  6. Advanced seeding: focus seeding on selected torrents, and automatically limit speed for low-priority ones

Compatibility

Quantum targets the qBittorrent 5 Web API, and has been tested against a running 5.3.0 client (Web API 2.16.2). It relies on endpoints added in 5.0, such as torrents/stop and torrents/start, so qBittorrent 4.x will not work.

Development

You need Node.js and a qBittorrent client with its WebUI enabled.

  1. Install the dependencies:

    npm install
  2. If qBittorrent is not at http://localhost:8080, create a .env.local file with its WebUI address:

    QBT_URL=http://192.168.0.20:8080
  3. Start the dev server:

    npm run dev
Command Purpose
npm run dev Start the dev server
npm run build Type-check and build for production
npm run lint Run ESLint
npm run format Format the code with Prettier
npm test Run the interface tests in watch mode

Testing

npm test

The interface tests run the real app in a simulated browser against an in-memory fake of the qBittorrent API (src/test/fakeQbittorrent.ts), so no qBittorrent client is needed. Any request the fake does not handle fails the test, so tests never reach the network.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages