awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
lingochamp avatar

lingochamp/FileDownloader

0
View on GitHub↗
11,118 stars·2,207 forks·Java·Apache-2.0·17 views

FileDownloader

FileDownloader is an Android HTTP download manager and multi-threaded download engine designed for managing file transfers. It functions as a resumable transfer framework that utilizes a foreground service to maintain persistent background execution and prevent the operating system from terminating active tasks.

The project features a pluggable networking library architecture, allowing the replacement of default network, storage, and database implementations with custom components. It employs a multi-threaded engine that increases transfer speeds by splitting files into chunks for simultaneous retrieval over multiple concurrent connections.

The system includes a download queue for managing tasks by priority and supports breakpoint-resume capabilities through database-backed progress tracking. It provides task control for pausing or canceling jobs, network constraint configuration to limit transfers to specific connection types, and throttled event dispatching to maintain interface performance during real-time monitoring.

Features

  • Concurrent Downloader Managers - Provides a client-side system for managing multi-threaded file downloads with support for resuming interrupted transfers.
  • Multi-threaded Downloading - Increases transfer speeds by splitting files into chunks and downloading them simultaneously over multiple concurrent connections.
  • Transfer Offset Tracking - Implements database-backed tracking of byte offsets to enable resuming interrupted file transfers from the exact position.
  • Download Progress Tracking - Records byte offsets and task states in a local database to facilitate recovery of interrupted downloads.
  • Foreground Service Implementations - Utilizes Android foreground services with persistent notifications to prevent the operating system from terminating active downloads.
  • Download Traffic Controllers - Provides controls to start, pause, or cancel individual download jobs or all active transfers globally.
  • Resumable Downloads - Tracks download progress and restarts transfers from the last successful byte after a pause or failure.
  • Resumable File Transfers - Provides a framework for recovering interrupted downloads from the last received byte using progress tracking.
  • Download Priority Queues - Manages a queue of download tasks that execute based on priority, supporting sequential or parallel processing.
  • Parallel Download Queues - Manages multiple simultaneous downloads with prioritization to optimize bandwidth and transfer speed.
  • Download Retry Policies - Automatically attempts to restart failed download tasks a specified number of times upon network or file errors.
  • Core Logic Customizations - Allows replacing default implementations for network connections, data streams, and database storage with custom logic.
  • Download Behavior Configurations - Allows adjusting network thread counts, file pre-allocation, and synchronization intervals via properties files.
  • Download Progress Listeners - Tracks the status of downloads through listeners that provide real-time updates on bytes transferred, speed, and completion.
  • Pluggable Network Layers - Provides a pluggable network layer allowing the replacement of default communication components with custom implementations.
  • Connection Type Constraints - Limits file transfers to specific connection types like Wi-Fi to prevent unexpected data charges on mobile networks.
  • Pluggable Component Architectures - Provides a pluggable architecture to replace default networking, storage, and database implementations with custom classes.
  • Process Isolation - Launches the download engine in a separate system process to isolate the user interface from engine crashes.
  • Throttled UI Updates - Limits the frequency of progress updates sent to the main thread to prevent interface lag and frame drops.

Star history

Star history chart for lingochamp/filedownloaderStar history chart for lingochamp/filedownloader

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to FileDownloader

Similar open-source projects, ranked by how many features they share with FileDownloader.
  • lingochamp/okdownloadlingochamp avatar

    lingochamp/okdownload

    5,248View on GitHub↗

    Okdownload is a multi-threaded HTTP download engine and transfer library designed for concurrent file downloading. It functions as a resumable file downloader that splits single files into multiple blocks for simultaneous processing to increase network throughput and transfer speeds. The system distinguishes itself through a builder-based component injection framework and a strategy pattern that allows for custom download engines. Developers can replace default storage and connection modules or override the logic used for block splitting and filename generation. The library provides comprehe

    Javafastfiledownloaderflexible
    View on GitHub↗5,248
  • shiyi-0x7f/o-libshiyi-0x7f avatar

    shiyi-0x7f/o-lib

    2,639View on GitHub↗

    o-lib is a digital library client for browsing, searching, and downloading publications from remote server subscriptions. It serves as a desktop application that combines remote resource access with a local content organizer to track reading progress and manage favorite titles. The system manages connections to multiple server lines via manual imports or structured subscription lists and uses concurrent speed testing to verify latency and throughput. It includes a multi-threaded download manager that utilizes byte-range offsets to resume interrupted transfers. The application provides tools

    Python
    View on GitHub↗2,639
  • tangyoha/telegram_media_downloadertangyoha avatar

    tangyoha/telegram_media_downloader

    4,865View on GitHub↗

    This project is a Telegram API client and media archiving system designed to programmatically retrieve chat histories and export media. It functions as a download manager and message forwarder, allowing users to back up photos, videos, and documents from Telegram chats into structured local archives. The system distinguishes itself through advanced content filtering and forwarding capabilities. It can monitor chats for new messages, apply custom regular expressions to filter media by size or date, and automatically forward content between chats. This includes the ability to export protected c

    JavaScriptcosplatfromcross-platformdownloader
    View on GitHub↗4,865
  • proxyee-down-org/proxyee-downproxyee-down-org avatar

    proxyee-down-org/proxyee-down

    24,718View on GitHub↗

    proxyee-down is an HTTP proxy download manager and multi-threaded download client. It is designed to route file download requests through an HTTP proxy server to accelerate data retrieval and bypass network restrictions. The tool increases transfer speeds by splitting large files into smaller chunks and downloading them concurrently across multiple TCP connections. It features the ability to update expired or changed source URLs for existing tasks, allowing interrupted downloads to recover and resume without losing previously downloaded segments. The system provides controls for manual downl

    Java
    View on GitHub↗24,718
See all 30 alternatives to FileDownloader→

Frequently asked questions

What does lingochamp/filedownloader do?

FileDownloader is an Android HTTP download manager and multi-threaded download engine designed for managing file transfers. It functions as a resumable transfer framework that utilizes a foreground service to maintain persistent background execution and prevent the operating system from terminating active tasks.

What are the main features of lingochamp/filedownloader?

The main features of lingochamp/filedownloader are: Concurrent Downloader Managers, Multi-threaded Downloading, Transfer Offset Tracking, Download Progress Tracking, Foreground Service Implementations, Download Traffic Controllers, Resumable Downloads, Resumable File Transfers.

What are some open-source alternatives to lingochamp/filedownloader?

Open-source alternatives to lingochamp/filedownloader include: lingochamp/okdownload — Okdownload is a multi-threaded HTTP download engine and transfer library designed for concurrent file downloading. It… shiyi-0x7f/o-lib — o-lib is a digital library client for browsing, searching, and downloading publications from remote server… tangyoha/telegram_media_downloader — This project is a Telegram API client and media archiving system designed to programmatically retrieve chat histories… proxyee-down-org/proxyee-down — proxyee-down is an HTTP proxy download manager and multi-threaded download client. It is designed to route file… pokeb/asi-http-request — This project is an Objective-C HTTP networking library that provides an object-oriented wrapper for CFNetwork to… ldqk/masuit.tools — Masuit.Tools is a comprehensive static utility library for .NET and ASP.NET Core development. It provides a broad…