Downloads beginner ⏱ 30 minutes

JDownloader: Universal Download Manager

Multi-host download manager with web interface. OCR for captchas and link extraction.

By Homelab Team • 2025-01-15
#jdownloader#downloads#manager#multi-host#docker

JDownloader 2 is a versatile, open-source download manager designed to simplify downloading from file hosting services, streaming platforms, and direct download links. With intelligent link detection, automatic captcha solving, and extensive plugin support, JDownloader 2 handles downloads that other tools cannot.

What is JDownloader 2?

JDownloader 2 is a Java-based download manager that excels at extracting and downloading content from hundreds of file hosting services, video platforms, and websites. Unlike Usenet-focused tools, JDownloader 2 specializes in HTTP/HTTPS downloads from diverse sources.

Key Features

Universal Download Support:

  • 300+ file hosters (Mega, RapidGator, Uploaded, etc.)
  • Video platforms (YouTube, Vimeo, Dailymotion)
  • Image galleries and archives
  • Direct HTTP/HTTPS downloads
  • FTP support
  • Torrent support (via plugin)

Intelligent Automation:

  • Link detection from clipboard
  • Link crawler for container files (DLC, CCF, RSDF)
  • Automatic captcha recognition (OCR)
  • Automatic reconnection for new IP
  • Schedule-based downloading
  • Package recognition and extraction

Premium Integration:

  • Native premium account support
  • Multi-hoster support
  • Automatic account switching
  • Traffic management
  • Parallel downloads

Advanced Features:

  • Remote control via My.JDownloader
  • API for external integration
  • Extensive plugin system
  • Archive extraction
  • Packagizer rules engine
  • Custom scripts (JavaScript)

Why Choose JDownloader 2?

Versatility:

  • Download from virtually any source
  • Handle one-click hosters
  • Process complex link structures
  • Support for obscure file hosts

Automation:

  • Watch folders for link files
  • Clipboard monitoring
  • Auto-extract archives
  • Automatic retry and reconnection
  • Smart package organization

Convenience:

  • Remote control from anywhere
  • Browser integration
  • Mobile apps
  • One-click container file processing
  • Automatic update system

Prerequisites

Before starting, ensure you have:

  • Docker and Docker Compose installed
  • At least 1GB RAM available (2GB recommended)
  • Storage for downloads
  • Optional: Premium file hoster accounts
  • Optional: My.JDownloader account for remote control
  • Java 8+ (included in Docker image)

Understanding JDownloader Architecture

JDownloader operates through several components:

JDownloader Workflow:
1. Links added (clipboard, watch folder, API, remote)
2. Link checker validates availability
3. Packagizer organizes into packages
4. Captcha solver handles challenges
5. Download begins with premium/free account
6. Progress monitored and resumed if interrupted
7. Archive extraction (if applicable)
8. Post-processing scripts execute
9. Files moved to final destination

Components:

  • Core Engine: Java application handling downloads
  • Link Grabber: Collects and analyzes links
  • Packagizer: Organizes downloads into logical groups
  • Captcha Solver: OCR and solver services
  • Plugin System: Support for individual hosters
  • Remote API: My.JDownloader and JSON API

Directory Structure

Create organized directories:

# Create JDownloader directories
mkdir -p /opt/jdownloader/{config,downloads,watch}

# Create category-specific download directories
mkdir -p /opt/jdownloader/downloads/{complete,incomplete,archives,videos,documents}

# Set ownership
sudo chown -R $USER:$USER /opt/jdownloader

Directory Explanation:

  • /opt/jdownloader/config: Application configuration and database
  • /opt/jdownloader/downloads/incomplete: Active downloads
  • /opt/jdownloader/downloads/complete: Finished downloads
  • /opt/jdownloader/watch: Drop link files here for auto-import
  • Category folders: Organized by content type

Docker Compose Configuration

Create /opt/jdownloader/docker-compose.yml:

version: '3.8'

services:
  jdownloader:
    image: jlesage/jdownloader-2:latest
    container_name: jdownloader
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/New_York
      - UMASK=022
      # Display settings for web VNC interface
      - DISPLAY_WIDTH=1280
      - DISPLAY_HEIGHT=768
      # My.JDownloader credentials (optional but recommended)
      - [email protected]
      - MYJDOWNLOADER_PASSWORD=your_password
      - MYJDOWNLOADER_DEVICE_NAME=HomeServer
    volumes:
      - /opt/jdownloader/config:/config
      - /opt/jdownloader/downloads:/output
      - /opt/jdownloader/watch:/watch
    ports:
      - 5800:5800  # Web interface (VNC)
      - 3129:3129  # MyJDownloader (optional)
    # Resource limits
    deploy:
      resources:
        limits:
          memory: 2G
        reservations:
          memory: 512M

