Skip to content

[FEATURE] Support URL-prefix GitHub mirrors (e.g., gh-proxy) for compatibility tool downloads #1329

Closed

Description

@njdldkl666699

Is your feature request related to a problem? Please describe.

ProtonPlus downloads compatibility tool release assets directly from GitHub. In some networks, GitHub download endpoints are slow, intermittently unreachable, or blocked, so installation and updates fail even when the release itself is available upstream.

A system-level HTTP/SOCKS proxy is not always a practical solution. For example, Flatpak users may not have access to a host-level proxy from inside the sandbox, and some networks only allow access to a URL-prefix GitHub mirror rather than a general-purpose proxy. In these cases, users currently have to manually download release assets and import them, which defeats the purpose of an integrated tool manager.

Describe the solution you'd like

Add an optional “GitHub download mirror prefix” setting for release asset downloads.

Proposed behavior:

  1. Add a preference such as:
    • GitHub download mirror prefix (optional)
    • Example: https://gh-proxy.org/
    • Default: empty, meaning direct GitHub downloads as today.
  2. When ProtonPlus constructs a GitHub release asset download URL, if the prefix is non-empty, prepend it to the original URL:
    • Original: https://github.com/<owner>/<repo>/releases/download/<tag>/<asset>
    • Mirrored: <prefix>https://github.com/<owner>/<repo>/releases/download/<tag>/<asset>
  3. Apply the prefix only to release asset download URLs, not to GitHub API calls or release-list requests.
  4. Normalize the prefix if needed, e.g. ensure it ends with /, and document the expected format.
  5. Keep the default behavior unchanged when the setting is empty.

This would let users choose a mirror that is reachable in their network without hardcoding any specific third-party service into ProtonPlus.

Describe alternatives you've considered

  • Use an existing system HTTP/SOCKS proxy setting, if available: This does not help Flatpak/sandboxed users who cannot reach a host-level proxy, and it does not cover networks where only a URL-prefix mirror is reachable.
  • Manually download release assets and import them into ProtonPlus: This works as a one-off workaround but is inconvenient and breaks the normal install/update flow.
  • Hardcode a specific mirror: This is not desirable because mirror availability and trust vary over time. A user-configurable prefix is safer and more flexible.

Why would this be useful?

This would make ProtonPlus usable in networks where direct GitHub downloads are slow or unreliable, especially for Flatpak users who may not have a practical way to use a system proxy. It is a lightweight feature: it only rewrites download URLs, requires no background proxy service, and does not change behavior for users who leave the setting empty.

It would also give users a practical workaround when a release is downloadable manually but fails inside ProtonPlus due to network conditions.

Additional context

URL-prefix mirrors such as gh-proxy support GitHub Releases and are commonly used by prepending the mirror URL to the original GitHub URL. ProtonPlus does not need to endorse or hardcode any particular mirror; it only needs to support a configurable prefix with clear documentation and an empty default.

Checklist

  • I have searched for existing feature requests.
  • I have confirmed that this feature fits with the scope and aims of the project.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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