# damantha126/teraboxdl architecture

> Architecture diagram of the GitHub repository damantha126/teraboxdl, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/damantha126/teraboxdl
- Repository: https://github.com/damantha126/teraboxdl

## Overview

TeraboxDL is a small Python client for turning a shared Terabox link into file details and downloading the file. The user supplies a cookie and link; the client requests and parses Terabox data, then downloads to a chosen location and reports progress through a built-in display or callback. The excerpt shows the metadata requests and parts of the download implementation; the README documents the public workflow and callback options.

Main entry points: [`TeraboxDL/teraboxdl.py`](https://github.com/damantha126/teraboxdl/blob/main/TeraboxDL/teraboxdl.py) (Terabox client)

## Diagram (Mermaid)

```mermaid
flowchart TD

node_user(("Package user"))
node_client["Terabox client<br/>[teraboxdl.py]"]
node_terabox["Terabox service"]
node_download_file["Downloaded file"]
node_progress_callback["Progress callback"]
node_version["Package version<br/>[__version__.py]"]

node_user -->|"requests file info"| node_client
node_client -->|"fetches file details"| node_terabox
node_user -->|"requests download"| node_client
node_client -->|"requests file data"| node_terabox
node_client -->|"writes download"| node_download_file
node_client -->|"reports progress"| node_progress_callback

click node_client "https://github.com/damantha126/teraboxdl/blob/main/TeraboxDL/teraboxdl.py"
click node_version "https://github.com/damantha126/teraboxdl/blob/main/TeraboxDL/__version__.py"

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_user,node_client toneBlue
class node_terabox,node_download_file,node_progress_callback toneIndigo
class node_version toneTeal
```

## Components

### Other components

- **Package user**
- [Terabox client](https://github.com/damantha126/teraboxdl/blob/main/TeraboxDL/teraboxdl.py): `TeraboxDL/teraboxdl.py`
- **Terabox service**
- **Downloaded file**
- **Progress callback**
- [Package version](https://github.com/damantha126/teraboxdl/blob/main/TeraboxDL/__version__.py): `TeraboxDL/__version__.py`

## Connections

- Package user → Terabox client: requests file info (evidence: `README.md`)
- Terabox client → Terabox service: fetches file details (evidence: `TeraboxDL/teraboxdl.py`)
- Package user → Terabox client: requests download (evidence: `README.md`)
- Terabox client → Terabox service: requests file data (evidence: `TeraboxDL/teraboxdl.py`)
- Terabox client → Downloaded file: writes download (evidence: `TeraboxDL/teraboxdl.py`)
- Terabox client → Progress callback: reports progress (evidence: `TeraboxDL/teraboxdl.py`)
