F-Droid Support?
Closed this issue · 6 comments
Deleted user commented
F-Droid Support?
Hainish commented
We definitely should support F-Droid. Looks like it has some good API documentation: https://f-droid.org/en/2021/02/05/apis-for-all-the-things.html
eighthave commented
@Hainish we're also happy to help you get going with the APIs. You can find us here https://f-droid.org/en/about/#contact
Deleted user commented
the api just goes like this:
get https://gitlab.com/fdroid/fdroiddata/-/raw/master/metadata/ID_HERE.yml
parse with yaml parser
get CurrentVersionCode
get http://f-droid.org/repo/ID_HERE.VERSION_CODE_HERE
eighthave commented
That will work for apps that explicitly declare `CurrentVersionCode`, but not
for most, where it is implicitly declared.
The app index is the canonical source, but isn't really an API. Its an index of
all available apps and APKs. Basically, do
* `wget https://f-droid.org/repo/index-v1.jar`
* verify JAR signature
* extract `index-v1.json`
You can see that in action here:
https://gitlab.com/fdroid/fdroidserver/-/blob/2.0.1/fdroidserver/index.py#L696
For apkeep, the thing to do is to cache the index file locally, then check whether to redownload it using etags.
Hainish commented
I've added support for F-Droid in c30cda5. If all goes well and everything cross-compiles gracefully, I'll close this issue.
Hainish commented
Confirmed cross-compiling works, closing