Alternative: Headless Container (no GUI, API only):

version: '3.8'

services:
  jdownloader:
    image: jdownloader/jdownloader2-headless:latest
    container_name: jdownloader
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/New_York
      - UMASK=022
    volumes:
      - /opt/jdownloader/config:/opt/JDownloader/cfg
      - /opt/jdownloader/downloads:/opt/JDownloader/Downloads
      - /opt/jdownloader/watch:/watch
    ports:
      - 3129:3129

Configuration Notes:

  • Replace PUID and PGID with your user ID
  • Update TZ to your timezone
  • Set My.JDownloader credentials for remote access
  • Port 5800 provides web-based GUI access
  • Memory: 2GB recommended for smooth operation

VPN Integration (optional):

version: '3.8'

services:
  vpn:
    image: qmcgaw/gluetun:latest
    container_name: vpn
    cap_add:
      - NET_ADMIN
    environment:
      - VPN_SERVICE_PROVIDER=nordvpn
      - OPENVPN_USER=your_username
      - OPENVPN_PASSWORD=your_password
      - SERVER_COUNTRIES=Netherlands
    ports:
      - 5800:5800
      - 3129:3129
    restart: unless-stopped

  jdownloader:
    image: jlesage/jdownloader-2:latest
    container_name: jdownloader
    network_mode: "service:vpn"
    depends_on:
      - vpn
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/New_York
      - [email protected]
      - MYJDOWNLOADER_PASSWORD=your_password
    volumes:
      - /opt/jdownloader/config:/config
      - /opt/jdownloader/downloads:/output

Deployment

Start JDownloader:

cd /opt/jdownloader
docker-compose up -d

Verify running:

docker-compose ps
docker logs jdownloader

Access Methods:

  1. Web Interface: http://YOUR-SERVER-IP:5800
  2. My.JDownloader: https://my.jdownloader.org (after setup)
  3. API: Port 3129 (for advanced integrations)

Initial Setup

Configure JDownloader through the web interface.

Web Interface Access

  1. Navigate to http://YOUR-SERVER-IP:5800
  2. You’ll see a VNC-style interface with JDownloader GUI
  3. Complete the setup wizard

My.JDownloader Setup

Register Account:

  1. Visit https://my.jdownloader.org
  2. Create free account
  3. Verify email address

Connect Your Instance:

If you set environment variables in docker-compose.yml, JDownloader automatically connects. Otherwise:

  1. In JDownloader GUI: Settings → My.JDownloader
  2. Enter email and password
  3. Set device name: HomeServer
  4. Click Connect
  5. Status should show Connected

Benefits of My.JDownloader:

  • Remote control from anywhere
  • Add downloads from mobile devices
  • Monitor progress remotely
  • No port forwarding required
  • Free service

Basic Settings

Settings → General:

Language: English (or preferred language)

Download Directory: /output/complete

Subfolder pattern: Use packagizer rules (configured later)

Auto Start Downloads: Enabled (automatically start when added)

Auto Delete Container Files: Enabled (remove .dlc files after import)

Close to Tray: Disabled (not applicable in Docker)

Download Settings

Configure core download behavior.

General Download Settings

Settings → General → Download & Connections:

Max Simultaneous Downloads: 3-5

  • Depends on connection speed
  • Too many causes slowdowns
  • File hosters often limit

Max Downloads per Host: 1-2

  • Most hosters limit to 1-2 parallel
  • Premium accounts may allow more

Max Chunks per Download: 1

  • Many hosters don’t allow chunks
  • Premium accounts: 2-4 chunks
  • Direct downloads: 4-16 chunks

Download Speed Limit: 0 (unlimited)

  • Set limit in KB/s if needed
  • Use scheduler for time-based limits

Write Buffer Size: 2048 KB

  • Larger = better for fast connections
  • Smaller = less RAM usage

Hash Check: Enabled

  • Verify file integrity when possible
  • Some hosters provide checksums

