Jump to content

Recommended Posts

Posted

As far as I know, there's no JDownloader API that a 3rd party application could support, and there's no SDK either. If there's one, please let me know where can we check it out ;)

Thanks,

Fiery

Posted

Hi, there is an official API: My.JDownloader API

That is documented here: https://docs.google.com/document/d/1IGeAwg8bQyaCTeTl_WyjLyBPh4NBOayO0_MAmvP5Mu4/edit?pli=1#

 

To enable this API locally, go to Advanced Settings and enable "RemoteAPi: Deprecated Api". 

 

The API is based on HTTP, i tried the following:

 

Get current speed:
Example result:
{
  "data" : 12220
}
 
 
Get packages:
Example result:
{
  "data" : [ {
    "eta" : 1313,
    "enabled" : true,
    "bytesLoaded" : 4183966,
    "speed" : 5190,
    "bytesTotal" : 11003942,
    "name" : "node-v4 2 1-linux-armv7l",
    "uuid" : 1445344136056,
    "running" : true
  }, {
    "eta" : 692,
    "enabled" : true,
    "bytesLoaded" : 5837537,
    "speed" : 4920,
    "bytesTotal" : 9244672,
    "name" : "node-v4 2 1-x86",
    "uuid" : 1445344136058,
    "running" : true
  }, {
    "eta" : 1347,
    "enabled" : true,
    "bytesLoaded" : 4595697,
    "speed" : 4922,
    "bytesTotal" : 11231892,
    "name" : "node-v4 2 1-linux-x86",
    "uuid" : 1445344136059,
    "running" : true
  }, {
    "enabled" : true,
    "bytesLoaded" : 0,
    "bytesTotal" : 13552232,
    "name" : "node",
    "uuid" : 1445344136060
  }, {
    "enabled" : true,
    "bytesLoaded" : 0,
    "bytesTotal" : 402,
    "name" : "apple-touch-icon",
    "uuid" : 1445344136061
  }, {
    "enabled" : true,
    "bytesLoaded" : 0,
    "name" : "v4",
    "uuid" : 1445344136062
  }, {
    "enabled" : true,
    "bytesLoaded" : 0,
    "bytesTotal" : 10158080,
    "name" : "node-v4 2 1-x64",
    "uuid" : 1445344136063
  }, {
    "enabled" : true,
    "bytesLoaded" : 0,
    "bytesTotal" : 12954343,
    "name" : "node-v4 2 1-sunos-x86",
    "uuid" : 1445344136064
  }, {
    "enabled" : true,
    "bytesLoaded" : 0,
    "bytesTotal" : 13956448,
    "name" : "node-v4 2 1-sunos-x64",
    "uuid" : 1445344136065
  }, {
    "enabled" : true,
    "bytesLoaded" : 0,
    "bytesTotal" : 12589250,
    "name" : "node-v4 2",
    "uuid" : 1445344136066
  }, {
    "enabled" : true,
    "bytesLoaded" : 0,
    "bytesTotal" : 11674722,
    "name" : "node-v4 2 1-linux-x64",
    "uuid" : 1445344136067
  }, {
    "enabled" : true,
    "bytesLoaded" : 0,
    "bytesTotal" : 22505860,
    "name" : "node-v4 2 1",
    "uuid" : 1445344136068
  }, {
    "enabled" : true,
    "bytesLoaded" : 0,
    "bytesTotal" : 10992882,
    "name" : "node-v4 2 1-linux-armv6l",
    "uuid" : 1445344136069
  }, {
    "enabled" : true,
    "bytesLoaded" : 0,
    "bytesTotal" : 11114971,
    "name" : "node-v4 2 1-linux-arm64",
    "uuid" : 1445344136070
  }, {
    "enabled" : true,
    "bytesLoaded" : 0,
    "bytesTotal" : 5526,
    "name" : "platform-icon-generic",
    "uuid" : 1445344136071
  }, {
    "enabled" : true,
    "bytesLoaded" : 0,
    "bytesTotal" : 4076,
    "name" : "platform-icon-osx",
    "uuid" : 1445344136072
  }, {
    "enabled" : true,
    "bytesLoaded" : 0,
    "bytesTotal" : 6076,
    "name" : "platform-icon-win",
    "uuid" : 1445344136073
  }, {
    "enabled" : true,
    "bytesLoaded" : 0,
    "bytesTotal" : 9772442,
    "name" : "node-v4 2 1-darwin-x64",
    "uuid" : 1445344136074
  }, {
    "enabled" : true,
    "bytesLoaded" : 0,
    "bytesTotal" : 138382,
    "name" : "trademark-policy",
    "uuid" : 1445344136075
  } ]
}
 
 
Best regards
Posted

