Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RuStore support #2081

Merged
merged 10 commits into from
Feb 13, 2025
Merged

RuStore support #2081

merged 10 commits into from
Feb 13, 2025

Conversation

PadowYT2
Copy link
Contributor

@PadowYT2 PadowYT2 commented Jan 20, 2025

Added support for RuStore (based on this gist) and removed obsolete apps. This is my first time developing in Dart, so obvioulsy this doesn't work.

The current error is type 'Null' is not a subtype of type 'String', which I have no idea how to debug and where it is coming from. I appreciate if someone knows Dart could help on this.

An another problem, when getting a download link, it is a zip, which has an apk inside of it named file. The problem is, I have no idea how to implement this unfortunately You can replace .zip with .apk and it would work (mentioned on #2081 (comment))


Closes #1593

@PadowYT2 PadowYT2 changed the base branch from main to dev January 22, 2025 05:19
@arisudesu
Copy link

For some reason, apkUrl can now contain a URL that ends with .zip and gives a ZIP file containing APK, instead of giving APK directly. This may be not supported in Obtainium. For now, replacing .zip extension to .apk in URL reverts RuStore to previous behavior, I don't know for how long it will work though.

@arisudesu
Copy link

Example for ru.sberbankmobile:

$ curl -s -X POST 'https://backapi.rustore.ru/applicationData/download-link' -d '{"appId":"462271","firstInstall":true}' -H 'Content-type: application/json' | jq
{
  "code": "OK",
  "message": "OK",
  "body": {
    "appId": 462271,
    "apkUrl": "https://static.rustore.ru/apk/462271/version/2025010912/66a45791-5384-4940-adb5-bca7b01a3f11.zip",
    "versionCode": 2025010912
  },
  "timestamp": "2025-01-26T19:48:53.588472302+03:00"
}

- Attempt to fix "double download" bug (#2073)
- Avoid JSON corruption when storage full (#2089)
- Fix error when GitLab repo is in a subgroup (#2079)
- Update screenshots in README
@PadowYT2
Copy link
Contributor Author

@ImranR98 Any ETA on taking a look at this?

@ImranR98
Copy link
Owner

ImranR98 commented Feb 1, 2025

Not at the moment. Will take a look at some point.

@ImranR98
Copy link
Owner

I fixed the bug in this PR. The changes are on my rustore branch. You can either manually copy the changes from that branch into this PR, or you could allow me to push them here by checking "allow edits by maintainers".

Fix RuStore PR bug + reorder items in README
@PadowYT2
Copy link
Contributor Author

I fixed the bug in this PR. The changes are on my rustore branch. You can either manually copy the changes from that branch into this PR, or you could allow me to push them here by checking "allow edits by maintainers".

The checkbox is already checked since the opening of the PR, not sure why you are unable to push yourself, but I have pushed the changes. Will do testing now

@ImranR98 ImranR98 marked this pull request as ready for review February 13, 2025 18:09
@ImranR98 ImranR98 merged commit 46354e6 into ImranR98:dev Feb 13, 2025
@PadowYT2
Copy link
Contributor Author

PadowYT2 commented Feb 13, 2025

Will do testing now

Adding, installing and updating works perfectly. I think there's nothing else to add due to limitations, but perhaps you can add the changelog? whatsNew within the JSON response, it is a string which follows and it uses \n for new lines and sometimes has unicodes (\uXXXX)

EDIT: I have found an issue, while the name is UTF-8, the author isn't and results in random text (not sure how to call it). An example application would be Дневник МЭШ

@ImranR98
Copy link
Owner

I totally missed the "will do testing" part of your comment and already merged. You could make another PR or I'll make the changes later today.

@PadowYT2
Copy link
Contributor Author

I totally missed the "will do testing" part of your comment and already merged. You could make another PR or I'll make the changes later today.

Unfortunately I'm not sure how to do neither, I would be happy if you could do it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add Support for RuStore as a Source for App Downloads in Obtainium
3 participants