Reconnect Configuration

Many free file hosters require new IP between downloads.

Settings → Reconnect:

Enable Reconnect: Enabled

Reconnect Method: Depends on your router

  • Script: Custom script
  • Router: Direct router control
  • Live Header: Detect from browser

Reconnect Wait Time: 5 seconds

Auto-Reconnect: Enabled

Example Router Reconnect (for compatible routers):

// Settings → Reconnect → Router Reconnect
Router IP: 192.168.1.1
Username: admin
Password: router_password

Example Script Reconnect (custom):

#!/bin/bash
# Reconnect script for specific setup
# Place in /config/reconnect.sh

# Your reconnection logic here
# Example: restart network interface
ip link set eth0 down
sleep 2
ip link set eth0 up
sleep 3

Link Grabber collects and validates links before downloading.

Settings → Link Grabber:

Auto Start Downloads: After Link Check

  • Automatically start after validation
  • Or: Manually to review first

Auto Delete DLC/CCF Files: Enabled

Auto Clear Link List: After Download

Hash Check: Enabled

Link Filter: Configure allowed/blocked patterns

Clipboard Monitoring

Settings → Link Grabber → Clipboard:

Clipboard Observer: Enabled

Ignore Links from: Add domains to ignore

google.com
youtube.com/watch?v=

Deep Decrypt: Enabled

  • Extract links from container files
  • Follow redirects

Auto Paste: Enabled

Container File Support

JDownloader supports various container formats:

Supported Formats:

  • .dlc - DLC container (encrypted)
  • .ccf - CCF container
  • .rsdf - RSDF container
  • .txt - Plain text links

Auto-Import from Watch Folder:

Settings → Link Grabber → Folder Watch:

Watch Folder: /watch

Delete After Import: Enabled

Auto Start: Enabled

Packagizer Rules

Packagizer automatically organizes downloads into packages and directories.

Understanding Packagizer

Packagizer uses rules to:

  • Set download directories
  • Organize by file type
  • Set priority
  • Control extraction
  • Set filename patterns

Creating Rules

Settings → Packagizer:

Rule 1: Video Files:

Name: Organize Videos
If Filename matches: (?i).*\.(mp4|mkv|avi|mov|wmv)$
Then:
  Download Directory: /output/videos
  Package Name: Videos
  Priority: NORMAL
  Auto Extract: ENABLED

Rule 2: Archives:

Name: Organize Archives
If Filename matches: (?i).*\.(zip|rar|7z|tar|gz)$
Then:
  Download Directory: /output/archives
  Package Name: Archives
  Priority: LOW
  Auto Extract: DISABLED

Rule 3: Documents:

Name: Organize Documents
If Filename matches: (?i).*\.(pdf|doc|docx|txt|epub)$
Then:
  Download Directory: /output/documents
  Package Name: Documents
  Priority: NORMAL
  Auto Extract: DISABLED

Rule 4: Music:

Name: Organize Music
If Filename matches: (?i).*\.(mp3|flac|wav|m4a|ogg)$
Then:
  Download Directory: /output/music
  Package Name: Music
  Priority: NORMAL
  Auto Extract: ENABLED

Rule 5: Host-Based Organization:

Name: Mega Downloads
If Source URL matches: .*mega\.nz.*
Then:
  Download Directory: /output/mega
  Package Name: Mega
  Priority: HIGH

Advanced Packagizer Patterns

Use Variables:

  • <jd:orgfilename> - Original filename
  • <jd:packagename> - Package name
  • <jd:source> - Source URL
  • <jd:hoster> - File hoster name

Example: Complex Folder Structure:

Download Directory: /output/<jd:hoster>/<jd:packagename>
Filename: <jd:orgfilename>

Downloads organized by hoster, then package name.

Premium Account Configuration

Add premium file hoster accounts for faster speeds and no waiting.

Adding Premium Accounts

Settings → Account Manager:

Add Account:

  1. Click Add
  2. Select hoster from dropdown
  3. Enter username and password
  4. Click Check
  5. Status shows premium features

Popular Hosters:

  • RapidGator: High-speed downloads
  • Uploaded: European file hoster
  • Mega: 50GB free, premium for more
  • Mediafire: Free and premium tiers
  • 1fichier: Popular French hoster

Multi-Hoster Accounts:

