본문 바로가기
AndroidOverLinux

U5PVR JDownloader2 설치하기

by ㅋㅋ잠자 2017. 8. 28.
반응형

안녕하세요. 이번에는 JDownloader2 를 U5PVR 에 설치해 보도록 하겠습니다..




정확하게 이 다운로더를 어떻게 사용하는지는 모르지만 제가 보기에는 아래의 기능이 있습니다.


1. 외국에서 자주 쓰이는 웹하드에 공유된 파일을 쉽게 다운로드 가능함

2. HTTP 링크로 되어 있는 파일을 다운로드 가능함.

3. 암호화 되어 있는 링크 (직링크가 아닌) 파일도 다운로드 가능함

4. 크롬 애드온과 연동이 가능함

5. 스마트폰과도 연동이 가능함


이렇기 때문에 Transmission 과 JDownloader2 와 함께라면 무적의 다운로드 스테이션이 됩니다. 



설치 시작해 보도록 하겠습니다.


- 설치 시작 전 정보 - 

이 가이드는 안드로이드 5 와 7 에 모두 적용이 가능합니다. 저는 아래의 버전을 기반으로 작성하고 있습니다.


root@u5pvr-debian:~# version


U5PVR Linux Firmware / ATV 7

VERSION : 17.08.21-EddyLab

BASE    : GNU/Linux Debian 8 jessie


root@u5pvr-debian:~#




1. java 설치하기


java 는 공식 arm 레포에 있는 것이 아닌 java 홈페이지에서 배포하는 것으로 설치를 진행합니다. 


공식 레포에 있는것은 U5PVR 과 궁합이 매우 좋지 않습니다.


http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html


arm32 를 받으시면 됩니다.


# 파일을 받습니다.

root@u5pvr-debian:~# wget http://u5pvr.djjproject.com/jdk-8u131-linux-arm32-vfp-hflt.tar.gz

--2017-08-28 22:56:02--  http://u5pvr.djjproject.com/jdk-8u131-linux-arm32-vfp-hflt.tar.gz

Resolving u5pvr.djjproject.com (u5pvr.djjproject.com)... 1.226.113.222

Connecting to u5pvr.djjproject.com (u5pvr.djjproject.com)|1.226.113.222|:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 81648626 (78M) [application/x-gzip]

Saving to: ‘jdk-8u131-linux-arm32-vfp-hflt.tar.gz’


jdk-8u131-linux-arm32-vfp-hflt.tar. 100%[===================================================================>]  77.87M  3.70MB/s   in 22s


2017-08-28 22:56:24 (3.56 MB/s) - ‘jdk-8u131-linux-arm32-vfp-hflt.tar.gz’ saved [81648626/81648626]


# 받은 파일의 압축을 풉니다.

root@u5pvr-debian:~# tar xf jdk-8u131-linux-arm32-vfp-hflt.tar.gz

root@u5pvr-debian:~# ls

jdk1.8.0_131  jdk-8u131-linux-arm32-vfp-hflt.tar.gz

root@u5pvr-debian:~# mv jdk

jdk1.8.0_131/                          jdk-8u131-linux-arm32-vfp-hflt.tar.gz


# jdk1.8.0_131 폴더 이름을 java 로 바꿉니다.

root@u5pvr-debian:~# mv jdk1.8.0_131/ java


# java 폴더를 /opt 폴더로 옮깁니다.

root@u5pvr-debian:~# mv java /opt

root@u5pvr-debian:~# cd /opt/

root@u5pvr-debian:/opt# ls

java


# java 바이너리를 심링크를 통해 쉘에서 바로 실행할 수 있도록 합니다.

root@u5pvr-debian:/opt# ln -s /opt/java/bin/java /usr/local/bin


# 정상적으로 실행이 되는지 테스트

root@u5pvr-debian:/opt# java

Usage: java [-options] class [args...]

           (to execute a class)

   or  java [-options] -jar jarfile [args...]

           (to execute a jar file)

where options include:

    -d32          use a 32-bit data model if available

    -d64          use a 64-bit data model if available

    -client       to select the "client" VM

    -server       to select the "server" VM

    -minimal      to select the "minimal" VM

                  The default VM is client.


    -cp <class search path of directories and zip/jar files>

    -classpath <class search path of directories and zip/jar files>

                  A : separated list of directories, JAR archives,

                  and ZIP archives to search for class files.

    -D<name>=<value>

                  set a system property

    -verbose:[class|gc|jni]

                  enable verbose output

    -version      print product version and exit

    -version:<value>

                  Warning: this feature is deprecated and will be removed

                  in a future release.

                  require the specified version to run

    -showversion  print product version and continue

    -jre-restrict-search | -no-jre-restrict-search

                  Warning: this feature is deprecated and will be removed

                  in a future release.

                  include/exclude user private JREs in the version search

    -? -help      print this help message

    -X            print help on non-standard options

    -ea[:<packagename>...|:<classname>]

    -enableassertions[:<packagename>...|:<classname>]

                  enable assertions with specified granularity

    -da[:<packagename>...|:<classname>]

    -disableassertions[:<packagename>...|:<classname>]

                  disable assertions with specified granularity

    -esa | -enablesystemassertions

                  enable system assertions

    -dsa | -disablesystemassertions

                  disable system assertions

    -agentlib:<libname>[=<options>]

                  load native agent library <libname>, e.g. -agentlib:hprof

                  see also, -agentlib:jdwp=help and -agentlib:hprof=help

    -agentpath:<pathname>[=<options>]

                  load native agent library by full pathname

    -javaagent:<jarpath>[=<options>]

                  load Java programming language agent, see java.lang.instrument

    -splash:<imagepath>

                  show splash screen with specified image

