Skip to content

Repository files navigation

HAD — Hyper Advanced Downloader

Typing SVG

English | فارسی

HAD Banner

HAD Banner

AndroidKotlinComposeVersionDownloads

A fully native Android download manager built entirely in Kotlin.
Multi-thread • HLS Streams • Torrent • Web Archive • Remote Control • QR Code


📥 Downloads

FileDescriptionLink
Had-3.8.15.apkAndroid applicationDownload APK

📖 Table of Contents


🔥 What is HAD?

HAD (Hyper Advanced Downloader) is a premium, fully-native Android download manager that brings PC-grade download capabilities to your mobile device. Built entirely in Kotlin with Jetpack Compose, it combines enterprise-level features with a sleek, modern interface.

Whether you're downloading 4K movies, streaming HLS video, torrenting Linux ISOs, archiving entire websites, or controlling downloads from your PC browser — HAD does it all with speed, reliability, and elegance.


🚀 Features Deep Dive

⚡ Core Download Engine

FeatureHow to UseWhen to Use
Multi-thread DownloadSet thread count in New Download dialog (1-32). Default: 4Large files (1GB+) on fast connections; increases speed by splitting file into parallel chunks
Resumable DownloadsEnabled by default. Tap Retry on any paused/failed downloadWhen internet drops, app closes, or phone reboots — resume from exact byte position, not from zero
Session PersistenceAutomatic. Progress saved every few secondsNever lose progress; even after force-stop or system crash
Smart QueueSet Max Concurrent in Settings → Download Defaults (default: 2)When you have many downloads and want to control bandwidth/performance
Mirror URLsAdd fallback URLs in Advanced Options (one per line)When primary server is slow or unreliable — HAD auto-switches to fastest mirror
Adaptive BufferAutomatic based on connection speedOptimizes memory usage; small buffer for slow connections, large for fast ones
Speed LimitingSet Max KB/s per download (0 = unlimited)On limited data plans or to prevent downloads from saturating your network

📺 HLS & Stream Downloader

FeatureHow to UseWhen to Use
Auto-detect HLSPaste .m3u8 URL — mode switches to HLS automaticallyDownloading video streams from sites like YouTube, Vimeo, or any HLS-powered platform
Quality SelectionMaster playlist detected; auto-selects highest qualityWatching offline — get the best quality available
Parallel SegmentsConfigurable threads in Advanced OptionsFaster download of segmented streams
AES-128 / SAMPLE-AES DecryptionAutomatic key fetch from playlistDownloading DRM-protected streams (common in premium content)
Live Stream RecordingStart download on live .m3u8 URLRecording live events, sports, or streams — continuously downloads new segments
fMP4 SupportHandles fragmented MP4 init segmentsDownloading modern streaming formats
Audio/Subtitle ExtractionAutomatic track extraction (where available)Getting multi-language content for offline playback

🌊 Torrent & Magnet Client

FeatureHow to UseWhen to Use
.torrent FilesOpen Torrent tab → tap + → select .torrent fileDownloading from tracker-based torrents
Magnet LinksTap chain icon in Torrent tab → paste magnet: linkQuick download without downloading .torrent file
DHT Metadata FetchingAutomatic when magnet link has no metadataGetting metadata for magnet links from the DHT network
Multi-Tracker SupportAutomatic UDP + HTTP announceFaster peer discovery from multiple trackers
Per-File SelectionCheck/uncheck files in TorrentStartDialogDownloading only specific files from a multi-file torrent
Piece VerificationSHA-1 checksum automatically verifiedEnsuring downloaded data is not corrupted
Peer ManagementChoking/unchoking with rarest-first selectionOptimizing download speed and network efficiency
Endgame ModeAutomatic for near-complete downloadsParallel downloading of remaining pieces for fastest completion

🌐 Built-in Smart Browser