Some services provide access to multiple hosters:

  • Real-Debrid: Access 50+ hosters with one account
  • AllDebrid: Similar to Real-Debrid
  • Premiumize: Multi-hoster + cloud storage

Add Multi-Hoster:

  1. Settings → Account Manager → Add
  2. Select multi-hoster service
  3. Enter API key or credentials
  4. JDownloader uses this for all supported hosters

Account Management

Enable/Disable Accounts:

  • Toggle accounts on/off
  • Useful for managing bandwidth limits

Account Info:

  • View remaining traffic
  • Check expiry date
  • Monitor download limits

Account Priority:

  • Drag to reorder
  • Higher priority accounts used first

Captcha Solving

JDownloader includes multiple methods for solving captchas.

Built-in OCR

Settings → Captcha:

Captcha Recognition: Enabled

Auto Solve: Enabled

Skip on Timeout: Enabled (5 seconds)

JDownloader includes OCR for common captcha types.

External Solvers

9kw.eu Integration:

  1. Register at https://www.9kw.eu
  2. Settings → Captcha → 9kw.eu
  3. Enter API key
  4. Enable: Yes
  5. Priority: High

Anti-Captcha / 2Captcha:

Similar setup for paid solving services:

  1. Settings → Captcha → Service Name
  2. Enter API key
  3. Set priority

Solver Priority:

  1. Built-in OCR (free, fast, limited)
  2. 9kw.eu (paid, accurate)
  3. Manual (fallback, you solve it)

Manual Solving

When automated solving fails:

My.JDownloader Remote Solving:

  • Captcha appears in My.JDownloader interface
  • Solve on mobile or remote computer
  • Solution sent to JDownloader

Local Solving:

  • Dialog appears in web interface
  • Enter captcha text
  • Continue download

Automation and Scheduling

Control when and how JDownloader operates.

Download Scheduler

Settings → Scheduler:

Add Rule:

Weekday Download Hours (6 PM - 2 AM):

Name: Evening Downloads
Time: 18:00-02:00
Days: Monday-Friday
Action: Enable Downloads
Download Speed Limit: 0 (unlimited)

Weekend Unlimited:

Name: Weekend Full Speed
Time: 00:00-23:59
Days: Saturday, Sunday
Action: Enable Downloads
Download Speed Limit: 0

Pause During Day (8 AM - 6 PM weekdays):

Name: Daytime Pause
Time: 08:00-18:00
Days: Monday-Friday
Action: Disable Downloads

Scheduler Actions:

  • Enable Downloads: Allow downloading
  • Disable Downloads: Pause all downloads
  • Reconnect: Trigger reconnection
  • Speed Limit: Set download speed
  • Stop JD: Shutdown JDownloader

Event Scripter

Run custom scripts on events.

Settings → Event Scripter:

Example: Notify on Download Complete:

// Trigger: Download Complete
// Script Type: JavaScript

var file = link.getName();
var pkg = link.getPackage().getName();

// Call external notification service
callAPI({
    url: "YOUR-WEBHOOK-URL",
    method: "POST",
    data: JSON.stringify({
        content: "Download complete: " + file,
        package: pkg
    })
});

Available Triggers:

  • Download Started
  • Download Complete
  • Package Finished
  • Archive Extraction Complete
  • New Links Added
  • JDownloader Started/Stopped

Watch Folder Automation

Automatic Link Import:

  1. Drop link files in /opt/jdownloader/watch
  2. JDownloader auto-imports
  3. Links processed by packagizer
  4. Downloads start automatically

Supported File Types:

  • .txt with URLs (one per line)
  • .dlc container files
  • .ccf container files

Example Automation:

#!/bin/bash
# Auto-download from list

LINKS_FILE="/path/to/links.txt"
WATCH_DIR="/opt/jdownloader/watch"

cp "$LINKS_FILE" "$WATCH_DIR/batch-$(date +%s).txt"

Archive Extraction

Configure automatic archive extraction.

Extraction Settings

Settings → Archive Extractor:

Auto Extract: Enabled

Delete Archives After Extraction: Ask or Enabled

Extraction Folder: Same as Archive

Password List: Add common passwords (one per line)

password
1234
archive2024

Password File: /config/passwords.txt

Auto Repair RAR: Enabled (uses par2 if available)

Supported Archive Formats

  • RAR (including multi-part)
  • ZIP
  • 7Z
  • TAR/GZ/BZ2
  • Split archives
  • Password-protected archives

