ImranR98 / Obtainium

Get Android app updates straight from the source.
https://obtainium.imranr.dev
GNU General Public License v3.0
5.79k stars 137 forks source link

Add support for multiple API #1667

Closed 9Mik9 closed 2 weeks ago

9Mik9 commented 2 weeks ago

I have many apps in Obtainium (like 120+ apps mostly GitHub) so my single GitHub API can't even handle 1 refresh, so I want to request feature that Obtainium can store more than 1 API(both GitHub and GitLab if possible) and if source response with something like "too many requests (rate limited)" then use second API, third, forth, fifth, ... . Something like that. Is it possible?

kaorlol commented 2 weeks ago

a gh api token can take 5000 requests per hour it can handle so idk how youre getting that.

https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api?apiVersion=2022-11-28

9Mik9 commented 2 weeks ago

a gh api token can take 5000 requests per hour it can handle so idk how youre getting that.

https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api?apiVersion=2022-11-28

Well, in my case, my GitHub API keep hitting me with "too many requests (rate limited)"

DarkCrypt commented 2 weeks ago

Is your access token expired?

ImranR98 commented 2 weeks ago

If source response with something like "too many requests (rate limited)" then use second API, third, forth, fifth

I think this is out of scope for Obtainium - the rate limit (5k requests as noted above) for authenticated users should be more than enough.

If you really need more than 5k requests an hour, maybe you could setup a proxy server that accepts your requests and forwards them to GitHub with one of many stored tokens. Then force Obtainium to use the "GitHub" source for your non-GitHub API. But I'm guessing your token is just expired as suggested above.

9Mik9 commented 2 weeks ago

If source response with something like "too many requests (rate limited)" then use second API, third, forth, fifth

I think this is out of scope for Obtainium - the rate limit (5k requests as noted above) for authenticated users should be more than enough.

If you really need more than 5k requests an hour, maybe you could setup a proxy server that accepts your requests and forwards them to GitHub with one of many stored tokens. Then force Obtainium to use the "GitHub" source for your non-GitHub API. But I'm guessing your token is just expired as suggested above.

Ok, thank you. I will try some other things myself to resolve this.🥰👍