Privacy enhanced BitTorrent client with P2P content discovery
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
V.G. Bulavintsev ae90fda272 Hide torrent count when no count info available 2 hours ago
.github ISSUE_TEMPLATE: reorder sections a bit 3 years ago
.sonar Removed six 1 year ago
build Replace "devel" by "main" 2 weeks ago
doc Replace "main" by "latest" for links 1 week ago
experiment Use mds instead of metadata_store 2 months ago
src Hide torrent count when no count info available 1 hour ago
.coveragerc Removed Dispersy and related code 2 years ago
.flake8 Adjust pre-commit and .gitignore 1 year ago
.gitignore Add xinerama as debian depenedency 2 months ago
.gitmodules Removed AnyDex 4 months ago
.isort.cfg Merge branch 'release-7.5' into devel 8 months ago
.pre-commit-config.yaml Fix broken pre-commit on Mac 2 months ago
.pylintrc Disable W1203 4 months ago Added sonarcloud properties 1 year ago
COPYING.LESSER Update LGPL license to v3 and have it also apply to TriblerGUI 4 years ago
LICENSE Remove the byte-order-mark 2 years ago
README.rst Replace "main" by "latest" for links 1 week ago
binary-LICENSE-postfix.txt Renamed main dirs 1 year ago
pyproject.toml Refactor RemoteQueryCommunity into a base class 3 months ago
pytest.ini Improved debugging of anon tunnel tests 5 months ago
release_key.gpg Updated gpg release key 10 months ago
tribler.spec Add Pillow as hidden dependency 1 month ago



|jenkins_build| |docs| |contributors| |pr_closed| |issues_closed| |downloads_7_0| |downloads_7_1| |downloads_7_2| |downloads_7_3| |downloads_7_4| |downloads_7_5| |doi| |openhub|

*Towards making Bittorrent anonymous and impossible to shut down.*

We use our own dedicated Tor-like network for anonymous torrent downloading. We implemented and enhanced the *Tor protocol specifications* plus merged them with Bittorrent streaming. More info:
Tribler includes our own Tor-like onion routing network with hidden services based seeding and end-to-end encryption, detailed specs:

The aim of Tribler is giving anonymous access to online (streaming) videos. We are trying to make privacy, strong cryptography and authentication the Internet norm.

Tribler currently offers a Youtube-style service. For instance, Bittorrent-compatible streaming, fast search, thumbnail previews and comments. For the past 11 years we have been building a very robust Peer-to-Peer system. Today Tribler is robust: "the only way to take Tribler down is to take The Internet down" (but a single software bug could end everything).

**We make use of submodules, so remember using the --recursive argument when cloning this repo.**

Obtaining the latest release

Just click `here <>`__ and download the latest package for your OS.

Obtaining support

If you found a bug or have a feature request, please make sure you read `our contributing page <>`_ and then `open an issue <>`_. We will have a look at it ASAP.


Contributions are very welcome!
If you are interested in contributing code or otherwise, please have a look at `our contributing page <>`_.
Have a look at the `issue tracker <>`_ if you are looking for inspiration :).

Running Tribler from the repository

First clone the repository:

.. code-block:: bash

git clone --recursive

Second, install the `dependencies <doc/development/development_on_linux.rst>`_.

Setting up your development environment

We support development on Linux, macOS and Windows. We have written
documentation that guides you through installing the required packages when
setting up a Tribler development environment.

* `Linux <>`_
* `Windows <>`_
* `macOS <>`_


Now you can run tribler by executing the ```` script on the root of the repository:

.. code-block:: bash


On Windows, you can use the following command to run Tribler:

.. code-block:: bash


Packaging Tribler

We have written guides on how to package Tribler for distribution on various systems. Please take a look `here <>`_.

Submodule notes

- As updated submodules are in detached head state, remember to check out a branch before committing changes on them.
- If you forgot to check out a branch before doing a commit, you should get a warning telling you about it. To get the commit to a branch just check out the branch and do a git cherry-pick of the commit.
- Take care of not accidentally committing a submodule revision change with ``git commit -a``.
- Do not commit a submodule update without running all the tests first and making sure the new code is not breaking Tribler.

.. |jenkins_build| image::
:alt: Build status on Jenkins

.. |pr_closed| image::
:alt: Pull Requests

.. |issues_closed| image::
:alt: Issues

.. |openhub| image::

.. |downloads_7_0| image::
:alt: Downloads(7.0.2)

.. |downloads_7_1| image::
:alt: Downloads(7.1.3)

.. |downloads_7_2| image::
:alt: Downloads(7.2.2)

.. |downloads_7_3| image::
:alt: Downloads(7.3.2)

.. |downloads_7_4| image::
:alt: Downloads(7.4.1)

.. |downloads_7_5| image::
:alt: Downloads(7.5.1)

.. |contributors| image::
:alt: Contributors

.. |doi| image::
:alt: DOI number

.. |docs| image::
:alt: Documentation Status