Post-Extraction Cleanup

Settings → Archive Extractor → Cleanup:

Remove Archive After Extraction: Enabled

Remove Only if Extraction Successful: Enabled

Keep Downloads Folder Clean: Enabled

Remote Control

Access JDownloader from anywhere.

My.JDownloader Portal

Web Access:

  1. Visit https://my.jdownloader.org
  2. Login with your account
  3. Select your device

Features:

  • Add new downloads
  • Monitor queue
  • Start/stop downloads
  • Browse downloaded files
  • Solve captchas remotely
  • View logs

Mobile Apps

Android:

  • JDownloader Remote (official)
  • My.JDownloader

iOS:

  • My.JDownloader (official)

App Features:

  • Add downloads from share menu
  • Clipboard monitoring
  • Push notifications
  • Remote captcha solving

API Access

JDownloader provides RESTful API.

Enable API: Settings → My.JDownloader API → Enabled

Example API Call:

# Add download link
curl -X POST "http://localhost:3129/api"   -H "Content-Type: application/json"   -d '{
    "url": "/linkgrabberv2/addLinks",
    "params": [{
      "links": "https://example.com/file.zip"
    }]
  }'

Common API Endpoints:

  • /linkgrabberv2/addLinks - Add links
  • /downloadsV2/queryPackages - Get download status
  • /downloadsV2/startDownloads - Start downloads
  • /downloadsV2/pauseDownloads - Pause downloads

Plugin Management

Extend JDownloader functionality with plugins.

Plugin Types

Hoster Plugins: Support specific file hosters Decrypter Plugins: Extract links from pages Extension Plugins: Add features to JDownloader

Managing Plugins

Settings → Plugin Settings:

Enable/Disable Plugins:

  • Disable unused hosters to reduce overhead
  • Enable plugins as needed

Update Plugins:

  • Updates → Check for Plugin Updates
  • Auto-update: Settings → Updates → Auto-Update Plugins

Custom Plugins

Install Custom Plugin:

  1. Download .jdp file
  2. Settings → Plugin Settings → Install Plugin
  3. Select .jdp file
  4. Restart JDownloader

Popular Custom Plugins:

  • MyJDownloader Browser Extension
  • ClickAndLoad
  • Folder Watch Enhancements

Troubleshooting

Common issues and solutions.

Downloads Not Starting

Symptoms: Links added but don’t download

Diagnostics:

  1. Check link validity in Link Grabber
  2. Verify account status (premium/free)
  3. Review error messages in log

Solutions:

  • Re-check links: Right-click → Check Online Status
  • Update plugins: Updates → Check for Plugin Updates
  • Verify premium account active
  • Clear old links: Link Grabber → Remove Offline

Captcha Failures

Symptoms: Downloads stuck on captcha

Diagnostics:

  1. Check captcha solver status
  2. Review captcha settings
  3. Verify solver account balance (if paid)

Solutions:

  • Enable multiple solvers (OCR + paid service)
  • Register for 9kw.eu account
  • Solve manually via My.JDownloader
  • Update to latest JDownloader version

Slow Download Speeds

Symptoms: Downloads slower than expected

Diagnostics:

  1. Check if using free account (speed limited)
  2. Verify speed limit not set
  3. Check number of simultaneous downloads

Solutions:

  • Upgrade to premium account
  • Remove speed limit: Settings → Download Speed Limit → 0
  • Reduce simultaneous downloads to 1-2
  • Check VPN not throttling (if using)

Extraction Failures

Symptoms: Archives fail to extract

Diagnostics:

  1. Check archive integrity
  2. Verify password list includes correct password
  3. Review extraction log

Solutions:

  • Add password to password list
  • Repair archive if RAR with recovery record
  • Extract manually to verify archive not corrupted
  • Ensure sufficient disk space

Connection Errors

Symptoms: “Could not connect” errors

Solutions:

  • Check internet connection
  • Verify hoster website accessible
  • Update plugin: Settings → Plugin Updates
  • Try reconnect: Settings → Reconnect → Reconnect Now
  • Check firewall allowing JDownloader

Permission Issues

Symptoms: Can’t write files

Solutions:

# Fix ownership
sudo chown -R 1000:1000 /opt/jdownloader

# Fix permissions
sudo chmod -R 755 /opt/jdownloader/downloads

