Skip to main content

🌐 JDSH - JDownloader Shell

Control and Manage your JDownloader within your terminal with ease.

Designed for Linux servers/headless environments where you need full control without a GUI; or if you just love using CLI!

Packed with various CLI Commands & Interactive Mode (TUI).

This tool will use your JDownloader local API, which you will need to enable manually. It uses myjadpi package under the hood to work (kudos to the author of this package).

Setup

  1. Obviously have JDownloader 2 installed.

  2. Enable JDownloader's Local API:

    • Edit <JD_FOLDER>/cfg/org.jdownloader.api.RemoteAPIConfig.json.
    • Set: "deprecatedapienabled": true
    • Restart JDownloader.
  3. Clone this repository or download the source code:

    git clone https://github.com/al00x/jdsh.git
    cd jdsh
    
  4. Install the package using pip:

    pip install .
    

    Note: If you want to modify the code, use pip install -e . instead.

Usage

You can now use the jd command globally from anywhere in your terminal.

Interactive Mode

Simply run jd without arguments to enter the interactive mode.

jd
  • Tips:
    • Press s to Start/Stop downloads.
    • Press Ctrl+C to quit.

Commands Overview

╭─ JDSH        ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│                                                                                                                                                                      │
│    Dashboard                                                                                                                                                         │
│    jd                                                Launch the Interactive TUI                                                                                      │
│    status                                            Show a static snapshot of the queue                                                                             │
│                                                                                                                                                                      │
│    Queue Management                                                                                                                                                  │
│    list (ls)                [-d]                     List active downloads                                                                                           │
│    grabber                  [-d]                     List pending links inside LinkGrabber                                                                           │
│    add                      <url>...                 Add links to LinkGrabber                                                                                        │
│    confirm                                           Move all pending links to Queue                                                                                 │
│    remove (rm)              <uuid>...                Remove items by ID                                                                                              │
│                                                                                                                                                                      │
│    Controls                                                                                                                                                          │
│    start                                             Start/Resume downloads                                                                                          │
│    stop                                              Pause/Stop downloads                                                                                            │
│    clear                                             Remove finished items from list                                                                                 │
│    replace                  <uuid> <url>             Replace a dead link URL                                                                                         │
│                                                                                                                                                                      │
│    Utils                                                                                                                                                             │
│    version                                           Show shell and core versions                                                                                    │
│    help                                              Show this help message                                                                                          │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

  Usage: jd [COMMAND] [ARGS]...

  # Run the interactive mode:
  jd

  # Add links, check them, then start:
  jd add "http://site.com/file.exe"
  jd add "http://site.com/archive1.zip" "http://site.com/archive2.zip"
  jd grabber
  jd confirm

  # detailed list view:
  jd ls -d

Config

By default, the application runs with standard settings (Host: 127.0.0.1, Port: 3128). You can override these defaults by creating a configuration file.

Create file at ~/.config/jdsh/jdsh.config, with content below. You may uncomment any line and change when you need.

[settings]
# HOST = 127.0.0.1
# PORT = 3128

# change the rate of interactive mode update interval. Based on seconds
# REFRESH_RATE = 1.0

Enjoying the tool? Your supports would keep me at it! 💖

Donate with Bitcoin Donate with Tehter (BEP20)

Metadata

Release files for jdsh 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jdsh 1.0.1
File Size Uploaded Provenance Actions
jdsh-1.0.1.tar.gz 10.8 kB Without provenance Details for jdsh-1.0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for jdsh 1.0.1
File Interpreter ABI Platform Actions
jdsh-1.0.1-py3-none-any.whl Python 3 none any Details for jdsh-1.0.1-py3-none-any.whl

Total release size: 21.9 kB

Release files / jdsh-1.0.1.tar.gz

Download URL jdsh-1.0.1.tar.gz
Size 10.8 kB
Tags Source
SHA-256 checksum
How to use checksums
f79f8295a15469873b8f4d6df36bc016fa0b9bd31053433102fe994a54e10676
BLAKE2b-256 checksum
How to use checksums
55ca3e50db0963ea7177bf60c32bfabba93d228f4090ac7e63ca1fdef7f3a82b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / jdsh-1.0.1-py3-none-any.whl

Download URL jdsh-1.0.1-py3-none-any.whl
Size 11.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cbd9f1a893b19a3483b39543b270a1572ff6608b7e20f955646fe91bbdf0b3da
BLAKE2b-256 checksum
How to use checksums
171bfa97662f917baa4cbeca0930b2e3fd85f288649e0d16c730479b49fc9da4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for jdsh 1.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page