# joehezzarry/localdebrid-download-manager architecture

> Architecture diagram of the GitHub repository joehezzarry/localdebrid-download-manager, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-13). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/joehezzarry/localdebrid-download-manager
- Repository: https://github.com/joehezzarry/localdebrid-download-manager

## Overview

LocalDebrid is a Windows download manager whose main workflow takes a link from the user or browser, resolves the requested content, and downloads it to the chosen local folder. The README also documents separate media, torrent, extension, optional Real-Debrid, licensing, and update capabilities. No implementation files or source excerpts are present in the supplied tree, so component paths are null and edges reflect documented behavior only; they do not assert internal call structure.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_desktop["Desktop downloads"]
  node_desktop_app["LocalDebrid app"]
  node_link_resolver["Link resolution"]
  node_page_scanner["Page scanning"]
  node_download_manager["Download manager"]
  node_download_queue["Download queue"]
  node_local_files[("Local files")]
  node_torrent_engine["Torrent engine"]
end

subgraph group_media["Media and capture"]
  node_media_grabber["Music and video"]
  node_browser_extension["Browser extension"]
  node_media_tools["FFmpeg"]
end

subgraph group_integrations["External integrations"]
  node_real_debrid["Real-Debrid"]
  node_idm["Internet Download Manager"]
end

subgraph group_lifecycle["App lifecycle"]
  node_settings[("Settings and license")]
  node_updater["Automatic updater"]
end

node_user(("User"))
node_browser(("Browser"))
node_github["GitHub services"]

node_user -->|"submits link"| node_desktop_app
node_browser -->|"captures links"| node_browser_extension
node_browser_extension -->|"hands off links"| node_desktop_app
node_desktop_app -->|"resolves links"| node_link_resolver
node_desktop_app -->|"scans pages"| node_page_scanner
node_desktop_app -->|"starts downloads"| node_download_manager
node_download_manager -->|"queues downloads"| node_download_queue
node_download_manager -->|"writes files"| node_local_files
node_desktop_app -->|"downloads torrents"| node_torrent_engine
node_desktop_app -->|"opens media page"| node_media_grabber
node_browser_extension -->|"requests media"| node_media_grabber
node_media_grabber -->|"uses FFmpeg"| node_media_tools
node_desktop_app -.->|"fetches content"| node_real_debrid
node_desktop_app -.->|"sends downloads"| node_idm
node_desktop_app -->|"reads settings"| node_settings
node_desktop_app -->|"checks updates"| node_updater
node_updater -->|"checks and downloads"| node_github
node_desktop_app -->|"checks revocations"| node_github

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_desktop_app,node_link_resolver,node_page_scanner,node_download_manager,node_download_queue,node_local_files,node_torrent_engine,node_user,node_browser toneBlue
class node_media_grabber,node_browser_extension,node_media_tools toneAmber
class node_real_debrid,node_idm toneMint
class node_settings,node_updater toneRose
class node_github toneIndigo
```

## Components

### Desktop downloads

- **LocalDebrid app**
- **Link resolution**
- **Page scanning**
- **Download manager**
- **Download queue**
- **Local files**
- **Torrent engine**

### Media and capture

- **Music and video**
- **Browser extension**
- **FFmpeg**

### External integrations

- **Real-Debrid**
- **Internet Download Manager**

### App lifecycle

- **Settings and license**
- **Automatic updater**

### Other components

- **User**
- **Browser**
- **GitHub services**

## Connections

- User → LocalDebrid app: submits link (evidence: `README.md`)
- Browser → Browser extension: captures links (evidence: `README.md`)
- Browser extension → LocalDebrid app: hands off links (evidence: `README.md`)
- LocalDebrid app → Link resolution: resolves links (evidence: `README.md`)
- LocalDebrid app → Page scanning: scans pages (evidence: `README.md`)
- LocalDebrid app → Download manager: starts downloads (evidence: `README.md`)
- Download manager → Download queue: queues downloads (evidence: `README.md`)
- Download manager → Local files: writes files (evidence: `README.md`)
- LocalDebrid app → Torrent engine: downloads torrents (evidence: `README.md`)
- LocalDebrid app → Music and video: opens media page (evidence: `README.md`)
- Browser extension → Music and video: requests media (evidence: `README.md`)
- Music and video → FFmpeg: uses FFmpeg (evidence: `README.md`)
- LocalDebrid app → Real-Debrid: fetches content (evidence: `README.md`)
- LocalDebrid app → Internet Download Manager: sends downloads (evidence: `README.md`)
- LocalDebrid app → Settings and license: reads settings (evidence: `README.md`)
- LocalDebrid app → Automatic updater: checks updates (evidence: `README.md`)
- Automatic updater → GitHub services: checks and downloads (evidence: `README.md`)
- LocalDebrid app → GitHub services: checks revocations (evidence: `README.md`)
