Skip to content

Chumor/EdgeDL

Repository files navigation

EdgeDL

“随风潜入夜,润物细无声。”


License: Apache 2.0 Latest Release Prerelease TypeScript

English | 简体中文

Let Microsoft Edge on Android send download requests to your preferred external downloader.

EdgeDL is a userscript for Microsoft Edge on Android. It detects download behavior on webpages and, based on your configuration, sends download requests to supported external download managers or leaves them to Microsoft Edge.

Core Features

  • Download takeover: Send download requests to supported external download managers based on your configuration, or let Microsoft Edge handle them normally.
  • Downloader support: Supports 1DM, 1DM+, ADM, ABDM, and FDM.
  • Handling strategies:
    • Default downloader: Specify the default target for download requests.
    • Ask on download: Choose how to handle each download before forwarding it.
    • Edge handling: Explicitly skip takeover and let Microsoft Edge continue its normal download flow.
  • Site rules: Enable or skip download takeover per website.
  • Download detection: Detect common download links and download requests triggered by page scripts.
  • Userscript menu: Change the default downloader and toggle site-level takeover from the userscript manager menu.
  • Local configuration: Default downloader, site rules, and other settings are stored locally by the userscript manager.

Supported Downloaders

Downloader Package / meaning
1DM idm.internet.download.manager
1DM+ idm.internet.download.manager.plus
ADM com.dv.adm
ABDM com.abdownloadmanager
FDM org.freedownloadmanager.fdm
Edge Skip takeover and let Microsoft Edge handle the download

EdgeDL only forwards download requests. Whether the final download succeeds depends on the target download manager and the website environment.

Installation

GitHub ScriptCat GreasyFork CI Build

GitHub, ScriptCat, and GreasyFork provide stable versions. CI Build provides the latest automated build and is suitable for trying updates early.

Userscript Permissions

Permission Purpose
GM_getValue / GM_setValue / GM_deleteValue Save default downloader, site rules, and other local configuration.
GM_registerMenuCommand Provide userscript manager menu actions.
GM_info Read userscript metadata such as the current version.
unsafeWindow Observe page-level navigation behavior triggered by webpage scripts.
@match *://*/* Detect download links and script-triggered download behavior on webpages.

EdgeDL runs on webpages because download buttons and download links may appear on any website. The script only processes these requests locally and does not upload browsing history or download history.

Compatibility Notes

EdgeDL's download takeover capability may be affected by website behavior, Android system restrictions, userscript manager compatibility, and download manager support, including:

  • blob URLs, temporary signed URLs, multi-step redirects, and other special download mechanisms;
  • download flows that depend on page scripts, user sessions, authentication cookies, request headers, or one-time tokens;
  • Android system restrictions on browsers launching external apps;
  • download manager support for specific protocols or request parameters;
  • userscript manager support for menu commands, storage APIs, and page-context access;
  • compatibility differences across Microsoft Edge for Android versions.

Some websites may require additional adaptation for their download flow.

Relationship to EdgeDL-Ext

EdgeDL is the original userscript project.

EdgeDL-Ext is based on the same idea and is reimplemented for the Manifest V3 extension environment of Microsoft Edge on Android.

Acknowledgements

License

EdgeDL is released under the Apache License 2.0.

About

让 Android Edge 支持调用外部下载器接管下载任务

Topics

Resources

License

Stars

29 stars

Watchers

1 watching

Forks

Contributors