JDownloader-RemoteCli
0.1.9
dotnet tool install --global JDownloader-RemoteCli --version 0.1.9
dotnet new tool-manifest
dotnet tool install --local JDownloader-RemoteCli --version 0.1.9
#tool dotnet:?package=JDownloader-RemoteCli&version=0.1.9
nuke :add-package JDownloader-RemoteCli --version 0.1.9
JDownloader Remote CLI (jdr)
A human-first command-line interface for My.JDownloader (remote control for JDownloader), built with .NET 10 and Spectre.Console.Cli.
- Default output is human-friendly (tables / concise lines).
- Use
--jsonfor stable machine-readable output.
Installation
dotnet tool install -g JDownloader-RemoteCli
Upgrade:
dotnet tool update -g JDownloader-RemoteCli
Quick Start
# 1) Login (stores encrypted auth material in a local profile)
echo "YOUR_PASSWORD" | jdr auth login --email you@example.com --password-stdin
# 2) Pick a device (or set a default in your profile)
jdr device list
jdr device use --device "Your JDownloader Device Name"
# 3) Inspect current state
jdr downloads status
jdr grabber packages list
jdr grabber links list
# 4) Scriptable output
jdr grabber links list --json
Commands
| Group | What it does |
|---|---|
auth |
Login/logout/status, and profile management |
device |
Discover/select JDownloader devices |
downloads |
Status + link/package operations on the download list |
grabber |
Linkgrabber ingestion/staging (links, packages, variants) |
accounts |
Premium accounts + basic auth management |
extraction |
Inspect/control archive extraction |
settings |
Config, plugins, extensions |
captcha |
Captcha jobs |
events |
Event subscriptions/listen |
system |
JDownloader + OS + update operations |
advanced |
Expert escape hatches (raw request, dialogs, ingest, binary content) |
doctor |
Inspect config paths and resolution |
Run jdr --help or jdr <group> --help for full details.
Global Options (Selected)
| Option | Description |
|---|---|
--profile <NAME> |
Saved profile to use for auth/defaults |
--device <VALUE> |
Override device id/name resolution |
--json |
Emit the stable JSON envelope (v1) |
--output <human\|json> |
Output mode override |
--verbose |
More diagnostic detail on stderr |
--quiet |
Suppress prompts and non-essential stderr chatter |
--dry-run |
Show request plan and exit (no mutations) |
-y, --yes |
Skip confirmation prompts for destructive operations |
Environment variables that influence defaults include: JD2_PROFILE, JD2_DEVICE, JD2_OUTPUT, JD2_TIMEOUT, JD2_CONFIG, JD2_KEYFILE.
Docs
Common workflow guides:
- Authentication: docs/Common_UseCases/01_Authentication.md
- Profiles & config: docs/Common_UseCases/02_Profiles_And_Config.md
- Devices: docs/Common_UseCases/03_Devices.md
- Grabber + downloads: docs/Common_UseCases/04_Grabber_And_Downloads.md
- Scripting & automation: docs/Common_UseCases/05_Scripting_And_Automation.md
- Generated CLI reference: docs/clidoc/index.md
Building from Source
git clone https://github.com/JKamsker/JDownloader-RemoteCli.git
cd JDownloader-RemoteCli
dotnet test -c Release
dotnet run --project src/JDownloader.Cli -- doctor
Dev: formatting + hooks
This repo uses dotnet format. To enable the committed pre-commit hook:
git config core.hooksPath .githooks
The hook only formats staged C# files, then runs the shared C# guideline check (scripts/check-csharp-guidelines.sh) to warn above 300 lines, fail above 500 lines, reject non-generated partial type declarations, and reject Foo.Bar.cs-style filename sharding next to Foo.cs unless explicitly excluded. The repo pins the required .NET SDK via global.json, and CI runs the same C# check.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.