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.
- What it is
- Swarm Switch
- Choose what to install
- Start the server
- Project and performance status
- Research and results
- Before using a real library
- Development
- Support and license
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.
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.
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.
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.
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.
- Current comparison summary · full report and 15 verified runs
- Exact comparison configuration and reproduction notes
- Linux NOWAIT seed-read experiment — promising one-pass CPU/RAM reductions; remains opt-in and still above rTorrent.
- Performance research index — best measured configurations, exact configs, discussion, gains, losses, and reverts
- Historical performance ledger
- Archived detailed benchmark results
- Benchmark how-to
- Astra architecture review
- PR #233 native-engine performance work · PR #235 comparison tooling and evidence
- Backend performance claims audit · performance-scale claims audit
- Documentation index
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.
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.
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.
