Der Raspberry Pi ist wohl der bekannteste und beliebteste Einplatinencomputer der Welt. Zahlreiche Projekte sind mit ihm schon verwirklicht worden – unter anderem auch als Downloadserver bzw. NAS. Zum Download großer Dateien über meine „Dorf“-Internetleitung benutze ich momentan auf meinem „richtigen“ Server jDownloader. Das kann aber schon mal Stunden oder gar die ganze Nacht dauern. Dabei verbraucht er viel Strom. Daher nun ein Downloadserver auf Basis des neuen Raspberry Pi 3 Model B+
Die Prozessorleistung des Raspberry Pi 3 reicht für einen Downloadserver vollkommen aus. Leider bietet die Netzwerkschnittstelle des Raspberry Pi 3 Model B nur Fast Ethernet mit max. 100MBit/s an. Das war für mich bisher der ausschlaggebende Negativpunkt einen Downloadserver bzw. NAS mit dem Raspberry zu realisieren. Doch das ändert sich mit dem neuen Raspberry Pi 3 Model B+, dessen Netzwerkschnittstelle 300 Mbit/s leistet. Mehr ist über die USB 2.0 Anbindung an den Prozessor nicht möglich. Das ist zwar immer noch nicht meine optimale Vorstellung mit Gigabit Durchsatz, aber für den Anfang sollte es reichen.
Hardware vorbereiten und Raspbian installlieren
Als erstes die benötigte Hardware:
- Raspberry Pi 3 Model B+ (Anleitung gilt selbstverständlich auch für die Vorgängerversion)
- 2,5″ USB HDD (Bus Powered – möglichst wenig Stromverbrauch)
- Min. 8 GB SD Karte
- Micro-USB Netzteil 5V 2,5A
- Passendes Gehäuse
Fangen wir an Raspbian zu installieren und zu konfigurieren
Diese Anleitung wurde mit Raspbian Strech erstellt, sollte aber mit neueren Releases ebenso funktionieren.
Auf der offiziellen Raspberry Seite „Raspbian Strech Lite“ downloaden
Mithilfe von Etcher übertragen wir die Dateien auf die SD Karte
Einfach die zuvor heruntergeladene ZIP auswählen, SD Karte auswählen und auf „Flash!“ klicken. Je nach Kartengeschwindigkeit dauert der Vorgang eine knappe Minute.
Damit später nach dem Booten über SSH auf den Raspberry zugegriffen werden kann, müssen wir noch SSH aktivieren. Dazu einfach eine leere Datei im Boot Verzeichnis der SSD Karte erstellen mit dem Dateinamen SSH (Nur SSH ohne Zusatz)
Anschließend die SD Karte in den Raspberry stecken, die USB Festplatte anschließen, Netzwerkkabel anschließen und die Stromversorgung herstellen.
Raspbian konfigurieren und Festplatte einbinden
Mit Putty können wir uns kurze Zeit später verbinden. Dazu die Netzwerkadresse oder den Namen „raspberrypi“ eingeben und mit Open bestätigen.
Anschließend mit den Standardzugangsdaten anmelden:
User: pi
Passwort: raspberry
Das Passwort sollte noch geändert werden
passwd
Alle nachfolgenden Befehle in dieser Anleitung sind Zeile für Zeile ins Terminal einzugeben/zu kopieren.
Jetzt können wir mit dem eigentlichen Einrichten beginnen. Es empfiehlt sich erst einmal Raspbian komplett zu aktualisieren
sudo apt update
sudo apt upgrade
Um die Downloads später auf der HDD zu speichern müssen wir diese formatieren und einbinden. Als erstes wird die Festplatte formatiert. Das wird mit dem Hilfsprogramm „parted“ erledigt.
sudo parted /dev/sda
mktable msdos (mit yes bestätigen)
mkpart primary ext4 0% 100%
Mit folgendem Befehl lässt sich nun die Konfiguration überprüfen
print
„parted“ anschließend wieder schließen
quit
Filesystem ext4 erstellen, Festplatte bekommt den Namen „USB-HDD“ und wird mit „sda1“ angesprochen
sudo mkfs.ext4 -L USB-HDD /dev/sda1
Mountpoint erstellen und Festplatte mounten:
sudo mkdir /media/usbhdd
sudo mount /dev/sda1 /media/usbhdd
Mounten überprüfen (es muss die Zeile beginnend mit /dev/sda1 Festplattendaten /media/usbhdd darunter sein)
df -h
Damit die Festplatte nach einem Neustart automatisch wieder eigebunden wird müssen wir die Datei „fstab“ bearbeiten
sudo nano /etc/fstab
In eine neue Zeile schreiben:
/dev/sda1 /media/usbhdd ext4 defaults 0 0
Mit Strg + X; Y, Enter den Editor wieder schließen und den Raspberry neu starten
sudo reboot
Nach dem Reboot kann man das automatische Mounten überprüfen (es muss wieder die Zeile beginnend mit /dev/sda1 Festplattendaten /media/usbhdd darunter sein)
df -h
Für geordnete Downloads lege ich Verzeichnisse auf der HDD an. Ihr könnt gerne andere Verzeichnisse erstellen oder die Namen ändern. Für mich ist es so ideal.
sudo mkdir /media/usbhdd/torrent
sudo mkdir /media/usbhdd/jdownloader
sudo mkdir /media/usbhdd/temp
cd /media/usbhdd/torrent
sudo mkdir downloading
sudo mkdir completed
sudo mkdir watch
sudo mkdir backups
cd /media/usbhdd/jdownloader
sudo mkdir downloading
sudo mkdir extracted
sudo chown -R pi:pi /media/usbhdd
Samba Server installieren
Um später auch über das Netzwerk auf den Downloadserver und die heruntergeladenen Dateien zugreifen zu können muss noch ein Samba Server installiert und eingerichtet werden
sudo apt-get install samba samba-common-bin
Konfigurieren:
sudo nano /etc/samba/smb.conf
Am Ende der Datei folgenden Code hinzufügen
[PiNAS]
comment = PiNAS Ordner
path = /media/usbhdd
create mask = 0755
directory mask = 0755
read only = no
browseable = yes
security = user
encrypt passwords = true
force user = pi
Jetzt noch dem Benutzer „pi“ in Samba ein Passwort vergeben
sudo smbpasswd -a pi
Den Raspberry neustarten
sudo reboot
Jetzt könnt ihr schon mit z.B. dem Windows Explorer unter Eingabe der IP Adresse des Raspberrys und anschließender Eingabe der Zugangsdaten auf die Festplatte zugreifen.
Deluge installieren (Torrent Downloader)
Um Torrents herunterzuladen benutze ich den Deluge Downloader. Wir installieren den Deluge Server also auch auf dem Raspberry.
sudo apt install deluged -y
sudo apt-get install deluge-console
Deluge einmal starten…
deluged
…um es anschließened wieder zu beenden
sudo pkill deluged
Von der soeben erstellten Datei eine Sicherheitskopie erstellen und die Originalkdatei bearbeiten
cp ~/.config/deluge/auth ~/.config/deluge/auth.old
sudo nano ~/.config/deluge/auth
Dort seht ihr die aktuellen Zugangsdaten. Da sich die Zahlen- und Buchstabenkombination aber niemand Merken kann, kann man auch eigene Zugangsdaten definieren. Löscht einfach die vorhandene Zeile und ersetzt diese mit euren Daten im Format
benutzername:passwort:10
Jetzt starten wir deluge wieder
deluged
Gehen in die Konsole
deluge-console
Und erlauben die Remotesteuerung
config -s allow_remote True
config allow_remote
Konsole wieder schließen
exit
Deluge nochmal neu starten
sudo pkill deluged
deluged
Damit beim Start des Servers deluge automatisch startet richten wir noch einen Autostart ein
sudo nano /etc/rc.local
Dort tragen wir (vor exit 0) folgendes ein
# Start Deluge on boot:
sudo -u pi /usr/bin/python /usr/bin/deluged
Jetzt den Raspberry neu starten
sudo reboot
Jetzt können wir uns mit dem Deluge-Server auch schon verbinden. Ladet auf der Deluge Website den passenden Client für Windows, Mac etc. herunter und installiert diesen.
Unter Bearbeiten -> Einstellungen -> Interface
Muss der Hacken bei „Klassischer Modus aktivieren“ entfernt werden.
Startet Deluge neu und es wird euch der Verbindungsmanager angezeigt. Dort auf „Hinzufügen“ und eure Daten des Servers eingeben. Wenn er den Server erreichen kann, ist der Statuspunkt grün – Bereit um Torrents zu laden.
Nur noch die Downloadpfade unter Einstellungen -> Downloads setzen:
/media/usbhdd/torrent/downloading
/media/usbhdd/torrent/completed
/media/usbhdd/torrent/watch
/media/usbhdd/torrent/backups
jDownloader installieren
Kein Downloadserver ohne jDownloader. Um diesen zu installieren, müssen wir zuerst einen Ordner erstellen, in diesen wir anschließend die Installationsdatei downloaden können.
mkdir ~/bin
mkdir ~/bin/jdownloader
cd ~/bin/jdownloader
wget http://installer.jdownloader.org/JDownloader.jar
Da jDownloader auf Java basiert, müssen wir vorher noch Java installieren. Das geht ganz einfach über
sudo apt-get install oracle-java8-jdk
Ab dem Release Raspbian Buster funktioniert die Installation von Oracle Jave 8 nicht mehr. Dieses wurde durch OpenJDK 11 ersetzt. Installation durch
sudo apt-get install openjdk-11-jre-headless
Jetzt sind wir bereit jDownloader zu installieren.
java -jar JDownloader.jar -norestart
java -jar JDownloader.jar -norestart
anschließend warten bis die Zugangsdaten zu myJDownloader eingegeben werden können (Ihr solltet euch da schon registriert haben, oder während ihr wartet, dass der jDownloader installiert wird, euch dort registrieren.)
Zum Schluss jDownloader mit Strg+C beenden (Bei Update Progress: 100%)
Für den Autostart von jDownloader bearbeiten wir die Datei „jdownloader.service“
cd /etc/systemd/system
sudo nano jdownloader.service
und fügen folgenden Inhalt ein:
[Unit]
Description=JDownloader
Wants=network.target
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/java -jar /home/pi/bin/jdownloader/JDownloader.jar
User=pi
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
Dienste neu laden und Autostart aktivieren
sudo systemctl daemon-reload
sudo systemctl start jdownloader.service
sudo systemctl enable jdownloader.service
Neustart
sudo reboot
Auf der myJDownloader Website einloggen, sollte anschließend der Server zu sehen sein.
Unter Einstellungen noch den Downloadpfad anpassen
Default Download Folder: /media/usbhdd/jdownloader/downloading
Sollen eure heruntergeladenen Dateien automatisch entpackt werden (rar Archive z.B.) aktiviert noch den Archive Extractor
Setzt bei Extraction: Custom Extraction Path
Einen Haken und weiter unten bei
Extraction: Custom Extraction Path
den Pfad
/media/usbhdd/jdownloader/extracted
Dann habt ihr die Dateien welche noch beim herunterladen sind und die schon extrahierten Dateien in getrennten Ordnern. Das schafft mehr Übersichtlichkeit.
Jetzt habt ihr es geschafft. Der Downlaodserver ist bereit, so ziemlich alle Arten von Dateien herunterzuladen. Und sollte der Download länger dauern, so ist dies bei dem niedrigen Stromverbrauch vom Raspberry (wenige Watt) auch nicht mehr schlimm.
Ich habe meinen Raspberry noch mit Kühlkörpern versehen und in ein Gehäuse gepackt:
Hallo,
ich bin total begeistert von deiner Lösung!
Es hat super funktioniert.
Jetzt habe ich als Linux und Pi Noob eine Frage und hoffe, du kannst mir helfen. Ich möchte die Festplatte als exFat laufen lassen.
Kannst du mir sagen, wie ich dies bewerkstelligen kann?
Könnte ich die Platte einfach an einem Windowssystem ändern und wieder einhängen?
Danke für die Antwort.
Mit freundlichen Grüßen,
Ingo
Hallo,
exFAT ist für Flash Speicher optimiert und bringt keine Vorteile auf einer normalen Festplatte. Zudem ist die Einrichtung unter Linux etwas komplizierter. Ich würde es nicht empfehlen und EXT4 beibehalten. Solltest du es trotzdem ändern wollen lies dir mal diesen Beitrag durch, da steht alles wichtige:
https://wiki.ubuntuusers.de/exFAT/
Bei mir läuft JDownloader sehr instabil. Die Load Average geht nach kurzer Zeit extrem nach oben, die CPU Load aber nicht – ein Zeichen dafür, dass Memory Swapping läuft. Das habe ich aber deaktiviert.
Kennst du das Problem vielleicht auch? Hast du eine Lösung?
Das Problem habe ich nicht. Leider weiß ich auch nicht was dazu führt, dass das Load Average nach oben geht. Normal ist auch eine langsame SD Karte dafür verantwortlich, aber da du Memory Swapping deaktiviert hast, sollte das eigentlich nicht die Ursache sein.
Schade – und seltsam. Ich verwende eine „Samsung Evo Plus“ SD Karte. Die sollte eigentlich schnell genug sein. Und ich habe noch nicht mal Samba oder den Torrent-Client installiert. Der Arbeitsspeicher des Raspberry ist trotzdem immer voll bis oben hin.
Vielleicht schon mal für andere, die mit einem ähnlichen Problem hier landen: Es hat ETWAS geholfen, dass ich den Speicherbedarf des jDownloaders in der Java-Kommandozeile mit dem Parameter -Xmx256m auf 256 MB RAM „HEAP“ Speicher limitiere, aber dadurch läuft das ganze jetzt zwar länger, aber nach einem Tag oder so hängt sich das System trotzdem auf.
So, für alle die mein Problem teilen noch ein kurzer Zwischenstand: Bei mir scheint das Problem nicht der jDownloader selbst zu sein, sondern irgendetwas anderes was das System zwischen 2 und 3 Uhr nachts anstellt. Ich habe noch nicht rausgefunden was es ist, aber habe die Symptome umgangen.
(Mein Raspbian habe ich über NOOBS installiert, vielleicht ist das ein relevanter Unterschied)
Meine Holzhammer-Lösung ist es den jDownloader per cron um 2 Uhr abzuschießen. Dann darf das System mit den jetzt frei gewordenen Resourcen seine Arbeit machen. Um 2:40 Uhr starte ich dann mittels „reboot“-Befehl im cron einfach die Box neu.
Das bedeutet eine kurze downloadfreie Zeit, aber dafür hängt sich die kleine Box jetzt schon seit einigen Tagen nicht mehr auf.
Bevor ich diese ‚Holzhammerlösung‘ einsetzen würde, würde ich einfach mal das System komplett neu aufsetzen mit der ‚Serverversion‘ von Raspbian (Raspbian Lite) so wie hier in meiner Anleitung beschrieben. Mein Server läuft jetzt schon seit Wochen ohne einen Absturz.
Holzhammer ist halt „Quick & Dirty“. Für das Neu-Aufsetzen muss ich erst mal Zeit finden. 😉
Und wie läuft das ganze mit captchas, wenn man als freeloader bei share-online lädt?
Wie bei einer normalen JDownloader-Installation. Sobald du den Link eingegeben hast erscheint ein PopUp in dem du das Captcha lösen musst.
Hallo super Anleitung komme bis zum Update Progress da steht einmal 3% und darunter Update Progress: -1% danach steht Kontaktiere Server…….
Nach Aktualisierung suchen
Danach passiert nichts was kann das sein
Danke schon für die Hilfe
Er kann den Server nicht kontaktieren. Evtl. probleme mit der Internetverbindung oder der Server ist gerade Down
Hallo was muss in der service.jdownloader ändern man damit der gui vom jdownloader auch gestartet wird wenn man einen bildschirm am raspberry hat.
Gar nichts. Das ist ja der Sinn einer „Headless“ Installation (zu Deutsch Kopflos – ohne GUI). Die komplette Verwaltung geschieht über myJDownloader. Willst du die GUI haben, (z.B. auf einer Desktopversion von Ubuntu) installierst du einfach die „normale“ Version von JDownloader.
Zuerst einmal: Klasse Tutorial!
Ich habe jedoch das Problem, dass meine Custom-Einstellungen, die ich im WEB-Gui (MyJDownloader) vornehme nach einem Neustart alle weg sind. (Downloadpfad, max. sim. downloads, custom extraction path, Premium-Accounts)
Mir ist dazu aufgefallen, dass die json-Dateien im Ordner ~/bin/jdownloader/cfg nicht überschrieben werden. Wenn ich dort Einstellungen manuell über die Konsole ändere, funktioniert es, nur finde ich das relativ unübersichtlich und habe bspw. noch nicht gefunden, wo man dort Premiumaccounts eintragen kann.
Desweiteren startet der JDownloader auf meinem Raspi nicht neu wenn ich im Webgui auf JD neustarten klicke.
Hat jemand einen Rat?
Wahrscheinlich hat jdownloader keine Berechtigung in die Konfigurationsdatei zu schreiben. Geb der Konfigurationsdatei mal die Rechte von dem Benutzer, mit dem jdownloader gestartet wird.
Das Problem mit dem Neustart hatte ich auch. Es liegt an der fehlerhaft konfigurierten „jdownloader.service“. Habe das glatt vergessen hier im Tutorial zu verbessern wird gleich erledigt
Füge unter [Service] die Zeile RemainAfterExit=yes hinzu.
Sehr gutes Tut, bis auf das nachträgliche setzen der Ordnerberechtigung (chmod) für den Downloadbereich hat auch alles funktioniert. Nun habe ich nur noch ein Problem. Wenn ich den Pi neustarte startet Jdownloader zwar mit aber macht mit dem Download nicht weiter sondern wartet bis ich die GUI aufrufe und den Prozess manuell anstoße. Ich habe nun einige Einstellung durchprobiert bekomme es aber einfach nicht hin.
In myJDwonloader unter „Einstellungen“ – „Profileinstellungen“ die Zeile „GeneralSettings: Auto Start Download Option“ suchen und auf „ALWAYS“ stellen
Hi, Vielen Dank für deine Anleitung. Hat alles problemlos funktioniert.
Hast du einen Idee wie ich die Downloads nach Abschluss automatisiert auf meinen NAS kopieren kann? oder eine Möglichkeit direkt auf den NAS zu downloaden.
Auf eine Antwort freu ich mich 🙂
Viele Grüße
Du könntest einfach die freigegebene Festplatte von deinem NAS in Linux mounten und ganz normal darauf speichern. Nach Abschluss des Downloads könntest du die Dateien auch auf dein NAS entpacken lassen. Dafür musst du diese aber auch mounten
Hallo, danke für die Anleitung. Leider läuft nach der Anleitung der JD auf meinem Pi nicht. Zumindest sehe ich unter meinen Zugangsdaten bei My JD keinen Server. Womöglich liegt es auch daran, dass ich keine HDD wie zu Beginn der Beschreibung hinzugefügt habe. Ich würde gerne meine WD mycloud als Speicherziel dem JD zuweisen, da ich auf diese mit allen Geräten im Haus zugriff habe. Auf dem PC kann ich dem JD einen Netzwerkpfad als Downloadziel zuweisen, geht das auch für den JD auf dem Pi? Gruß
Selbst wenn du keine HDD hinzugefügt hast, müsste der Jdownloader starten. Wahrscheinlich funktioniert der Autostart nicht. Starte mal Jdownloader manuell mit ’sudo systemctl start jdownloader.service‘. Wenn das nicht funktioniert liegt ein Fehler in der
jdownloader.service.
Selbstverständlich funktioniert das. Einfach das Netzlaufwerk mounten und man kann es wie ein lokales Laufwerk verwenden
Ergänzend zum Kommentar gerade eben … Die Frage wurde gestellt, und ich muss meine NAS unter Linux mounten. Gibt es hierfür eine Anleitung, da ich leider nicht weis wie man beim mounten den richtigen Nw-Pfad angibt.
Unter https://www.tutonaut.de/anleitung-netzwerkfreigaben-dauerhaft-linux-einbinden/ gibt es eine gute Anleitung
Hallo,
sehr gute Anleitung! 😉
Wie könnte man nun einen VPN Dienst automatisch beim Start mit einbinden?
Ich benutze z. B. expressvpn. Die bieten direkt ein Installationspaket für Linux an, welches auch alles andere für dich erledigt – Autostart und Connecten mit dem vorher eingestellten Server.
Hallo,
Danke, für diese fehlerfreie und geniale Anleitung!!!
Ich habe eine sehr schnelle 32GB microSD damals für die Raspberry gekauft und habe mir gedacht ich erstell dann auch die download Ordner alle darin ins /home Verzeichniss.
Alles so weit so gut, bis ich versucht habe heruntergeladene dateien da heraus zu bekommen.
Meine Idee war, ich entferne die SD und schliesse sie an den PC (leider nur windoof 10) und kopiere diese dann einfach. Erst da habe ich bemerkt das er ja ext4 nicht erkennt.
Hast du eine einfache Idee wie ich das lösen kann?
Es ist mir wichtig die SD als internen speicher zu nutzen.
Ich habe auch versucht ein USB Stick einzubinden um die Daten dann darauf zu kopieren. Jedoch bekomme ich die Fehlermeldung „permission denied“, was sicher an meinen schlechten Linux Kenntnissen liegt.
Danke im voraus.
Es gibt Programme für Windows die es ermöglichen das Linux Dateiformat auf Speichermedien zu lesen. Einfach mal nach ‚Ext4 unter Windows lesen‘ googlen
Den USB Stick kannst du genauso wie eine normale Festplatte (wie hier in der Anleitung beschrieben) einbinden. Einfach die Schritte befolgen, dann klappt das auch selbst für Linux Anfänger.
hey, tolle Anleitung, vielen Dank.
Es hat auch alles gut geklappt, ich habe nur ein Problem bei:
sudo systemctl start jdownloader.service
sudo systemctl enable jdownloader.service
der daemon restart funktioniert ohne Probleme, bei diesen beiden commandos bekomme ich aber folgenden Fehler:
Failed to start jdownloader.service: Unit jdownloader.service is not loaded properly: Invalid argument
Im anschließenden systemctl status bekomme ich Hinweis auf das Invalid argument und dann:
[/etc/systemd/system/jdownloader.service:10] Missing ‚=‘.
Habe deine nano jdownloader.service wirklich schon mehrfach auf Tippfehler überprüft aber genau so abgeschrieben. Dann habe ich mit den Gleichheitszeichen im Code rumgespielt, also mal Leerzeichen zwischen = gesetzt, (Missing ‚=‘) nur um dann die Zeile mal 2, mal 4 mal 6 Mal zu erhalten.
Kannst du mir bitte weiterhelfen?
–> solved:
ExecStart=/usr/bin/java -jar /home/pi/bin/jdownloader/JDownloader.jar
muss in eine Zeile ohne Zeilenumbruch
ExecStart=/usr/bin/java -jar /home/pi/bin/jdownloader/JDownloader.jar
Dafür bin ich zu wenig Programmierer um das aus dem Code gelesen zu haben 🙂
Nochmals vielen Dank für die Anleitung
Hallo, freut mich dass du das Problem alleine gelöst hast.
Ich muss für die Codezeilen noch ein Plugin für WordPress finden, dass den Code nicht zerstückelt bzw. je nach Fenstergröße des Browsers Zeilenumbrüche einfügt. Das ist sonst wie du selbst bemerkt hast nicht direkt ersichtlich.
Hallo welche taste muss ich drücken in pputty um dann weiter machen zu können?
Wie meinst du welche Taste?
Hallöchen, tolle Anleitung 🙂
Leider bin ich mit Etcher auf das Problemchen gestoßen, dass Raspi nicht bootet. (Etcher macht das Boot Verzeichnis so klein, dass die SD vom Raspi als Read-only eingestuft wird)
Lässt sich aber lösen indem man den Win32DiskImager benützt 🙂
Hallo, das Problem hatte ich mit Etcher bisher nicht 🙂
Moin, danke für die Anleitung. Es soweit alles geklappt. Leider kam bei mir nicht der Punkt, an dem ich die Daten für MyJDownloader angeben kann. Kann ich das nachträglich hinzufügen?
Sollte normalerweise kommen. Vielleicht hast du den Befehl
java -jar JDownloader.jar -norestart
nur einmal ausgeführt. Du musst diesen zwei mal ausführen.Hallo Florian,
danke für das tolle Tutorial. Ich habe leider auch den Punkt verpasst, meine myJDownloader-Zugangsdaten einzugeben. Wie kann ich die Login-Daten nachträglich eintragen? Wenn ich
java -jar JDownloader.jar -norestart
absende, erhalte ich nur die info „shutdown hooks finished“
Soll ich JDownloader wieder deinstallieren? Wenn ja, wie geht das?
Danke für Deine Antwort und schöne Ostern!
Thomas
Google ist Dein Freund… 🙂
rm -r meinordner/
Neu installiert, dieses Mal gewartet, und bamm. Läuft.
Geil. Danke. 🙂
Schön das du das Problem selber lösen konntest 🙂
Moin Florian,
deine Anleitung ist super. Ich habe alles zum laufen bekommen, habe jetz aber das Problem, dass der Jdownloader die Downloads nicht auf mein NAS speichert.
Ich bekomme immer ein „invalid download Directory“.
Bei deinem Tut habe ich lediglich den Pi aktualisiert und bin dann zu Punkt „jDownloader installieren“ gegangen.
Hier mein Mount-befehl: sudo mount -t cifs -o username=pi,password=**** //192.168.2.24/public //media/raspberry
Der Jdownloader erkennt den Pfad auch als Mount: /media/raspberry OK
Über den Pi kann ich in der Freigabe auch Ordner anlegen. Ich weiß nicht, wieso der Jdownloader nicht in das Verzeichnis schreibt. Past du eine Idee?
Nachtrag: die Rechte scheinen mir jetzt doch wieder zu fehlen, um manuell einen Ordner in der Freigabe anzulegen -.- Ich bin leider kein Experte in Linux. Hast du hier ebenfalls eine Idee, wie ich die Schreibrechte einrichte? Der User „pi“ ist auf der Freigabe für alles berechtigt.
Hast du den JDownloader auch mit dem User Pi installiert oder mit root? Sollte letzteres der Fall sein muss natürlich root Zugriffsrechte bekommen auf die Freigabe. Ansonsten kannst du mit sudo chown -R pi:pi /media/raspberry
Dem User pi die rechte geben
Hallo Florian,
danke für den Tipp. Leider klappt dies nicht. Ich habe mich strikt an deine Anleitung gehalten.
Folgenden Mount-Befehl habe ich verwendet:
sudo mount -t cifs -o user=**** //192.168.2.24/public/media/Downloads /media/QNAP
danach die Eingabe des Passwortes des User, welcher Zugriff auf die Freigabe hat. Danach mit dem Pi User den, von dir besagten Befehl „sudo chown …“ ausgeführt, aber es heißt weiterhin, Zugriff verweigert. Muss hier ggf. doch noch was an der Freigabe vom NAS eingerichtet werden?
Auf dem NAS muss natürlich auch der Zugriff freigegeben sein. Leider weiß ich da auch nicht weiter, da ich auf einer Festplatte direkt am Pi schreibe.
Hi Florian,
mittlerweile habe ich meine NAS-Festplatte in den Pi gemountet aber habe das Problem, dass jeder Download nach Captchas fragt und ich nicht mal 100kb/s für den Download mit dem Rasperry Pi von Share-Online bekomme. Wenn ich „normal“ über den Jdownloader-Client am PC den gleichen Container (mit den gleichen Share-Online credentials) downloade, habe ich die übliche Bandbreite.
Hast Du eine Idee, woran das liegen könnte?
Viele Grüße,
Thomas
Das hört sich für mich aber sehr danach an, dass etwas mit dem Account/Zugangsdaten nicht stimmt. Captchaabfrage und 100kb sind normalerweise für Free User.
So ist es…
Stichwort: „JDownloader Credentials“
Geht nicht davon aus, dass myjdownloader.org eure Share-Online-Zugangsdaten o.ä. speichert. Wenn ihr einen neuen Downloadserver aufsetzt, immer auch auf die Zugangsdaten auf myjdownloader.org-Seite achten bzw. hinzufügen.
Servus 🙂
super Tutorial ! mit meinem Raspberry Pi 4 haut es perfekt hin, jedoch hab ich versucht ffmpeg zu installieren und das haut bei mir überhaupt nicht hin.
hast du dir ffmpeg für den Jdownloader konfiguriert?
Servus, nein ffmpeg habe ich nicht auf dem Raspberry. Da kann ich dir leider nicht helfen.
Hi,
klasse ich werde das auch Probieren, ich benötige aber nur den Jdownlaoder 🙂 Mal eine Frage, kann ich auch als Speichermedium eine vohandenes NAS verwenden (keine USB HDD) ? ich würde die Daten dann gerne direkt dort drauf schreiben lassen, geht dann auch auch ein anderes Filesystem ? wie verbinde ich das NAS laufwerk ?
Na klar kannst du auf ein vorhandenes NAS Laufwerk speichern. Einfach das Netzwerklaufwerk anstelle des lokalen Laufwerks einbinden. Gibt im Netz zahlreiche Anleitungen dafür z.B. https://www.tutonaut.de/anleitung-netzwerkfreigaben-dauerhaft-linux-einbinden/amp/
Hello
many thanks for this tutorial that help me MUCH to run Jdownloader on my RPI
i encountered difficulties by installing JAVA, the version 8 seems to be not avalaible, i’ve installed version 9 by :
adding this repo in /etc/apt/sources.list
deb http://ftp.de.debian.org/debian stretch-backports main
and after
sudo apt-get update
sudo apt-get install openjdk-9-jdk-headless
(sorry i don’t speak German)
Tolle Anleitung. Hat mir sehr geholfen den jdownloader von meinem NAS auf den Raspberry zu migrieren.
Leider habe ich noch ein kleines Problem, im jdownloader steht beim Download “ungültiger Downloadpfad”, der Pfad ist aber richtig. Ich vermute daher ein Berechtigungsproblem. Muss ich dem jdownloader.service evtl. noch Schreibrechte gewähren?
Wie mache ich das?
Mit welchem Benutzer wird jDownloader gestartet? Dieser Benutzer benötigt auch die Berechtigung für den Downloadpfad. Du kannst diesen ganz einfach mit sudo chown -R pi:pi /media/usbhdd geben (wenn der Benutzer und die Gruppe pi ist und die Festplatte unter /media/usbhdd eingebunden ist.
Hallo,
vielen Dank für das tolle Tutorial. Deluge läuft nun einwandfrei auf dem Pi.
Allerdings musste Ich Raspbian Buster installieren. Mit Stretch gab es Probleme. Leider komme Ich nun nicht an den Punkt, an dem Ich dem jDownloader auf dem Pi meine Zugangsdaten mitteilen kann. Ich musste auch OpenJDK verwenden, da Oracle Java nicht mehr supportet wird. Hast du da eine Idee?
Eigentlich müsste die jDownloader Installation genau so ablaufen, wie mit dem Oracle Java auch. Bei Gelegenheit werde ich das mal testen.
Hallo,
ich habe das Ganze jetzt mal mit Raspbian Buster ausprobiert. Ich habe OpenJDK 11 installiert. Die Installation von jDownloader und die Eingabe der Zugangsdaten funktioniert tadellos. Auch der anschließende Betrieb von jDownloader funktioniert reibungslos. Ich habe den Blogbeitrag mal aktualisiert.
Danke für das schöne Tutorial. Ich habe in der jdownloader.service den User entsprechend angepasst, aber JDownloader scheint trotzdem als root zu laufen, was ich sicherheitstechnisch nicht so optimal finde. Läuft JDownloader bei euch als root oder unter dem User, den ihr angegeben habt?
Neu gestartet hast du, nachdem du die jdownloader.service angepasst hast? Sollte eigentlich dann mit dem Nutzer laufen, den du angegeben hast. Der Nutzer muss natürlich auch auf dem System vorhanden sein.
Hallo Zusammen,
Erstmal vielen Dank für die Super Anleitung.
Habe bis auf Deluge alles so eingerichtet.
Anstatt Deluge habe ich Qbittorrent verwendet. Könnte bei Bedarf eine Anleitung zu Verfügung stellen.
Habe eine Frage zu dem installierten Java.
Installiert wurde
sudo apt-get install openjdk-11-jre-headless
Würde auch
sudo apt install default-jdk
Gehen?
Was ist der Unterschied?
Mit
sudo apt install default-jdk
installierst du einfach das Standardpackage aus den Repositories. Das kann dann aber auch schon mal eine veraltete Version sein. Mitsudo apt-get install openjdk-11-jre-headless
installierst du eine spezifische Version. Also hier die Version 11.Hallo Florian,
Vielen Dank für deine schnelle Antwort.
Echt super, dass du hier so gut Anleitung bereitstellst.
Jetzt weiß ich den Unterschied und weiß auch, dass beide Varianten funktionieren.
Habe es aber natürlich nach deiner Anleitung gemacht.
for java 11 bellsoft
ExecStart=/usr/lib/jvm/jdk-11-bellsoft-arm32-vfp-hflt/bin/java -jar
Hallo Florian,
habe dein Tutorial vor einem Jahr schonmal angewendet und es hat super funktioniert damals, daher danke schonmal.
Jetzt klappt es allerdings nicht. Nach dem ersten Reboot startet raspbian allerdings direkt im emergency mode mit der Eingangszeile
Reloading system manager configuration
Starting default target
You are emergency mode
Weder die vorgeschlagenen Befehle noch ein Abbruch oder erneuter Reboot sind möglich. Ich kann eigentlich nur von vorne beginnen und die SD-Karte neu flashen… Komme allerdings immer wieder an diesen Punkt.
Was mache ich falsch?
VG Jannis
Welchen Raspberry verwendest du? Diesen Fall hatte ich auch noch nicht
Hallo,
ich habe die torrend Sachen nicht installiert, kann es daran liegen das der jDownloader deswegen nicht nach den Zugangsdaten fragt? Ich bekomme den nicht gestartet.
Die Autostarteinträge in der „jdownloader.service“ sind auch drin.
Wenn ich das zweite mal „java -jar JDownloader.jar -norestart“
aufrufe wird genau das gleiche wie beim ersten mal gemacht es wird etwas installiert, dann kommt ein updatefenster des JDownloaders das sich bei 100% wieder schließt und im Terminal kommt wieder:
pi@raspberrypi:~/bin/jdownloader $
Das wars aber wo kann ich dann die Zugangsdaten für myJDownloader eingeben?
oder funktioniert das nicht mehr?
Hallo
Der jDownloader sollte dich beim zweiten mal nach deinen Zugangsdaten fragen. Ist Java auch installiert? Installierst du das auf einer frischen aktuellen Raspbian Installation?
Java ist installiert, aber nach Zugangsdaten werde ich nicht gefragt.
Ist eine nagelneue Raspieinstallation. Habe das jetzt zum zweiten mal komplett durchexerziert.
Ist ein “2020-08-20-raspios-buster-armhf.img”. (mit Desktop)
Wäre Java nicht installiert gäbe es ja auch sofort eine Fehlermeldung und später nicht das Updatefenster vom JDownloader.
Ich kann da zwar eine jDownloader.jar starten aber das ist dann nur jDownloader Xarchiver. Da finde ich keine Möglichkeit die Zugangsdaten einzugeben.
Da könnte schon das Problem liegen. Ich habe jDownloader auf einer Server Version installiert (ohne Desktop). Vielleicht installiert jDownloader dann eine Desktopversion und fragt deshalb nicht nach Zugangsdaten, da du die wahrscheinlich in der GUI eingeben kannst. Das weiß ich aber nicht sicher.
Danke das war es.
Ohne Desktop ist es jetzt allerdings recht mühselig.
Ich werde da jetzt mal ein Backup machen und dann versuchen den Desktop nachzuinstallieren.
ich habe die Anleitung genauso wie beschreiben befolgt. Jedoch kann ich „java -jar JDownloader.jar -norestart“ so oft eingeben wie ich möchte es öffnet sich einfach kein Fenster für meine Zugangsdaten.
Installierst du auf eine Serverversion von Raspberry OS also headless oder auf eine Desktop Version. Meine Anleitung funktioniert nur mit einer Headless Version (siehe Antworten oben da hat einer schonmal das Problem gehabt)
nein ich habe es auf eine Desktop version installiert, hättest du eine anleitung für die desktop version?
Meine Anleitung funktioniert nur mit der Headless Version. Für die Desktopversion versuch mal das: https://wiki.ubuntuusers.de/JDownloader_2/
Den Desktop kann man aber nachinstallieren, funktioniert dann auch alles. 😉
kannst du mir sagen wie ich das mache?
Ich habe danach gegoogled und eine Anleitung gefunden.
Ich weiß jetzt nicht ob der Link hier erlaubt ist.
http://coldcorner.de/2018/02/23/upgrade-raspbian-stretch-lite-zur-vollen-desktop-version/
Wie kann ich denn die installatio vom Jdownloader wieder Deinstallieren um eine saubere neuinstallation zu beginnen??
mir apt-get remove –purge jdownloader komm ich nicht weiter
Wie kann man den Account im JDownloder ändern?
JDownloader beenden und die Datei
cfg/org.jdownloader.api.myjdownloader.MyJDownloaderSettings.json anpassen
Funktioniert das auch mit dem Raspberry 4?
Hintergrund ist der das der LAN Port „echtes“ Gigabit LAN ist.
Damit kann man schneller die Dateien von der Platte auf den PC bringen.
Ich habe es zwar nicht getestet aber die Anleitung sollte auch für einen Raspberry Pi 4 funktionieren 😉
Richtig, funktioniert mit dem Raspberry 4.
Ja, danke für die Antworten.
Reichen 2GB beim 4 Modell für JDownloader oder sollten es mehr sein?
Bin Neuling beim Raspberry und Linux.
Was ist von diesem Angebot zu halten?
https://www.mydealz.de/deals/raspberry-pi-4-modell-b-set-mit-64gb-sd-karte-gehause-lufter-und-hdmi-kabel-1712904
2GB langen wirklich aus. Selbst die 1GB beim Pi3 waren genug. Wenn du all die Teile benötigst dann ist das Angebot gut
Hallo Florian, deine Anleitung funktioniert super, allerdings kann ich mit meinem Pi 2B nur mit max. 20 MBit auf die externe Festplatte laden. Am Server liegt es nicht und der USB 2.0 Anschluss sollte auch mehr Durchsatz schaffen.
Hast du eine Idee?
Grüße
Hallo, das kann schon sein. Der Raspberry 2B ist nicht der schnellste und USB 2.0 hat eine reale Dursatzgeschwindigkeit von ca. 40 MB/s. Und da der Ethernet Port auch über den selben USB Bus angebunden ist, teilt sich die Geschwindigkeit auf die Hälfte. Also deine 20MB/s. Da hilft nur der Pi4.
Was macht man, wenn nach der Modifikation der Datei fstab der Raspi nicht mehr startet?
Hat sich erledigt, habe die micro SD mit dem balenaEtcher und dem neusten raspi OS neu geflasht. Auf der Karte war irgendetwas schiefgelaufen, sie konnte auch mit extFS for Mac nicht aktiviert werden.
Auch wenn das Problem schon gelöst wurde: wenn nach bearbeiten der fstab der Pi nicht mehr hochfährt, dann wurde wahrscheinlich etwas falsches in die fstab eingetragen oder das neu eingetragene Laufwerk kann nicht gefunden werden. Einfach die SD Karte an einen Linux Rechner anschließen und die fstab richtig bearbeiten/zurücksetzen auf Ursprung dann sollte der Pi wieder starten.
Danke für deine Antwort!
Hallo,
nach längerer Zeit habe ich meine PI mal wieder gestartet und der JDownloader verbindet sich nicht mit mydownloader?!
Der Desktop JDownloader läuft ohne Probleme.
Was ist da los?
Ich muss auch sagen ich bin ein Noob mit Linux und Raspberry.
Wenn du die Desktopversion installiert hast verbindet er sich wahrscheinlich nicht automatisch. Muss im GUI erst manuell verbunden werden. Bei der Server Version (ohne GUI) verbindet er sich automatisch
Ja bei der Desktop Version habe ich unter Einstellungen das so eingestellt.
Aber die Server Version verbindet sich nicht (mehr).
Ich weiß auch nicht ob der JDownloader überhaupt startet.
Mit Putty kann ich auf den PI zugreifen, wie kann ich sehen ob das Programm gestartet wird?
Oder wie kann ich manuell starten?
Danke
Mit „sudo systemctl status jdownloader.service“ findest du heraus ob der Service läuft. Wenn er läuft steht „active“ irgendwo in der Ausgabe. Wenn nicht dann irgend etwas anderes (auch Fehlermeldungen bzw. warum der Service nicht gestartet ist). Zum starten kannst du dann „sudo systemctl start jdownloader.service“ verwenden
Ich gebe das manuell ein da ich das nicht kopieren kann oder ich kein Bild einfügen kann. Es sieht danach aus dass das JDownloader.jar File defekt/corrupt ist?!
ZITAT:
Loaded: loaded (/etc/systemd/system/jdownloader.service; enabled; vendor preset: enabled)
Active: (in roter Schrift>) failed (Result: exit-code) since Sund 2021-07-04 20:17:16 BST; 18h ago
Process: 538 ExexStart=/user/bin/java -jar /home/pi/bin/jdownloader/JDownlaoder.jar (in roter Schrift>) (code=exited, status=1/FAILURE)
Main PID 538 (code=exited, status=1/FAILURE)
Jul 04 20:17:16 raspberrypi systemd[1]: Started JDownloader.
Jul 04 20:17:16 raspberrypi java[538]: Error: Invalid or corrupt jarfile /home/pi/bin/jdownloader/JDownloader.jar
Jul 04 20:17:16 raspberrypi systemd[1]: jdownloader.service: Main process exited, code=exited, status=1/FAILURE
Jul 04 20:17:16 raspberrypi systemd[1]: jdownloader.service: Failed with result ´exit-code´.
Ich denke mit neuinstallieren des JDownloader sollte es sein?!
Muss ich vorher deinstallieren? Und wenn ja, wie?
Danke
Achso, mit „sudo systemctl start jdownloader.service“ startet es nicht.
Hallo,
Irgendwie will der jdownloader nichts auf die HDD speichern. Ich bekomme immer die Fehlermeldung das das Verzeichnis falsch ist.
Leider kann man über das Webinterface sich nicht hineinhangeln.
Ich habe die USB Platte USB-HDD genannt.
und gebe daher /media/USB-HDD/jdownloader/downloading/ an.
Wo wird das log gespeichert?
Es kann auch sein dass dem jdownloader die Berechtigungen für das Verzeichnis fehlen. Der User mit dem JDownloader ausgeführt wird muss natürlich auch Schreibrechte für die HDD haben
Richtig, aber wie kann ich die ihm geben. Die Verzeichnisse der HDD selbst haben ja Schreibrechte für jeden.
Hat sich erledigt. War der falsche Pfad. Unter der der Linuxoberfläche wird mit ein anderer Pfad angezeigt. (USB-HDD statt usbhdd).
Warum auch immer…
Hallo Florian, danke für die Anleitung. Endlich mal eine Anleitung, die keine Vorkenntnisse voraussetzt. Die Installation von JDownloader hat auf meinem Pi4B grundsätzlich funktioniert und die Downloads werden auch korrekt abgelegt. Mit Samba hab ich jedoch Probleme. Zwar kann ich lesend auf die Downloads zugreifen und diese auf meinen Rechner speichern. Ich kann aber nichts auf der SSD löschen. Was mache ich falsch? Ich habe die smb.conf wie oben beschrieben 1:1 übernommen, nur die letzte Zeile heißt bei mir „force user = user“ da mein Benutzerneme „user“ ist und nicht „pi“. Danke für Hinweise.
Hallo, dann stimmt etwas mit den Berechtigungen der Dateien nicht. Mit welchem User läuft jDownloader? Mit welchem User benutzt du Samba? Beide müssen gleich sein, dann hat man vollen Zugriff auf die Dateien. So hast du nur Lesezugriff.
Hallo Florian, danke für die Rückmeldung. Ich hatte vorher nie mit Linux zu tun und bin inzwischen zum Forscher geworden.
Den Befehl „sudo chown -R user:user /media/usbhdd“ beim Einrichten der SSD hatte ich übersehen. Er steht im Abschnitt „Verzeichnissen anlegen“ , das ich auf meine Bedürfnisse abgekürzt hatte. Der Schritt sollte besser von diesem mit einer Zwischenüberschrift „Nutzerrechte anlegen“ separiert werden.
Auch in der Datei jdownloader.service hatte ich die Zeile User=user ohne Zeilenumbruch hinter den Exec-Befehl geschrieben weil das bei mir im Browser so dargestellt wurde. Nachdem ich das korrigiert hatte funktionierte gar nichts mehr. Ich bekam von verschiedenen Downloadservern nur noch die Meldung „Hosterproblem?“ Nachdem ich die Zeile ganz rausgeworfen habe, starten die Downloads wieder und werden offenbar als user:user abgelegt. Ich werde jetzt weiter testen und berichten.
Danke für die Unterstützung.