# Verify PUID/PGID correct
docker-compose down
# Edit docker-compose.yml
docker-compose up -d

Performance Optimization

Maximize JDownloader efficiency.

Memory Optimization

Java Heap Size:

For containers with limited RAM:

# In docker-compose.yml
environment:
  - JAVA_OPTS=-Xmx1024m -Xms256m
  • -Xmx: Maximum heap (1024m = 1GB)
  • -Xms: Initial heap (256m = 256MB)

Recommended Settings:

  • 1GB RAM: -Xmx512m
  • 2GB RAM: -Xmx1024m
  • 4GB+ RAM: -Xmx2048m

Disk Optimization

Write Buffer:

Settings → General → Write Buffer: 4096 KB

Larger buffer = fewer disk writes = faster on slow disks

Download Directory:

  • Use SSD for incomplete downloads
  • HDD acceptable for complete downloads

Network Optimization

Connection Limits:

Optimal for most setups:

Max Simultaneous Downloads: 3
Max per Host: 1-2
Max Chunks: 1 (free) or 4 (premium)

Premium Accounts:

  • Parallel downloads: 5-10
  • Chunks per file: 4-8
  • No waiting between downloads

Database Optimization

Clean Database:

Settings → Advanced Settings:

  • CleanupOnStartup: Enabled
  • MaxLogFiles: 3
  • MaxHistoryEntries: 1000

Keeps database lean and fast.

Security Best Practices

Secure your JDownloader installation.

Password Protection

Set Admin Password:

Settings → Advanced Settings:

  • Search: org.jdownloader.api.myjdownloader.MyJDownloaderSettings.password
  • Set strong password

My.JDownloader Security:

  • Use strong unique password
  • Enable two-factor authentication (if available)
  • Don’t share account credentials

Network Security

Firewall:

# Local access only
sudo ufw allow from 192.168.1.0/24 to any port 5800
sudo ufw allow from 192.168.1.0/24 to any port 3129

Reverse Proxy:

