Cortex-DL is an ultra-fast, feature-packed desktop download manager built with Electron, React, TypeScript, yt-dlp, FFmpeg, and SQLite.
- π¬ Multi-Source Extraction: Full URL analysis for 1000+
yt-dlp-supported sites, direct HTTP links, and HLS streams. - π¨ Format & Quality Control: Video resolution selection, audio extraction, container conversion, and precision start/end trimming via FFmpeg.
- β‘ High Concurrency & Queue: Configurable simultaneous downloads (3, 5, or 10 items) powered by a SQLite persistent queue.
- β―οΈ Full Playback & Queue Controls: Pause, resume, cancel, retry, delete, pause-all, and resume-all with automatic state recovery.
- π Playlist & Batch Downloader: Select specific playlist items or process batch queues of up to 50 items at once.
- π¬ Subtitles & Comments Export: Download and embed YouTube subtitles, plus export channel/video comments to structured text files.
- π₯ Integrated Media Player: Native preview for video and audio downloads with subtitle track auto-discovery, playback controls, and stream info overlay.
- π Multilingual & System Integration: Seamless English & Arabic (RTL) interface, system tray minimization, native notifications, and yt-dlp auto-updates.
- π©Ί Built-in System Health Check: Real-time diagnostic panel checking
yt-dlp,FFmpeg,Denoruntime, cookies, and folder permissions.
Cortex DL/
β
βββ π .github/ # GitHub community templates & workflow rules
βββ π assets/ # Application branding & README assets
β βββ πΌοΈ logo.png # Official Cortex-DL 3D Logo
βββ π .gitignore # Git ignore specifications
βββ π CODE_OF_CONDUCT.md # Community code of conduct
βββ π CONTRIBUTING.md # Developer contribution guidelines
βββ π LICENSE # MIT License terms
βββ π README.md # Public project documentation
βββ π SECURITY.md # Security disclosure policy
βββ π package-lock.json # Root lockfile
βββ π package.json # Root package configuration
βββ βοΈ Cortex_Dev.bat # Windows development helper script
β
βββ π app/ # Main application package
βββ π Back-End/ # Backend services & IPC orchestration
β βββ π electron/ # Electron main process source code
β βββ π main.ts # App entry point, window creation, service bootstrap
β βββ π preload.ts # Secure contextBridge (window.cortexDl API)
β βββ π tray.ts # System tray icon and menu management
β βββ π downloadManager.ts # Queue orchestration and concurrent scheduling
β βββ π db.ts # SQLite setup and prepared statements
β βββ π utils.ts # Utilities shared across backend modules
β βββ π paths.ts # Binary and resource path resolution
β βββ π ytdlp.ts # yt-dlp analysis, updates, and stream URL extraction
β βββ π hls.ts # HLS playlist and stream variant analysis
β βββ π ffmpegEngine.ts # FFmpeg-based HLS and stream downloader
β βββ π progressParser.ts # yt-dlp and FFmpeg progress parsing
β βββ π commentsExtractor.ts # YouTube comment extraction through yt-dlp
β βββ π types.ts # Backend types and re-exports
β βββ π electron-env.d.ts # Electron environment declarations
β β
β βββ π ipc/ # Inter-process communication
β β βββ π handlers.ts # Central IPC handler registration
β β
β βββ π engines/ # Download & media processing engines
β βββ π IEngine.ts # Download engine interface
β βββ π DirectEngine.ts # Chunked HTTP downloader
β βββ π YoutubeEngine.ts # yt-dlp process wrapper
β βββ π FfmpegEngine.ts # FFmpeg engine adapter
β βββ π MediaProcessor.ts # Media merge, conversion, and FPS inspection
β
βββ π Front-End/ # React user interface
β βββ π index.html # Main HTML entry point
β βββ π src/ # React application source code
β βββ π main.tsx # React entry point
β βββ π App.tsx # Root renderer component
β βββ π App.css # Global styles & layout rules
β βββ π translations.ts # Arabic and English UI strings
β βββ π vite-env.d.ts # Vite and Electron renderer declarations
β β
β βββ π components/ # UI components & modular views
β β βββ π AddDownloadTab.tsx # URL input, analysis, and format selection
β β βββ π AddDownloadTab/
β β β βββ π UrlAnalysisView.tsx # Analysis results and format selection
β β β βββ π PlaylistView.tsx # Playlist item selection
β β β βββ π BatchListView.tsx # Batch queue preview
β β βββ π DownloadList.tsx # Download queue list
β β βββ π DownloadCard.tsx # Individual download UI
β β βββ π DownloadCard.css # Download card styles
β β βββ π SettingsTab.tsx # Application settings
β β βββ π Sidebar.tsx # Navigation sidebar
β β βββ π AdvancedTrimmer.tsx # Start and end trim controls
β β βββ π AdvancedTrimmer.css # Trimmer styles
β β βββ π AnimatedSegmentedControl.tsx
β β βββ π CustomDropdown.tsx
β β βββ π SimpleDownloader.tsx # Quick-download mode
β β βββ π SmartImage.tsx # Smart thumbnail loader & fallbacks
β β βββ π ConfirmModal.tsx # Confirmation dialog
β β βββ π MediaPlayer/ # Integrated media player
β β βββ π MediaPlayerModal.tsx# Media player modal
β β βββ π MediaPlayer.css # Media player styles
β β βββ π VideoPlayerView.tsx # Video playback view
β β βββ π AudioPlayerView.tsx # Audio playback view
β β βββ π PlayerControls.tsx # Playback controls
β β βββ π MediaInfoOverlay.tsx# File metadata overlay
β β
β βββ π hooks/ # Custom React hooks
β β βββ π types.ts # Hook-level types
β β βββ π useDownloadController.ts# Download workflow
β β βββ π useHighFrequencyIPC.ts # Throttled IPC and store updates
β β βββ π useDownloadCardVM.ts # Download card view model
β β βββ π useAppController.ts # App-level coordination
β β βββ π useSettingsController.ts# Settings and folder selection
β β βββ π useCommentsController.ts# Comment export workflow
β β βββ π useDebounce.ts # Debounce utility
β β
β βββ π stores/ # Global state management (Zustand)
β β βββ π downloadStore.ts # Zustand download state
β β βββ π useUIStore.ts # Zustand UI state
β β
β βββ π constants/ # Configuration & constants
β βββ π formats.ts # Supported output formats
β
βββ π Shared/ # Shared type definitions
β βββ π types.ts # Types shared by backend and frontend
β
βββ π bin/ # Bundled command-line executables
β βββ β‘ yt-dlp.exe # Media extraction and download engine
β βββ β‘ ffmpeg.exe # Media processing and HLS engine
β βββ β‘ ffprobe.exe # Media stream inspection tool
β βββ β‘ deno.exe # JS runtime for yt-dlp workflows
β
βββ π scripts/ # Build verification and post-processing scripts
β βββ π ensure-electron.cjs # Verifies Electron binary integrity
β βββ π strip-comments.cjs # Build script for code stripping
β
βββ π build/ # Packaging assets & icons
βββ π release/ # Packaged installer output
βββ π .env.example # Environment variable template
βββ π .eslintrc.cjs # ESLint configuration
βββ π vite.config.ts # Vite and Electron build configuration
βββ π tsconfig.json # Root TypeScript configuration
βββ π tsconfig.node.json # Node and Electron TypeScript config
βββ π electron-builder.json5 # Packaging and installer configuration
βββ π package.json # App dependencies and scripts
For local development and building from source:
- OS: Windows x64 (current development scripts and bundled binaries target Windows).
- Node.js: Modern LTS release (v18+ recommended) &
npm. - Git: For repository cloning and version control.
- Network: Internet connection for dependency installation, engine updates, and media downloading.
Note
All core execution binaries (yt-dlp.exe, ffmpeg.exe, ffprobe.exe, deno.exe) are pre-bundled in app/bin/. No additional manual installations are required for end users.
Clone the repository, navigate to the application package, install dependencies, and launch the Vite + Electron development environment:
# Clone the repository
git clone https://github.com/SAADX25/Cortex-DL.git
# Enter application directory
cd Cortex-DL\app
# Install dependencies
npm ci
# Launch development app
npm run devWindows developers can also start the development environment directly from the repository root:
.\Cortex_Dev.batTo execute code linting separately:
cd app
npm run lintTo build a standalone production installer for Windows x64:
cd app
npm ci
npm run buildThe build pipeline performs TypeScript verification, bundles Vite and Electron resources, and generates an NSIS installer under:
app/release/1.7.0/Cortex DL Setup 1.7.0.exe
The following executables are maintained under app/bin/ and automatically embedded into resources/bin/ during packaging:
| Tool | Status | Description & Role |
|---|---|---|
yt-dlp.exe |
Active |
Core media extraction, URL parsing, and stream downloading engine. |
ffmpeg.exe |
Active |
Handles HLS stream capture, video/audio merging, format conversion, and trimming. |
ffprobe.exe |
Active |
Inspects media file properties, streams, and embedded subtitle tracks. |
deno.exe |
Active |
Modern JavaScript runtime required for advanced yt-dlp extractor scripts. |
Important
Access to media on YouTube and restricted platforms may vary based on account status, region, age restrictions, or CAPTCHA challenges.
Cortex-DL supports configuring a Netscape-format cookies.txt file in Settings:
- The uploaded file undergoes automatic format validation before use.
- Cookies allow access to authenticated streams but must be kept secure. Do not share your cookie file.
- Cortex-DL operates within platform access rules and does not bypass DRM restrictions.
Cortex-DL is built with a privacy-first architecture:
- πΎ Local Database: All download tasks, history, and status payloads are stored in
tasks.sqlitewithin Electron's local app-data folder. - π Encrypted Credentials: User authentication credentials are encrypted using Electron's native
safeStorageAPI prior to storage. - π Isolated Media Server: The built-in media streaming server binds strictly to
127.0.0.1and enforces strict CORS and path verification. - π‘οΈ Sandbox Security: Renderer windows run with
contextIsolationenabled, Node integration disabled, and explicitpreloadAPI bridges.
Tip
Use the Health Check panel in application Settings to quickly verify binary status and folder permissions.
YouTube requests sign-in or CAPTCHA
Export fresh Netscape-format cookies using a browser extension (e.g. Get cookies.txt LOCALLY) and load the file into Cortex-DL Settings.
Missing FFmpeg or yt-dlp binary error
Verify that app/bin/ contains all 4 executable files (yt-dlp.exe, ffmpeg.exe, ffprobe.exe, deno.exe). Antivirus software may occasionally quarantine executables.
Windows SmartScreen Warning
Click More Info -> Run Anyway. The installer is unsigned as it is an open-source development release.
App window hides on close
Cortex-DL minimizes to the Windows System Tray by default. Check the tray icon in the taskbar to reopen or quit the application.
Made with β€οΈ by SAADX25