revanced-manager
revanced-manager copied to clipboard
feat: Ability to change sources website
Type
Functionality
Branch
Flutter
Issue
it would be a good feature to implement for long-term support to revanced manager
Feature
In revanced manager's settings, under "sources" a user can pick which org and repo to download patches and integrations from, I think there should be an option to also add which website, i.e (Github, Gitlab, or a custom URL for self-hosted git like Gitea)
Motivation
I used to maintain a Pira#y app and it got DMCA'd a lot and the repos kept shutting down until we self-hosted our own gitea instance, this would ensure if anything goes wrong you can easily fix it by replacing the source either manually or through an update, altough you also have to check for updates from a permalink like your own website that redirects to the git repo or something.
Additional context
Great job and thank you all <3
Makes sense! However, each website has its own API, so Manager would need to be API agnostic. In the future, we can think of a way to make this possible somehow. Not a priority for now, though... Thank you!!
Makes sense! However, each website has its own API, so Manager would need to be API agnostic. In the future, we can think of a way to make this possible somehow. Not a priority for now, though... Thank you!!
A possibility would be for the API to source data directly from Git. I thought about it for the current implementation, but there's a couple complications for that approach:
- We would have to hold a copy of each git repository from which we source data (space constraints)
- The transformed data would need to be cached for each one of those sources, resulting in a gigantic cache (memory constraints)
- Considering that right now we're hitting over 250K reqs/day, those costly operations would pile up in execution time (CPU constraints)
Another possibility would be to force repositories to implement and follow some standards like adding a CONTRIBUTORS
file from which we can source the data for the /contributors
endpoint or maintaining the patches.json
file up to date with their changes so we can pull data for the /patches
endpoint from there.
At the end of the day, none of those solutions are good enough given the circumstances. If you have any idea or suggestion on how can we treat this problem, please share with us.
ReVanced Manager will soon be released as a full rewrite. Over time, many feature requests have been made for the current version of ReVanced Manager, but to accelerate the development of the new version of ReVanced Manager, we have to focus on it, which I am closing this issue according to the contribution guidelines:
Requests can be accepted or rejected at the discretion of maintainers of ReVanced Patches
This feature request has been closed for one or more of the following reasons:
- Stale for too long/ Low priority/ Maintainers un-interested/ Too complex to realize
- Feature planned/ already implemented for the new version of ReVanced Manager
Regardless, anyone who comes across this feature request can PR it to the current version of ReVanced Manager until the new version is ready. Thanks for your feature request!