# Technical Documentation: qbittorrent/qBittorrent

> ℹ️ **Provenance:** Multi-Tier Ingestion · [CodeWiki Reference](https://codewiki.google/github.com/qbittorrent/qBittorrent)

### Overview (`README.md`)

# qBittorrent - A BitTorrent client in Qt

[](https://github.com/qbittorrent/qBittorrent/actions)

qBittorrent is a [BitTorrent] client programmed in C++ / Qt that uses
[libtorrent] (sometimes called libtorrent-rasterbar) by Arvid Norberg.

It aims to be a good alternative to all other BitTorrent clients
out there. qBittorrent is fast, stable and provides Unicode
support as well as many features.

The free [IP to Country Lite database] by [DB-IP] is used for resolving the countries of peers.
The database is licensed under the [Creative Commons Attribution 4.0 International License].

[BitTorrent]: https://en.wikipedia.org/wiki/BitTorrent
[Creative Commons Attribution 4.0 International License]: https://creativecommons.org/licenses/by/4.0/
[DB-IP]: https://db-ip.com/
[IP to Country Lite database]: https://db-ip.com/db/download/ip-to-country-lite
[libtorrent]: https://libtorrent.org/

## Installation

Refer to the [INSTALL] file.

[INSTALL]: INSTALL

## License

Refer to the [COPYING] file.

[COPYING]: COPYING

## PGP Public Key

Starting from v3.3.4 all source tarballs and binaries are signed. \
The key currently used is 4096R/[5B7CC9A2](https://pgp.mit.edu/pks/lookup?op=get&search=0x6E4A2D025B7CC9A2) with fingerprint `D8F3DA77AAC6741053599C136E4A2D025B7CC9A2`. \
You can also [download it](https://github.com/qbittorrent/qBittorrent/raw/master/5B7CC9A2.asc). \
**PREVIOUSLY** the following key was used to sign the v3.3.4 source tarballs and v3.3.4 Windows installer **only**: 4096R/[520EC6F6](https://pgp.mit.edu/pks/lookup?op=get&search=0xA1ACCAE4520EC6F6) with fingerprint `F4A5FD201B117B1C2AB590E2A1ACCAE4520EC6F6`.

## Misc

For more information please visit:
<https://www.qbittorrent.org>

Check out our wiki at:
<https://wiki.qbittorrent.org>

Use the forum for troubleshooting before reporting bugs:
<https://forum.qbittorrent.org>

Please report any bug (or feature request) to:
<https://bugs.qbittorrent.org>

Official IRC channel:
[#qbittorrent on irc.libera.chat](ircs://irc.libera.chat:6697/qbittorrent)

-----------------------------------------------------

sledgehammer999 \<<sledgehammer999@qbittorrent.org>\>

---

### Overview (`doc/README.md`)

# qBittorrent man pages

Our man pages are written in Markdown format (.md) and we use [Pandoc](https://pandoc.org/) to
convert them to roff (the man page format).
Refer to [Pandoc's Markdown](https://pandoc.org/MANUAL.html#pandocs-markdown) for info
on that specific format.

To build the man pages:

```shell
pandoc -s -f markdown -t man qbittorrent.1.md -o qbittorrent.1
pandoc -s -f markdown -t man qbittorrent-nox.1.md -o qbittorrent-nox.1
```

There is also an [online converter] you can use if you have trouble installing a local one. \
You'll need to be careful when you copy the output to file as some headers will be missing.
Careful not to overwrite the existing leading headers or trim off the trailing headers.

Remember to commit Markdown files (\*.md) and the generated man pages (\*.1 files) after editing!

[online converter]: https://pandoc.org/try/?params=%7B%22to%22%3A%22man%22%2C%22from%22%3A%22markdown%22%2C%22standalone%22%3Atrue%7D

## Translation

To translate the man pages into a new language, create a new subdirectory here
with the translated files and add it to the `manPageLanguages` list in
[`dist/unix/CMakeLists.txt`](../dist/unix/CMakeLists.txt).

---

### Overview (`test/Readme.md`)

# Test suite

To run tests, add `-DTESTING=ON` argument when invoking cmake, then build the app as usual. \
After building, run `cmake --build <build> --target check` where `<build>` is your cmake build directory.

---

### Overview (`src/icons/README.md`)

# qBittorrent Icons

## Color Reference

It is recommended to use color from the following source: [Primer primitives colors](https://primer.style/primitives/colors).

More information: <https://primer.style/design/foundations/color>

---

### Overview (`src/searchengine/README.md`)

# Search Engine

The search functionality is under internal review and is expected to undergo major refactor in the near future. \
Therefore we will only accept patches that fix major bugs. Other minor changes, refactors will be declined.

---

### Overview (`src/searchengine/nova3/README.md`)

# nova3 Engine

## Development Workflow

0. Prerequisite

   * A Linux-like environment
   * [Python](https://www.python.org/) installed
   * [uv](https://docs.astral.sh/uv/) installed

1. Setup development environment

   1. Setup virtual environment and dependencies

      ```shell
      uv sync
      ```

   2. Activate virtual environment

      ```shell
      source .venv/bin/activate
      ```

2. Run type check

   ```shell
   just check
   ```

3. Run static analyzer

   ```shell
   just lint
   ```

4. Apply formatting

   ```shell
   just format
   ```

## References

* [How to write a search plugin](https://github.com/qbittorrent/search-plugins/wiki/How-to-write-a-search-plugin)
* [just - Command runner](https://just.systems/man/en/)
* [uv - Python package and project manager](https://docs.astral.sh/uv/)

---

### Overview (`src/webui/www/README.md`)

# qBittorrent WebUI

## Browser compatibility

The upper bound will always be the latest stable release.

| Browser        | Lower bound                                            |
| -------------- | ------------------------------------------------------ |
| Chrome         | [The release from 1 year ago][Chrome-lower-bound-link] |
| Firefox        | [Latest active ESR release][Firefox-ESR-link]          |
| Microsoft Edge | [The release from 1 year ago][MSEdge-lower-bound-link] |
| Safari         | [The release from 1 year ago][Safari-lower-bound-link] |

[Supported browsers table](https://browsersl.ist/?results#q=Chrome+%3E+0+and+last+1+year%0AEdge+%3E+0+and+last+1+year%0AFirefox+ESR%0ASafari+%3E+0+and+last+1+year)

[Chrome-lower-bound-link]: https://browsersl.ist/?results#q=Chrome+%3E+0+and+last+1+year
[Firefox-ESR-link]: https://browsersl.ist/?results#q=Firefox+ESR
[MSEdge-lower-bound-link]: https://browsersl.ist/?results#q=Edge+%3E+0+and+last+1+year
[Safari-lower-bound-link]: https://browsersl.ist/?results#q=Safari+%3E+0+and+last+1+year

## Notices

* The [MooTools library][mootools-home] has seen [little maintenance][mootools-code-frequency] and therefore
  its usage is [discouraged][mootools-deprecate]. \
  New code should prefer vanilla JavaScript and resort to MooTools only if necessary. \
  See also: [CVE-2021-20088](https://cve.mitre.org/cgi-bin/cvename.cgi?name=2021-20088)

[mootools-home]: https://mootools.net/
[mootools-code-frequency]: https://github.com/mootools/mootools-core/graphs/code-frequency
[mootools-deprecate]: https://github.com/mootools/mootools-core/issues/2798

---

### Doc En Qbittorrent Nox.1 (`doc/en/qbittorrent-nox.1.md`)

% QBITTORRENT-NOX(1) Command line Bittorrent client written in C++ / Qt
%
% August 2026

# NAME
qBittorrent-nox - a command line Bittorrent client written in C++ / Qt


# SYNOPSIS
**qbittorrent-nox** `[options] [(<filename> | <url>)...]`

**qbittorrent-nox** `--help`

**qbittorrent-nox** `--version`


# DESCRIPTION
**qBittorrent-nox** is an advanced command-line Bittorrent client written in C++ / Qt
using the **libtorrent-rasterbar** library by Arvid Norberg.
qBittorrent-nox aims to be a good alternative to other command line bittorrent
clients and provides features similar to popular graphical clients.

qBittorrent-nox is fast, stable, light and it supports Unicode. It also comes with
UPnP port forwarding / NAT-PMP, encryption (Vuze compatible), FAST extension (mainline)
and PeX support (utorrent compatible).

qBittorrent-nox is meant to be controlled via its feature-rich Web UI which is
accessible by default at http://localhost:8080. The default WebUI administrator
user name is "admin". If no password has been set, a temporary random password is
generated and printed to the console on each startup; you should set your own
password in the program preferences.


# OPTIONS
**`-h | --help`** Display this help message and exit.

**`-v | --version`** Display program version and exit.

**`--confirm-legal-notice`** Confirm the legal notice.

**`--webui-port=<port>`** Change the WebUI port.

**`--torrenting-port=<port>`** Change the torrenting port.

**`-d | --daemon`** Run in daemon-mode (background).

**`--profile=<dir>`** Store configuration files in `<dir>`.

**`--configuration=<name>`** Store configuration files in directories qBittorrent_`<name>`.

**`--relative-fastresume`** Hack into libtorrent fastresume files and make file paths
relative to the profile directory.

**`(<filename> | <url>)...`** Download the torrents passed by the user.


## Options when adding new torrents
**`--save-path=<path>`** Torrent save path.

**`--add-stopped=<true|false>`** Add torrents as running or stopped.

**`--seed-mode`** Seed mode.

**`--category=<name>`** Assign torrents to category. If the category doesn't exist,
it will be created.

**`--sequential`** Download files in sequential order.

**`--first-and-last`** Download first and last pieces first.

**`--skip-dialog=<true|false>`** Specify whether the "Add New Torrent" dialog opens
when adding a torrent.


# ENVIRONMENT
Option values may be supplied via environment variables. For an option named
'parameter-name', the environment variable name is 'QBT_PARAMETER_NAME' (upper
case, with '-' replaced by '_'). To pass flag values, set the variable to '1' or
'TRUE'. For example, to change the WebUI port:

    QBT_WEBUI_PORT=8081 qbittorrent-nox

Command line parameters take precedence over environment variables.


# BUGS
If you find a bug, please report it at https://bugs.qbittorrent.org


# AUTHORS
Christophe Dumez <chris@qbittorrent.org>.

---

### Doc En Qbittorrent.1 (`doc/en/qbittorrent.1.md`)

% QBITTORRENT(1) Bittorrent client written in C++ / Qt
%
% August 2026

# NAME
qBittorrent - a Bittorrent client written in C++ / Qt


# SYNOPSIS
**qbittorrent** `[options] [(<filename> | <url>)...]`

**qbittorrent** `--help`

**qbittorrent** `--version`


# DESCRIPTION
**qBittorrent** is an advanced Bittorrent client written in C++ / Qt,
using the **libtorrent-rasterbar** library by Arvid Norberg. qBittorrent is similar to uTorrent.
qBittorrent is fast, stable, light, it supports Unicode and it provides a good integrated
search engine. It also comes with UPnP port forwarding / NAT-PMP, encryption (Vuze compatible),
FAST extension (mainline) and PeX support (utorrent compatible).


# OPTIONS
**`-h | --help`** Display this help message and exit.

**`-v | --version`** Display program version and exit.

**`--confirm-legal-notice`** Confirm the legal notice.

**`--webui-port=<port>`** Change the WebUI port.

**`--torrenting-port=<port>`** Change the torrenting port.

**`--no-splash`** Disable splash screen.

**`--profile=<dir>`** Store configuration files in `<dir>`.

**`--configuration=<name>`** Store configuration files in directories qBittorrent_`<name>`.

**`--relative-fastresume`** Hack into libtorrent fastresume files and make file paths
relative to the profile directory.

**`(<filename> | <url>)...`** Download the torrents passed by the user.


## Options when adding new torrents
**`--save-path=<path>`** Torrent save path.

**`--add-stopped=<true|false>`** Add torrents as running or stopped.

**`--seed-mode`** Seed mode.

**`--category=<name>`** Assign torrents to category. If the category doesn't exist,
it will be created.

**`--sequential`** Download files in sequential order.

**`--first-and-last`** Download first and last pieces first.

**`--skip-dialog=<true|false>`** Specify whether the "Add New Torrent" dialog opens
when adding a torrent.


# ENVIRONMENT
Option values may be supplied via environment variables. For an option named
'parameter-name', the environment variable name is 'QBT_PARAMETER_NAME' (upper
case, with '-' replaced by '_'). To pass flag values, set the variable to '1' or
'TRUE'. For example, to disable the splash screen:

    QBT_NO_SPLASH=1 qbittorrent

Command line parameters take precedence over environment variables.


# BUGS
If you find a bug, please report it at https://bugs.qbittorrent.org


# AUTHORS
Christophe Dumez <chris@qbittorrent.org>.

---

### Doc Ru Qbittorrent Nox.1 (`doc/ru/qbittorrent-nox.1.md`)

% QBITTORRENT-NOX(1) Клиент сети БитТоррент для командной строки
%
% 16 января 2010

# НАЗВАНИЕ
qBittorrent-nox — клиент сети БитТоррент для командной строки.


# АВТОРЫ
Christophe Dumez <chris@qbittorrent.org>.

---

### Doc Ru Qbittorrent.1 (`doc/ru/qbittorrent.1.md`)

% QBITTORRENT(1) Клиент сети БитТоррент
%
% 16 января 2010

# НАЗВАНИЕ
qBittorrent — клиент сети БитТоррент.


# АВТОРЫ
Christophe Dumez <chris@qbittorrent.org>.

---

--- METRICS ---
- Files Extracted: 11
- Estimated Token Budget: ~3186 tokens
- Canonical Reference: https://codewiki.google/github.com/qbittorrent/qBittorrent
