JDownloader.NET
1.0.0
dotnet add package JDownloader.NET --version 1.0.0
NuGet\Install-Package JDownloader.NET -Version 1.0.0
<PackageReference Include="JDownloader.NET" Version="1.0.0" />
paket add JDownloader.NET --version 1.0.0
#r "nuget: JDownloader.NET, 1.0.0"
// Install JDownloader.NET as a Cake Addin #addin nuget:?package=JDownloader.NET&version=1.0.0 // Install JDownloader.NET as a Cake Tool #tool nuget:?package=JDownloader.NET&version=1.0.0
JDownloader.NET
About
JDownloader.NET is a library that provides an interface to interact with the official JDownloader API. It has been written entirely from scratch, following the official JDownloader API documentation and Java source code.
The library targets .NET Standard 2.0 and .NET9.
Features
The vast majority of JDownloader namespaces and APIs are implemented:
- AccountsV2
- Captcha
- CaptchaForward
- Config
- Device
- Dialogs
- DownloadController
- DownloadEvents
- DownloadsV2
- Events
- Extensions
- Extraction
- Flash
- JD
- LinkCrawler
- LinkGrabberV2
- Log
- Plugins
- Polling
- Reconnect
- Session
- System
- Toolbar
- UI
- Update
Installation
📦 NuGet or dotnet add package JDownloader.NET
Usage
JDownloader Setup
Before using the library, you will need to register for a MyJDownloader account and to setup JDownloader for remote API access.
- Register for a MyJDownloader account if you don't already have one.
- In JDownloader, navigate to
Settings > MyJDownloader > Setup & Login
. - Enter you email, password, set a device name and click
Connect
. - Verify that the
Connection established. Great!
message appears.
Library Setup
All JDownloader.NET functionality is exposed through the JDownloaderClient
class.
Start by create an instance of this class by passing a JDownloaderClientOptions
instance and a unique application key:
using JDownloader;
using JDownloader.Model;
// Setup the client
JDownloaderClient jDownloaderClient = new(new JDownloaderClientOptions
{
AppKey = "MyAppKey"
});
Next you need to connect to your MyJDownloader account:
await jDownloaderClient.Connect("Email", "Password");
You can verify that the connection was successful using the IsConnected
property of JDownloaderClient
. Once connected to your MyJDownloader account, you will need to set the working device, the device that the API will connect and work with. You can query for all connected devices and find the one with the device name you configured earlier:
// Get a list of connected devices
DeviceList deviceList = await jDownloaderClient.ListDevices();
// Get the target device
DeviceData? targetDevice = deviceList.Devices.Find(d => d.Name == "MyDeviceName");
// If the device exists, set it as working device
if (targetDevice != null)
{
jDownloaderClient.SetWorkingDevice(targetDevice);
}
You are now connected to your JDownloader running on your computer. Before you start using the available APIs, you may optionally setup a direct connection to the device, instead of going through the MyJDownloader servers:
// Get a list of direct connections
DirectConnectionInfos directConnectionInfo = await jDownloaderClient.Device.GetDirectConnectionInfos();
// If any direction connections exist, connect to the first one
if (directConnectionInfo.Infos.Count > 0)
{
jDownloaderClient.SetDirectConnectionInfo(directConnectionInfo.Infos[0]);
}
If the direct connection fails, the JDownloaderClient
automatically falls back to using MyJDownloader's servers. You are now ready to start using the available namespaces and APIs. For example, you may use the Device
namespace and the Ping
API to ping your JDownloader:
await jDownloaderClient.Device.Ping();
Once you're done, you may disconnect the session:
await jDownloaderClient.Disconnect();
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- System.Net.Http (>= 4.3.4)
- System.Text.Json (>= 9.0.0)
-
net9.0
- System.Net.Http (>= 4.3.4)
- System.Text.Json (>= 9.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 68 | 11/14/2024 |