Debian JDownloader
Einleitung
JDownloader ist ein Downloadmanager für Rapidshare und Co. Aber auch FTP- und HTTP-Downloads stellen für JDownloader kein Problem dar. JDownloader basiert auf JAVA und stellt eine Graphische Oberfläche für die Bedienung bereit. Dies ist für die Anwendung auf einem Server eher ungünstig. Anstatt eines kompletten Desktops, reicht ein Windowmanager und VNC-Server aus, um die Graphsche Oberfläche auf einem Remote-PC per VNC zur Verfügung zu stellen. Weiterhin kann eine Weboberfläche als Plugin aktiviert werden.
Voraussetzung: VNC-Viewer auf dem Remote-PC (nicht Server) ist installiert. Dies ist nicht Teil dieser Anleitung.
User anlegen
Der JDownloader soll aus Sicherheitsgründen unter User-Rechten laufen, anstatt root. Zu diesem Zweck wird der User jdownloader angelegt:
adduser jdownloader
Installation
Installation von Java und VNC
Falls kein Desktop auf dem Server installiert ist, ist ein Windowmanager nötig, der für die Ausgabe der JDownloader Bedienoberfläche sorgt. Nur nötig, falls kein Desktop installiert ist:
apt-get install xfwm4
Java:
apt-get install sun-java6-jdk
VNC-Server:
apt-get install vnc4server
VNC-Server unter User jdownloader starten:
su jdownloader -c "vncserver :1"
Es wird nach einem Passwort für den Remotezugriff via VNC gefragt. Das gewünschte Passwort zweimal eingeben.
VNC-Server wieder beenden.
su jdownloader -c "vncserver -kill :1"
Installation JDownloader
Für JDownloader ist zwar kein Debian Paket verfügbar. Allerdings existiert ein relativ einfaches Donwloadscript:
mkdir /home/jdownloader/jd cd /home/jdownloader/jd wget http://212.117.163.148/jd.sh chmod +x jd.sh
Downloadscript automatisch mit VNC-Server starten:
vi /home/jdownloader/.vnc/xstartup
Ans Ende folgende Zeile anhängen:
/home/jdownloader/jd/jd.sh
VNC-Server starten:
su jdownloader -c "vncserver :1"
Unter Windows/Linux auf dem Remote-PC den VNC-Viewer starten.
- Als Server-Adresse: IP_Des_Server:5901 eingeben.
- Es sollte nun ein X-Window Fenster erscheinen, in dem das Download-Script JDownloader downloadet und einrichtet.
- Nach dem Download die gewünschte Sprache auswählen: Deutsch und OK anklicken
- Die Frage zur Firefox-Integration mit Button "Abbrechen" beantworten
- Anschließend erscheint das Hauptfenster von JDownloader
Konfiguration
- VNC-Viewer starten, falls dieser nicht mehr laufen sollte, und als Adresse IP_Des_Server:5901 eingeben.
- Den Reiter Einstellungen anwählen
- Im linken Baum Download & Verbindungen auswählen
- Evtl. das Downloadverzeichnis anpassen
- Plugins&Addons/Erweiterungen anklicken
- Den Haken vor Webinterface aktivieren
- Unter Plugins&Addons/Erweiterungen/Webinterface evtl. den Port (Standard: 8765), auf dem das Webinterface lauscht anpassen und Username und Passwort vergeben.
- Evtl. im Bereich Module/Reconnect das Routermodell konfigurieren, damit JDownloader automatisch die Internetverbindung trennen und wiederherstellen kann, um eine neue IP-Adresse zu erhalten
Funktionstest
Webbrowser öffnen und als Adresse: http://IP_des_Servers:Port eingeben. Username und Passwort eingeben. Das JDownloader Webinterface sollte angezeigt werden.
Startscript
Damit der VNC-Server inclusive JDownloader beim Start des Servers automatisch mitgestartet wird, muß noch ein Startscript angelegt werden. Dieses Script stammt von: http://service.jdownloader.net/old/wiki.jdownloader.org/indexd69d.html?title=Running_On_A_Headless_Linux_Server
vi /etc/init.d/jdownloader
Folgende Zeilen einfügen:
#! /bin/sh #The user that will run JDownloader JD_USER=jdownloader #Name of the session NAME=jdownloader-VNC #executable files in the following paths that are perhaps needed by the script PATH=/bin:/usr/bin:/sbin:/usr/sbin #Description DESC="JDownload VNC Session" #VNC Display ID DISPID="1" case "$1" in start) if [ `su $JD_USER -c " ls /home/$JD_USER/.vnc/|grep :'$DISPID'.pid"` ] then echo "Jdownloader is already running!" else echo "Starting $DESC: $NAME on display $DISPID" su $JD_USER -c "vncserver -name $NAME :$DISPID" fi ;; stop) if [ `su $JD_USER -c " ls /home/$JD_USER/.vnc/|grep :'$DISPID'.pid"` ] then echo -n "Stopping $DESC: $NAME on display $DISPID" su $JD_USER -c "vncserver -kill :$DISPID" echo " ... done." else echo "Coulnd't find a running $DESC" fi ;; restart) if [ `su $JD_USER -c " ls /home/$JD_USER/.vnc/|grep :'$DISPID'.pid"` ] then echo -n "Stopping $DESC: $NAME on display $DISPID" su $JD_USER -c "vncserver -kill :$DISPID" echo " ... done." else echo "Coulnd't find a running $DESC on display $DISPID" fi echo "Starting $DESC: $NAME on display $DISPID" su $JD_USER -c "vncserver -name $NAME :$DISPID" echo " ... done." ;; status) if [ `su $JD_USER -c " ls /home/$JD_USER/.vnc/|grep :'$DISPID'.pid"` ] then echo "JDownloader is RUNNING on display $DISPID" else echo "JDownloader is DOWN on display $DISPID" fi ;; *) echo "Usage: $0 {start|stop|status|restart}" exit 1 ;; esac exit 0
Script ausführbar machen:
chmod +x /etc/init.d/jdownloader
Script beim Systemstart ausführen:
update-rc.d jdownloader defaults
Optional: Jdownloader als Virtualhost in Apache
Mittels Virtualhost/Reverse Proxy ist es möglich, das JDownloader Webinterface aus dem Internet per https-Verschlüsselung zu betreiben. Die Adresse könnte dann z.B. lauten: https://jdownloader.domain.org.
Voraussetzung: → Apache2
Analog der Anleitung wird ein Apache Virtualhost als Reverse Proxy für JDownloader eingerichtet:
vi jdownloader_https.conf
Folgende Zeilen einfügen(Servername jdownloader.domain.org und IP_DES_SERVER anpassen):
<VirtualHost *:443> ServerName jdownloader.domain.org ProxyRequests Off <Proxy *> Order allow,deny Allow from all </Proxy> SSLCertificateFile /etc/ssl/CA/certs/wildcard.pem SSLEngine on SSLProxyEngine On ProxyPass / http://IP_DES_SERVER:8765/ <Location /> ProxyPassReverse / </Location> </VirtualHost>
Apache2 neu starten:
/etc/init.d/apache2 restart
Hinweis: | |
Es sollte unbendingt ein anderer Username und vor allem ein sicheres Passwort verwendet werden, wenn JDownloader aus dem Internet erreichbar ist. |
Optional: Mozilla Firefox Integration
Es besteht die Möglichkeit, dass Downloads direkt von Firefox an JDownloader übergeben werden. Dies geschieht über das JDownloader Addon "Externes Interface" und das Firefox Addon "Flashgot". Leider muss JDownloader zuerst auf dem Windows/Linux-PC installiert werden, damit Flashgot JDownloader erkennt und freigibt. Die Konfiguration wird dann auf den remote JDownloader auf dem Server umgestellt, der die Downloads entgegennimmt und eigenstädig herunterlädt.
Umstellen auf Nightly Build
Die aktuelle Final-Version von JDownloader unterstütz leider (noch) nicht die Übergabe von Downloads von einem entfernten PC (Remote). Die Schnittstelle lauscht nur auf dem lokalen PC. Im Falle unseres Servers bringt dies natürlich nichts.
Die Nightly Build Version bietet die Möglichkeit, dass das "externe Interface" auch Remote- Anfragen bearbeitet.
- VNC-Viewer starten, falls dieser nicht mehr laufen sollte, und als Adresse IP_Des_Server:5901 eingeben.
- JDownloader beenden (Menü Datei/Beenden)
- Im Terminalfenster (in der VNC-Sitzung) eingeben:
java -jar /home/jdownloader/.jd/jdupdate.jar -branch NIGHTLY
Dadurch wird JDownloader komplett auf das letzte Nightly Build umgestellt und am Ende neu gestartet.
Externes Interface aktivieren
- VNC-Viewer starten, falls dieser nicht mehr laufen sollte, und als Adresse IP_Des_Server:5901 eingeben.
- In Jdownloader den Punkt Einstellungen aktivieren
- Plugins&Addons/Erweiterungen anklicken
- Externes Interface aktiveren (Haken setzen), falls noch nicht der Fall
- Im linken Navigationsbaum Externes Interface anklicken
- Den Haken bei Listen only on localhost entfernen, damit JDownloader Remote Anfragen entgegennimmt
Installation und Konfiguration lokaler PC
- JDownloader auf dem PC (Windows/Linux) installieren (Download: http://jdownloader.org/download/index)
- JDownloader starten
- Firefox starten und Addon Flashgot installieren, falls dies noch nicht im Rahmen der Installation erfolgt ist.
- Evtl. Firefox neu starten, damit das Addon aktiviert wird
- Flashgot Einstellungen (Menü Extras/Flashgot/Weitere Einstellungen...) öffnen
- Im Reiter Allgemein den Download-Manager JDownloader auswählen.
- Falls Jdownloader nicht anwählbar (grau) sein sollte, dann Reiter Erweitert anwählen und Button Jetzt suchen anklicken. Anschließend sollte JDownloader im Reiter Allgemein auswählbar sein.
- Im Reiter Allgemein den Haken vor Bestätigungsabfragen überspringen bei setzen.
- Die Änderungen mit Button OK übernehmen.
- Der Lokale JDownloader kann nun beendet werden, da dieser nicht mehr nötig ist.
- In Firefox die Adresse about:config eingeben und die Sicherheitsabfrage bestätigen.
- Als Filter JDownloader eingeben
- Den Eintrag flashgot.dmsopts.JDownloader.url doppelklicken
- Die Url abändern in: http://IP_DES_Server:9666/flashgot und mit OK bestätigen
- Nun ist JDownloader und Firefox/Flashgot bereit, um Downloads direkt aus Firefox an JDownloader auf dem entfernten Server zu übergeben.