Thank you, but we've got 2 major issues with that. First, you quote the option being named "RemoteAPi: Deprecated Api" -- it doesn't sound like an active development API ;) Second, using a HTTP client for such purposes would be a big overhead and we wouldn't want to go down that path. We would be happy to interface through a DLL API though, if there's one.

Posted

I looked into the JDownloader forum, it seems the API is still maintained because it is the same as for the My.JDownloader API site. But there will never be an official DLL  :unsure:

Posted

Hi, again:

 

examples of the window title

 

JDownloader 2 speed:3.70 KB

JDownloader 2 speed:0 B

JDownloader 2 speed:1.10 MB

 

Unfortunately it is not possible to suppress the B, KB, MB display

Posted

Hi, Fiery

 

is it possible to read values from Shared Memory or from the JDownloaders Window Title?

Yes, both is possible, as long as we can easily find the window and read the window title (case #2), or when it's easy to understand/interpret the shared memory content (case #1). With shared memory a documentation would help a lot :)

  • 3 weeks later...
Posted

Now JDownloader has a shared memory segment:

 

To activate it open "Advanced settings" and check "GeneralSettings: Shared Memory State".

Shared memory name: JDownloader
Update interval: 1000 ms

Content (1024 bytes):
version (currently 1) - integer, 4 bytes
bps bytes/s - 8 bytes
total bytes - long, 8 bytes
loaded bytes - long, 8 bytes
remaining bytes - long, 8 bytes
eta seconds - long, 8 bytes
running downloads - long, 8 bytes
open connections - long, 8 bytes
running packages - long, 8 bytes

 

It would be great if it is read by Aida64.

 

Best regards

Posted

Yes, they are possible to be implemented. The only problem is that Eset NOD32 (latest version with latest updates) blocks the process of JDownloader 2 Beta installer to download its packages, I suppose because is has malicious or suspicious content. Please ask the author of JDownloader to resolve this. I hope you understand that we do not want to support malicious software in AIDA64 in any ways.

Posted

Great! It works, but is it possible to display the ETA in the Format DD:HH:MM:SS ?

Thank you for the feedback. I'm afraid custom formatting for hardware monitor values is not possible.

Posted

Is it possible to display a string if i extend the shared memory like:

 

Content (1024 bytes):
version (currently 2) - integer, 4 bytes
bps bytes/s - 8 bytes
total bytes - long, 8 bytes
loaded bytes - long, 8 bytes
remaining bytes - long, 8 bytes
eta seconds - long, 8 bytes
running downloads - long, 8 bytes
open connections - long, 8 bytes
running packages - long, 8 bytes

eta string size - integer, 4 bytes

eta string - char, variable bytes (not 0 terminated, ISO-8859-1)

 

The byte order is little endian and all values are unsigned.

Posted

Yes, we can switch from the current ETA seconds to the new ETA string. But make sure to properly specify the string type. Is it Ansi string or Unicode or UTF-8?

It would also be great to improve the accuracy of the shared memory fields description by specifying whether they are signed or unsigned values, and also their endianness.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...