Sign In

Welcome! Log into your account

Forgot your password?

Create an account

Sign Up

Welcome! Register for an account

A password will be e-mailed to you.

Password Recovery

Recover your password

A password will be e-mailed to you.

Available for:

Tribler 7.12.0 RC1 / Tribler 7.11.0 – Stable Free p2p Client

Tribler 7.12.0 RC1 / Tribler 7.11.0 – Stable Free p2p Client
Download FreeDownload

Tribler is an open source peer-to-peer client with various features for watching videos online. The user interface is very basic and focused on ease of use, instead of including features.

This program is based on the BitTorrent protocol and uses an overlay network for content searching. Due to this overlay network Tribler does not require an external website or indexing service to discover content.

Tribler was created by university researchers trying to improve peer-to-peer technology. The application enhances BitTorrent by removing the need for central elements such as the websites for finding content. The aim is to increase performance, reliability, and scalability.

Tribler Features:

  • Anonymity. Anonymous downloads with strong encryption, onion routing and hidden seeding. Uses a custom Tor-like network.
  • User interface. Check out our general user interface and other screenshots. We try to make sharing easy and accessible.
  • No websites. The application ncludes search. You can find a lot of videos without any web site. We try to make Tribler impossible to censor and hard to kill.
  • Open Source. Tribler is Open Source and non-profit.
  • Streaming. This app can play your videos. You can watch even before the download is finished.

The main features include: video-only searching, experimental video streaming, and an integrated video player. The SwarmPlayer which is a Python based BitTorrent Internet TV viewer. It allows you to watch BitTorrent-hosted peer-to-peer digital media distribution of video on demand and plays live streaming media.

Tribler adds keyword search ability to the BitTorrent file download protocol using a gossip protocol. That is somewhat similar to the eXeem network which was shut down in 2005.

After a dozen downloads this software can roughly estimate the download taste of the user and recommends content. This feature is based on collaborative filtering, also featured on websites such as and

Another feature is a limited form of social networking and donation of upload capacity. Tribler includes the ability to mark specific users as online friends. Such friends allows to increase the download speed of files by using their upload capacity. Due to these features this software differs from other popular BitTorrent clients such as Vuze and ╬╝Torrent.

Changes in Tribler 7.12.0 RC1:


  • The main feature of this release is the auto-generation of torrent tags from torrent titles that work in the background.
  • Also, the release contains numerous bug fixes.
  • The Tribler codebase was significantly refactored to make further development faster.


  • Tags auto generation by @drew2a in #6718
  • Local search for tags by @drew2a in #6617
  • Remote search by tags by @drew2a in #6708
  • Add docker support by @xoriole in #6715, #6773


  • Fix processing URL-escaped characters by @drew2a in #6738
  • Make sorting by name case insensitive by @kozlovsky in #6726
  • Remove allow_exit_node_checkbox by @drew2a in #6736
  • Customise categories for different pages by @drew2a in #6554
  • Add exist_ok=True to mkdir by @drew2a in #6560
  • Replace core_traceback by last_core_output by @drew2a in #6567
  • Fixes for Tribler logger by @kozlovsky in #6585
  • Fix api_key encoding/decoding by @kozlovsky in #6608, #6611, #6613, #6647
  • Fix key error on metainfo fetch by @xoriole in #6610
  • Fixes for GUI startup sequence by @ichorid in #6596
  • Fixes #6665 – Graph can now go higher than TB. New PB Definition added. by @Joybuke in #6666
  • Feature/report endpoint errors by @ichorid in #6649
  • Set the correct range for Y-axis of the token balance graph by @kozlovsky in #6668
  • Update Russian translation by @adem4ik in #6710
  • Fix missing XML declaration by @overflw in #6703
  • Swapped ‘cancel’ and ‘download’ buttons by @devos50 in #6727
  • Decrease show threshold for tags by @drew2a in #6742
  • Fixes #6747: OSError “The filename, directory name, or volume label syntax is incorrect” in dragEnterEvent by @kozlovsky in #6748
  • Fixes #6745: Missed dependency: PopularityComponent requires TorrentCheckerComponent to be active by @kozlovsky in #6746
  • Fixes AttributeError on removing downloads by @xoriole in #6909
  • Handle race condition when deleting lock file by @kozlovsky in #6776
  • Fix Ubuntu 21.04+ startup issue by @xoriole in #6734
  • Fixes #6777: suppress PermissionError in on_save_resume_data_alert by @kozlovsky in #6779
  • Add null check to confirm_clicked_callback by @drew2a in #6798
  • Handle OSError in TriblerWindow.clicked_force_shutdown() by @kozlovsky in #6816
  • Handle ValueError “Data is not a bencoded string” in TorrentInfoEndpoint.get_torrent_info() by @kozlovsky in #6814
  • Wrap Download.on_metadata_received_alert() with @check_handle decorator by @kozlovsky in #6818
  • Fix a crash in the Events tab of the Debug pane by @kozlovsky in #6809
  • Escape non-ASCII symbols when writing the tag value to the log by @kozlovsky in #6812
  • Handle possible duplicates in random tags generated by tag_torrent by @kozlovsky in #6820
  • Add missed arguments to RunTriblerArgsParser by @kozlovsky in #6804
  • Replace get by select.limit in BandwidthDatabase.get_latest_transaction by @drew2a in #6821
  • Add NPE check to handle_uri by @drew2a in #6829
  • Add is_dir() check to add_directory_dialog by @drew2a in #6835
  • Add UnicodeEncodeError to the except block by @drew2a in #6836
  • Fix download progressbar paint issue by @xoriole in #6910
  • Fix an error message that reports milliseconds as seconds by @kozlovsky in #6914
  • Handle non-utf8 Tribler Core output in Tribler GUI by @kozlovsky in #6917

Code improvements

  • Use ipv8 as an external dependency by @drew2a in #6757
  • Add maybe_component by @drew2a in #6557
  • Refactor/remove obsolete upgrades by @ichorid in #6558
  • Run Upgrader in a GUI thread by @ichorid in #6559
  • Remove unused methods by @devos50 in #6605
  • Make notifier more generic by @drew2a in #6702
  • Move discovery_booster to ipv8 component by @drew2a in #6719
  • Move EVA protocol to ipv8 component by @drew2a in #6723
  • Add session context manager by @drew2a in #6724
  • Remove common package by @drew2a in #6755
  • Statically typed notifier by @kozlovsky in #6728
  • Enable origin tracking for coroutine objects by @kozlovsky in #6762
  • Refactoring the folders structure by @drew2a in #6803
  • Remove popularity community experiments by @drew2a in #6805
  • Rename QtSingleApplication.activation_window() to tribler_window by @drew2a in #6830
  • Remove pre-commit by @drew2a in #6837
  • Refactor rest utils by @drew2a in #6838
  • Fix build for release 7.12 by @kozlovsky in #6896
  • Update Debian build by @xoriole in #6901
  • Updated IPv8 pointer by @qstokkink in #6669
  • Update issue templates by @drew2a in #6580
  • [Snyk] Security upgrade pillow from 8.4.0 to 9.0.0 by @snyk-bot in #6705
  • [Snyk] Security upgrade pillow from 9.0.0 to 9.0.1 by @snyk-bot in #6765

Documentation fixes

  • Update development on linux
  • Fixes #6624: specify the exact version of mistune library in doc/requirements.txt
  • Specify exact version of MarkupSafe in doc requirements
  • Add Faker and sentry as common dependency
  • Added v7.11 download badge to README
  • Fix broken link
  • Add python 3.9 and python 3.9 badges

Test improvements

  • Make –core and –gui-test-mode separate flags with all combinations possible
  • Using SelectorEventLoop during tests
  • Apply MockIPv8 key injection
  • Added small delay after mouse click in GUI test
  • Make CoreExceptionHandler scope-dependent
  • Change mock type for encode_message
  • Use in-memory SQLite DB for Tags in GUI test mode
  • Fix and speedup test_drop_silent_peers
  • Simplify GUI-Core startup sequence
  • Improve tests for
  • Replace random char generation by fake words
  • Make sure generated tags have a valid length
  • Remove spam in pytest output
  • Fix gui tests stability
  • Fixed channel subscribe GUI test
  • Remove SOCKS component from GUI test mode requirements
  • Fix #6653 Sentry test failures
  • Add faker and sentry_sdk as common modules to mock during doc build
  • Fix unstable test_channels_peers_mapping_drop_excess_peers
  • Fix run_bandwidth_crawler script
  • Fix tunnel experiments
  • Fix unstable tests by
  • Add “no_parallel” pytest’s mark
  • Add no_parallel to pytest.ini
  • For test run with ‘–no-parallel’ argument, skip all “normal” tests
  • Fix Tribler startup/shutdown and GUI tests stability
  • Refactor add_fake_torrents_channels fixture

Changes in Tribler 7.11.0:

  • Added permissionless Tags crowdsourcing system. Tribler users can now add tags to torrents. The tags will be shared with other users anonymously.
  • Tree-based file selection in the download details and “Start download” dialog
  • Channel previews are faster and more reliable
  • Asynchronous Core components startup should speed up boot on machines with slower drives
  • As usual, lots of bugfixes

Homepage –

Supported Operating Systems:

  • Windows 7, 8, 8.1, 10, 11.
  • macOS Yosemite or newer.
  • Linux Ubuntu.

Tribler Screenshot