Skip to content

Support additional IPA download sources in Build IPA workflow, starting with MEGA #99

Description

@Bryan0211

Describe the feature request

The current Build IPA with tweaks workflow accepts an ipa_url input and downloads it directly with wget.

This works well for direct-download IPA links, but it does not support common share-link providers where the browser URL is not the actual file URL. One example is MEGA (https://mega.nz/...), where the shared link needs a provider-specific downloader instead of plain wget.

I would like to propose adding structured support for more IPA download sources, starting with MEGA support.

Current behavior

  • ipa_url is treated as a direct-download URL.
  • The workflow downloads it with wget.
  • If the URL points to a provider page instead of the actual IPA file, the workflow may download HTML or fail validation.

Proposed behavior

  • Keep the existing ipa_url input.
  • Detect the link source before downloading.
  • Use the proper downloader for supported providers.
  • Keep the existing IPA validation step after download.
  • Fall back to the current direct URL behavior for normal links.

For the first implementation, I added MEGA support:

  • https://mega.nz/... links are downloaded with megatools / megadl.
  • Other links continue to use wget.
  • The final output remains youtube.ipa, so the rest of the workflow is unchanged.
  • Validation still checks the downloaded file before continuing.

Why this is useful

Many users get decrypted IPA files from different hosting providers. Supporting source-specific download handling makes the workflow more reliable and avoids forcing every user to manually convert share links into direct-download links.

This also creates a cleaner path for future link source support, for example:

  • MEGA
  • Google Drive
  • Dropbox
  • MediaFire
  • GitHub release assets
  • Other provider links that are not plain direct downloads

Scope of my PR

My PR intentionally keeps the first step small:

  • Only add MEGA share-link support.
  • Keep the existing direct URL path unchanged.
  • Keep the rest of the build process untouched once youtube.ipa is downloaded.

Note

If maintainers prefer a more general abstraction, this can later be moved into a helper script such as scripts/download_ipa.sh, where each provider can be handled in one place.

Post requisites

  • I have CHECKED that a similar feature request has not been reported before.
  • Verified the relevance of the project and the version you are using.
  • Provided a detailed description of the request and have filled in all required fields.
  • By submitting this request, I confirm that I have filled in all the necessary fields and complied with the guidelines. Failure to comply may result in the request being closed without discussion, and repeated violations may lead to restrict account from further participation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions