docker-jdownloader-2 icon indicating copy to clipboard operation
docker-jdownloader-2 copied to clipboard

[Feature Request] Add Click'n'Load 2 support

Open Anuskuss opened this issue 7 years ago • 17 comments

First of all, thanks for your work. To make the experience even better I'm suggesting to add Click'n'Load support. You can already redirect 127.0.0.0:9666 from Windows to your server, the application just has to listen for it :smiley:

Anuskuss avatar Dec 17 '17 00:12 Anuskuss

Already implemented. Use myjdownloader

rix1337 avatar Dec 17 '17 00:12 rix1337

Nice, didn't know My JDownloader was capable of that. ~Guess I'm switching to plusminus/jdownloader-headless though.~

Edit: Nevermind, this is actually better than running it completely blind.

Anuskuss avatar Dec 17 '17 02:12 Anuskuss

These settings need to be changed to activate CNL for the docker JDownloader container:

  • JDownloader Settings -> Advanced Settings -> Search "Flashgot" -> uncheck "will listen on localhost only" (restart required)
  • Add port forwarding for CNL to Docker start arguments: “-p 9666:9666”
  • On client side install “Click'n'Load request proxy” add-in and configure Docker host IP (firefox/chrome)

dauhonk avatar Feb 27 '18 18:02 dauhonk

What I noticed: MyJDownloader would use the local IP of the JDownloader, if it were not running inside docker, when contacted in lan. I cant run the container in host mode (mainly because of VNC), so the internal IP reported to myJDownloader by this will always be the 172.X.X.X variant.

Have you guys found any way to override this with the docker host ip? This would dramatically increase the snappyness of MyJDownloader in the local network (have verified with a native JD2 install).

rix1337 avatar Apr 23 '18 10:04 rix1337

I guess you are talking about the MyJDownloader Browser Extension?

jlesage avatar Apr 24 '18 09:04 jlesage

And the mobile app.

Both will try to reach the docker bridge subnet first, the myjdownloader connection second (relayed over WAN). Since the bridge subnet has an IP range unavailable to the LAN, both the extension and app have constant connection issues. They work, but slowly.

Any idea where we can override or spoof the docker host IP "into jdownloader"?

rix1337 avatar Apr 24 '18 09:04 rix1337

What I noticed: MyJDownloader would use the local IP of the JDownloader, if it were not running inside docker, when contacted in lan. I cant run the container in host mode (mainly because of VNC), so the internal IP reported to myJDownloader by this will always be the 172.X.X.X variant.

Thanks for the great find! I also found that standalone install of JD2 is running much better in MyJdownloader than the docker one. Just didn't realize that using host instead of brigde would fix this problem! I've nothing against running it at host network so now my JD2 is running almost as smooth as standard installation.

pokrzys avatar Sep 09 '18 12:09 pokrzys

How did you get this running in host mode?!

rix1337 avatar Sep 09 '18 14:09 rix1337

I am running it at nas with openmediavault as OS. It has plugin for docker with nice GUI so I just switched from Bridge to Host in that GUI, restarted container and that's all. But I don't use vnc so I don't know if it can couse any problems.

pokrzys avatar Sep 09 '18 14:09 pokrzys

Ah, I am running Unraid, which has its own Desktop GUI built in.

If I switch to host, the docker container complains, that another x-Server (that of UNRAID) is already running.

Can't use host mode, sadly.

rix1337 avatar Sep 09 '18 17:09 rix1337

Have you tried another jdownloader image? On another machine I'm using plusminus/jdownloader-headless which also works fine. It just doesn't have webpage, being used just through MyJdownloader website. Can't decide which one top use so I use both. It is jd for headless systems and should not have any conflicts with x-server.

pokrzys avatar Sep 09 '18 18:09 pokrzys

Please try the following steps to get a direct connection. It worked for me.

  • First, add a new port mapping for TCP port 3129 to your container configuration (-p 3129:3129).
  • Open the JDownloader UI.
  • Go to Settings->Advanced Settings.
  • Search for MyJDownloaderSettings.
  • Set Custom Device IPs to the IP address of the host running the container, between double quotes (e.g. "192.168.1.1").
  • Change the Direct Connection Mode to Allow lan/wan connections with manual port forwarding.
  • Restart JDownloader.

jlesage avatar Sep 10 '18 10:09 jlesage

Oh god, this is so much better!!! Thank you @jlesage this is all I ever wanted!

rix1337 avatar Sep 10 '18 12:09 rix1337

Do I still need a MyJDownloader account to communicate between my docker container with jdownloader and my browser running on a different computer? I dont want to share data my data with my.jdownloader.org for privacy reasons.

tristan-k avatar Apr 17 '19 13:04 tristan-k

Do I still need a MyJDownloader account to communicate between my docker container with jdownloader and my browser running on a different computer? I dont want to share data my data with my.jdownloader.org for privacy reasons.

No. If the ports below are forwarded to your network and your client computer is on the same network you can directly communicate with jdownloader: 5800/tcp --> WebGUI (your Browser) 5900/tcp --> VNC (e.g. tightVNC Client) 9666/tcp --> CNL (via Browser CNL plugin or SSH tunnel (e.g. PuTTY))

No need for a myjdownloader account

dauhonk avatar Apr 17 '19 17:04 dauhonk

Thanks for answering. Can you recommend a click'n'load firefox addon and explain how to configure it? I thought port 3129 is there for direct connection. Also is it possible to redirect and solve captchas with the click'n'load addon?

tristan-k avatar Apr 17 '19 20:04 tristan-k

Dauhonks approch works perfect:

  • JDownloader Settings -> Advanced Settings -> Search "Flashgot" -> uncheck "will listen on localhost only" (restart required)
  • Add port forwarding for CNL to Docker start arguments: “-p 9666:9666”

But i wanted to add:

  • On your "windows client" redirect the local port 9666 to the jdownloader docker image by typing in CMD: netsh interface portproxy add v4tov4 9666 IP_OF_DOCKER 9666 127.0.0.1

zensbert avatar Apr 11 '20 13:04 zensbert