FeatureHow to UseWhen to Use
Multi-Tab SupportTap tab count → New TabBrowsing multiple sites simultaneously
Auto File InterceptionBrowse normally; files detected automaticallyFinding downloadable files on any website without manual URL extraction
JavaScript BridgeHAD injects interceptor script automaticallyDetecting dynamically loaded content (XHR, fetch, video elements)
Incognito ModeThree-dot menu → IncognitoPrivate browsing — no history, cookies, or cache saved
Desktop SiteThree-dot menu → Desktop SiteAccessing desktop-only download links or content
Paste & GoThree-dot menu → Paste & GoQuick navigation from clipboard URLs
Intercepted Files PanelTap purple badge on bottom rightReviewing and downloading all detected files in one place

Pro Tip: HAD's browser is smarter than regular browsers — it monitors network requests in real-time and catches download URLs that other browsers miss.

🔍 Link Scraper Pro

FeatureHow to UseWhen to Use
Scrape Any PageGlobe icon → paste URL → Scrape LinksFinding all downloadable content on a page without manual searching
Type FilteringFilter by VIDEO, AUDIO, ARCHIVE, DOCUMENT, etc.Focusing on specific content types
Extension FilterFilter by .mp4, .mp3, .zip, .pdf, etc.Finding files with specific extensions
Quality FilterFilter by 4K, 1080p, 720p, etc.Selecting only high-quality video streams
Batch DownloadSelect multiple links → Download AllGrabbing many files at once
Batch QueueSelect multiple links → Queue AllAdding many files to queue without starting
Direct AddTap + on any link → opens New Download dialogConfiguring specific settings per link
Cache SystemResults cached; Re-scrape button availableRevisiting scraped pages without re-downloading

Pro Tip: Great for downloading entire playlists, episode packs, or all documents from a page in one go!

📦 Web Archive (Offline Pages)

FeatureHow to UseWhen to Use
Single Page ModeWeb Archive → + → select "Single Page"Saving a single article, recipe, or page for offline reading
Full Site CrawlSelect "Full Site" → set max pagesArchiving entire websites for offline browsing
Asset DownloadCSS, JS, images, fonts automatically savedComplete offline rendering — everything included
Link RewritingAll internal links rewritten automaticallyPages work offline exactly as online
External Asset SupportToggle "Download external assets"Including content from other domains
Hash Route SupportToggle for SPA (Single Page Apps)Archiving modern JavaScript-heavy websites
MinificationToggle to minify HTML outputSmaller archive size
Authentication SupportAdd cookies in Advanced OptionsArchiving pages behind login

Pro Tip: Perfect for saving documentation, news articles, tutorials, or any content you want to access offline.

📡 Remote Download Server

FeatureHow to UseWhen to Use
Start ServerSide menu → Remote Server → toggle onControlling downloads from your PC while phone is on same Wi-Fi
Single URL DownloadPaste URL in web UI → Download NowSending individual download links from PC to phone
Bulk DownloadPaste multiple URLs (one per line) → Download AllSending many links at once
Queue SupportDownload Now or Add to QueueChoosing immediate download or queue scheduling
Request HistoryView all past requests in web UIRe-downloading or re-queuing previous URLs
Live StatusRequest count, connected clients, last requestMonitoring server activity

Pro Tip: The server address appears on your phone — just type it in your PC browser and start controlling downloads from your desk!

📋 Clipboard Intelligence

FeatureHow to UseWhen to Use
Single URLCopy URL → tap paste iconQuick download of copied links
Multiple URLsCopy multiple URLs → selection dialog appearsBatch adding multiple links from copied text
Auto DetectionHAD reads clipboard on demandWhenever you copy a download link
Smart Mode DetectionAuto-detects HTTP, HLS, or TorrentNo need to manually set download mode

🔄 Smart Retry Engine

Status CodeStrategyWhen You'll See It
403 ForbiddenRotates User-Agent → adds browser headersSites blocking download managers; HAD mimics real browser
429 Rate LimitExponential backoff (5s → 120s)When downloading too many files from the same server
503 Service UnavailableIncreasing delay + UA rotationServer overloaded; HAD waits and retries
TimeoutIncreasing delay up to 60sSlow connections or network issues
500-599 ErrorsExponential backoff with retry limitServer errors; HAD retries intelligently

⏰ Download Scheduler

