altstoreio / altstoreio/AltStore
AltJIT iPadOS 26.x: depends on system python/pymobiledevice3; causes mounter/start-tunnel/LibreSSL and dynamic RSD port failures
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 14.4k
- Forks
- 1.5k
- PR merge metrics
- No merged PRs in 30d
Description
Environment
- macOS 26.3 (25D125)
- AltServer 1.7.2 (build 90) with bundled altjit
- iPadOS 26.2.1 (23C71)
Problem
AltJIT on iPadOS 26.x is very sensitive to whatever python3 + pymobiledevice3 the user has installed, which causes multiple failure modes:
- Developer Disk mount step
- altjit: "Mounting personalized developer disk..."
- then fails with: Error: No such command 'mounter'
- Tunnel creation / connection
- QUIC tunnel often fails (qh3/ConnectionError/QUIC protocol errors).
- A TCP fallback is needed, but can fail depending on the user environment:
- older pymobiledevice3: no
remote start-tunnelcommand - macOS Command Line Tools python uses LibreSSL; TCP tunnel can fail with:
- SSLError: ('No cipher can be selected.',) (PSK cipher)
- older pymobiledevice3: no
- iPadOS 26.x RemoteXPC RSD port is dynamic
- bonjour
_remoted._tcpadvertises a port that changes (examples observed: 60048, 60071, 60085...). - Any codepath that assumes 58783 will intermittently fail.
Example observation (redacted):
python3 -m pymobiledevice3 remote browse --no-colorshows port 60085 on iPadOS 26.2.1 (varies per run/device).
Expected
- The official AltStore Classic JIT flow should be stable on current iPadOS versions without requiring users to debug Python/SSL dependency drift.
Suggested fix
- Bundle and pin a known-good tunnel/mounter implementation (e.g. ship a pinned python runtime with OpenSSL + compatible pymobiledevice3, or implement the tunnel/mounter logic inside AltServer).
- At minimum, add version/feature detection and show an actionable error message (required python/pymobiledevice3 versions, OpenSSL requirement, etc.).
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the AltJIT flow on the listed macOS and iPadOS versions, using python3 -m pymobiledevice3 remote browse --no-color to inspect the advertised RSD port. Investigate the mounter, tunnel, and dynamic-port failure paths; done means the official JIT flow works without dependency drift or reports actionable version and OpenSSL requirements.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ios, macos, python, swift
- Domain
- mobile, networking, tooling
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100