1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2024-12-27 18:18:10 +00:00
transmission/docs/Transmission-Architecture.md
maxz 7c76d40a4d
Improve the documentation (#2900)
* Unify the line endings to the Unix style (LF only).

* Fix (where possible) or remove broken links.

* Improve the documentation.

Fix or remove broken links (depending on whether I could find a
working version of the resource).

Change all links to use HTTPS instead of HTTP.

Unify the capitalizations (e.g. uppercase abbreviations, capitalize
proper names and downcase other words).

Fix or improve some parts of the text, clarifying what is meant.

Improve some parts of the program examples (e.g. only use root
privileges where really required).
2022-04-11 12:38:32 -05:00

1.7 KiB

Transmission is fundamentally a BitTorrent client and communicates with other BitTorrent peers. In addition to this Transmission supports network-based remote control, whereby an authorised user may control the Transmission core from the same or another machine via the Transmission JSON RPC protocol. To make remote control easier from an arbitrary machine, Transmission core can also serve a JavaScript web application to any browser and which in turn makes JSON RPC calls back to the Transmission core.

The core components and methods of control are shown below:

Architecture

From the above diagram it can be seen that a Transmission core may be controlled by the following:

  • Local directly linked GUI (OS X, GTK+)
  • Local or remote Qt GUI
  • Local or remote command line utility
  • Local or remote Transmission web application running in a web browser

The multiple methods of controlling Transmission and the various native GUIs available result in several different Transmission products as shown in the figure below:

Products

The products are:

  • Transmission desktop - OS X
  • Transmission desktop - Windows, Linux/Qt
  • Transmission desktop - Linux/GTK+
  • Transmission daemon (headless)
  • Transmission command line

The Transmission packages available on various distributions may include one or more of these components. Note. Although the diagram shows "Transmission Desktop Qt" as being a Qt GUI with Transmission core, the Qt component may be packaged on its own as a purely remote tool.