See http://www.oracle.com/technetwork/java/javase/documentation/index.html for more details.

root@u5pvr-debian:/opt#


위 처럼 정상적으로 java 가 실행이 되면 java 설치는 끝났습니다.




2. jdownloader 설치하기


jdownloader 는 일단 설치하게 되면 업데이트 하는 데에 시간이 많이 걸립니다. .jar 파일을 받고 실행을 하시고 조금 시간이 걸립니다.


후.. 이 게시글 쓰면서 U+ 해외망 속도에 욕을 한번 내뱉고 갑니다. 최근에 해외망 속도가 너무 느려졌습니다. 유튜브야 뭐 캐싱 서버가 따로 있으니까 속도에 문제는 없는데요. 이게 참.. 해외망 속도가 너무 떨어집니다. 패키지 받을 때, 구글 드라이브 등등 너무 느리네요. 미치겠습니다. 홍콩 회선에 또 문제가 생긴걸까요?


# jdownloader 용 디렉터리를 하나 생성합니다.

root@u5pvr-debian:/opt# mkdir jdownloader


# 만든 디렉터리로 이동합니다.

root@u5pvr-debian:/opt# cd jdownloader/


# jar 파일을 받습니다.

root@u5pvr-debian:/opt/jdownloader# wget wget http://installer.jdownloader.org/JDownloader.jar


# 헤드리스 모드로 실행을 한번 합니다.

root@u5pvr-debian:/opt/jdownloader# java -jar /opt/jdownloader/JDownloader.jar -norestart


Update Message: Download Updates...

Downloadspeed: 2.82 MB/s, Time left: 07m:07s

Update Progress: 38.865%

Update Message: Download Updates...

Downloadspeed: 2.82 MB/s, Time left: 07m:06s

Update Progress: 38.868%

Update Message: Download Updates...


Downloadspeed: 2.82 MB/s, Time left: 03s

Update Progress: 41.626%

Update Message: Download Updates...

Downloadspeed: 2.82 MB/s, Time left: 03s

Update Progress: 41.638%

Update Message: Download Updates...

Downloadspeed: 2.82 MB/s, Time left: 01s


15|org.jdownloader.update.UpdateManager.log 8/28/17 11:44:52 PM - INFO [ org.jdownloader.update.SelfUpdateClient(validateSelfTestFile) ] -> Self Update successful

|---------------------------Headless Information-------------------------------

|       Restart Required

|       JDownloader Updated Itself and will exit now.

|       Please restart JDownloader after a few seconds.

|       Make sure that there is no running JDownloader process before restarting.

|------------------------------------------------------------------------------

root@u5pvr-debian:/opt/jdownloader#

# 위의 메시지가 보이면 일단 초기 업데이트 작업은 끝난 것입니다.


다음으로 아래의 사이트로 이동해서 계정을 하나 생성해 줍니다.


https://my.jdownloader.org/



다음으로 다시 한번 더 실행하여 상기 사이트에서 만든 계정을 입력합니다. 저는 예전에 생성해 둔 계정으로 로그인 하겠습니다.


root@u5pvr-debian:/opt/jdownloader# java -jar /opt/jdownloader/JDownloader.jar -norestart


25|Log.L.log 8/28/17 11:54:50 PM - INFO [ org.appwork.remoteapi.RemoteAPI(register) ] -> Try to register API namespace /update = interface org.jdownloader.api.update.UpdateAPI

25|Log.L.log 8/28/17 11:54:50 PM - INFO [ org.appwork.remoteapi.RemoteAPI(register) ] -> Try to register API namespace /device = interface org.jdownloader.api.device.DeviceAPI

25|Log.L.log 8/28/17 11:54:50 PM - INFO [ org.appwork.remoteapi.RemoteAPI(register) ] -> Try to register API namespace /reconnect = interface org.jdownloader.api.reconnect.ReconnectAPI

25|Log.L.log 8/28/17 11:54:50 PM - INFO [ org.appwork.remoteapi.RemoteAPI(register) ] -> Try to register API namespace /log = interface org.jdownloader.api.logs.LogAPI

