# JDownloader

JDownloader (Abkürzung für Java Downloader) ist ein in Java geschriebener Download-Manager, der primär für das automatisierte Herunterladen bei Sharehostern entwickelt wurde. Zusätzlich ermöglicht das Programm das Herunterladen von Videos von Videoportalen wie z. B. YouTube. Die Software arbeitet sich dabei zumeist selbständig durch die Webseiten der Anbieter – bis hin zum Start des Ladevorgangs.
Die Software wird unter der GNU General Public License veröffentlicht, verstößt jedoch gegen ihre Definitionen, da nicht alle Programmteile als Quelltext erhältlich sind. Die Entwickler hatten deshalb im Jahre 2008 angekündigt, zu einer anderen Lizenz zu wechseln. Dieser Schritt wurde Stand März 2022 nicht vollzogen.

## Funktionen

Kernfunktion der Software sind speziell entwickelte Skripte, welche JDownloader den Umgang mit Webseiten ermöglichen. Die Skripte werden in die Kategorien Hoster und Decrypter unterteilt. Erstere ermöglichen das automatisierte Herunterladen bei diversen Sharehostern; letztere durchsuchen Webseiten nach entsprechenden Download-Links. Manche Skripte können CAPTCHA-Codes per Texterkennung selbständig handhaben, andere können diese dem Benutzer zumindest komfortabel anzeigen, damit er die Lösung eingibt. Alle Skripte haben gemein, dass sie im Falle einer Designänderung der zugehörigen Webseite funktionsunfähig werden können, da sie strikt nach einem Bewegungsmuster arbeiten. Aus diesem Grund ist JDownloader modular aufgebaut. Jedes Skript ist in einer eigenen Datei gespeichert, welche durch die integrierte automatische Aktualisierung ausgetauscht werden kann.
Auf der Benutzeroberfläche von JDownloader werden die Links in Paketen gebündelt sortiert. Da viele Sharehoster nur Dateien in einer Größe von wenigen hundert Megabyte gestatten, müssen größere Dateien aufgeteilt werden (meist unter der Verwendung von Packprogrammen), wobei dann mehrere Links anfallen. Die Pakete können später separat mit spezifischen Einstellungen versehen werden, beispielsweise können Archive nach erfolgreichem Ladevorgang automatisch entpackt werden. Die meisten Sharehoster gestatten Benutzern, die keinen kostenpflichtigen Zugang zu ihrem Angebot erworben haben, nur einen einzigen Ladevorgang in einem vorgegebenen Zeitraum. JDownloader kann diese Maßnahme umgehen, indem die implementierte Reconnect-Funktion (etwa „erneut verbinden“) automatisch die Internetverbindung trennt und wiederherstellt. Durch die vom Internetdienstanbieter neu zugeteilte IP-Adresse kann der Sharehoster den Benutzer nicht mehr erkennen, und die Einschränkung wird unwirksam. Diese Vorgehensweise funktioniert jedoch nur bei einer dynamischen Adressierung, bei der sich die IP-Adresse nach einer Trennung der Verbindung auch tatsächlich ändert. Derlei Maßnahmen sind allerdings nicht nötig bei den ebenfalls von JDownloader unterstützten kostenpflichtigen Premiumzugängen vieler Sharehoster.

## Download Link Container

Zusammen mit JDownloader wurde von den Entwicklern auch das DLC-Dateiformat eingeführt. Dabei handelt es sich um Containerdateien, in denen Download-Links in verschlüsselter Form gespeichert sind. Um diese abrufen zu können, verbindet sich JDownloader mit einem zentralen Server, von dem die nötigen Schlüssel empfangen werden. Der Sinn dieser Maßnahme liegt einerseits darin, viele einzelne Links gebündelt in einer einzigen Datei weitergeben- und herunterladen zu können, andererseits können Urheberrechtsverstöße etc. nicht ohne weiteres gemeldet werden, da der Benutzer die entschlüsselten Links nie zu sehen bekommt. Dieses Vorgehen wurde bereits vorher praktiziert, beispielsweise von CryptLoad und RSD, deren Methoden zur Verschlüsselung jedoch bereits vor geraumer Zeit aufgedeckt und veröffentlicht wurden. Gleiches ist mittlerweile auch DLC widerfahren. Im Gegensatz zu CCF- und RSDF-Containern ermöglichte die DLC-Architektur den Entwicklern jedoch, offengelegte Schlüssel unwirksam zu machen. Dies hat jedoch zur Folge, dass auch der jeweilige Client, dem dieser Schlüssel gehörte, nun überhaupt keine DLC-Dateien mehr öffnen kann. Die Entwickler kündigten nach diesen Ereignissen den Nachfolger DLC2 an, der planmäßig im ersten Quartal 2009 veröffentlicht werden sollte. Im Gegensatz zum Vorgänger sollte der Quelltext von DLC2 gänzlich einsehbar sein.

## Finanzierung

JDownloader ist als freie Software für Nutzer kostenlos. 2010 gab es eine Spendenaktion, bei der jeder Spender aus Deutschland ab einem Spendenbetrag von mindestens 18 Euro und jeder Spender aus der Europäischen Union mit einem Spendenbeitrag von mindestens 20 Euro ein T-Shirt mit dem JDownloader-Logo erhielt.
Seit 2012 beinhalten die Installationsdateien einen Webinstaller der Plattform InstallCore.com, über den neben dem JDownloader zusätzliche Programme mit installiert werden können (Adware). Mehrere Nutzer berichteten im Sommer 2013, dass diese Programme teilweise Malware und Spyware seien. Ferner werden Browser-Plugins installiert und dabei der Browser ohne vorherige Nachfrage geschlossen. Beklagt wurde auch, dass die Programme installiert wurden, obwohl Nutzer das Häkchen bei der Zustimmung zur Installation vorher entfernt hatten. Laut den Entwicklern bekommen die Nutzer bei der Installation unterschiedliche Programme, die anhand ihres Standortes ausgewählt werden. Ein Programm wurde von den Entwicklern daraufhin aus dem Verteiler entfernt. Eine Möglichkeit, die Werbeprogramme zu umgehen, ist das Herunterladen der aktuellen Version als Zip-Datei ohne Installationsprogramm, für die Vorab-Version existieren „Clean Installers“.
2013 wurde bekanntgegeben, es sei für die Zukunft eine kostenpflichtige Version geplant, welche Zusatzfunktionen beinhalten und frei von Reklameprogrammen sein soll (Freemium). Dies wurde bis heute nicht umgesetzt. Die Softwareentwickler finanzieren sich durch Spenden sowie durch Provisionen von Affiliate-Links zu den eingebundenen Sharehostern.

## Klage

Im Jahr 2013 wurde das hinter JDownloader stehende Unternehmen Appwork von ProSiebenSat.1 Media verklagt. Hintergrund war die in der Software vorhandene Funktion zum Extrahieren von Streams der eigenen Videoplattform. Das Landgericht Hamburg entschied zugunsten von ProSiebenSat.1 und stellte fest, dass JDownloader eine technische Maßnahme gegen das Abspeichern der Streams umgehe, was urheberrechtlich unzulässig sei.
Appwork wurde mit einer einstweiligen Verfügung gezwungen, die Funktion wieder zu entfernen. In einer Stellungnahme auf der offiziellen Webseite erörterte das Unternehmen, ein Entwickler der Open-Source-Gemeinschaft habe eine Funktion zum Umgehen des RTMPE-Verfahrens in eine Beta-Version des Programms implementiert. Appwork kündigte zunächst an, das Urteil anzufechten, um zu klären, ob der Anbieter einer Open-Source-Software verpflichtet sei, sämtliche Änderungen aller beteiligten Entwickler sofort zu kontrollieren. Noch im August beschloss die Firma jedoch auf einen Widerspruch zu verzichten, nur der Geschäftsführer führte das Verfahren weiter, selbst wenn dieser das Verfahren gewonnen hätte, hätte Appwork die strittige Funktionalität nicht wieder einbauen dürfen. Am 29. November 2013 entschied das Landgericht Hamburg, dass der Geschäftsführer von Appwork für illegale Funktionen der Software haftbar gemacht werden kann.