FeatureHow to UseWhen to Use
Per-Download ScheduleAdvanced Options → schedule date/timeStarting specific downloads at a later time
Global Time WindowSettings → Schedule Window → set hoursRunning downloads only during specific hours (e.g., overnight)
Preset ChipsTonight, Midnight, Dawn in schedulerQuick scheduling without manual typing
Auto-Pause/ResumeDownloads pause outside window, resume when it opensSaving bandwidth during peak hours or using off-peak data
Live CountdownShows remaining time in notificationKnowing exactly when scheduled downloads start

Pro Tip: Set a global schedule (e.g., 23:00 → 06:00) to run all your large downloads overnight while you sleep!

🔐 Advanced Options

OptionHow to UseWhen to Use
Proxysocks5://host:port or http://host:portUsing a VPN, bypassing geo-restrictions, or corporate networks
Cookiesname=value; name2=value2Sites requiring login (streaming platforms, paid content)
Custom HeadersHeader: value (one per line)Adding authentication tokens, referers, or custom requirements
User-AgentCustom UA stringSites blocking download managers; simulate any browser
ChecksumMD5, SHA-1, SHA-256, SHA-512Verifying file integrity after download (critical for important files)
HTTP MethodGET, POST, etc.APIs or endpoints that require specific methods
Thread Count1-32 per downloadTuning performance per connection
Max SpeedKB/s limit per downloadBandwidth management

📊 Analytics Dashboard

MetricHow to UseWhen to Use
Overview StatsSide menu → Analytics → OverviewGetting summary of all downloads
Monthly ChartView monthly download volumeUnderstanding usage patterns
Hourly HeatmapView hourly distributionOptimizing schedule window
Speed HistoryReal-time speed graph during downloadsMonitoring current download performance
Recent HistoryLast 200 downloads with detailsTroubleshooting or tracking specific downloads
Auto-PurgeData > 30 days auto-removedKeeping database manageable

🎨 Themes & Bilingual UI

HAD comes with 6 professional color themes and full bilingual support (English & Persian/Farsi), giving users a personalized and accessible experience.

FeatureHow to UseDetails
🌗 Color ThemesSettings → Appearance → ThemeChoose from 6 unique color themes
🌐 BilingualSettings → Appearance → LanguageSwitch between English and Persian (Farsi)
📱 Persistent SettingsAutomaticTheme and language preferences are saved across app restarts

Available Color Themes:

