How renx86/gdl-web works
GDL-Web is a Flask application for session-isolated media downloads through gallery-dl and yt-dlp. A user submits a URL (and optionally cookies or format choices) in the web interface; API routes validate and dispatch the request through a session adapter to download services, which run the download engines and track progress. Users can monitor status, filter or manage downloads, and browse or retrieve completed files. The graph includes README-documented capabilities whose detailed implementation was not sampled; those relationships are cited to the README or left unverified.
Main entry points: download_service.py Download service · __init__.py App factory · api.py API routes · engine_manager.py Engine manager
Components 20
Web interface
- Browser UI
app/templates/index.html - Dashboard client
app/static/js/main.js - Web routes
app/routes/web.py - API routes
app/routes/api.py
Application setup
- App factory
app/__init__.py - Configuration
app/config.py - Service registry
app/services/service_registry.py - Download model
app/models/download.py
Download workflow
- Session adapter
app/services/download_service_adapter.py - Download service
app/services/download_service.py - Progress parser
app/services/progress_parser.py - Network checks
app/services/network_utils.py
Security and files
- Cookie encryption
app/services/cookie_manager.py - Secure file serving
app/utils.py - Download files
Download engines
- Engine manager
app/services/engine_manager.py - gallery-dl
- yt-dlp
Other components
- User
- Media platforms
Connections 25
- User → Browser UI: uses
- Browser UI → Dashboard client: loads
- Dashboard client → API routes: requests status
- User → Dashboard client: submits URL
- App factory → Configuration: loads configuration
app/__init__.py - App factory → Service registry: registers services
app/__init__.py - App factory → Session adapter: wraps service
app/__init__.py - App factory → Engine manager: registers manager
app/__init__.py - App factory → Web routes: registers routes
app/__init__.py - App factory → API routes: registers routes
app/__init__.py - API routes → Session adapter: dispatches requests
app/routes/api.py - Session adapter → Download service: delegates downloads
app/services/download_service_adapter.py - Download service → Progress parser: parses output
app/services/download_service.py - Download service → Network checks: checks connectivity
app/services/download_service.py - Download service → Cookie encryption: handles cookies
app/services/download_service.py - Download service → gallery-dl: runs downloads
- Download service → yt-dlp: runs downloads
- Engine manager → gallery-dl: checks and updates
app/services/engine_manager.py - Engine manager → yt-dlp: checks and updates
app/services/engine_manager.py - gallery-dl → Media platforms: fetches media
- yt-dlp → Media platforms: fetches media
- Download service → Download files: writes files
- Download files → Secure file serving: serves files
- API routes → Secure file serving: serves validated files
app/routes/api.py - API routes → Download model: serializes configuration