fix(rustore): отправляем заголовок ruStoreVerCode - #139
Merged
npinaev merged 2 commits intoJul 21, 2026
Merged
Conversation
added 2 commits
July 20, 2026 12:51
С июля 2026 RuStore backapi отклоняет запросы без этого заголовка (пустой HTTP 400), из-за чего скачивание из RuStore не работало. Сервер требует только число >= 247, поэтому шлём значение с запасом; переопределяется через переменную окружения MDAST_RUSTORE_VER_CODE.
Бамп версии в __init__.py, setup.py и docker-тегах после фикса RuStore.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Restores the RuStore distribution system, which was broken for every package:
--distribution_system rustorefailed on the very first call withRoot cause
Since July 2026 the RuStore
backapi.rustore.ruAPI (behind thekittenxedge proxy) rejects requests that do not carry a client version header,ruStoreVerCode. Without it, bothapplicationData/overallInfo/{package}andapplicationData/download-linkreturn an empty HTTP 400.mdast-cliwas not sending this header.This is not a TLS-fingerprint or User-Agent block (verified: browser TLS impersonation and mobile User-Agents make no difference) and not a per-request anti-bot challenge — a single static header fixes it.
How the server validates the header
Measured against
overallInfo:ruStoreVerCodeabc)< 247(e.g. 246)>= 247(247 … 999999999)The server enforces only a lower bound (currently 247); it does not require the value to match the current RuStore client release. Any larger integer is accepted.
Change
ruStoreVerCodeheader to the RuStore API requests inget_app_info.MDAST_RUSTORE_VER_CODEenvironment variable in case RuStore ever raises the minimum.Testing
End-to-end download of a real package now succeeds:
overallInfo→ 200,download-link→ 200AndroidManifest.xmlandclasses.dex)MDAST_RUSTORE_VER_CODEenv override are applied.