recloudstream / recloudstream/cloudstream

[Feature Request] External Downloader Support (1DM, ADM, etc.) via Android Intent

Open
#2,561 4 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Kotlin
Stars
10.7k
Forks
1.1k
Avg merge
1d 23h
Merged PRs (30d)
15

Description

Describe your suggested feature

Problem

The built-in downloader fails frequently on slow or unstable networks. When it fails,
there is no resume support — the entire file has to be re-downloaded from scratch.
There is also no retry logic, making it very frustrating for users on mobile data
or in regions with poor connectivity.

Proposed Solution

Add an option in Settings > General > Downloads to send downloads to an external
downloader app via Android Intent instead of using the built-in downloader.

Two things needed:

  1. A toggle — "Use External Downloader" — in the Downloads settings section
  2. When enabled, fire an ACTION_VIEW Intent with the download URL + headers
    (referer, user-agent, cookies) so any installed downloader app can pick it up

Apps like 1DM (IDM+), ADM, and Download Navi all handle this Intent standard
and would receive the download automatically.

Why This Matters

  • External downloaders support resume — if a download fails it continues from where it left off
  • They have built-in retry logic and handle slow/unstable networks gracefully
  • They support multi-segment downloading which is significantly faster
  • This is a well-established pattern in Android media apps

Notes

  • HLS/DASH streams could be excluded (they can't be handled by simple downloaders anyway)
  • If no external app is installed, it should gracefully fall back to the built-in downloader
  • The Intent extras needed: title, filename, referer, extra-headers, userAgent
Other details

No response

Acknowledgements
  • My suggestion is NOT about adding a new provider
  • I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the Settings > General > Downloads entry and the built-in downloader, then trace how download URLs, headers, and stream types are handled. The work is done when the setting controls external downloading through an ACTION_VIEW Intent with the requested metadata, excludes HLS/DASH streams, and falls back gracefully when no external app is installed.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
mobile
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.