Setting up a Raspberry Pi as a download station with the help of JDownloader2

This article covers a step by step how-to dealing with the setup of JDownloader2 on Raspberry Pi.

The complete setup is meant to be used as the user pi. Take care of it, if you like to set it up for another user.

The goal

  • Run a JDownloader2 instance that automatically starts when a desktop session is established
  • Grant remote access to the JDownloader2 instance

Prerequisites

  • Running Raspian
  • Running a desktop session

How-to

JDownloader2 installation

Since newer versions of Raspian ship with the more or less original Oracle Java package and libraries like 7zip-JBinding, it is much more comfortable to set up a JDownloader2 installation and run it on a Raspberry Pi.

Create the directory, JDownloader will work in:


mkdir ~/jdownloader2
cd jdownloader2

Download the JDownloader starter file:


wget http://installer.jdownloader.org/JDownloader.jar

If you typed the last commands within a SSH connection, it is now time to change into a desktop session based terminal before starting JDownloader. That is because JDownloader needs features of an active LXDE environment, it won’t work as a headless service. You could for example use a automatically starting VNC server session like I explained here. Or (for testing purpose) just connect your Pi with your screen ๐Ÿ˜‰

It is already possible to start JDownloader with the command:


java -jar /home/pi/jdownloader2/JDownloader.jar

With this command JDownloader starts, retrieves updates and so on. Everything with this single command. The initial startup will take a longer time. Also following startups won’t be that fast but remote control works fluently once JDownloader was started.

To autostart JDownloader together with a specific user’s LXDE session, create this script in your preferred users home


nano /home/pi/jdownloader2/startjd2.sh

with the JDownloader init command in it:


#!/bin/sh
java -jar /home/pi/jdownloader2/JDownloader.jar

Set the correct permissions afterwards:


chmod 755 /home/pi/jdownloader2/startjd2.sh

Then edit


nano ~/.config/lxsession/LXDE/autostart

and put this line into this usually empty file:


@/home/pi/jdownloader2/startjd2.sh

If you want a desktop icon press


lxshortcut -o /home/pi/Desktop/JDownloader.desktop

and tell the wizard the path to your startjd2.sh

As a conclusion: If you have enabled auto login into a LXDE session (through configuration of the inittab, an automatically starting VNC service or just by enabling “Boot to Desktop/Scratch” when running raspi-config) in combination with auto starting JDownloader, you will end with an nearly headless JDownload server.

Remote control

In the previous version of JDownloader there was support for remote control by directly/locally accessing the JDownloader instance. This is past. Nowadays there is a web based environment called My JDownloader. Just create an account, link your JDownloader instance with it and you’re done.

12 thoughts on “Setting up a Raspberry Pi as a download station with the help of JDownloader2

  1. Hi, a verry nice Tutorial. Thank you for this.

    But i have a Problem.

    nano ~/.config/lxsession/LXDE/autostart

    He say fail to write this File. I’ve too tried with sudo but i have the same error.

    On “http://wiki.lxde.org/de/LXSession” i’ve read that i cant try “/etc/xdg/lxsession//autostart” but this too don’t works.

    Can annyone please help me to become a Autostart and a Desktop Icon???

  2. hi

    i think is the same problem has me

    lxsession folder doesn’t exist on .config folder

    just have lxpanel and lxterminal

  3. I’ve used the following solution:

    1 – Create directory ~/.config/autostart
    2 – Copy JDownloader.desktop file from /home/pi/Desktop/ to ~/.config/autostart

    Do a reboot and JDownloader should start when it goes into the desktop

    1. Thank you so much!! I’ve tried crontab, rc.local, etc, but this is the only solution that works!!

  4. typing the following command from a remote terminal with ssh:
    java -jar /home/pi/jdownloader2/JDownloader.jar
    or
    sh startjd2.sh

    JD starts on the remote pc and if it is closed, the process is termined also on rpi2.

  5. Hey there, i set up Jdownloader 2 successfully but have a problem. I have a NAS which i would like the Pi to save what I download from Jdownloader. i found that there isn’t a way to change the default save directory to a network location.
    For example, my PI currently saves to the local download folder /home/pi/Downloads. But i would like it to save to a network location. Is this possible? thanks in advance!!

      1. The thing is I only got the PI a few days ago and I have no clue on how to make shortcuts, I know what you mean by mounting a samba share but have no idea how to do it, do you mind explaining how, thanks for the reply!

    1. Yes it is,
      1.Set static IP of your NAS device- the easiest way…
      2. “vi /etc/fstab”
      3.write there:
      //”IP of NAS”/”shared folder of NAS” /home/pi/Desktop/”folder” cifs username=”user of nas”,password=”user” password”,workgroup=”name of group”,users,auto,user_xattr 0 0
      ps: where are quotes write your data, without them

      4. write, exit and use command “mount -a”

      Remember you need to add or have existed user of NAS. This will also mout folders of NAS on every reboot. Warning! As you can see, you need to write user and pass in plaintext, there are some solutions like to hide them, but it is on longer discussion. So try this method first and later you can think about this security issue.

Leave a Reply

Your email address will not be published. Required fields are marked *