ThemeDescription
Cyber CyanThe original HAD look — deep space black with electric cyan (#00D4FF)
Rose QuartzChic and modern — plum-black surfaces with rose pink and lilac accents
Lavender BloomSoft and modern — dusky violet surfaces with lavender and pink glow
Matrix ClassicPure black terminal with classic phosphor-green glow
Neon MatrixModern cyberpunk matrix — neon green with glitchy magenta/cyan pops
Midnight OnyxElegant and understated — graphite black with warm champagne gold
Obsidian RoyaleRich and elegant — deep navy-black with royal indigo and violet

Why This Matters:

  • Personalized Experience: Every user can customize the app's look to match their style
  • Accessibility: Different themes work better for different visual preferences and lighting conditions
  • International Reach: Persian-speaking users can use the app in their native language
  • State Persistence: Settings are saved automatically — no need to reconfigure after restart

🎨 UI & Experience

FeatureHow to UseWhy It's Great
Dark Space ThemeAutomatic; no option neededEye-friendly, looks premium, saves battery
Glow Progress BarsAnimated with electric cyanVisual feedback that feels alive
Thread Visualizer3 modes: Segment Bar, Waveform, GridVisualizing download progress at a glance
Status BadgesAnimated pulse for active statesInstant status recognition
Swipe ActionsSwipe left → Stop/Delete, Swipe right → Pause/ResumeQuick actions without opening menus
Countdown BadgeShows remaining time for scheduled downloadsKnow exactly when downloads start
Multi-SelectLong press → select multiple → batch deleteManaging many downloads efficiently
Mini PlayerMinimized progress bar at bottomKeep track of downloads while browsing
QR Code SupportGenerate/Share QR codes for download URLsSharing download links easily
Time TrackingStart time, completion time, duration for every downloadKnowing exactly when downloads happened
Smart Back NavigationTab history stack with one-press backNavigating through the app with confidence
Enhanced NotificationsComplete status with active, scheduled, queued, paused statesAlways knowing what's happening

📱 Screenshots

Main ScreenDownload ManagerHLS DownloadTorrent Client
Main ScreenDownload ManagerHLS Stream DownloadTorrent Client

🏗️ Architecture

app/src/main/java/com/had/downloader/
│
├── MainActivity.kt ← Entry point + permission gates
├── AppModule.kt ← Hilt dependency injection
│
├── data/
│ ├── model/
│ │ └── Models.kt ← Data classes, enums, extension functions
│ └── repository/
│ ├── Database.kt ← Room DB, DAOs, type converters
│ ├── AnalyticsDao.kt ← Analytics queries
│ └── AnalyticsRepository.kt ← Analytics business logic
│
├── service/
│ ├── SmartDownloader.kt ← Core multi-thread HTTP engine (16 threads max)
│ ├── HlsDownloader.kt ← HLS/M3U8 stream downloader with FFmpeg merge
│ ├── TorrentEngine.kt ← BitTorrent client with DHT and tracker support
│ ├── ScraperEngine.kt ← Web page link extractor (30+ link types)
│ ├── VideoDetectionEngine.kt ← Stream/media URL detector
│ ├── WebArchiveEngine.kt ← Website archiver/crawler (full site support)
│ ├── RemoteDownloadServer.kt ← Local HTTP control server on port 8080
│ ├── ForegroundDownloadService.kt ← Android foreground service with notifications
│ ├── DownloadSchedulerService.kt ← Scheduled download service
│ ├── SmartRetryEngine.kt ← Intelligent retry logic (8 User-Agents pool)
│ ├── DuplicateDetector.kt ← Duplicate file detection
│ ├── FileSizeFetcher.kt ← HEAD/GET file info fetcher
│ ├── ClipboardMonitor.kt ← Clipboard URL detection
│ ├── BrowserInterceptor.kt ← WebView request interceptor
│ ├── Scheduler.kt ← AlarmManager scheduling (Exact + Doze-safe)
│ ├── BootReceiver.kt ← Resume downloads after reboot
│ ├── DownloadAlarmReceiver.kt ← Alarm trigger handler
│ └── TriggerReceiver.kt ← Internal broadcast receiver
│
├── ui/
│ ├── theme/
│ │ ├── Theme.kt ← Colors (#00D4FF), typography, Material3 scheme
│ │ └── Localization.kt ← Bilingual support (EN/FA)
│ ├── components/
│ │ ├── Components.kt ← Shared UI components (DownloadCard, etc.)
│ │ ├── ThreadVisualizer.kt ← Download thread visualization (3 modes)
│ │ ├── HlsProgressCard.kt ← HLS segment progress display
│ │ ├── QRCodeDialog.kt ← QR Code generation and sharing
│ │ └── QRCodeGenerator.kt ← QR Code generation engine
│ └── screens/
│ ├── MainScreen.kt ← Main UI + navigation drawer
│ ├── MainViewModel.kt ← Central ViewModel with all business logic
│ ├── AnalyticsTab.kt ← Analytics dashboard with charts
│ ├── BrowserTab.kt ← Built-in browser
│ ├── EnhancedBrowserTab.kt ← Browser implementation with interception
│ ├── TorrentTab.kt ← Torrent management UI
│ ├── RemoteServerTab.kt ← Remote server control UI
│ ├── WebArchiveTab.kt ← Web archive UI
│ ├── SettingsDialog.kt ← App settings dialog (including Theme & Language)
│ ├── AboutTab.kt ← About + donate
│ ├── GuideTab.kt ← Full in-app user guide (EN/FA)
│ ├── SchedulePicker.kt ← Schedule time picker
│ ├── PermissionScreen.kt ← Storage permission gate
│ ├── ShareReceiverActivity.kt ← Share intent handler
│ └── ChunkSessionManager.kt ← Download session persistence
│
├── res/
│ ├── xml/
│ │ └── file_paths.xml ← FileProvider paths for QR sharing
│ └── values/
│ └── strings.xml ← App strings
│
└── AndroidManifest.xml ← Permissions and component declarations

🛠️ Tech Stack

TechnologyPurposeVersion
Kotlin100% of the codebase1.9.0
Jetpack ComposeDeclarative UI framework2024.02.00
Material3Design system1.2.0
Hilt / DaggerDependency injection2.48
RoomLocal database for download history2.6.0
Kotlin Coroutines + FlowAsync operations and reactive state1.7.3
FFmpeg KitHLS segment merging and MP4 conversion6.0-1
ZXingQR Code generation3.5.3
AlarmManagerExact scheduled downloads (Doze-safe)Android Framework
WebViewBuilt-in browser with JS bridgeAndroid Framework
SharedPreferencesUser preferences storageAndroid Framework
Foreground ServiceBackground download executionAndroid Framework
Broadcast ReceiverBoot completion and alarm triggersAndroid Framework

🚀 Quick Start

Prerequisites

  • Android Studio Hedgehog or newer
  • JDK 17
  • Android SDK 36

Steps

git clone https://github.com/batmanpriv/HyperAdvancedDownloader-Android.git
cd HyperAdvancedDownloader-Android

Open in Android Studio:

File → Open → select the HyperAdvancedDownloader-Android folder → wait for Gradle sync

Run on device:

Run → Run 'app' (select your device or emulator)

Build release APK:

Build → Generate Signed Bundle/APK → APK → follow the signing wizard

⚙️ Configuration Guide

All settings are configurable from the in-app Settings screen:

SettingDefaultDescriptionHow to Change
Default Threads4Parallel chunks per download (1-32)Settings → Download Defaults → Threads
Max Concurrent2Simultaneous active downloads (1-10)Settings → Download Defaults → Max parallel
Default ProxyNoneHTTP or SOCKS5 proxy for all downloadsSettings → Network → Default Proxy
Max SpeedUnlimitedBandwidth cap in bytes/sSettings → Network → Max Speed
Retries5Max retry attempts per chunk (1-20)Settings → Download Defaults → Retries
Timeout30sConnection timeout in seconds (5-300)Settings → Download Defaults → Timeout
Schedule WindowDisabledAllowed download hours (e.g., 23:00-06:00)Settings → Schedule Window
Save FolderDownloads/HADDefault output directorySettings → Download Defaults → Save Folder
GzipDisabledEnable gzip compressionSettings → Options → Enable Gzip
Session ResumeEnabledResume interrupted downloadsSettings → Options → Save Session
NotificationsEnabledShow download notificationsSettings → Options → Show Notifications
LanguageEnglishApp language (English/Persian)Settings → Appearance → Language
ThemeCyber CyanColor theme (7 options)Settings → Appearance → Theme

📋 Requirements

RequirementDetails
Android Version8.0+ (API 26+)
Architecturearm64-v8a (ARM64)
Storage PermissionMANAGE_EXTERNAL_STORAGE (Android 11+) or WRITE_EXTERNAL_STORAGE (Android 10 and below)
NetworkInternet access for downloads
OptionalWi-Fi for Remote Server, Camera for QR Code scanning

Guidelines

  • Follow Kotlin coding conventions
  • Write meaningful commit messages
  • Update documentation for user-facing changes
  • Test on multiple Android versions when possible

📄 License

This project is licensed under the MIT License — see the LICENSE file for details.


📬 Contact & Support

PlatformLink
Telegram@batmanpriv
Emailspect3rog@gmail.com
Donatecoffeete.ir/specter

Crypto Donations

CurrencyAddress
Bitcoin (BTC)bc1q7rags3da9a549u22e8t9fmw7j94kgxwflfy2f8
Tron (TRX)TQsUASZzfcKg4AckFFv1YjKgU8QCniUwhv

Donate

About

A fully native Android download manager built entirely in Kotlin. Multi-thread • HLS Streams • Torrent • Web Archive • Remote Control

Topics

Resources

Stars

20 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages