Jump to content
AIDA64 Discussion Forum
jadevwin

JDownloader values

Recommended Posts

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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:

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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 :)

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

Thank you, we'll update the ETA reading to show the ETA string in the next AIDA64 beta update due next week.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×