Architectural Structure

_images/Structure_Diagram.png

Modules

Tribler.Category
Tribler.Core The Core package contains the core functionalities of the Tribler project
Tribler.Core.APIImplementation The APIImplementation contains the API for torrents, creating them and maintaining them
Tribler.Core.CacheDB The CacheDB package contains the cachedDB for Tribler including a notifier and manages different versions
Tribler.Core.Config This package contains code for the configuration objects.
Tribler.Core.DecentralizedTracking The DecentralizedTracking package contains the pymdht library for profiling networkinformation.
Tribler.Core.Libtorrent The Libtorrent package contains code to manage the torrent library.
Tribler.Core.Modules The Modules package contains the tracker manager
Tribler.Core.Modules.channel
Tribler.Core.Modules.restapi This package contains code for the Tribler HTTP API.
Tribler.Core.TFTP Contains the the TFTP handler that should be registered at the thread pool to handle TFTP packets
Tribler.Core.TorrentChecker The TorrentChecker package contains code that checks and schedules torrents.
Tribler.Core.Upgrade The upgrade package contains information on how to update Tribler and its database to the new version.
Tribler.Core.Utilities The Utilities package contains different utility files that are used in the project
Tribler.Core.Video The Video package contains the VLCWrapper and code to stream live data in Tribler
Tribler.Main The Main package contains code for the GUI of Tribler.
Tribler.Main.Utility The Utility package contains different utility classes used in the Main package
Tribler.Test The Test package contains unit tests for tribler.
Tribler.Test.API The API package contains tests for the API.
Tribler.Test.Category
Tribler.Test.Core This package contains unit tests for the Tribler core.
Tribler.community.allchannel The allchannel package contains the AllChannel community which is used to collect votes for channels, and thereby discover which channels are most popular.
Tribler.community.bartercast4 The bartercast4 package TTTODO: what does this do?
Tribler.community.channel The channel package contains a Dispersy community which is used to implement Channels.
Tribler.community.demers The demers package contains a Dispersy community which can be used to verify the speed of message dissemination
Tribler.community.multichain
Tribler.community.search The search package contains a Dispersy community which is used to implement decentralized search in Tribler.
Tribler.community.template The template package contains Example files for communities
Tribler.community.tunnel The Tunnel community package

Maintenance

Inside the Resources folder, there is a .xml file that can be opened in Draw.io, where it can be adapted/altered as needed.