Apache-2.0 · macOS, Windows & Linux · Rust and Tauri

Know whether it will finish.

A BitTorrent client with everything the old reliables do — and an interface built this decade. Flume reads what every connected peer actually holds, and answers the question underneath the progress bar: is every piece you still need out there, and what is holding the transfer back?

Live, at the rate the app itself updates. Not a screenshot.

Why another client

The protocol was solved twenty years ago. The experience wasn't.

The clients most people run were written when BitTorrent was new, and it shows — in interfaces that predate the retina display, in settings panels with eleven tabs, and in defaults that assume you already know what a bitfield is. They are dependable, and they earned that reputation honestly.

Flume's bet is that the engine is the solved part. librqbit already handles DHT, the peer protocol and piece management well, so all of the effort goes into the part nobody finished: making the thing legible while it runs.

The part that is new

A progress bar tells you where you are. It does not tell you whether you will arrive.

Forty peers who all stopped at the same 6% will never finish your download. Six peers who between them hold every piece will. A peer count cannot tell those apart, and neither can an ETA extrapolated from the last thirty seconds.

Flume asks each connected peer for its bitfield and works out the rarest piece in the swarm — the minimum, not the average. Two peers holding 500 pieces each might overlap completely or not at all. Only one of those torrents can finish.

And when there is nothing to judge from — peers connected, but no bitfields received yet — it says Connected rather than picking a verdict. A confident wrong answer is worse than an honest blank.

The piece map

Progress hides shape.

Sixty percent with a solid head and an empty tail is downloading in order. Sixty percent scattered evenly is pulling rarest-first. The upper strip shows which is happening.

The lower strip is the one that warns you. It counts how many connected peers hold each region, and a tail that thins toward the right is a torrent heading for a stall. A region no peer holds is drawn full height in red — taller than anything else on the strip, so a glance cannot miss it.

It does not count you, because the question it answers is whether the swarm can finish your download. Once a torrent completes the strip disappears: the question has been answered.

What is limiting this download

  • Your download cap6.6 / 6.6 MB/sBinding — raising it in Settings will help
  • Peer upload11.2 MB/s
  • Piece availability1 copy min
  • Disk write queueNot measured

At most one constraint is marked as binding, with a sentence saying whether changing a setting would help. If nothing is binding, nothing is marked.

Switching

Bring your library with you.

On first run Flume looks for Transmission, qBittorrent and Deluge on your machine and offers to take their torrents over — including where each one was saving to.

Nothing is downloaded twice. The engine is handed the original save path, hashes what is already on disk, and keeps every piece that verifies. A library that took a week to build transfers in the time it takes to check it.

It does not pretend to bring across what it cannot. Categories and seeding rules are left behind rather than silently dropped, because Flume has nowhere to put them.

  • Transmission47 torrentsTake over
  • qBittorrent12 torrentsTake over
  • DelugeNot found

Parity

Everything you'd expect, and nothing you wouldn't.

A modern interface is not worth much if it costs you the features you actually use. Every line below is in the shipping build.

Sequential download is not in that list. It is not implementable against librqbit v9, whose file-priority type is private, and it is tracked in the open rather than implied. Flume also has no RSS automation, no chat, and no bundled search — those are omissions by choice.

The craft

Modern is a set of decisions, not a coat of paint.

Built for downloading Linux ISOs.

Ubuntu, Debian, Fedora, Rocky, AlmaLinux — and seeding them back, which distro mirrors genuinely need.