RJNY / Obtainium-Emulation-Pack

An Obtainium import file containing an Android emulation pack
The Unlicense
41 stars 2 forks source link

[Feature Request] Adding PPSSPP #4

Closed privateemu closed 9 hours ago

privateemu commented 1 month ago

This may be difficult to do, not sure Obtanium is capable yet it seems flexible for custom scripts off GitHub, but it would be wonderful if this script could add the ability to autoupdate PPSSPP's buildbot builds. They're hosted on ppsspp's website, not GitHub, so it will be more difficult.

privateemu commented 1 month ago

There's some discussion on the Obtanium main repo on this: https://github.com/ImranR98/Obtainium/issues/629

privateemu commented 5 days ago

The PPSSPP main build has been added to the Obtainum list of apps (https://apps.obtainium.imranr.dev/?categories=emulator):

{"id":"org.ppsspp.ppsspp","url":"https://www.ppsspp.org/download/","author":"PPSSPP","name":"PPSSPP","additionalSettings":"{\"about\":\"PPSSPP is an open source, fast and portable PSP emulator\",\"appName\":\"PPSSPP\",\"customLinkFilterRegex\":\"\\\\/[0-9]+(?:_[0-9]+){1,2}\\\\/ppsspp\\\\.apk$\",\"filterByLinkText\":false,\"matchGroupToUse\":\"$1$3.$2$4$6$5\",\"reverseSort\":false,\"skipSort\":false,\"sortByLastLinkSegment\":false,\"trackOnly\":false,\"useVersionCodeAsOSVersion\":false,\"versionDetection\":true,\"versionExtractWholePage\":false,\"versionExtractionRegEx\":\"\\\\/(?:(?:([0-9]+)_([0-9]+)\\\\/ppsspp\\\\.)|(?:([0-9]+)_([0-9]+)_([0-9]+)\\\\/ppsspp(\\\\.)))apk$\"}","overrideSource":"HTML"}

I'm trying to modify it to detect the dev builds

RJNY commented 3 days ago

Thanks for your suggestion and patience.

So I did a 15 minute investigation on this and mostly thanks to all the resource you shared, I was able to come up with a solution I think might work.

So if I curl their development page, the page is not generated by the backend, so it doesn't give us anything useful to regex. That would suggest that the page is generated by the front-end. With that in mind, I took a look at the dev tools network tab and this link popped out to me: https://builds.ppsspp.org/meta/history-20.json

This is just a theory, but I think we can do the following:

I would have to still apply this logic to an obtainium script, but what are your thoughts?

RJNY commented 3 days ago

Actually, I don’t see a good way to grab and set variables from preliminary links. If that’s not supported, this method can’t work either.

RJNY commented 1 day ago

I've added PPSSPP in the latest release (v3.1.0) Let me know if that satisfies this feature request