25|Log.L.log 8/28/17 11:54:50 PM - INFO [ org.appwork.remoteapi.RemoteAPI(register) ] -> Try to register API namespace /dialogs = interface org.jdownloader.api.dialog.DialogApiInterface

|---------------------------Headless Information-------------------------------

|       MyJDownloader Setup

|       Your 'My JDownloader' logins are not correct.

|       Please check username/email and password!

|       Enter y -> Enter Logins

|       Enter n -> Exit JDownloader

# 로그인 해야 함으로 y 를 입력합니다.

y

|       Please Enter your MyJDownloader Email:

# 이메일 입력합니다.

djj9405@naver.com

|       Please Enter your MyJDownloader Password(not visible):

# 비밀번호 입력합니다.


|------------------------------------------------------------------------------


THREAD: 41


Update Message: Check for updates

Update Progress: 3%

Update Progress: -1%

Update Message: Contact Server...

Update Message: Check for updates

Update Progress: 100%


상기 까지 진행된 상태에서 방금 계정 생성한 사이트로 이동하여 연동이 되었는지 확인해 봅니다.


https://my.jdownloader.org/


하기 처럼 JDOWNLOADER@ROOT 라고 생성이 되어 있을 것입니다. (실은 U5PVR 로 이름을 바꾸고 싶기는 하나 귀찮아서 그냥 둡니다.)



눌러서 이동하시면 아래와 같이 다운로드 관리 창이 뜹니다. 


먼저 설정으로 이동하시어 General 탭에 Default Download Folder 를 설정해 줍니다.



다음으로 Extension Manager 로 이동하여 개인적이지만, 다운받으면 zip 파일들을 모두 풀어주는게 싫어서 Disable 로 설정합니다.



이렇게 기본적으로 설정이 끝났습니다.




3. init script 작성하기


자동 시작을 위해서 init script 를 아래와 같이 작성하고 부팅 시, 자동실행 해 줍니다.


현재 쉘에서 실행중인 jdownloader 는 Ctrl + C 로 종료해 줍니다.


219|Log.L.log 8/29/17 12:04:03 AM - INFO [ jd.config.SubConfiguration(save) ] -> Save Name:xnxx.com|SetMark:0|File:/opt/jdownloader/cfg/subconf_xnxx.com.ejs

219|Log.L.log 8/29/17 12:04:03 AM - INFO [ jd.config.SubConfiguration(save) ] -> Save Name:share-online.biz|SetMark:0|File:/opt/jdownloader/cfg/subconf_share-online.biz.ejs

219|Log.L.log 8/29/17 12:04:03 AM - INFO [ jd.config.SubConfiguration(save) ] -> Save Name:bigfile.to|SetMark:0|File:/opt/jdownloader/cfg/subconf_bigfile.to.ejs


THREAD: 224

224|Log.L.log 8/29/17 12:04:03 AM - FINER [ org.appwork.storage.JSonStorage(close) ] -> Start Saving Storage

224|Log.L.log 8/29/17 12:04:03 AM - FINER [ org.appwork.storage.JSonStorage(close) ] -> ENDED Saving Storage

root@u5pvr-debian:/opt/jdownloader#


root@u5pvr-debian:~# nano /etc/init.d/jdownloader


#!/bin/sh


DESC="JDownloader 2 Headless"

NAME=JDownloader2

PIDFILE=/var/run/$NAME.pid

COMMAND="/usr/local/bin/java -- -Djava.awt.headless=true -jar /opt/jdownloader/JDownloader.jar"

RUN_AS=root


d_start() {

    start-stop-daemon --start --quiet --background --make-pidfile --pidfile $PIDFILE --chuid $RUN_AS --exec $COMMAND

}


d_stop() {

    start-stop-daemon --stop --quiet --pidfile $PIDFILE

    if [ -e $PIDFILE ]

        then rm $PIDFILE

    fi

}


case $1 in

    start)

    echo -n "Starting $DESC: $NAME"

    d_start

    echo "."

    ;;

    stop)

    echo -n "Stopping $DESC: $NAME"

    d_stop

    echo "."

    ;;

    restart)

    echo -n "Restarting $DESC: $NAME"

    d_stop

    sleep 1

    d_start

    echo "."

    ;;

    *)

    echo "usage: $NAME {start|stop|restart}"

    exit 1

    ;;

esac


exit 0


# 실행 권한 및 재부팅 시 자동 시작 설정합니다.
root@u5pvr-debian:~# chmod a+x /etc/init.d/jdownloader
root@u5pvr-debian:~# update-rc.d jdownloader defaults
insserv: warning: script 'jdownloader' missing LSB tags and overrides

# 정상적으로 service 명령이 먹는 지 확인합니다.
root@u5pvr-debian:~# service jdownloader start
Starting JDownloader 2 Headless: JDownloader2.
root@u5pvr-debian:~#




4. 사용해보기


사용기는 영상으로 ㅎㅎ..




감사합니다.

반응형

댓글