Experimental preview for Windows

One torrent.
Two ways in.

qBitFusion is a fork of qBittorrent 5.3 that downloads a torrent from your debrid account over HTTPS and from BitTorrent peers, and checks every piece against the torrent's own hashes.

The qBitFusion main window with three torrents: one seeding, two downloading. The Source column shows BitTorrent for two and HTTPS · Real-Debrid for one.
Real downloads of Creative Commons films. The "HTTPS · Real-Debrid" source shown for one of them is staged, because the demo files were not on a debrid account.

The idea

A debrid service already holds a copy of the files. The usual way to use one is a separate downloader, and the files you get are cut off from the torrent. qBitFusion makes the provider one more source for the torrent itself. It requests byte ranges, builds them into pieces, and hands each piece to libtorrent, which checks it the same way it checks a piece from a peer.

How it works

Choose a source per torrent.
Change it whenever you like.

HTTPS · Real-Debrid
BitTorrent peers
0 of 240 pieces verified
  • From HTTPS
  • From peers
  • Downloading
  • Failed hash check

An illustration, not a recording. Piece counts and timings are made up.

Debrid preferred, BitTorrent fallback

HTTPS for what the provider has, peers for the rest. Here the provider is missing one file, so those pieces come from the swarm. Falling back asks you first, because peers see your IP address.

Features

The provider is a source.
libtorrent stays in charge.

Verified, piece by piece.

Provider data is checked against the torrent's hashes before it counts. Data that doesn't match is thrown away and fetched again.

0verified pieces lost

Progress survives a switch.

Verified pieces are kept when the source changes. A provider outage doesn't restart the download.

Coverage, decided per piece.

If the provider has only some of a torrent's files, it supplies the pieces it fully covers. Peers can do the rest.

It says where data comes from.

A Source column shows each torrent's source and, when it isn't the provider, why.

Tokens stay in Windows.

Provider credentials live in the Windows Credential Manager. Tokens and signed links are kept out of settings files and logs.

Switched off, it's qBittorrent.

With the hybrid feature off, behavior matches qBittorrent's. It keeps its own profile and runs alongside a stock install without touching it.

Interface

qBittorrent, quieter.

A single header replaces the menu bar and toolbar, and every function is still there. Light and dark schemes follow the system, and the classic look is one switch away.

Pick an accent, like you can in the app:

Status

What's been tested.
And what hasn't yet.

Test suites passing on Windows
32
Of them on the hybrid code, end to end
10
Real debrid accounts it has run against
1
Over HTTPS in that one live run
~10 MiB/s

Platforms

Built and tested on Windows 11 only (MSVC, Qt 6.10.3, libtorrent 2.1.2). Linux and macOS have never been compiled.

Providers

Real-Debrid only. Torrents that are v2-only can't use it.

Not yet seen live

Several selected files in one torrent, a link expiring mid-transfer, OAuth token refresh, and adding a torrent to the account from the app.

Privacy

"Debrid only makes no swarm connections" is enforced in code and tested at the API level, but not yet confirmed with a packet capture. Your provider still knows what you download.

Debrid only

If the provider lacks part of a torrent, the download stops near the end and says so. It doesn't warn you at the start.

Speed

Four parallel HTTPS requests per torrent by default. Whether that holds back fast connections hasn't been measured.

Statistics

"Downloaded" and session totals count only bytes from peers. Progress, speed and ETA are correct.

Web UI and Web API

No way to see or set the download source.

Translations

New text is in English only.

Distribution

A portable zip that updates itself. No installer and no code signing yet, so Windows SmartScreen warns on first start.

Updates

The updater can't yet roll back a version that installs fine and then fails to start. An upstream release that merges cleanly and passes the tests ships without anyone looking, and the tests don't download from a real provider.

Read the detailed status

Contribute

Built in the open.
Help wanted.

Most of the limitations above are open work. These are self-contained enough for a pull request, roughly smallest first.

  1. Count HTTPS bytes in the download totalssrc/base/bittorrent/torrentimpl.cpp
  2. Warn at the start when "Debrid only" can't finishsrc/base/hybrid/hybridcoordinator.cpp
  3. Interface clean-up and a pass over the light schemesrc/gui/modern/
  4. Measure and tune parallel HTTPS requestsHybrid/MaxHttpPiecesPerTorrent
  5. Another debrid provider, with contract testssrc/base/hybrid/provider.h
  6. Linux and macOS builds, with their credential storessrc/base/hybrid/securestore.cpp
  7. Show and set the source in the Web UI and Web APIsrc/webui/
  8. A packet-level check that "Debrid only" stays off the swarmtest/
  9. An installer and code signing.github/workflows/release.yaml
  10. Roll back an update that fails to startsrc/base/selfupdate/

Try qBitFusion.

For Windows 10 and 11, 64-bit. It's portable and keeps itself up to date. Settings stay in a folder beside the program, and an existing qBittorrent profile is never read or changed.

No preview build has been published yet. Until then, build it from source with Visual Studio 2022, Git, Python 3 and PowerShell 7:

git clone https://github.com/CoderNoel/qBitFusion.git
cd qBitFusion
pwsh qbitfusion/scripts/bootstrap-windows.ps1
pwsh qbitfusion/scripts/install-windows.ps1
Full build instructions

qBitFusion is a download client. Use it for content you have the right to download and within your provider's terms. It doesn't work around provider limits, blocks or takedowns.