server {
    listen 443 ssl http2;
    server_name jd.yourdomain.com;

    ssl_certificate /etc/ssl/certs/cert.pem;
    ssl_certificate_key /etc/ssl/private/key.pem;

    location / {
        proxy_pass http://localhost:5800;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

Download Safety

Virus Scanning:

Consider integrating ClamAV for scanning:

# Scan completed downloads
clamscan -r /opt/jdownloader/downloads/complete

Safe Download Practices:

  • Only download from trusted sources
  • Verify file hashes when available
  • Be cautious with .exe files
  • Use VPN for privacy

VPN Usage

Route downloads through VPN (see Docker Compose VPN section):

  • Protects privacy
  • Prevents ISP throttling
  • Accesses geo-restricted content

Backup and Restore

Protect your configuration.

Backup Configuration

Manual Backup:

cd /opt/jdownloader
docker-compose down

# Backup config
tar -czf jdownloader-backup-$(date +%Y%m%d).tar.gz /opt/jdownloader/config

docker-compose up -d

What to Backup:

  • /opt/jdownloader/config - All settings, accounts, rules
  • Package list (optional)
  • Download list (optional)

Automated Backup:

#!/bin/bash
# /opt/scripts/backup-jdownloader.sh

BACKUP_DIR="/opt/backups/jdownloader"
DATE=$(date +%Y%m%d)

mkdir -p "$BACKUP_DIR"

cd /opt/jdownloader
docker-compose stop jdownloader

tar -czf "$BACKUP_DIR/jd-$DATE.tar.gz" /opt/jdownloader/config

docker-compose start jdownloader

# Keep 30 days
find "$BACKUP_DIR" -name "jd-*.tar.gz" -mtime +30 -delete

Schedule:

0 3 * * 0 /opt/scripts/backup-jdownloader.sh

Restore Configuration

cd /opt/jdownloader
docker-compose down

tar -xzf jdownloader-backup-YYYYMMDD.tar.gz -C /

sudo chown -R 1000:1000 /opt/jdownloader/config

docker-compose up -d

Advanced Features

Unlock JDownloader’s full potential.

Browser Integration

Firefox/Chrome Extensions:

Install JDownloader browser extension:

  • Sends links directly to JDownloader
  • One-click downloading
  • No manual copy/paste

ClickAndLoad:

Alternative to My.JDownloader for local network:

  1. Settings → Extensions → ClickAndLoad
  2. Enable: Yes
  3. Browser sends links to local JDownloader

Custom Scripts

Event-Based Automation:

JavaScript event scripts for advanced workflows:

// On Package Finished - Move files
var pkg = package.getName();
var dest = "/output/organized/" + pkg;

// Create directory
callSync("mkdir", "-p", dest);

// Move files
package.getDownloadLinks().forEach(function(link) {
    var file = link.getFileOutput();
    callSync("mv", file, dest);
});

Decrypt Protected Links:

JDownloader handles:

  • Container files (DLC, CCF, RSDF)
  • Link shorteners
  • Protected download pages
  • Folder links

Auto-Decryption: Settings → Link Grabber → Deep Decrypt: Enabled

Bandwidth Management

Advanced Scheduling:

Priority-Based Download:

  • High priority: New releases
  • Normal: Regular downloads
  • Low: Large archives

Speed Limits by Time:

00:00-08:00: Unlimited (nighttime)
08:00-18:00: 500 KB/s (daytime)
18:00-00:00: 5000 KB/s (evening)

Use Cases

Common JDownloader scenarios.

Media Archive Downloads

Scenario: Download large video archives from file hosters

Setup:

  1. Add premium account (RapidGator, etc.)
  2. Create packagizer rule for videos
  3. Enable auto-extraction
  4. Set high priority for videos
  5. Schedule downloads for nighttime

Workflow:

  • Copy links to clipboard
  • JDownloader auto-detects
  • Downloads overnight
  • Extracts archives
  • Organized by packagizer

Backup Downloads

Scenario: Download backups from cloud storage

Setup:

  1. Add Mega, Google Drive accounts
  2. Create “Backups” packagizer rule
  3. Download to separate directory
  4. Disable auto-extraction

Workflow:

  • Import link files from watch folder
  • JDownloader processes
  • Files organized by date/type
  • Verify integrity with hash check

Multi-Source Collecting

Scenario: Download from various hosters

Setup:

  1. Add multi-hoster account (Real-Debrid)
  2. Enable multiple hoster plugins
  3. Set up reconnection for free downloads
  4. Configure captcha solvers

Workflow:

  • Mix of premium and free links
  • Premium downloads fast via multi-hoster
  • Free downloads with captcha solving
  • Automatic reconnection between free downloads

Maintenance

Keep JDownloader running smoothly.

Regular Tasks

Daily:

  • Review failed downloads
  • Clear completed downloads
  • Check account status

Weekly:

  • Update plugins
  • Clean history
  • Review packagizer rules

Monthly:

  • Update JDownloader core
  • Backup configuration
  • Review and remove old accounts
  • Optimize database

Updating JDownloader

Docker Update:

cd /opt/jdownloader
docker-compose pull
docker-compose up -d

In-App Update: Settings → Updates → Check for Updates

JDownloader typically auto-updates components.

Log Management

View Logs: Settings → Log

Log Levels:

  • INFO: Standard information
  • WARNING: Potential issues
  • SEVERE: Errors

Clear Logs: Settings → Advanced → Clean Log Folder

Database Maintenance

Optimize Database:

  • Happens automatically on startup
  • Manual: Settings → Advanced → Cleanup Database

Reset Database (if corrupted):

docker exec jdownloader rm /config/cfg/database.json
docker-compose restart jdownloader

Note: Loses queue and history, not accounts/settings.

Conclusion

You now have a fully configured JDownloader 2 installation capable of downloading from hundreds of sources with complete automation and remote control.

Key Takeaways

  • Universal compatibility - download from any file hoster
  • Intelligent automation - packagizer, captcha solving, extraction
  • Remote control - My.JDownloader from anywhere
  • Premium integration - use accounts for maximum speed
  • Extensible - plugins and scripts for customization

Next Steps

  1. Register My.JDownloader account for remote control
  2. Add premium accounts for your preferred hosters
  3. Configure packagizer rules for organization
  4. Set up scheduling for optimal bandwidth usage
  5. Install browser extension for easy link sending
  6. Configure captcha solvers for automated operation
  7. Schedule backups to protect settings
  • SABnzbd for Usenet downloading
  • NZBGet lightweight Usenet client
  • File hosting service comparisons
  • VPN setup for privacy
  • Media server integration

Enjoy universal download management with JDownloader 2!