# Transmission (Software)

Transmission (englisch für „Übertragung“) ist ein freier, ressourcenschonender BitTorrent-Client. Er hat eine einfache Benutzeroberfläche und eine plattformunabhängige Implementierung des BitTorrent-Protokolls.
Transmission ist in C geschrieben und als freie Software auch im Quelltext veröffentlicht. Dabei stehen einige Teile unter der MIT-Lizenz, andere unter der GNU GPL Version 2. Sie ist unter Windows, auf vielen unixoiden Betriebssystemen (unter anderem macOS, Linux und BSD), BeOS/ZETA (mit nativer Oberfläche), Mobiltelefon-Systemen (Android, iOS, Maemo), Embedded Systemen (z. B.: NAS Geräte, externe Festplattensysteme, Router) lauffähig.

## Merkmale
### Funktionalität

Transmission unterstützt weitgehend alle wesentlichen, verbreiteten Funktionen eines BitTorrent-Clients, unter anderem DHT, PEX, automatisches Port-Mapping (per UPnP und NAT-PMP), Protokollverschleierung, Auffindung lokaler Gegenstellen (siehe BitTorrent#Offizielle Protokollerweiterungen). Transmission kann Torrent-Dateien erstellen und bietet gute Verwaltungsfunktionen, unter anderem Bandbreitenbeschränkung, selektives Herunterladen mit Priorisierung, Sortieren und Filtern, … Weiterhin können IP-Adressen nach einer Bannliste ausgeschlossen werden. Sich schadhaft verhaltende Gegenstellen werden automatisch ausgeschlossen. Durch das Speichern von Peers können Übertragungen bei erneutem Programmstart schneller wieder aufgenommen werden („fast resume“). Es wird ein einziger „Listening Port“ für alle Übertragungen genutzt.

### Architektur

Transmission ist getrennt in Frontend und Backend aufgebaut. Für das Backend ist die Programm-Funktionalität in einer Programmbibliothek namens libTransmission umgesetzt, auf deren Basis ein Daemon existiert. Als Frontend dienen mehrere graphische Benutzeroberflächen auf Basis verschiedener GUI-Toolkits, verschiedene Weboberflächen zur Fernsteuerung per Webbrowser über HTTP(S), eine Kommandozeilen-Schnittstelle und anderes.

### Multiplattform-Unterstützung

Ursprünglich auf Gnome ausgerichtet bietet er nun für mehrere Umgebungen native Unterstützung mit entsprechenden eigenen Oberflächen auf Basis der jeweiligen GUI-Toolkits und Integration in die jeweilige Umgebung. So gibt es neben der ursprünglichen GTK-Oberfläche unter anderem auch eine Qt-Oberfläche und eine macOS-Version mit Cocoa-Oberfläche, Integration mit dem Dock, Growl und Sparkle, Unterstützung für Quicklook und anderem. Eine offizielle Windows-Version steht ab Version 3.0 zur Verfügung. Vorher gab es jedoch auch schon ein Projekt auf SourceForge, welches sich der Thematik angenommen hat und aktuelle Builds anbietet. Weiterhin gibt es von Drittentwicklern die Windows-Oberflächen Transmission Remote Dot Net und transmission-remote-gui. Für Mobiltelefone gibt es Ports für Apple iOS, Android (Transdroid) und Maemo.

## Geschichte

Mit Ubuntu 8.04 von April 2008 wurde er wegen seines geringen Ressourcenbedarfs als Standard-Client dieses Linux-Betriebssystems gewählt und war als solcher erstmals in Version 1.06 enthalten. Er ersetzt dort den GNOME BitTorrent Downloader (GNOME-BT). Ab Version 1.3 vom 6. August 2008 ist die ehemals separate Web-Schnittstelle Clutch in das Programm integriert. Seit der am 5. Juni 2009 veröffentlichten Version 1.70 wird (für öffentliche Torrents) auch dezentrales Tracken mit verteilten Hashtabellen (englisch Distributed Hash Table, DHT) unterstützt. Dies war ein langersehntes Merkmal, dessen Fehlen zuvor viele von der Nutzung dieses Clients abgehalten hatte. Darauf aufbauend kommt in Version 1.80 die Unterstützung für Magnet-Links, was seit dem Abschalten des Pirate-Bay-Tracker-Komplexes und dem Umstieg der Pirate-Bay-Seite von Torrent-Dateien auf Magnet-Links sehr wichtig geworden ist. Version 2.0 vom Juni 2010 bringt die Fähigkeit zum Auffinden lokaler Gegenstellen.

## Verwendung

Sein großer Funktionsumfang und die Vorinstallation als Standard-Client auf vielen Betriebssystemen und Geräten macht Transmission recht populär. Aufgrund seiner Schlankheit und Einfachheit in der Bedienung ist er bei vielen Betriebssystemen als Standard-Software beigepackt (unter anderem wichtige wie Ubuntu, Fedora, Mandriva Linux, openSUSE). Wegen seiner Architektur, des geringen Speicherverbrauchs und der Einfachheit werden auch die BitTorrent-Dienste großer Websites wie ImageShack mit Transmission realisiert. Einige Geräte wie WLAN-Router und BitTorrent-fähige NAS-Systeme werden mit Transmission ausgeliefert (beispielsweise Fonera-Router).