Skip to content
snapetech-orgPublic

About

Next-generation torrent client in Rust, with a universally compatible WebUI/API (including backwards compatibility with qbittorrent, rtorrent, transmission, deluge & more).

Topics

Resources

Contributing

Security policy

Stars

14 stars

Watchers

0 watching

Forks

Latest commit

 

History

1,601 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TorrentNG

TorrentNG is a self-hosted torrent manager with a native desktop app, a headless server and browser interface, and a bridge for clients you already run. Your torrents and files stay on the storage you configure; TorrentNG has no hosted account.

TorrentNG showing Linux downloads

Table of contents

What it is

TorrentNG provides one WebUI and automation API for its built-in Engine and supported connections to qBittorrent, rTorrent, Transmission, and Deluge. With an existing client, that client keeps control of transfers and files. With the TorrentNG Engine, TorrentNG manages transfers, storage, and saved state. See the local MCP integration guide for local assistant access.

Swarm Switch

The native Engine's Swarm Switch helps recover a slow private download or keep a torrent available after its private tracker retires it. Compare private tracker reports with a public candidate's DHT peers and seeds, then switch only when that exact candidate proves it has the same content. TorrentNG keeps the original private torrent parked so you can restore it after a fresh file check.

The public candidate has its own infohash and makes its metadata and your peer address public. A comparison is a bounded snapshot, not a swarm census, and a compatible public candidate may not exist. Deleting the retained private copy leaves the public torrent independent; a torrent added as public has no private copy to restore. Swarm Switch is available in the WebUI with the native Engine.

Choose what to install

You normally need one of these:

You want to... Install What it does
Run torrents on this computer as a normal app TorrentNG Desktop Native app for Linux, macOS, and Windows. It bundles the engine and needs no server or Docker.
Run torrents on a home server, NAS, or seedbox TorrentNG Server Headless native engine with WebUI and APIs. Available as Docker images, release binaries, and packages.
Keep your existing torrent client TorrentNG WebUI Bridge Adds the TorrentNG interface and automation API while the existing client continues to manage transfers and files.

Downloads are on the releases page. Find installation details in the Desktop guide, native Engine deployment guide, and WebUI Bridge deployment guide.

Start the server

You need Docker with Docker Compose v2 and OpenSSL. From the repository directory, create a private API token and start the service:

umask 077
printf 'TORRENTNG_API_TOKEN=%s\n' "$(openssl rand -hex 32)" > .env
docker compose --env-file .env -f deploy/native/compose.yml up --build

Open http://localhost:28082. At the login screen, enter the value after TORRENTNG_API_TOKEN= from .env in either field. Keep .env private; the same token is needed if you recreate the container.

The WebUI is local-only by default. Port 44444 is open for BitTorrent peers. To expose the WebUI, configure authenticated HTTPS first; see the Engine deployment guide. Press Ctrl+C to stop. Named volumes keep your downloads and settings. Do not add -v to docker compose down unless you intend to delete those volumes.

Project and performance status

TorrentNG is pre-1.0; settings and APIs can change. The latest comparison against qBittorrent, Transmission, Deluge, and rTorrent used three randomized rounds of local, hash-verified seeding. All 15 transfers passed. The current build is still above rTorrent on CPU and cgroup anonymous memory. It used less anonymous memory than Transmission and Deluge, and was near qBittorrent.

| Client / build | CPU seconds/GiB, whole window ↓ | CPU seconds/GiB, active payload ↓ | Peak cgroup anonymous MiB ↓ | |---|---|---:|---:|---:| | TorrentNG 304a45e (main-equivalent release defaults) | 4.17 | 3.18 | 7.2 | | qBittorrent 5.3.0 | 2.04 | 2.33* | 6.4 | | Transmission 4.1.3 | 2.09 | 1.42 | 17.5 | | Deluge 2.2.0 | 3.22 | 3.22 | 82.8 | | rTorrent 0.16.26 | 1.12 | 0.85 | 3.1 |

These are medians from three rounds. *qBittorrent active CPU was available in two rounds. TorrentNG/rTorrent process-tree PSS medians were 16.5/18.7 MiB, but PSS was unavailable for the other clients and was sampled less often. Anonymous memory is the comparable all-client RAM measure here. The host had sustained I/O pressure, so these are screening results, not a broad ranking or parity qualification.

See the full results and per-round evidence, exact run configuration, and benchmark Compose file.

The best fully repeated optimized candidate is the 2026-10-23 scoped ordered PGO buffered build: 3.409 CPU-s/GiB and 11.525 MiB peak PSS versus rTorrent at 2.439 and 10.533. Its paired ratios were 1.480 for CPU and 1.092 for PSS; it failed the joint parity gate. The frozen candidate config, qualification findings, and Astra review preserve its details. PGO and mapped backing remain opt-in.

Research and results

Before using a real library

Back up client state and downloaded files before importing, moving, or deleting data. Migration starts with a report; review it before using --apply. Imported progress may need a full data check before another client can resume it. See the migration guide and backup and restore guide.

Development

Build the native server with Cargo:

cargo build --release -p torrentngd

The default server build includes the native and qBittorrent APIs. Use the full-compat feature to enable Transmission or Deluge RPC in a direct torrentngd deployment. See configuration and contributing for details.

Run the local security scan with scripts/security-scan-local.sh. The project also runs Semgrep in GitHub Actions.

Support and license

Ask for setup help or report a problem on Discord. For security issues, follow SECURITY.md and do not post them publicly.

Users are responsible for the content they download, seed, or manage and for following applicable laws and licenses.

If TorrentNG is useful to you, support its development on Ko-fi.

TorrentNG is available under AGPL-3.0-or-later OR Commercial. Unless you have a separate signed commercial license, the AGPL applies. See LICENSE and COMMERCIAL-LICENSE.md.

TorrentNG is not affiliated with or endorsed by qBittorrent, rTorrent, Transmission, Deluge, or other projects named in this repository.

About

Next-generation torrent client in Rust, with a universally compatible WebUI/API (including backwards compatibility with qbittorrent, rtorrent, transmission, deluge & more).

Topics

Resources

Contributing

Security policy

Stars

14 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages