Hat man keinen Premium-Account der verschiedenen DDL Anbieter kann es durch die Wartezeiten etwas länger dauern, bis man die gewünschten Files geladen hat. Daher bietet sich ein Server, der im Dauerbetrieb läuft dazu an diese Aufgabe zu übernehmen. Da jedoch die meisten Server ohne Monitor auskommen müssen und Jdownloader über ein Web-Interface bedienbar sein muss hier die Intallationsanleitung.
Der beste Weg dies zu bewerkstelligen ist, den virtuellen Framebuffer Xvfb (fake X-Server) zu benutzen.
Vorbereitung des Servers
Folgende Pakete werden benötigt:
- screen: Ermöglicht mehrere Konsolen mit SSH und hält diese auch nach der SSH-Session offen.
- xvfb: Dabei handelt es sich um einen fake X-Server.
- x11vnc: Um sich per VNC zum xvfb zu verbinden und das Web-Interface zu aktivieren.
- sun-java6-jre: Da JDownloader in Java programmiert ist, benötigen wir dieses natürlich auch auf dem Server.
sudo apt-get install screen xvfb x11vnc sun-java6-jre
Nun überprüfen wir ob die korrekte Java-Version auch benutzt wird:
sudo update-alternatives --list java
Der Befehl sollte folgendes liefern:
/usr/lib/jvm/java-6-sun/jre/bin/java
Erscheint hier etwas anderes muss mit folgender Eingabe die zu benutzende Java festgelegt werden.
sudo update-alternatives --config java
Auf einem anderen Rechner benötigen wir noch einen VNC-Client wie z.B. UltraVNC [2]
Jetzt haben wir alle Vorbereitungen getroffen und können mit der Installation von JDownloader beginnen.
JDownloader Installation
Nachdem ich schon einige Howtos gelesen habe ist mir aufgefallen, dass in jedem empfohlen wurde den JDownloader in „/usr/local/jdownloader“ zu installieren.
Somit erstellen wir das Verzeichnis jdownloader und wechseln in dieses.
sudo mkdir /usr/local/jdownloader cd /usr/local/jdownloader
Dort laden wir dann das Installscript „jd.sh“ herunter und geben Berechtigung zum Ausführen.
sudo wget http://212.117.163.148/jd.sh sudo chmod u+x jd.sh
In der „jd.sh“ ist es noch notwendig den Installationspfad anzupassen.
sudo nano /usr/local/jdownloader/jd.sh
(Nano Hilfe: Speichern Strg+O, Verlassen Strg+X)
Diese zwei Zeilen:
. #JD Installation folder (adjust to your needs) JDDIR=~/.jd .
ersetzen wir durch diese:
. #JD Installation folder (adjust to your needs) JDDIR=/usr/local/jdownloader/ .
Da man zur Installation schon einen X-Framebuffer braucht müssen wir diesen vorher starten. Man könnte den Xvfb im Hintergrund starten, was nicht wirklich empfehlenswert ist, oder man verwendet Screen.
Kurze Anleitung für Screen
Um Screen zu starten und die Session zu benennen gebt folgendes in die Konsole ein:
screen -S SESSIONNAME
Ob eine Screen-Session noch läuft kann man mit ls herausfinden:
screen -ls
Hat man die SSH-Session beendet und will nachher wieder auf diese Screen-Session gibt man folgendes ein:
sudo screen -r SESSIONNAME
Screen komplett beenden ;):
sudo killall screen
Um in Screen in den Kommandomodus zu kommen muss man „STRG+a“ drücken. Danach lässt man die Tasten wieder los und kann den Buchstaben für das gewünschte Kommando eingeben.
Kommandos:
c Erstellt ein neues Screen-Fenster.
k Schließt das aktuelle Fenster (oder „exit“ ins aktuelle Fenster eingeben).
„ Zeigt alle erstellten Fenster an.
A Benennen des aktuellen Fensters.
d Mit diesem Befehl kommt man aus Screen heraus, beendet es jedoch nicht.
Achtung die Kommandos sind Case-Sensitive also achtet auf Gross- und Kleinschreibung! Dieses kleine Tutorial sollte mehr als ausreichend für unser Vorhaben sein.
JDownloader Installation – Fortsetzung
Zur weiteren Installation brauchen wir 3 Screen-Fenster, deshalb öffnen wir jetzt eine Screen-Session mit dem Namen JD.
screen -S JD
Da wir noch 2 zusätliche Fenster brauchen werden geben wir zwei mal „Strg+a“ dann „c“ ein. Mit „Strg+a“ und „„“ überprüfen wir ob wir jetzt drei Fenster zur Verfügung haben.
Num Name 0 Xvfb 1 JD 2 x11vnc
Hier sieht man, dass ich die Fenster auch umbenannt habe um sie nicht zu verwechseln („Strg+a“ und „A„).
Jetzt benutzen wir das erste Fenster um Xvfb zu starten.
sudo Xvfb :1
Dann starten wir im Fenster „JD“ die Installation in Verwendung des zuvor erstellten Display 1.
sudo DISPLAY=:1 /usr/local/jdownloader/jd.sh
Im Fenster „x11vnc“ starten wir den Namensgeber um uns mit UltraVNC darauf verbinden zu können. Achtung: Sobald man disconnected wird auch der x11vnc beendet und man muss in wieder starten.
x11vnc -display :1 -xkb
Danach verbinden wir uns mit UltaVNC oder einem anderen Client auf den Server um die Installationsabfragen zu beantworten.
Ist der Download der Installationsdateien abgeschlossen (Bild 1) kann man die Sprache und den Downloadordner wählen (Bild 2). Flashgot wollen wir, da wir keinen Firefox installiert haben nicht mitinstallieren (Bild 3).
JDownloader Einstellungen
Bevor wir mit dem Downloaden losstarten können müssen wir noch diverse Einstellungen machen. Um das Webinterface zu aktivieren klickt man in der Karteikarte „Settings“ auf „Extensions“ und aktiviert dort „JD Webinterface“ (Bild 5).
Jetzt erscheint in den Extensions der Punkt „JD Webinterface“ in dem wir für dieses ebenfalls noch Einstellungen vornehmen müssen (Bild 6).
Als erstes sollte man das Passwort und den Benutzernamen ändern und ebenso das Auto-Refresh deaktivieren oder zumindest auf ca 30 Sekunden setzen (Bild 7). Hat man sehr viele Dateien oder ruft das Webinterface über das Internet auf kann die Seite sonst nicht aufgebaut werden bevor der nächste Reload ansteht und einmal „F5“ zur Aktualisierung istv nicht viel Aufwand ;).
Eine der wichtigsten Einstellungen wenn man JDownloader wirklich nur über Webinterface betreiben will ist das Akzeptieren aller „Terms of Service“. Ansonsten muss man sich jedes mal per VNC verbinden und für jeden Anbieter die TOS annehmen damit der Download beginnt.
Um dies zu tun klickt man auf „Hosts“ und setzt bei jedem DDL-Provider in der Spalte „Accepted“ einen Haken (Bild 8).
Jetzt nur noch einen Neustart des JDownloaders mit Hilfe des Interfaces (Bild 9) und wir können versuchen das Webinterface zu erreichen (Bild 10). Das Webinterface kann man wie folgt aufrufen (Standardport: 8765):
http://serverip:port
Zu beachten ist, dass der JDownloader erst zum Laden startet wenn man den Play-Button klickt (Bild 10) und Downloads die Hinzugefügt wurden müssen in der Karteikarte „Add Links“ erst zur Downloadliste geadded werden (Bild 11).
JDownloader starten
Um JDownloader zu starten muss Xvfb laufen, auch wenn in vielen anderen Howtos das Gegenteil behauptet wird. Zum Starten sollte man also zwei Screenfenster öffen:
1. Fenster:
sudo Xvfb :1
2. Fenster:
sudo DISPLAY=:1 /usr/local/jdownloader/jd.sh
Jdownloader Autostart
Da mich einige Leser um eine Lösung für den automatischen Start beim Boot gebeten haben, gibt es hier ein Beispielscript, welches ihr in das „init.d“ Verzeichnis kopieren könnt. Es werden Xvfb und der Jdownloader in Screen-Sessions gestartet.
jdownloader [14]
#!/bin/sh # JDSTART="sudo DISPLAY=:1 /usr/local/jdownloader/jd.sh" XVFBSTART="sudo Xvfb :1" case "$1" in start) echo "Starting Xvfb ..." screen -AmdS xvfb $XVFBSTART echo "Starting Jdownloader ..." screen -AmdS jdownloader $JDSTART echo "done ..." ;; stop) echo "Terminating jDownloader screen-session ..." sudo screen -S jdownloader -X quit echo "Terminating xvfb screen-session ..." sudo screen -S xvfb -X quit echo "done ..." ;; remote) echo "Starting x11" sudo x11vnc -display :1 -xkb ;; *) echo "Usage: /etc/init.d/jdownloader {start|stop|remote}" exit 1 ;; esac exit 0
Script in den „init.d“-Ordner laden und Rechte anpassen:
cd /etc/init.d sudo wget http://blog.is-a-geek.org/downloads/jdownloader sudo chmod +x /etc/init.d/jdownloader
Mögliche Befehle sind „start“ (erstellt die Screen-Sessions mit Xvfb und jDownloader), „stop“ (terminiert diese) und „remote“ (startet x11vnc).
sudo service jdownloader start|stop|remote
jDownloader automatisch beim Boot starten:
sudo update-rc.d jdownloader defaults
Will man diesen nicht mehr beim Neustart ausführen:
sudo update-rc.d jdownloader remove
Zusätzliche Anmerkungen
Um das Webinterface von aussen erreichen zu können muss das Port am Router weitergeleitet werden (Standardport: 8765).
JDownloader sollte nur bedingt auf Produktivserver eingesetzt werden, da bei hoher Downloadanzahl auch schnell der Swap gefüllt werden kann.
Viel Spaß mit JDownloader und vielen Dank an die Entwickler!