Skip to content

Fix configurable authentication, pushed 2FA, and capability response handling - #44

Open
failury wants to merge 5 commits into
hugeBlack:mainfrom
failury:main
Open

failury wants to merge 5 commits into
hugeBlack:mainfrom
failury:main

Conversation

@failury

@failury failury commented Oct 18, 2026

Copy link
Copy Markdown

Summary

Fixes sign-in and capability-response handling encountered while enabling Increased Memory Limit for LiveContainer with a free Apple account. The GetMoreRam stages were verified on a device; end-to-end emulator operation remains blocked by a separate SideStore signing issue.

Changes

  • Add editable, persisted anisette Client Info and User Agent settings, defaulting to a working Windows/iTunes identity. Validate configuration and apply it on sign-in.
  • Handle Apple's automatically pushed 2FA challenge (hsc=409 with missing/empty au), wait for the already-sent code rather than requesting another, refresh anisette during validation/reauthentication, and bound the retry. This follows the behavior described in Fix 2FA failing  SideStore/SideSign#5 and Handle 2FA codes that Apple sends on its own rileytestut/AltSign#59.
  • Refresh anisette before App ID listing and capability updates; prevent overlapping update requests.
  • Preserve structured Apple JSON:API error details, accept a successful empty HTTP 204, and reject malformed/empty HTTP 200 responses rather than claiming success.
  • Replace the misleading locally initialized AppID(...entitlements: []) dump with an explicit request result that distinguishes server acceptance from final signed-app/runtime verification.
  • Avoid logging raw anisette values and generate anisette timestamps in UTC.
  • Add configuration checks and an unsigned IPA build/artifact workflow. The branch also contains fork release version increments and automatic release packaging; these can be split out if preferred.

Dependency integration

The project currently pins failury/StosSign at a538ae6a97a738083b7ef395985976d74666777e. The required request/authentication fixes live there, not solely in this app's diff:

failury/StosSign@01dd7bc...a538ae6

The fork preserves the existing GetMoreRam dependency baseline. An upstream StosSign revision containing these changes would be preferable before merging; the fork pin is explicit for reproducibility.

Verification and limits

  • Configuration validation checks pass locally.
  • The dependency's 12 offline tests cover authentication request construction and capability success/error response handling.
  • The unsigned app archive/IPA was built locally, and an earlier authentication build also passed GitHub Actions.
  • Device testing confirmed sign-in/2FA and capability-request completion.
  • Inspection of the user's exported signed LiveContainer IPA confirmed com.apple.developer.kernel.increased-memory-limit = true in the regenerated Apple provisioning profiles.
  • That same IPA omitted the key from both the LiveContainer and LiveProcess executable signatures. Consequently, this PR does not claim that MeloNX runs successfully or that runtime memory limits are increased. The remaining failure is in the downstream signing path, not evidence that the GetMoreRam capability request failed.

No Apple credentials, provisioning profiles, certificates, or exported signed IPAs are attached.

Related: #35, #36. Overlaps the client-identity topic in #43, but also addresses pushed 2FA and capability-response reporting. SideStore/SideStore#1616 is related but describes the entitlement missing from the profile; our inspected IPA already has it in the profile and lacks it in the executable signature.

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.

1 participant