Jdownloader2

From SME Server
Revision as of 21:17, 15 August 2015 by Stephdl (talk | contribs) (→‎Usage)
Jump to navigation Jump to search

Jdownloader2

JDownloader is a direct download manager that supports the most popular file sharing services. By copying the URL containing the files you want to download, the program will just add them automatically to its download list thanks to the link grabber feature. This software is 100% free and Open Source.

Howto

JDownloader is many years my favorite download manager. He has indeed many positive points:

  • supports an impressive number of hosts (Uptobox, Rapidshare, Youtube, ... 1file.)
  • Java-based platform
  • support for multi-site premium subscriptions such alldebrid.com
  • supporting different types of captchas
  • controllable via a dedicated Android app or better a simple browser (my.jdownloader.org)
  • Free and open-source

Only an account is needed from my.jdownloader.org to use Jdownloader2

prepare and download

  • You need first to install java
yum install java-1.8.0-openjdk
  • you need to make a folder
 mkdir /usr/share/JD2
  • you need to download the java file
cd /usr/share/JD2
wget http://installer.jdownloader.org/JDownloader.jar

set JD

here you need an account with your password from http://my.jdownloader.org/

  • now you can launch the java software
java -Djava.awt.headless=true -jar /usr/share/JD2/JDownloader.jar

JD2 will ask to update, answer yes (y), then it need to restart

  • launch again the java software
 java -Djava.awt.headless=true -jar /usr/share/JD2/JDownloader.jar

here it will ask your jdownloader account.

  Note:
at my first start, the former instance was not closed properly , I found these warnings when I launched JD2 the second time
-> existing jD instance found!
-> Send parameters to existing jD instance and exit: [--focus]

in fact you have to close JD

ps aux |grep JD

find the pid, for example here

kill -9 7336


start at boot time

now when you launch the command above your JD instance is able to run. we have to create an init script to run JD at the boot time

  • create the db entry
db configuration set jdownloader service status enabled
  • create the initscript
vim /etc/rc.d/init.d/jdownloader

and past this

#!/bin/sh
### BEGIN INIT INFO
# Provides: <NAME>
# Required-Start: $local_fs $network $named $time $syslog
# Required-Stop: $local_fs $network $named $time $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: <DESCRIPTION>
### END INIT INFO

SCRIPT='java -Djava.awt.headless=true -jar /usr/share/JD2/JDownloader.jar'
RUNAS='root'
NAME='JD2'

PIDFILE=/var/run/$NAME.pid
LOGFILE=/var/log/$NAME.log

start() {
if [ -f $PIDFILE ] && kill -0 $(cat $PIDFILE); then
echo 'Service already running' >&2
  return 1
fi
echo 'Starting service…' >&2
local CMD="$SCRIPT &> \"$LOGFILE\" & echo \$!"
su -c "$CMD" $RUNAS > "$PIDFILE"

# Try with this command line instead of above if not workable
# su -s /bin/sh $RUNAS -c "$CMD" > "$PIDFILE"

sleep 2
PID=$(cat $PIDFILE)
  if pgrep -u $RUNAS -f $NAME > /dev/null
  then
    echo "$NAME is now running, the PID is $PID"
  else
    echo "Error! Could not start $NAME!"
  fi

}

stop() {
if [ ! -f "$PIDFILE" ] || ! kill -0 $(cat "$PIDFILE"); then
echo 'Service not running' >&2
  return 1
fi
echo 'Stopping service…' >&2
kill -15 $(cat "$PIDFILE") && rm -f "$PIDFILE"
echo 'Service stopped' >&2
}

uninstall() {
echo -n "Are you really sure you want to uninstall this service? That cannot be undone. [yes|No] "
local SURE
read SURE
if [ "$SURE" = "yes" ]; then
stop
  rm -f "$PIDFILE"
  echo "Notice: log file is not be removed: '$LOGFILE'" >&2
  update-rc.d -f <NAME> remove
  rm -fv "$0"
fi
}

status() {
      printf "%-50s" "Checking $NAME..."
  if [ -f $PIDFILE ]; then
      PID=$(cat $PIDFILE)
          if [ -z "$(ps axf | grep ${PID} | grep -v grep)" ]; then
              printf "%s\n" "The process appears to be dead but pidfile still exists"
          else
              echo "Running, the PID is $PID"
          fi
  else
      printf "%s\n" "Service not running"
  fi
}


case "$1" in
start)
  start
  ;;
stop)
  stop
  ;;
status)
  status
  ;;
uninstall)
  uninstall
  ;;
restart)
  stop
  start
  ;;
*)
  echo "Usage: $0 {start|stop|status|restart|uninstall}"
esac

we need to get that script executable

chown u+x /etc/rc.d/init.d/jdownloader

and set the time when we want it starts

chkconfig --add jdownloader
ln -s  /etc/rc.d/init.d/e-smith-service S90jdownloader

Usage

  • web interface

Your web Interface is reachable at http://my.jdownloader.org

  • control the service

you can control the service by

service jdownloader status
service jdownloader restart
service jdownloader start
service jdownloader stop