🌐 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
-
Obviously have JDownloader 2 installed.
-
Enable JDownloader's Local API:
- Edit
<JD_FOLDER>/cfg/org.jdownloader.api.RemoteAPIConfig.json. - Set:
"deprecatedapienabled": true - Restart JDownloader.
- Edit
-
Clone this repository or download the source code:
git clone https://github.com/al00x/jdsh.git cd jdsh
-
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
sto Start/Stop downloads. - Press
Ctrl+Cto quit.
- Press
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! 💖
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.