{
  "name": "Altmaker by RipeStore",
  "subtitle": "Freshly sliced sideloadable iOS apps directly from upstream sources.",
  "identifier": "com.ripestore.altmaker",
  "sourceURL": "https://raw.githubusercontent.com/RipeStore/altmaker/main/AltMaker.json",
  "description": "Automated repository indexing latest sideloadable iOS applications, emulators, and utilities.",
  "iconURL": "https://i.imgur.com/pqIZoZo.jpeg",
  "website": "https://ripestore.github.io/",
  "patreonURL": "https://ripestore.github.io/",
  "tintColor": "#6156e2",
  "featuredApps": [
    "com.noopapp.noop",
    "com.moffatman.chan",
    "com.naine.doer"
  ],
  "apps": [
    {
      "name": "gterm",
      "bundleIdentifier": "io.github.madeye.gterm",
      "developerName": "madeye",
      "subtitle": "iOS terminal app with SSH support, powered by the Ghostty engine (libghostty), with a custom on-screen keyboard",
      "localizedDescription": "gterm:\n\nAn iOS terminal app that renders with ghostty's libghostty engine (GPU/Metal, full xterm/VT emulation) and connects over SSH.\n\n📲 Get the app: Download on the App Store (iOS 17+). Or sideload with AltStore or SideStore — both read the same source URL https://madeye.github.io/gterm/altstore.json.\n\niOS can't fork/exec a local shell, so gterm drives the terminal from an SSH connection via a custom passthru IO backend added to libghostty. See PLAN.md for the full architecture.\n\nStatus:\n\n• ✅ libghostty passthru IO backend (madeye/ghostty).\n• ✅ iOS app; ghostty terminal surface renders on device/simulator.\n• ✅ Lean Swift layer over libghostty (app, surface view, input).\n• ✅ SSH transport (swift-nio-ssh): password auth, PTY shell, window-change.\n• ✅ Custom on-screen keyboard (esc/ctrl/alt/tab/arrows/symbols, sticky mods).\n• ✅ Saved connections (Keychain passwords) + trust-on-first-use host keys.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/io.github.madeye.gterm.png",
      "tintColor": "#9070e0",
      "category": "developer",
      "versions": [
        {
          "version": "1.1",
          "date": "2026-06-01T02:53:40Z",
          "localizedDescription": "gterm 1.1 (build 2026060109) — sideload via AltStore or SideStore.\n\nWhat's new in 1.1:\n\n• Get Started guide on first launch (reopen anytime from the Settings tab).\n• Settings tab with terminal color themes — Dracula, Nord, Solarized Dark, Gruvbox Dark, Catppuccin Mocha, or the default.\n• SSH port forwarding with a built-in browser.\n• Tap a URL in the terminal to open it in the browser.\n• Pinch to resize the terminal; one-finger swipe to scroll; press-and-hold to select \u0026 copy.\n• AI command assistant: a sparkles button in a session proposes a command, you review before it runs.\n\nSideload install:\n\nAdd this source in AltStore/SideStore: https://madeye.github.io/gterm/altstore.json\n\nOr one-tap: altstore://source?url=https://madeye.github.io/gterm/altstore.json / sidestore://source?url=.\n\nAsset:\n\n• gterm-1.1-2026060109.ipa — unsigned, 17.3 MB.\n• sha256: 89a3a86eea0aa3b74f7b1c3a8f6b67da7555bbb91b6aedbdef5c7ba669717f5c.",
          "downloadURL": "https://github.com/madeye/gterm/releases/download/v1.1-2026060109/gterm-1.1-2026060109.ipa",
          "size": 18147048,
          "minOSVersion": "17.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSLocalNetworkUsageDescription": "gterm connects to SSH servers, which may be on your local network."
        }
      }
    },
    {
      "name": "NekoSurf",
      "bundleIdentifier": "com.wrngwrld.Chanyan",
      "developerName": "NekoSurf",
      "subtitle": "🍀 4chan image board viewer for iOS and Android, written in Flutter",
      "localizedDescription": "NekoSurf:\n\nNekoSurf is a fast, privacy-friendly 4chan viewer built with Flutter for iOS and Android.\n\nIt is designed for smooth browsing with modern card-based layouts, media-first navigation, and practical quality-of-life tools for everyday use.\n\nBrowsing:\n\n• Browse all boards with fast search.\n• Open threads directly from pasted 4chan links.\n• Switch board threads between grid and list view.\n• Sort threads by bump order, newest, oldest, reply count, or image count.\n• Choose default board view, sort mode, and sort direction in settings.\n\nBookmarks and Favorites:\n\n• Favorite boards for quick access on the home screen.\n• Bookmark threads for later with status tracking.\n• See archived/deleted state on bookmarked threads.\n\nMedia Experience:\n\n• Optimized image and video browsing.\n• WebM/MP4 playback support.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.wrngwrld.Chanyan.png",
      "tintColor": "#60d0e0",
      "category": "entertainment",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/NekoSurf/NekoSurf@main/screenshots/ios_screenshot_1.jpg",
        "https://cdn.jsdelivr.net/gh/NekoSurf/NekoSurf@main/screenshots/ios_screenshot_2.jpg"
      ],
      "versions": [
        {
          "version": "0.11.5",
          "date": "2026-09-25T21:04:44Z",
          "localizedDescription": "• fix: Update file handling and display logic for attachments.\n• feat: Add update checker.",
          "downloadURL": "https://github.com/NekoSurf/NekoSurf/releases/download/v0.11.5-5/Runner.ipa",
          "size": 33149862,
          "minOSVersion": "17.6"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSAppleMusicUsageDescription": "Runner requires to play music.",
          "NSCameraUsageDescription": "Runner requires access to your phone’s camera.",
          "NSPhotoLibraryAddUsageDescription": "Runner needs permission to save media to your photo library.",
          "NSPhotoLibraryUsageDescription": "Runnerphotos description"
        }
      }
    },
    {
      "name": "Harbour",
      "bundleIdentifier": "xyz.shameful.Harbour",
      "developerName": "rrroyal",
      "subtitle": "Docker/Portainer management app for iOS, iPadOS and macOS",
      "localizedDescription": "Harbour:\n\nDocker/Portainer management app for iOS, iPadOS and macOS.\n\nPortainer is required to use Harbour.\n\nFeatures:\n\n• [x] Multiple Servers and Endpoints.\n• [x] Widgets.\n• [x] App Intents and Shortcuts.\n• [x] Handoff.\n• [x] Background Notifications.\n• [x] Spotlight Integration.\n• [x] Link-backs to Portainer.\n• [x] No Telemetry.\n\nContainers:\n\n• [x] Displaying Details (Health, Environment, Labels, Mounts, Networks).\n• [x] Inspecting Logs.\n• [x] Managing State.\n• Deploying New Containers.\n• Editing Existing Containers.\n• [x] Removing Containers.\n\nStacks:\n\n• [x] Displaying Details.\n• [x] Managing State.\n• [x] Deploying New Stacks.\n• [x] Editing Existing Stacks.\n• [x] Removing Stacks.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/xyz.shameful.Harbour.png",
      "tintColor": "#3050e0",
      "category": "utilities",
      "versions": [
        {
          "version": "4.2.9",
          "date": "2026-05-02T21:42:25Z",
          "localizedDescription": "Containers:\n\n• Fixed subtitle in list cells (#82).",
          "downloadURL": "https://github.com/rrroyal/Harbour/releases/download/v4.2.9/Harbour-v4.2.9-63.ipa",
          "size": 8552473,
          "minOSVersion": "18.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "beta-reports-active",
          "com.apple.developer.team-identifier",
          "com.apple.security.application-groups",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {}
      }
    },
    {
      "name": "PaperPad",
      "bundleIdentifier": "com.chrissotraidis.paperpad",
      "developerName": "chrissotraidis",
      "subtitle": "Paper Mario 64, native for Mac, iOS, and iPadOS",
      "localizedDescription": "PaperPad:\n\nPaperPad combines the pmret Paper Mario decompilation with the statically recompiled runtime and renderer from Paper-Mario-ReCut, pinned through PaperPad’s maintained source branch. It adds a native Apple application shell, Metal presentation, keyboard and controller input, customizable touch controls, native settings, and private first-run ROM import.\n\nPaperPad is a game-specific static recompile, not a general Nintendo 64 emulator. It currently supports only an unmodified Paper Mario (US) 1.0 ROM supplied by the user.\n\nThis repository contains integration source, pinned maintained dependencies, scripts, and documentation. It does not contain Paper Mario, a ROM, extracted Nintendo assets, generated playable game code, saves, or a playable ROM-derived archive. Read the rights and licensing boundary before redistributing source or a build.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.chrissotraidis.paperpad.png",
      "tintColor": "#00c0f0",
      "category": "games",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/chrissotraidis/paperpad@main/docs/release-audit/28-paperpad-flying-goomba-battle-2026-08-14.png",
        "https://cdn.jsdelivr.net/gh/chrissotraidis/paperpad@main/docs/release-audit/29-paperpad-goomba-battle-2026-08-14.png",
        "https://cdn.jsdelivr.net/gh/chrissotraidis/paperpad@main/docs/release-audit/30-paperpad-title-screen-2026-08-14.png"
      ],
      "versions": [
        {
          "version": "0.1.0",
          "date": "2026-08-16T08:10:41Z",
          "localizedDescription": "PaperPad v0.1.0-preview.2:\n\nPreview 2 is a targeted controller sleep, disconnect, and reconnect reliability update.\n\nDownload:\n\nSHA-256: ea908c33fce6ba883acadff3ccc3025a1a7ef0284947c09cf98f3602af84d029.\n\nThe IPA is ROM-free and unsigned. Sign it with your own Apple credentials before installation, then import your own legally obtained, unmodified Paper Mario (US) 1.0 ROM through PaperPad's file picker. See IPA installation. Updating an existing signed copy should use the same bundle ID and an in-place install; uninstalling can remove its private ROM, saves, and settings.\n\nController reliability:\n\n• PaperPad's existing SDL2 controller backend now reconciles current devices, attached handles, instance IDs, and player slots instead of relying on removal events alone.\n\n• Reconciliation runs after controller events, during active use, and on foreground resume without restarting the controller subsystem.\n\nVerification boundary:\n\n• Complete macOS and iOS builds, repository audits, package audits, and two deterministic IPA package runs passed.\n\n• Physical Bluetooth reconnect, wired reconnect, natural controller sleep/wake, full mapping, and two-physical-controller behavior were not exercised and remain acceptance work.\n\nThis is an unsigned public preview, not an App Store or TestFlight release. No game data or saves are included. The release tag is the corresponding source snapshot. PaperPad is unofficial and is not affiliated with or endorsed by Nintendo or any upstream project.",
          "downloadURL": "https://github.com/chrissotraidis/paperpad/releases/download/v0.1.0-preview.2/PaperPad-v0.1.0-preview.2-unsigned.ipa",
          "size": 11605609,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "Solstice",
      "bundleIdentifier": "net.flist.solstice",
      "developerName": "Fchat-Horizon",
      "subtitle": "Mobile variant of Horizon",
      "localizedDescription": "Mobile variant of Horizon.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/net.flist.solstice.png",
      "tintColor": "#f09050",
      "category": "social",
      "versions": [
        {
          "version": "2026.6.4.55",
          "date": "2026-07-23T14:55:05Z",
          "localizedDescription": "Built on Horizon 2.3.3.\n\nThis release rounds out the new mobile notifications on both Android and iOS and fixes the cramped log viewer.\n\nChanges since v2026.6.3:\n\n• Richer message notifications. Incoming messages now vibrate correctly, show an unread count, and collapse into one notification per conversation instead of stacking up.\n• Message notifications are tagged as messages on Android (#14). They now use the system's message category, so they behave correctly with Do Not Disturb allow-lists, notification history, and paired watches.\n• Notifications respect the ring switch on Android (#13). With your phone set to vibrate or silent, an incoming message vibrates instead of pinging out loud. (iOS already honored the silent switch.).\n• Steadier background connection on iOS. The audio keep-alive now recovers after the system resets its media server, so the app is less likely to go quiet while backgrounded.\n• The log viewer fills the screen (#12). The conversation log list now uses the full height of the window instead of being squeezed into a sliver beneath the filters, and it shrinks correctly when the keyboard opens.",
          "downloadURL": "https://github.com/Fchat-Horizon/Solstice/releases/download/v2026.6.4/Solstice-2026.6.4.ipa",
          "size": 17963443,
          "minOSVersion": "14.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSCameraUsageDescription": "Solstice uses the camera to scan the Device Sync QR code shown by Horizon.",
          "NSLocalNetworkUsageDescription": "Solstice connects to Horizon on your local network to sync chat logs between your devices."
        }
      }
    },
    {
      "name": "CrisperWeaver",
      "bundleIdentifier": "com.crispstrobe.crisperweaver",
      "developerName": "CrispStrobe",
      "subtitle": "On-device speech recognition + text-to-speech",
      "localizedDescription": "CrisperWeaver:\n\n• On-device speech recognition + text-to-speech. No cloud required. 40+ model families, one app.\n• [crispasr]: https://github.com/CrispStrobe/CrispASR\n\nWhat you can do:\n\n• Transcribe any audio file — WAV / MP3 / FLAC decoded on-device, no ffmpeg required.\n• Batch-process multiple files — drop many onto the window or onto the Batch Queue card, \"Transcribe all\" drains serially; each run lands in History.\n• Record from the mic and transcribe live.\n\n• Drag and drop files onto the transcription screen (desktop) or directly on the batch queue.\n• Receive shared audio from the OS share sheet (Android / iOS / macOS).",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.crispstrobe.crisperweaver.png",
      "tintColor": "#103050",
      "category": "utilities",
      "versions": [
        {
          "version": "0.13.1",
          "date": "2026-09-27T19:29:09Z",
          "localizedDescription": "",
          "downloadURL": "https://github.com/CrispStrobe/CrisperWeaver/releases/download/v0.13.1/crisper_weaver-ios-unsigned.ipa",
          "size": 23261437,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSDocumentsFolderUsageDescription": "This app needs access to documents to save and load audio files and transcriptions.",
          "NSDownloadsFolderUsageDescription": "This app needs access to downloads to import audio files for transcription.",
          "NSLocalNetworkUsageDescription": "CrisperWeaver needs this only if you turn on its built-in transcription server, so other apps can send it audio. The server is off by default and accepts connections from this device unless you change its address.",
          "NSMicrophoneUsageDescription": "This app needs access to the microphone to record audio for transcription.",
          "NSPhotoLibraryUsageDescription": "This app needs access to photo library to import media files for transcription."
        }
      }
    },
    {
      "name": "Pocket8",
      "bundleIdentifier": "com.jevon.pocket8",
      "developerName": "jevonlipsey",
      "subtitle": "An iOS Native Emulator for the PICO-8 fantasy console. Free and Open Source. Experimental Alpha available for Android!",
      "localizedDescription": "https://github.com/user-attachments/assets/ec24f92e-d29a-4319-8293-439487d60b35\n\nFeatures:\n\n• Native Engine: Runs flawlessly on iOS, due to the official PICO-8 engine being implemented as a WASM module.\n• Quick Save \u0026 Load: The only PICO-8 experience with instant save states. Freeze time and resume anywhere, across devices.\n\n• Adaptive Controls: Custom Gameboy-esque controls with tactile haptics. Works in portrait and landscape. Swap to virtual joystick.\n\n• Smart Library: Automatically extracts cartridge labels and metadata, presenting your collection in a polished grid.\n\nTechnical Look:\n\nThe core engineering challenge was reconciling the asynchronous nature of mobile file I/O with the synchronous requirements of the Emscripten/WASM virtual file system.\n\nPICO-8 demands a synchronous file system. Bridging this to mobile required completely reverse-engineering the Emscripten boot sequence.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.jevon.pocket8.png",
      "tintColor": "#302050",
      "category": "games",
      "versions": [
        {
          "version": "1.6.2",
          "date": "2026-01-22T23:33:34Z",
          "localizedDescription": "• fixed BBS button not opening on iOS.\n• fixed scopedstorage for BBS games on Android.",
          "downloadURL": "https://github.com/jevonlipsey/pico-ios/releases/download/v1.6.2/pocket8.ipa",
          "size": 19479747,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "com.apple.developer.team-identifier",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {}
      }
    },
    {
      "name": "Winston",
      "bundleIdentifier": "lo.cafe.winston",
      "developerName": "lo-cafe",
      "subtitle": "A beautiful and native Reddit client for iOS",
      "localizedDescription": "Step into Winston's embracing world! Winston is an elegant, open-source, native crafted Reddit client for iOS that pushes user experience to the next level.\n\n⚠️ We're hard at work! Both Winston and this README are works in progress. Watch this space for updates!\n\n🛠️ How to Install:\n\nAt the moment, Winston hasn't made its grand appearance on the App Store. But worry not! Here's how you can get your hands on Winston: Please note, Winston's minimum version is now iOS 17.\n\n• TestFlight: Take part in Winston's journey by joining our TestFlight here. Be aware that this could be full or unavailable due to TestFlight's occasional downtimes.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/lo.cafe.winston.png",
      "tintColor": "#f0e080",
      "category": "developer",
      "versions": [
        {
          "version": "1.1.5",
          "date": "2024-06-24T08:53:08Z",
          "localizedDescription": "• Fixed placeholder message alignment.\n\n• Added localization support.\n• Cleaned unused code and replaced glitchy book Lottie.\n• Removed old, unused TipJar component.\n• Added back GlobalLoaderProvider.\n• Fixed broken build.\n\n• Fixed many UI bugs and stutters; added new NukeUI Opt components.\n• Removed redundant code calling setAudioToMixWithOthers three times.\n\n• Fixed blur flash on app open.\n• Fixed cache clear button not working.\n• Added support for inline image within comments.\n• Improved spoiler handling in selftext.\n• Corrected tab bar hit detection in Split View on iPad.",
          "downloadURL": "https://github.com/lo-cafe/winston/releases/download/v1.1.5/winston.ipa",
          "size": 50003343,
          "minOSVersion": "17.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "com.apple.developer.team-identifier",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSDocumentsFolderUsageDescription": "Winston needs access to your documents to save/import themes.",
          "NSFaceIDUsageDescription": "Uses FaceID to lock and unlock Winston",
          "NSPhotoLibraryUsageDescription": "Winston needs access to your library to be able to download images."
        }
      }
    },
    {
      "name": "Blinker Fluid",
      "bundleIdentifier": "com.nodesclock.blinkerfluid.ios12",
      "developerName": "Nodesclock",
      "subtitle": "Chromium Blink + V8 browser engine ported to iOS 15.4 with no WebKit",
      "localizedDescription": "About:\n\nBlinker Fluid is an experimental privacy-focused browser that ports Chromium's Blink rendering engine and V8 JavaScript engine to iOS, allowing websites to run without relying on Apple's built-in WebKit engine.\n\nThe project primarily targets jailbroken and TrollStore-capable devices, bringing a Chromium-based browser to older iOS versions where the bundled version of WebKit may struggle with some modern websites.\n\nWhy?:\n\nI started Blinker Fluid because Ungoogled Chromium is my primary desktop browser (not counting Tor), and I wanted to see if Chromium's Blink engine could run on jailbroken iOS.\n\nAnother reason was that many modern websites no longer work correctly with older versions of WebKit bundled with older iOS releases, which many jailbroken users are unable or unwilling to update from.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.nodesclock.blinkerfluid.ios12.png",
      "tintColor": "#d00000",
      "category": "utilities",
      "screenshotURLs": [
        "https://github.com/user-attachments/assets/4fcb4b9e-35bc-4ede-82d0-6a39943929ff",
        "https://github.com/user-attachments/assets/49b20585-2736-419c-930c-07d7e30628ae",
        "https://github.com/user-attachments/assets/c015af7f-712d-40da-af6f-8c1f116ad841",
        "https://github.com/user-attachments/assets/58090529-1e27-417c-a740-9aa77c63a6c2",
        "https://github.com/user-attachments/assets/2138d0d2-086c-4833-85f3-70634b96dec3"
      ],
      "versions": [
        {
          "version": "0.3.1",
          "date": "2026-09-09T22:46:29Z",
          "localizedDescription": "(v.0.3.1).\n\nVersion v.0.3.1 is an update that includes many functionality changes, Google accounts, website compatibility, Browsing, tab improvements, private browsing, video, fullscreen, iOS 12 and iOS 17 compatibilty, and minor fixes!\n\nNew Features, fixes, and improvements:\n\n• Reworked iOS video/CALayer presentation to address fullscreen black screens, partially black video, and frozen pictures with continuing audio.\n• Added app wide Private Browsing controls backed by Chromium's off-the-record browser context, with a custom private-mode UI color.\n• Added a Google Account section to the main menu with Add Google Account, Switch Accounts, Manage Google Account, and Sign out actions.\n• Added Google account profile pictures. Updated avatar data can be refreshed when restarting the app.\n\n• Added dedicated arm64 iOS 11 and iOS 12 legacy builds. The iOS 12 version HAS been tested on an iPhone 6+ on iOS 12.5.7.\n\n• Added slight built-in ad blocker improvements.\n• Improved README and added build instructions.\n• Many other bug fixes and small improvements.",
          "downloadURL": "https://github.com/Nodesclock/Blinker-Fluid/releases/download/v.0.3.1/iOS.12.11.Blinker.Fluid.v.0.3.1.ipa",
          "size": 74750331,
          "minOSVersion": "12.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "com.apple.developer.kernel.extended-virtual-addressing",
          "com.apple.developer.kernel.increased-memory-limit",
          "get-task-allow"
        ],
        "privacy": {
          "NSBluetoothAlwaysUsageDescription": "Allow Blinker Fluid access to Bluetooth",
          "NSCameraUsageDescription": "Allow Blinker Fluid access to camera",
          "NSFaceIDUsageDescription": "Use Face ID to unlock your private Blinker Fluid session",
          "NSLocationWhenInUseUsageDescription": "Allow Blinker Fluid access to location",
          "NSMicrophoneUsageDescription": "Allow Blinker Fluid access to microphone",
          "NSPhotoLibraryUsageDescription": "Allow Blinker Fluid to choose photos and videos for uploads"
        }
      }
    },
    {
      "name": "Jellify",
      "bundleIdentifier": "com.cosmonautical.jellify",
      "developerName": "Jellify-Music",
      "subtitle": "A cross-platform, free and open source music player for Jellyfin, powered by React Native",
      "localizedDescription": "Contents:\n\n• Built with.\n• Special Thanks.\n\nInfo:\n\njellify (verb) - to make gelatinous see also.\n\nJellify is a free and open source music player for the Jellyfin Media Server. Built with React Native, it is available for both iOS and Android.\n\nShowcasing the artwork of your library, it has a user interface congruent to what the big guys do. Jellify also provides algorithmic curation of your music, driven by Jellyfin's Instant Mix and Suggestions APIs.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.cosmonautical.jellify.png",
      "tintColor": "#6090e0",
      "category": "entertainment",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/Jellify-Music/App@main/screenshots/home.png",
        "https://cdn.jsdelivr.net/gh/Jellify-Music/App@main/screenshots/library_artists.png",
        "https://cdn.jsdelivr.net/gh/Jellify-Music/App@main/screenshots/library_albums.PNG",
        "https://cdn.jsdelivr.net/gh/Jellify-Music/App@main/screenshots/library_downloaded_tracks.PNG",
        "https://cdn.jsdelivr.net/gh/Jellify-Music/App@main/screenshots/artist.png"
      ],
      "versions": [
        {
          "version": "1.2.10",
          "date": "2026-09-02T00:35:59Z",
          "localizedDescription": "Welcome to Jellify 1.2.10.\n\nHey music lovers! I've polished up some underlying bits and have made a key fix to boost stability across the board. Get ready for an even smoother listening experience when you’re exploring your Jellyfin collection!\n\n• Android Crash Fixes: We detected and patched out a crash that was occurring on Android devices, so you can now enjoy uninterrupted music playback no matter how deep you dive into your library.\n• Optimized Performance: Several dependency updates have been implemented behind the scenes to enhance overall app performance and make navigation feel snappier than ever before.\n• App General Polish: We've made various quality-of-life improvements in various components, ensuring Jellify remains robust and reliable for years of listening fun!",
          "downloadURL": "https://github.com/Jellify-Music/App/releases/download/1.2.10/Jellify-1.2.10.ipa",
          "size": 40554164,
          "minOSVersion": "16.4"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "beta-reports-active",
          "com.apple.developer.carplay-audio",
          "com.apple.developer.group-session",
          "com.apple.developer.team-identifier",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSLocalNetworkUsageDescription": "Jellify uses the local network to connect to Jellyfin and stream music"
        }
      }
    },
    {
      "name": "Absorb",
      "bundleIdentifier": "com.barnabas.absorb",
      "developerName": "pounat",
      "subtitle": "A cross platform Audiobookshelf client for Android and iOS",
      "localizedDescription": "Absorb:\n\nA modern audiobookshelf client with a card-based player experience.\n\nA note on AI: Absorb is developed by a human with AI assistance (mostly Claude Code) helping write, refactor, and review code. It's not \"vibe coded\" or auto-generated, every change is reviewed, tested, and shipped intentionally. That said, I'm all in on AI as a development tool. It massively speeds up the work and lets a solo developer ship features and fixes at a pace that wouldn't be possible otherwise. I'm sharing this openly so you know what's behind the app.\n\nFeatures:\n\n• Card-based player — full-screen \"Absorbing\" cards replace the traditional player screen.\n• Audiobookshelf integration — connects to your self-hosted audiobookshelf server.\n\n• Podcast support — chaptered podcasts with rich HTML descriptions.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.barnabas.absorb.png",
      "tintColor": "#60b0b0",
      "category": "entertainment",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/pounat/absorb@main/screenshots/absorbing.png",
        "https://cdn.jsdelivr.net/gh/pounat/absorb@main/screenshots/library.png",
        "https://cdn.jsdelivr.net/gh/pounat/absorb@main/screenshots/details.png",
        "https://cdn.jsdelivr.net/gh/pounat/absorb@main/screenshots/fullScreen.png",
        "https://cdn.jsdelivr.net/gh/pounat/absorb@main/screenshots/stats.png"
      ],
      "versions": [
        {
          "version": "1.10.0",
          "date": "2026-09-08T19:51:48Z",
          "localizedDescription": "Transcription:\n\n• New - Turn audio bookmarks into text, fully on your device (Settings \u003e Advanced \u003e Transcription).\n• New - Pause and tap Find position in ebook, or highlight text while reading and find that spot in the audiobook.\n• New - With an EPUB on the book, a confident match uses the book's exact words.\n\nReading:\n\n• New - Auto scroll: the next page rolls down over the current one, so the text never moves.\n• New - Share a highlight or bookmark note as a quote card over the book cover.\n• New - E-ink mode: flat, monochrome, no animations - great on a Boox Palma.\n• New - Tap a highlight to recolor, note, share, or jump to it in the audiobook, and see every book's highlights in All Bookmarks.\n• Improved - Reading uses less battery, big ebooks open faster.\n\nPlayback:\n\n• New - Progress from other devices catches up automatically, and the paused player follows along.\n• New - Sync to the server every 20 seconds instead of every minute.\n• New - Jump to a session's start or end from its details.\n• Fix - Headset play starts right away, and the widget and Android Auto no longer start or pause playback on their own.\n\niOS:\n\n• New - Lock screen controls use your own skip amounts.\n• Improved - Bluetooth controls are much more reliable.\n\nPodcasts:\n\n• New - Subscribe without new episodes filling up Absorbing, plus Up Next and New filters and episode sorting.\n\nMore:\n\n• New - Book subtitles in the library, more author and narrator sorts, Audible rating counts.\n• New - Settings sync across devices via your own WebDAV server.\n• New - Cover size setting, bulk book actions, delete from server, daily/weekly/monthly goals.\n\n• New - Audiobookshelf 2.36 support and a bigger admin area.\n• Improved - Very large libraries load in pages, and search no longer floods the server.\n• Fix - Duplicate sessions inflating stats, search missing books past 10,000, collections missing on servers with very many.\n• Fix - Streamed books going silent or jumping back after a sync.\n• Fix - Smoother cover grids that no longer crash.",
          "downloadURL": "https://github.com/pounat/absorb/releases/download/v1.10.0/absorb-1.10.0-276.ipa",
          "size": 47275115,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "beta-reports-active",
          "com.apple.developer.team-identifier",
          "com.apple.security.application-groups",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSCameraUsageDescription": "Absorb does not use the camera. This entry is required because a third-party library Absorb depends on references the camera API.",
          "NSLocationWhenInUseUsageDescription": "Absorb does not use your location. This entry is required because a third-party library Absorb depends on references the location API.",
          "NSMicrophoneUsageDescription": "Absorb may use the microphone for audio features.",
          "NSMotionUsageDescription": "Absorb uses motion to detect shaking, which can reset or extend your sleep timer.",
          "NSPhotoLibraryUsageDescription": "Absorb needs access to your photo library to save or select images."
        }
      }
    },
    {
      "name": "Paper Comic",
      "bundleIdentifier": "de.wiredframe.comicreader",
      "developerName": "Wiredframe",
      "subtitle": "Paper Comic Reader — a focused iOS comic reader",
      "localizedDescription": "Paper Comic Reader:\n\nA lean, native comic reader for iPhone and iPad that makes pages read like ink on paper instead of a backlit screen. Download on the App Store · Landing page.\n\nPaper Comic Reader opens CBZ archives, keeps a library with reading progress and bookmarks, and can render every page with a realistic paper effect (ported from the Simple Comic fork) — a warm tonal remap plus a fine paper grain, so pages read like they were printed.\n\nBuilt with SwiftUI and a UIKit reader core, Core Image and Metal for the paper effect. Everything runs on-device: no accounts, no network requests, no tracking or analytics.\n\nInstall:\n\nOn the App Store (easiest): Paper Comic Reader on the App Store — signed, free, auto-updating, no sideload tooling. This is the recommended way to install.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/de.wiredframe.comicreader.png",
      "tintColor": "#f0d000",
      "category": "entertainment",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/Wiredframe/paper-comic-reader@main/docs/screenshot.jpg",
        "https://cdn.jsdelivr.net/gh/Wiredframe/paper-comic-reader@main/docs/screenshot-paper.jpg"
      ],
      "versions": [
        {
          "version": "1.4.1",
          "date": "2026-09-23T14:00:20Z",
          "localizedDescription": "Unsigned .ipa for sideloading (AltStore / Sideloadly / TrollStore).\n\nRequires iOS 26 or later. On anything older the install fails with an unhelpful error rather than saying why.\n\niOS can't install this directly — see the README for how to sideload it and re-sign it with your own Apple ID.\n\nWhat changed:\n\n• Group Settings by appearance, page turning, portrait and landscape.\n• Read portrait as one page strip and hand over to spreads on rotation.\n• Add a portrait strip reading mode.",
          "downloadURL": "https://github.com/Wiredframe/paper-comic-reader/releases/download/v1.4.1/PaperComicReader-1.4.1.ipa",
          "size": 6153225,
          "minOSVersion": "26.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "PikaTorrent",
      "bundleIdentifier": "com.pikatorrent.PikaTorrent",
      "developerName": "G-Ray",
      "subtitle": "Pick a Torrent, stream and download on all your devices",
      "localizedDescription": "PikaTorrent:\n\nJust pick a Torrent. Stream and download on all your devices.\n\nWhy a new torrent client ?:\n\nIn 2025, torrent clients should not be reserved for advanced users. PikaTorrent is a next-generation torrent client offering a beautiful, lightweight, and cross-platform app that you can install on all your devices. PikaTorrent also allows you to stream media, think of it like WebTorrent desktop, but also available on Android \u0026 iOS.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.pikatorrent.PikaTorrent.png",
      "tintColor": "#60b0f0",
      "category": "utilities",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/G-Ray/pikatorrent@main/screenshots/mobile-light.png",
        "https://cdn.jsdelivr.net/gh/G-Ray/pikatorrent@main/screenshots/mobile-dark.png"
      ],
      "versions": [
        {
          "version": "0.15.0",
          "date": "2026-01-11T16:57:19Z",
          "localizedDescription": "• Improved streaming performance and reliability.\n• Added playable files filter.\n• Multi-selection support for bulk torrent deletion.\n• Initial translations and localization support.\n• Support for 16KB page sizes for Android.\n• Bug fixes.",
          "downloadURL": "https://github.com/G-Ray/pikatorrent/releases/download/v0.15.0/PikaTorrent-v0.15.0-ios.ipa",
          "size": 38053348,
          "minOSVersion": "13.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "beta-reports-active",
          "com.apple.developer.team-identifier",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {}
      }
    },
    {
      "name": "Flixor",
      "bundleIdentifier": "xyz.flixor.mobile",
      "developerName": "Flixorui",
      "subtitle": "Modern cross-platform Plex client",
      "localizedDescription": "About:\n\nFlixor is a modern, cross-platform Plex client that brings a Netflix-like experience to your media library. Browse beautiful rows, see rich metadata with ratings from multiple sources, and enjoy powerful playback on any device.\n\nCore Experience:\n\n• Netflix-style UI - Continue Watching, Trending, Collections, Watchlist, and more.\n• Rich metadata - Trailers, cast info, tech badges (4K/HDR/Atmos/DTS-X).\n• Smart search - Search across Plex and TMDB with intelligent filtering.\n• Ultra-fast grids - Optimized for libraries with thousands of items.\n• Cross-platform sync - Watch progress syncs across all your devices.\n\nPlayback:\n\n• Web: Built-in DASH/HLS player with Picture-in-Picture and subtitle support.\n• macOS: MPV-powered with HDR, Dolby Vision, and advanced audio passthrough.\n• Mobile: Native players with background playback and streaming quality options.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/xyz.flixor.mobile.png",
      "tintColor": "#c00010",
      "category": "entertainment",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/Flixorui/flixor@main/docs/screenshots/flixor-01.jpg",
        "https://cdn.jsdelivr.net/gh/Flixorui/flixor@main/docs/screenshots/flixor-02.jpg",
        "https://cdn.jsdelivr.net/gh/Flixorui/flixor@main/docs/screenshots/flixor-lib-00m52.jpg"
      ],
      "versions": [
        {
          "version": "0.1.8",
          "date": "2026-03-02T05:28:00Z",
          "localizedDescription": "This is a Major announcement. Had a super busy last month so release got delayed then what I had in my mind initially.\n\nOfficial site is https://flixor.xyz, you can sign up to get updates via email there.\n\nTvOS Alpha::\n\nTestFlight link is ACTIVE this is the link: https://testflight.apple.com/join/hwRWYxBs\n\nI am accepting few invite only signup for app testing (Limited to 100): you can sign up here: https://forms.gle/aHrSa9Kg54JvTYKB7\n\nKeep an eye on the testflight when apple completes it review it will get active.\n\nThis first ALPHA release of TvOS you will see many UI and Performance bugs. Not all features from Mobile and MacOS are there in this TvOS release.\n\nPlease test everything, and report issue you are seeing in detail with screenshots preferably on Github issues.\n\nMobile and MacOS now has Stremio Addon support, you primary login of Plex is still required. The support is experimental please post and share how things are working on your end for this feature.\n\ntvOS Alpha.\n\n• The Apple TV app now has a real usable foundation with Home, Shows, Movies, My List, Search, New \u0026 Popular, and Settings.\n• The details experience got a major parity pass with richer layouts, collapsible headers, logo art, better metadata grids, technical badges, and trailer support.\n• Playback is now wired up with MPV support and in-player controls for quality, audio, and subtitles.\n• We also spent a lot of time on the stuff that matters on tvOS: smoother focus behavior, better scrolling performance, GPU/rendering cleanup, cache crash fixes, and better image handling.\n• Settings and service integrations are now connected for Plex, TMDB, MDBList, Overseerr, and Trakt sync/scrobbling.\n\nIt’s still alpha, but it’s finally at the point where real Apple TV testing makes sense instead of it feeling like a prototype.\n\nOther work that landed in the same stretch.\n\n• Stremio support is now in mobile and macOS, including addon management, source selection, resume handling, and subtitle provider support.\n\n• Mobile customization also improved: you can hide the My List tab, toggle Plex genre rows, and the default details layout is more consistent.\n• We fixed a bunch of mobile rough edges too, especially around non-English titles/backdrops, Trakt episode navigation, scrobbling, and Android performance.\n• macOS picked up Stremio support, a Recently Added row, fresher Continue Watching updates, subtitle settings, HDR color improvements, and general UI/navigation cleanup.\n\nFor next three months no new features will be added. Work and updates will focus primarily on TvOS feature parity, fixing bugs and improving performance on all platforms.\n\nTvOS Alpha::\n\nTestFlight link is ACTIVE this is the link: https://testflight.apple.com/join/hwRWYxBs\n\nI am accepting few invite only signup for app testing (Limited to 100): you can sign up here: https://forms.gle/aHrSa9Kg54JvTYKB7\n\nKeep an eye on the testflight when apple completes it review it will get active, I will make another announcement when TestFlight is active on r/Flixor. Also ipa is available for anyone interested in side loading it.\n\nThis first ALPHA release of TvOS you will see many UI and Performance bugs. Not all features from Mobile and MacOS are there in this TvOS release.\n\nWeb: docker pull ghcr.io/flixorui/flixor:main.\n\niOS TestFlight: https://testflight.apple.com/join/dxMJNJQg",
          "downloadURL": "https://github.com/Flixorui/flixor/releases/download/beta2.4.0/Flixor_ios_beta2.4.0.ipa",
          "size": 46872456,
          "minOSVersion": "15.1"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "beta-reports-active",
          "com.apple.developer.team-identifier",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSMicrophoneUsageDescription": "Allow Flixor to access your microphone"
        }
      }
    },
    {
      "name": "HarkinianPad",
      "bundleIdentifier": "com.chrissotraidis.harkinianpad",
      "developerName": "chrissotraidis",
      "subtitle": "Ocarina of Time native on iOS and iPadOS via Ship of Harkinian with Metal rendering, touch controls, controller support, and ROM-free reproducible builds",
      "localizedDescription": "HarkinianPad:\n\nHarkinianPad packages the full Ship of Harkinian source port as a native iOS/iPadOS app. It renders through Metal, imports a user-provided supported Ocarina of Time ROM through Files, and includes a landscape touch controller that can be hidden whenever a physical controller is connected.\n\nThis repository contains the mobile integration and pinned build scripts. The exact maintained forks and pins are in sources.lock.json. See mod compatibility and support priorities. The source-maintenance qualification records the remaining source-delivery and reproducibility boundaries. It does not contain Ocarina of Time, a ROM, or a playable ROM-derived archive. See the scoped rights and licensing boundary; it does not relicense Shipwright, third-party projects, or game material.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.chrissotraidis.harkinianpad.png",
      "tintColor": "#002030",
      "category": "games",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/chrissotraidis/harkinianpad@main/docs/readme/harkinianpad-gameplay.jpg",
        "https://cdn.jsdelivr.net/gh/chrissotraidis/harkinianpad@main/docs/readme/simulator-file-select.jpg",
        "https://cdn.jsdelivr.net/gh/chrissotraidis/harkinianpad@main/docs/readme/simulator-settings.jpg"
      ],
      "versions": [
        {
          "version": "0.1.0",
          "date": "2026-09-19T15:12:28Z",
          "localizedDescription": "Developer Preview 6 adds native mod-pack import and persistent pack controls while retaining Ship of Harkinian 9.2.3.\n\n• Enable or disable individual packs without deleting them. New imports start disabled; save and restart to apply changes.\n• Keep packs with identical filenames in different folders independent, with the existing load priority preserved.\n• Reject malformed/unsafe archives, clean up failed imports, and handle Mac ZIP metadata.\n• Maintain platform changes as pinned source commits, with build provenance and improved diagnostics.\n\nDownload: HarkinianPad-0.1.0-preview.6-unsigned.ipa — universal arm64 iPhone/iPad, iOS/iPadOS 14.0 minimum, app 0.1.0 build 6. Unsigned for user-side signing with the existing app identity. Back up your app data and update in place using the same signing identity; do not uninstall to work around an identity mismatch.\n\nSHA-256: e24b948b8e40d76132c89016c8c9546a5b7486ad790365e7cb8cfc61777b3c17 (30,903,127 bytes).\n\nRollback: Preview 5 remains available. Before downgrading, move newly imported Import-* folders out of Documents/mods, since the older loader ignores the new disable state. Preserve saves/configuration and the established signing identity.",
          "downloadURL": "https://github.com/chrissotraidis/harkinianpad/releases/download/v0.1.0-preview.6/HarkinianPad-0.1.0-preview.6-unsigned.ipa",
          "size": 30903127,
          "minOSVersion": "14.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "Swiftfin iOS",
      "bundleIdentifier": "org.jellyfin.swiftfin",
      "developerName": "RipeStore",
      "subtitle": "Native Jellyfin Client for iOS and tvOS",
      "localizedDescription": "Swiftfin is a fast, native video player that works with Jellyfin, the open source free software media server.\n\nThis build is distributed by a third-party not related to Jellyfin/Swiftfin.\n\nTo use the app, you must have a Jellyfin server set up and running. Find out more at https://jellyfin.org\n\nWith a Jellyfin server, you can:\n\n• Watch Live TV and recorded shows from your Jellyfin server (additional hardware/services required).\n• Stream your video to your iOS/iPadOS device.\n• View your collection in an easy to use interface.\n\nUpstream Swiftfin Source Code Repository: https://github.com/jellyfin/Swiftfin",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/org.jellyfin.swiftfin.png",
      "tintColor": "#1050a0",
      "category": "entertainment",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/RipeStore/Swiftfin@main/screenshots/screenshot-1.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/Swiftfin@main/screenshots/screenshot-2.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/Swiftfin@main/screenshots/screenshot-3.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/Swiftfin@main/screenshots/screenshot-4.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/Swiftfin@main/screenshots/screenshot-5.webp"
      ],
      "versions": [
        {
          "version": "1.0",
          "date": "2026-08-25T01:27:16Z",
          "localizedDescription": "New Features 🎉:\n\n• Use Thumb if Available.\n• Toggle to Hide Recommendations.\n\nBug Fixes 🛠:\n\n• Program Dates Fix.\n• Fix consecutive tvOS deep links reopening first route.\n• Fix slow scrub getting stuck and unresponsive.\n• Fix Search Overlap.\n• Empty/Errored Library Fixes.\n• Fix LiquidGlass on Unsupported Apple TV.\n• Pause video playback when app enters background.\n• ProgressView Renders into TopLeading Corner.\n\nOther ⚙️:\n\n• Bump iOS 18.6.\n• Replace tvOS's _Alert.\n• Remove iOS 16 \u0026 17 Backports.\n• Update Version Warning.\n• Follow Apple's Recommended Long Press Gesture Duration.\n\nNew Contributors:\n\n• @kmishukov made their first contribution.\n• @A13501350 made their first contribution.\n• @Cyrus-Krispin made their first contribution.",
          "downloadURL": "https://github.com/RipeStore/Swiftfin/releases/download/1.6.1/Swiftfin-ios-1.6.1-unsigned.ipa",
          "size": 195584763,
          "minOSVersion": "18.6"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSBluetoothAlwaysUsageDescription": "Swiftfin iOS uses Bluetooth to discover nearby Cast devices.",
          "NSBluetoothPeripheralUsageDescription": "Swiftfin iOS uses Bluetooth to discover nearby Cast devices.",
          "NSFaceIDUsageDescription": "Swiftfin iOS uses Face ID to lock and access local users.",
          "NSLocalNetworkUsageDescription": "Swiftfin iOS uses the local network to connect to your Jellyfin server and discover Cast-enabled devices on your Wi-Fi network.",
          "NSLocationWhenInUseUsageDescription": "Swiftfin iOS uses your location to identify the current Wi-Fi network.",
          "NSMicrophoneUsageDescription": "Swiftfin iOS uses the microphone to listen for ultrasonic tokens when pairing with nearby Cast devices."
        }
      }
    },
    {
      "name": "Iridum",
      "bundleIdentifier": "me.cranci.Iridum",
      "developerName": "cranci1",
      "subtitle": "An iOS wrapper for the \"StreamingUnity\" website",
      "localizedDescription": "Iridum:\n\nAn iOS app made to scrape the \"StreamingUnity\" site.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/me.cranci.Iridum.png",
      "tintColor": "#6156e2",
      "category": "other",
      "versions": [
        {
          "version": "1.0",
          "date": "2026-03-03T14:00:30Z",
          "localizedDescription": "First and probably last build of Iridum.",
          "downloadURL": "https://github.com/cranci1/Iridum/releases/download/v1.0.0/Iridum.ipa",
          "size": 1290518,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "SwiftyBox",
      "bundleIdentifier": "me.cranci.SwiftyBox",
      "developerName": "cranci1",
      "subtitle": "A fast and lightweight client for catbox.moe",
      "localizedDescription": "SwiftyBox:\n\nAn unofficial catbox.moe iOS client.\n\nSwiftyBox is a fast and lightweight client for catbox.moe and litterbox.catbox.moe, built in SwiftUI.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/me.cranci.SwiftyBox.png",
      "tintColor": "#e0a060",
      "category": "utilities",
      "screenshotURLs": [
        "https://www.cranci.me/screenshots/screen1.png",
        "https://www.cranci.me/screenshots/screen2.png",
        "https://www.cranci.me/screenshots/screen3.png"
      ],
      "versions": [
        {
          "version": "1.0.1",
          "date": "2026-03-09T14:33:35Z",
          "localizedDescription": "What changed:\n\n• Added hold to copy uploaded URL.\n• Added size limiter for files over site limit.\n• Decreased app size from 1.60 MB to 1.06 MB.",
          "downloadURL": "https://github.com/cranci1/SwiftyBox/releases/download/v1.0.1/SwiftyBox.ipa",
          "size": 1123839,
          "minOSVersion": "16.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "OpenStarbound",
      "bundleIdentifier": "com.devoflife.osbm.ios",
      "developerName": "RohanBhattacharyya",
      "subtitle": "An OpenStarbound port to mobile devices",
      "localizedDescription": "You must own a copy of Starbound. Base game assets are not provided for very obvious reasons.\n\nThe code is worked on whenever I have the spare time. Contributions and issues are welcome!",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.devoflife.osbm.ios.png",
      "tintColor": "#e0d060",
      "category": "other",
      "screenshotURLs": [
        "https://github.com/user-attachments/assets/bbb4f93c-6024-4a45-a169-365f7d7d0dce",
        "https://github.com/user-attachments/assets/8573bdbd-9921-41d5-bff5-77f82346fb0d"
      ],
      "versions": [
        {
          "version": "1.1",
          "date": "2026-07-24T02:06:27Z",
          "localizedDescription": "You'll notice there are a lot of build options this time! If you have been using oSBM in the past on Android, chances are you'll use the v8a build. Some Android devices are not supported by this, so you can then try v7a, and finally x86_64. If you are unsure and want to download once, try universal (notice the larger file size). An iOS build is provided this time around.\n\nWhat's Changed since 1.0:\n\n• Controller Support.\n• Controller Wheels (Inventory and Action Wheels).\n• Gamepad highlighting of UI elements.\n• New Macro editing menu (easier to use [and actually functional lol]).\n• Touchpad direct screen input mode (alternative to default touchscreen) to address #23/#26/#38.\n• Significant performance enhancements.\n• New platforms (Nintendo Switch, more Android devices #40, and PC platforms so that PC gets controller support too).\n• Bug fixes, including addressing #39.\n• Localization Support and Language Exposure.\n• QoL and more!\n\nWarning: Most testing has occurred on Android, then iOS, then the Switch. Minimal testing has been done for PC, and no testing has been done for macos (purely theoretical, if you have a mac please feel free to try it out). Support is mainly focused on mobile issues first.",
          "downloadURL": "https://github.com/RohanBhattacharyya/oSBM/releases/download/v1.1/oSBM-1.1-ios.ipa",
          "size": 22772894,
          "minOSVersion": "17.5"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "Sora",
      "bundleIdentifier": "me.cranci.sulfur",
      "developerName": "cranci1",
      "subtitle": "A modular media player for iOS and macOS",
      "localizedDescription": "Sora:\n\nAlso known as Sulfur due to copyright considerations.\n\nA modular media player for iOS and macOS, under the GPLv3.0 License.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/me.cranci.sulfur.png",
      "tintColor": "#f0b050",
      "category": "entertainment",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/cranci1/Sora@dev/assets/Sulfur.jpg"
      ],
      "versions": [
        {
          "version": "1.3.0",
          "date": "2026-08-20T12:21:10Z",
          "localizedDescription": "What's New::\n\n• Modules Settings support.\n• AniList sync (Watching/Planing collections).\n\nFixes::\n\n• Fixed search results being randomized.\n• Fixed bookmark removal causing view to close.\n• Fixed \"Mark as Watched\" option not showing up.\n• Fixed \"Watch Next\" button choosing wrong season.",
          "downloadURL": "https://github.com/cranci1/Sora/releases/download/1.3.0/Sulfur.ipa",
          "size": 3112338,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "osu!",
      "bundleIdentifier": "sh.ppy.osulazer",
      "developerName": "ppy",
      "subtitle": "rhythm is just a click away!",
      "localizedDescription": "osu!:\n\nA free-to-win rhythm game. Rhythm is just a click away!\n\nStatus:\n\nThis project is under constant development, but we do our best to keep things in a stable state. Players are encouraged to install from a release alongside their stable osu! client. This project will continue to evolve until we eventually reach the point where most users prefer it over the previous \"osu!stable\" release.\n\nA few resources are available as starting points to getting involved and understanding the project:\n\n• Track our current efforts towards improving the game.\n\nLatest release::\n\nIf your platform is unsupported or not listed above, there is still a chance you can run the release or manually build it by following the instructions below.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/sh.ppy.osulazer.png",
      "tintColor": "#f060a0",
      "category": "games",
      "versions": [
        {
          "version": "1.0",
          "date": "2026-09-21T05:32:11Z",
          "localizedDescription": "Hotfix to fix startup crashes for some users on windows.",
          "downloadURL": "https://github.com/ppy/osu/releases/download/2026.921.0-lazer/osu.iOS.ipa",
          "size": 221244419,
          "minOSVersion": "13.4"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "beta-reports-active",
          "com.apple.developer.team-identifier",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSBluetoothAlwaysUsageDescription": "We don't use Bluetooth.",
          "NSCameraUsageDescription": "We don't use the camera.",
          "NSMicrophoneUsageDescription": "We don't use the microphone."
        }
      }
    },
    {
      "name": "F0X",
      "bundleIdentifier": "com.chrissotraidis.f0x",
      "developerName": "chrissotraidis",
      "subtitle": "Native F-Zero X source port via G-Diffuser for Apple Silicon macOS, iPhone, and iPad, with Metal and touch controls",
      "localizedDescription": "F0X:\n\nEvidence.\n\nF0X packages the native decompiled F-Zero X game logic from G-Diffuser with libultraship/Fast3D and its Metal backend. It is a source-port integration, not a general Nintendo 64 emulator.\n\nThis repository contains the Apple integration, maintained patches, documentation, and original F0X artwork. It does not contain F-Zero X, a ROM, extracted Nintendo assets, saves, or a playable ROM-derived archive. You must supply your own legally acquired supported cartridge dump; setup and extraction happen locally, and nothing is uploaded.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.chrissotraidis.f0x.png",
      "tintColor": "#f03010",
      "category": "games",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/chrissotraidis/f0x@main/docs/readme/f0x-ipad-gameplay.png"
      ],
      "versions": [
        {
          "version": "0.1.0",
          "date": "2026-08-18T13:54:09Z",
          "localizedDescription": "Developer Preview 2 repairs controller sleep, disconnect, and reconnect handling in the libultraship ControlDeck SDL2 backend. Stale handles are reconciled against current devices at events, foreground resume, and a bounded active check; surviving player slots remain stable and held input is neutralized on disconnect.\n\nThe attached IPA is ROM-free, unsigned, arm64, and targets iOS/iPadOS 16 or newer. It must be re-signed with your own Apple identity. Install it over the existing com.chrissotraidis.f0x app to preserve local data; do not uninstall first.\n\nAutomated virtual-controller coverage passed 42/42. Physical iPad in-place install, gameplay boot, foreground resume, and data preservation passed. Hands-on Bluetooth, wired, natural-sleep, full-mapping, and multi-controller acceptance remain open.",
          "downloadURL": "https://github.com/chrissotraidis/f0x/releases/download/v0.1.0-preview.2/F0X-0.1.0-preview.2-unsigned.ipa",
          "size": 4891647,
          "minOSVersion": "16.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "MaskPad",
      "bundleIdentifier": "com.chrissotraidis.maskpad",
      "developerName": "chrissotraidis",
      "subtitle": "The Legend of Zelda: Majora's Mask via 2 Ship 2 Harkinian, rebuilt for iPhone and iPad",
      "localizedDescription": "MaskPad:\n\nMaskPad packages the full 2 Ship 2 Harkinian source port as a native landscape iOS/iPadOS app. It renders through Metal, imports a user-provided supported Majora's Mask ROM through Files, and adds a phone/tablet touch controller with movable, resizable, and hideable controls.\n\nThis repository contains the mobile integration and reproducible build scripts. It does not contain Majora's Mask, a ROM, or a playable ROM-derived archive. See the scoped rights and licensing boundary; it does not relicense third-party projects or game material.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.chrissotraidis.maskpad.png",
      "tintColor": "#301000",
      "category": "games",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/chrissotraidis/maskpad@main/docs/readme/maskpad-swamp-ipad.jpg",
        "https://cdn.jsdelivr.net/gh/chrissotraidis/maskpad@main/docs/readme/maskpad-clock-town-story-ipad.jpg",
        "https://cdn.jsdelivr.net/gh/chrissotraidis/maskpad@main/docs/readme/maskpad-clock-town-ipad.jpg",
        "https://cdn.jsdelivr.net/gh/chrissotraidis/maskpad@main/docs/readme/maskpad-stock-pot-inn-ipad.jpg"
      ],
      "versions": [
        {
          "version": "0.1.2",
          "date": "2026-08-18T17:08:21Z",
          "localizedDescription": "MaskPad v0.1.2:\n\nThis release repairs SDL2 controller sleep, disconnect, and reconnect handling in libultraship's existing controller manager.\n\n• closes stale or disconnected controller handles instead of leaving them in a player slot.\n• preserves valid player ownership and returns a sole reconnecting controller to player 1.\n• assigns genuinely additional controllers to the next free slot.\n\n• reconciles at startup, controller events, foreground resume, and a bounded active check.\n• adds deterministic missed-removal, held-input, player-slot, remap, and foreground regression coverage.\n\nThe attached IPA is ROM-free and unsigned. It contains no provisioning profile or maintainer signing identity and must be signed with your own Apple account before installation. Supply your own legally acquired supported game data after installation.\n\nVersion: 0.1.2 Build: 3.\n\nPhysical Bluetooth, wired, natural-sleep, full-mapping, rumble/motion, and two-controller acceptance remain device-specific hands-on gates; automated controller reconciliation and hosted build/UI checks passed.",
          "downloadURL": "https://github.com/chrissotraidis/maskpad/releases/download/v0.1.2/MaskPad-0.1.2-unsigned.ipa",
          "size": 17511550,
          "minOSVersion": "14.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "Kavi",
      "bundleIdentifier": "com.raton.flashcards",
      "developerName": "RipeStore",
      "subtitle": "Beautiful native flashcards app. Native. Offline. Focused",
      "localizedDescription": "Kavi (Flashcards):\n\nKavi is a native, local-first iOS study and flashcards app built for fast card creation, focused revision, and full ownership of your data.\n\nThis build is distributed by an independent third party and is not officially affiliated with the upstream Kavi project.\n\nWritten entirely with SwiftUI, SwiftData, and Apple system APIs. There is no account, backend, analytics SDK, advertising layer, or in-app runtime network dependency.\n\nHighlights:\n\n• Local-First \u0026 Private: Completely offline with zero analytics, tracking, accounts, or telemetry.\n• Study \u0026 Test Modes: Practice with swipeable flashcards or simulate exams with authored and generated multiple-choice / written questions.\n• Smart Organization: Flexible hierarchy with Folders, Pinned decks, Recent decks, and Resume sections.\n• Bulk Import: Quickly import decks from text or spreadsheets with automatic duplicate detection.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.raton.flashcards.png",
      "tintColor": "#30c090",
      "category": "other",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/RipeStore/flashcardsbuilder@main/screenshots/screenshot_01.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/flashcardsbuilder@main/screenshots/screenshot_02.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/flashcardsbuilder@main/screenshots/screenshot_03.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/flashcardsbuilder@main/screenshots/screenshot_04.webp"
      ],
      "versions": [
        {
          "version": "3.1.0",
          "date": "2026-09-14T08:57:34Z",
          "localizedDescription": "",
          "downloadURL": "https://github.com/RipeStore/flashcardsbuilder/releases/download/v3.1.0/Kavi-3.1.0.ipa",
          "size": 7051768,
          "minOSVersion": "27.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "Manic EMU",
      "bundleIdentifier": "com.aoshuang.manicemu",
      "developerName": "Manic-EMU",
      "subtitle": "Manic EMU is an all-in-one retro game emulator for iOS. It packs powerful features while keeping a clean, sleek UI and delivering buttery-smooth gameplay",
      "localizedDescription": "Manic EMU is an all-in-one retro game emulator for iOS. It brings console, arcade, computer, and mobile Java systems into one app while keeping a clean, sleek UI and smooth gameplay-focused controls.\n\nThe sections below keep the app details up front, then connect availability, features, development notes, related documentation, repository layout, and licensing in one place.\n\nManic EMU does not include ROMs, ISOs, BIOS files, or copyrighted game data. Use legally owned backups, homebrew, and public-domain software only. See the upstream anti-piracy policy for the full project position.\n\nAt a Glance:\n\n• App distribution: App Store, StikStore, and SideStore.\n• Source target: iOS app built with Xcode 16+, iOS SDK 15+, and Swift 5.9+.\n• Emulator model: multiple emulator cores, including Libretro-based frameworks and dedicated cores.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.aoshuang.manicemu.png",
      "tintColor": "#f02040",
      "category": "entertainment",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/Manic-EMU/ManicEMU@main/images_manicemu_ver5_a01.jpg",
        "https://cdn.jsdelivr.net/gh/Manic-EMU/ManicEMU@main/images_manicemu_ver5_a02.jpg",
        "https://cdn.jsdelivr.net/gh/Manic-EMU/ManicEMU@main/images_manicemu_ver5_a03.jpg",
        "https://cdn.jsdelivr.net/gh/Manic-EMU/ManicEMU@main/images_manicemu_ver5_a04.jpg",
        "https://cdn.jsdelivr.net/gh/Manic-EMU/ManicEMU@main/images_manicemu_ver5_a05.jpg"
      ],
      "versions": [
        {
          "version": "2.0.1",
          "date": "2026-09-18T09:29:42Z",
          "localizedDescription": "• Added WonderSwan support.\n• Added NAOMI, Atomiswave, and System SP arcade support.\n• Added Flash support · Skin button binding · Hardware keyboard input · Software keyboard input · Touch input.\n• Built-in, self-contained JIT — no external debugger required.\n• Added Slow Motion.\n• Improved GameCube and Wii performance.\n• GameCube now supports multi-disc games.\n• Improved Wii motion controls.\n• Simulate the Wii IR pointer by touch.\n• Add games from other emulators via a link.\n• Fixed some arcade systems that wouldn’t run.\n• Fixed Dreamcast games running too fast.\n• Fixed PSP crashes.\n• Added NDS lid open/close.\n• Improved rotation: with orientation lock on in Control Center, the app no longer snaps back to portrait.\n• In-game shortcut tips can now be turned off.\n• Landscape library can disable carousel style.\n• Smoother landscape carousel scrolling.\n• MultiDisc Helper supports more formats.\n• Hardware keyboard input for Symbian, Amiga, and C64.\n• Added RomM support · LAN self-hosted servers only · Sync only for games imported from RomM · Manual sync only, from the service card’s long-press menu · Pull ROMs, covers, metadata, manuals, and game saves.\n• Fixed a launch timeout that could quit the app on older devices.\n• N64 now supports ROMs larger than 64 MB.",
          "downloadURL": "https://github.com/Manic-EMU/ManicEMU/releases/download/v2.0.1/ManicEMU.v2.0.1.SideloadJIT.ipa",
          "size": 288525117,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "beta-reports-active",
          "com.apple.developer.team-identifier",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSBluetoothAlwaysUsageDescription": "Manic EMU requires the use of Bluetooth functionality to enable communication features for certain games.",
          "NSCameraUsageDescription": "Camera access required to capture photos for custom game covers in Manic EMU",
          "NSLocalNetworkUsageDescription": "Manic EMU needs access to your local network to find and connect with other devices for online gaming.",
          "NSMicrophoneUsageDescription": "Microphone access required for full Nintendo DS game functionality in Manic EMU",
          "NSPhotoLibraryAddUsageDescription": "Manic EMU requires photo library access to save game screenshots and create custom game covers",
          "NSPhotoLibraryUsageDescription": "Manic EMU requires photo library access to save screenshots and select images for game covers"
        }
      }
    },
    {
      "name": "MiruShin",
      "bundleIdentifier": "com.emp0ry.mirushin",
      "developerName": "emp0ry",
      "subtitle": "Your anime, movies, and shows: discover, track, and watch in one beautiful app",
      "localizedDescription": "What You Can Do:\n\nMore goodies.\n\n• 📺 Android TV with remote-friendly navigation throughout.\n• 🖼️ Picture-in-Picture and native player handoff where the platform supports it.\n• 🔐 Host-controlled watch-party permissions for guest play/pause, seek, and speed changes.\n\n• 🔄 Tracker sync for AniList, MyAnimeList, and Shikimori account workflows.\n• 🔐 Per-account workspaces so switching AniList accounts also switches that account's Local Library and MAL/Shikimori connections.\n• 📤 Exports to MyAnimeList XML and Shikimori JSON.\n• 🧩 Add-ons (Sora-compatible modules) for source search, installable by URL.\n\nDownload:\n\nWindows: the .exe installer is unsigned, so Microsoft Defender may show a false-positive warning. If that happens, use the .msi installer or the portable .zip instead.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.emp0ry.mirushin.png",
      "tintColor": "#503070",
      "category": "entertainment",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/emp0ry/MiruShin@main/docs/assets/imgs/mobile_detail.png",
        "https://cdn.jsdelivr.net/gh/emp0ry/MiruShin@main/docs/assets/imgs/mobile_player.png"
      ],
      "versions": [
        {
          "version": "2.9.6",
          "date": "2026-09-27T15:47:37Z",
          "localizedDescription": "MiruShin continues to evolve as a modern and comfortable way to watch and discover media, with each update focused on making the experience smoother, cleaner, and more enjoyable across the app.\n\nWhat's New:\n\n• Fixed Google Drive Library Sync convergence across new and existing devices.\n• Devices now pull snapshots and immutable operations independently of the delivery lease.\n• Added safe recovery for missed progress, additions, and removals without overwriting concurrent local edits.\n\n• Improved sync progress counts and partial-sync messages in English, Russian, and Japanese.\n\nv2.9.5:\n\n• Fixed video freezing while audio continued by restoring MediaKit/mpv platform-tested frame-dropping and A/V-sync defaults.\n\nv2.9.4:\n\n• Restored native Google Drive sign-in on iPhone, iPad, and Android phones/tablets.\n• Kept the secure Cloudflare Worker browser flow as a fallback for re-signed, LiveContainer, TrollStore, jailbreak, and Android TV installations.\n• Added regression tests for platform-specific Google Drive login routing.\n\nv2.9.3:\n\n• Rebuilt Local Library as an offline-first source of truth with separate AniList account workspaces and safer AniList, MyAnimeList, and Shikimori reconciliation.\n• Expanded Google Drive Sync for complete library metadata, settings, addons, connections, playback state, and faster cross-device restoration.\n• Fixed repeated Google Drive synchronization when nothing changed, improved pending and progress states, and made real local changes upload promptly.\n• Added AniList outage fallbacks and cache-first Board, Discovery, Library, and details loading for faster navigation.\n• Fixed immediate library add, edit, and remove behavior, per-page Library filters, account isolation, and local database placement.\n• Fixed crashes when removing anime from the Library editor and when closing MiruShin on macOS.\n\nv2.9.1:\n\n• Improved Google Drive Library Sync with more reliable cross-device restore.\n• Added complete library checkpoints with metadata and artwork for faster setup on new devices.\n• Improved sync integrity with safer atomic restores and validation.\n• Library data can now restore and display before connected trackers finish loading.\n• Fixed MyAnimeList fallback handling for manga.\n• Improved metadata synchronization and overall Library Sync stability.\n\nv2.9.0:\n\n• Added a canonical local-first Anime and Manga Library with safe offline mutations, Library Log, undo, conflict protection, and per-account workspaces.\n• Added independent bidirectional sync for AniList, MyAnimeList, and Shikimori with exact ID matching, provider snapshots, safer reconciliation, and richer metadata fallback.\n• Added optional Google Drive Sync for libraries, playback progress, stream preferences, addons, accounts, API connections, Watch with Friends preferences, and per-workspace settings.\n• Added all AniList score formats, including 100-point, decimal, 10-point, 5-star, and smiley scoring.\n• Improved OAuth login flows across mobile, desktop, TV.\n\nv2.8.9:\n\n• Added instant local Library updates for add, edit, delete, progress, score, notes, and repeat actions.\n• Added more reliable AniList, MAL, and Shikimori synchronization.\n• Added offline change support with automatic synchronization after reconnecting.\n• Fixed newly added anime not appearing until a manual refresh.\n• Fixed completed anime remaining in Watching.\n• Fixed incorrect episode progress, such as 13/12.\n• Fixed changes being applied to the wrong anime after Library reordering.\n• Removed unnecessary Library reloads and delayed UI updates.\n• Improved favorite and score update consistency.\n\nv2.8.8:\n\n• Fixed missing next-episode countdowns when AniList libraries are merged with MAL fallback data.\n\nv2.8.7:\n\n• Improved Watch Order with theme-colored current-title highlighting, personal score, and favorite status.\n\nv2.8.6:\n\n• Fixed player sessions not terminating correctly and restored proper playback speed handling.\n• Fixed expired airing schedules still appearing in the Library.\n• Improved seeking controls by separating arrow tap and hold behavior.\n\nv2.8.5:\n\n• Fixed streams freezing during startup and playback unexpectedly resuming after being paused.\n• Fixed playback-speed changes causing stalls or showing a speed that was not actually applied.\n\n• Added accumulated seek-distance feedback when repeatedly using the left and right arrow keys.\n• Improved the Library AniList outage notice with scrolling, MyAnimeList fallback status, dismissal, and correct spacing.\n\nv2.8.2:\n\n• Improved add-on import, export, and backup reliability across devices.\n• Fixed add-on restoration so exported configurations retain required module data and settings.\n\nv2.8.1:\n\n• Fixed MAL and Shikimori fallback responses overriding AniList library status and progress after an AniList outage.\n• AniList now remains canonical when selected as the primary tracker, while fallback snapshots stay available without reopening completed titles.\n• Local changes made during an outage remain queued and sync to AniList first, then independently to connected MyAnimeList and Shikimori accounts.\n• Prevented automatic playback progress from reopening completed titles or dropping rewatching status.\n• Entry edits now sync only fields that actually changed, so score or notes edits cannot overwrite status or progress.\n\nv2.8.0:\n\n• Added MyAnimeList fallback for AniList outages across Board, Discovery, media details, Library, and Watch Order, with automatic return to AniList after recovery.\n• Added local-first tracking: progress, favorites, status, score, notes, repeat count, and dates are saved locally and safely synchronized later.\n• AniList, MAL, and Shikimori now synchronize independently using stable media identity, offline mutation queues, provider health tracking, and conflict resolution.\n• Library filters, sorting, Watch, Edit, Play, and continue-watching now work with locally cached and MAL fallback data during AniList outages.\n• Fixed AniList outage banner spacing in Library to match Board and Discovery.\n\n• Video quality can differ between participants while the episode, module, server, and voiceover remain synchronized.\n\n• Added a dedicated Buy Me a Coffee support card after Accounts in AniList Settings and below MiruShin updates in TMDB Settings.\n\nv2.7.12:\n\n• Fixed Security Check verification loops on macOS and iOS.\n• Fixed content not loading after completing verification.\n• Prevented duplicate Security Check windows from opening.\n• Improved cookie persistence and browser session handling during verification.\n• Fixed offline HLS playback on macOS.\n\nv2.7.11:\n\n• Improved AniList reliability with a 30-second timeout and one automatic retry before falling back to cached data.\n\nv2.7.10:\n\n• Added automatic anime Watch Order with full franchise discovery and a Main story only filter.\n• Added AniList progress and bold, theme-colored status labels to Watch Order.\n• Replaced Related Titles with a cleaner, transparent Watch Order list.\n• Cached Anime Themes for the current session to prevent repeated loading.\n\nv2.7.9:\n\n• Added clean share links for AniList anime and manga and TMDB movies and TV shows.\n• Improved link safety while keeping existing MiruShin links fully compatible.\n\nv2.7.8:\n\n• Added clearly labeled IMDb ratings to TMDB movie/series and matched AniList anime detail pages, displayed directly after the original score.\n• Profile action cards now fit up to five per row on larger screens, with additional cards wrapping cleanly.\n\nv2.7.7:\n\n• Fixed Compact Cards appearing outside the row edges while scrolling, while preserving hover effects.\n• Compact Cards are now disabled by default; existing saved preferences remain unchanged.\n\nv2.7.6:\n\n• Expanded the AniList Board with Favorites, Airing, Upcoming, Finished, Newest, and Recently Updated sections.\n• Added adaptive pagination to Board and Discovery: compact rows load automatically, while wide grids offer Load More and fetch results based on screen size.\n• Made compact cards the default and improved responsive layouts with up to eight columns.\n• Polished poster clipping, gradients, hover animations, and button press effects.\n• Reduced the media-details hero height and improved Board loading feedback.\n\nv2.7.5:\n\n• Added a Fanart.tv-powered Gallery to Media Details with 4K-first backgrounds, cached results, and an optional securely stored API key in Settings.\n• Added a fullscreen Gallery viewer with original-resolution artwork, swipe and arrow navigation, zooming, and an image counter.\n\n• Improved Discovery on large screens with responsive filter controls and up to eight poster columns while preserving compact mobile layouts.\n\nv2.7.4:\n\n• Added cross-platform MiruShin deep links for opening AniList and TMDB titles directly in the app.\n\n• Opening an AniList or TMDB MiruShin link now automatically switches to the matching catalog.\n• Watch with Friends default invites now use normal clickable HTTPS links, while existing mirushin:// invite links remain supported.\n• Improved Self-hosted Relay invites with cleaner direct HTTPS links and browser landing pages for opening rooms in MiruShin.\n• Added a Setup Guide button for Self-hosted Relay configuration, with English, Russian, and Japanese localization.\n• Improved macOS fullscreen transitions so the player waits for the native fullscreen transition to actually finish before closing or opening the next episode.\n• Improved timeline hover and drag handling, preventing seek previews and player controls from getting stuck after fullscreen or window-state changes.\n• Improved progressive seek previews to prefer the later thumbnail when two cached frames are equally close to the selected position.\n• Fixed backup exports not correctly including some saved list-based settings and filters on desktop platforms.\n\nv2.7.3:\n\n• Added cross-platform MiruShin deep links for opening AniList and TMDB titles directly in the app on Windows, Linux, macOS, Android, and iOS.\n• Added shareable MiruShin links to media details, alongside the original AniList or TMDB page links.\n\n• Opening an AniList or TMDB MiruShin link now automatically switches to the matching catalog.\n• Watch with Friends default invites now use a normal clickable HTTPS link that opens the room in MiruShin, while existing mirushin:// invites remain supported.\n• Improved Self-hosted Relay invites with clean HTTPS links using the relay address directly, without redundant relay or transport parameters.\n• Added browser landing pages for Self-hosted Relay invites with an Open in MiruShin action.\n\nv2.7.2:\n\n• Added full MiruShin configuration backup and restore in Settings → Data \u0026 backup.\n• Backups include app and player settings, saved page and library filters, viewing progress, per-title stream choices, Watch with Friends relay and trust settings, installed Sora add-ons, source cookies, and local source state.\n• AniList, MyAnimeList, and Shikimori sessions, profiles, saved AniList accounts, user settings, access tokens, and avatar URLs are included, along with configured TMDB and TVDB credentials.\n\n• Improved Watch with Friends so guests retain their local and tracker progress while episode navigation and auto-next remain controlled by the host.\n• Prevented locked guests from triggering next-episode actions through automatic playback, player controls, keyboard shortcuts, or Picture-in-Picture.\n• Improved Watch with Friends synchronization by ignoring implausible cross-device timestamp differences that could incorrectly advance playback.\n• Reworked compact media detail pages with responsive poster and text scaling, improved forced-compact behavior, and better narrow-screen layouts.\n• Improved the fullscreen poster and background viewer: single tap closes it, double tap resets zoom, and existing zoom, drag, Escape, and system-back controls remain supported.\n• Added complete English, Russian, and Japanese localization for backup and restore controls, warnings, confirmations, results, and errors.\n\nv2.7.1:\n\n• Added an option to enable or disable seek previews in Player Settings.\n• Improved Watch with Friends with copyable invite links and additional localized room, connection, and relay controls.\n• Posters can now be opened and viewed fullscreen from media details.\n• Background images can now be opened and viewed fullscreen from media details.\n\nv2.7.0:\n\n• Added Self-hosted Relay support for Watch with Friends as an alternative when the default peer-to-peer connection does not work.\n• Self-hosted rooms support one host and multiple guests at the same time.\n• Added relay configuration and connection testing directly in Watch with Friends settings.\n• Guests can join self-hosted rooms through invite links without manually configuring the relay.\n\n• Added a complete open-source Cloudflare relay implementation that users can deploy and host themselves.\n• The relay only handles Watch with Friends synchronization and never proxies video or audio streams.\n\nv2.6.9:\n\n• MiruShin now remembers your selected server and quality for each title and restores them automatically.\n• Next episodes are prepared in the background for faster, smoother auto-next transitions.\n• Added cache retention settings for metadata and artwork, with options from 1 week to never expire.\n• Improved cache management so artwork and metadata share the configured cache size more efficiently.\n• Watch with Friends hosts can now allow guests to change streams during a watch party.\n• Guests can see which playback controls they have permission to use.\n\nv2.6.8:\n\n• Added progressive seek previews for online videos.\n• Previews generate across the entire timeline in multiple refinement passes.\n• The closest available preview appears immediately and improves as more frames generate.\n• Generation continues in the background while the player is open.\n• Choose between Progressive timeline (default) and On demand in Player Settings.\n• Offline seek previews remain unchanged.\n\nv2.6.7:\n\n• Fixed Cloudflare security verification getting stuck in a refresh loop.\n• Fixed source parsing starting before verification was complete.\n• Removed duplicate WebView navigation events on Windows.\n• Improved Cloudflare reliability across Windows, Android, iOS, and macOS.\n\nv2.6.6:\n\n• Added seek thumbnail previews for faster and more accurate timeline navigation.\n• Improved timeline hover and seek behavior without moving the real playback position.\n\n• Auto-next now always starts the next episode from 00:00 while manual episode selection still resumes saved progress.\n• Fixed auto-next failing after returning to and rewatching a previous episode.\n• Fixed episodes occasionally getting stuck at the end instead of advancing.\n• Added stricter end-of-episode detection to prevent premature auto-next.\n• Fixed manual seeking occasionally jumping back to the previous playback position.\n• Improved FVP/MDK handling of stale end-of-stream events during and after seeking.\n• Improved playback recovery for premature or inconsistent stream EOF states.\n• Fixed fullscreen state being incorrectly carried to the next episode on desktop.\n• Fullscreen transitions now follow the player's actual current fullscreen state.\n• Improved next-episode stream resolution and retry handling.\n• Episode selection now remains visible while the next stream is being resolved.\n• Improved offline episode continuation and auto-delete reliability.\n• Added safer playback generation tracking to prevent stale callbacks and duplicate episode transitions.\n• Added 2.25x and 2.75x playback speed options.\n• Improved native PiP completion and progress handling.\n• iOS Home Indicator now stays auto-hidden across player navigation and auto-next transitions.\n• Various playback stability improvements, race-condition fixes, and regression tests.\n\nv2.6.5:\n\n• Fixed Sora/Cloudflare security checks not completing on Android, iOS, and macOS.\n• Fixed protected requests failing after verification by keeping them in the verified browser session.\n• Fixed redirected requests losing their original endpoint path and query.\n\nv2.6.4:\n\n• Fixed Sora/Cloudflare security checks not completing on Android, iOS, and macOS.\n• Fixed Windows crashes when starting Sora/Cloudflare security checks.\n• Fixed protected-source parsing across supported platforms.\n\nv2.6.3:\n\n• Fixed protected-source parsing across Android, iOS, macOS, and Windows.\n\nv2.6.2:\n\n• Fixed Sora/Cloudflare security checks crashing after completion on Windows.\n• Fixed browser session and cookie handling across supported platforms.\n\nv2.6.1:\n\n• Fixed Sora/Cloudflare security checks crashing after completion on Windows.\n• Fixed browser session and cookie handling across supported platforms.\n\nv2.6.0:\n\n• Fixed Sora and Cloudflare challenge handling on Windows.\n• Improved playback reliability with smarter stream fallbacks and DASH-to-HLS support.\n\n• Added faster, more resilient catalog loading with metadata caching.\n• Hidden AniList account and tracker connections while using the TMDB catalog.\n\nv2.5.0:\n\n• Fixed offline playback occasionally freezing around 7 seconds with automatic stall recovery.\n• Randomized the Board hero from the top 20 anime.\n• Improved AniList profile action buttons with a compact mobile layout.\n• Added the Z keyboard shortcut for player zoom.\n• Added a persistent option to enable or disable horizontal swipe seeking.\n• Improved mobile volume behavior and disabled vertical swipe volume gestures on all devices.\n• Redesigned and repositioned Watch, Trailer, and Edit buttons for responsive layouts.\n• Fixed an AniList details overflow affecting popularity and favorites on narrow screens.\n\nv2.4.4:\n\n• Fixed the blank-window startup crash.\n\nv2.4.3:\n\n• Improved airing notification reliability when platform services are unavailable.\n• Improved playback and external-link diagnostic logging.\n• Reorganized internal code for clearer feature boundaries and easier maintenance.\n• Improved automated testing across catalog, widget, Sora, and Worker components.\n\n• General stability and maintenance improvements.\n\nv2.4.2:\n\n• Improved play/pause responsiveness and playback resume stability.\n\n• Choose whether airing notifications include all eligible titles or only Watching/Rewatching.\n• Removed the AniList Profile Feed and Reviews sections.\n\nv2.4.1:\n\n• Added anime opening and ending themes to anime detail pages.\n• Fixed playback time jumping backward after seeking or skipping an opening or ending.\n• Fixed Skip and Undo buttons appearing at the same time while buffering.\n\nv2.4.0:\n\n• Expanded Russian and Japanese translations across filters, settings, profiles, libraries, and media details.\n• Localized player and trailer controls, along with AniList entry labels.\n• When Russian (Shikimori) is selected, Shikimori YouTube trailers now prioritize Озвучка, followed by Субтитры.\n\nv2.3.0:\n\n• Added much better filters in Discovery, Library, and Source Modules.\n• Filters now support include and exclude actions.\n• Added much better filters in Discovery, Library, and Source Modules.\n\n• Added AniList source/origin filters, adult content filter, licensing filter, and improved tag browsing/search.\n• Improved Library filters with sorting/grouped tags and extra metadata filters.\n\n• Added ASS/SSA subtitle parsing support.\n• Improved player stability when streams fail to load or internet is weak.\n• Made seeking more reliable so the player position and progress UI stay in sync.\n• Fixed player controls sometimes not hiding properly on mobile/iOS.\n• Improved keyboard shortcut handling in the player.\n• Improved Skip OP/ED button visibility so it follows the player UI correctly.\n\nv2.2.0:\n\n• Watch with Friend: watch any episode in sync with a friend over a peer-to-peer connection.\n• Create a room, share the 6-character code or QR, and playback stays locked together automatically.\n• Host playback actions like play, pause, seek, and speed changes are instantly mirrored to the guest with drift correction.\n• The host can optionally allow the guest to control playback, seek, or change speed.\n• The guest resolves the stream source locally, so video is not routed through a server and quality is unaffected.\n• Auto-reconnect after brief network drops, so the party can resume without rejoining.\n\nv2.0.2:\n\n• Added left-edge swipe-back gesture support on mobile.\n\nv2.0.0:\n\n• Added Cloudflare verification support: when required, a webview opens for captcha verification, then continues automatically after verification is complete.\n\n• Improved subtitle parsing, including more accurate language detection and display.\n• Improved the quality picker for better handling of streams with multiple quality options.\n\nv1.9.0:\n\n• Added MyAnimeList and Shikimori account connections alongside AniList.\n• Sync your status, episode progress, and score across AniList, MyAnimeList, and Shikimori.\n• Sign in securely from Settings -\u003e Connections using OAuth.\n• Choose your Library source from AniList, MyAnimeList, or Shikimori.\n• Offline updates are now queued and synced automatically when you are back online.\n• Added optional custom API credentials for MyAnimeList and Shikimori.\n• Your tokens are stored securely on your device.\n\nv1.8.1:\n\n• Fixed auto next episode and watched progress triggering too early on unstable or reloaded streams.\n• Next episode button now counts down 5 to 1, then closes the player if you don't continue.\n• Next episode button shows shortly after the episode ends instead of instantly.\n• Added a keyboard shortcuts and touch gestures panel in player settings.\n• New keys: C toggles subtitles, P enters Picture in Picture, V skips intro/outro or goes to next episode.\n\nv1.8.0:\n\n• Added an Episodes button in the player so you can jump to any episode directly.\n• Improved player controls so labels switch to icons earlier and never feel cramped.\n\n• Now Playing now shows the real AniList/TMDB title in your selected language, with smart fallback support.\n• Fixed TMDB library progress showing 0% instead of the correct watch percentage.\n• Settings now adapt to your selected catalog mode.\n• TMDB mode now hides AniList options and accounts.\n• AniList mode now hides TMDB-specific options.\n• Removed the redundant TMDB enable toggle.\n• Added a new Compact cards toggle for Board cards.\n\n• Removed unused settings: Poster card style, Subtitle preferred language, and Region/country.\n• Removed the redundant Discovery status bar for a cleaner browsing experience.\n\nv1.7.3:\n\n• Added an MSI installer for Windows (.msi), alongside the existing setup .exe and portable .zip. The MSI lets you choose a per-user or all-users install.\n• Fixed Android TV D-pad navigation on the Home and Discovery screens: focus no longer skips the movie posters and jumps straight to the \"see more\" / \"Load more\" button, so you can now reach and select every poster.\n\nv1.7.2:\n\n• Fixed playback speed not being restored after the player restarts.\n• Added a short delay before auto-playing the next episode after the current stream finishes.\n\nv1.7.1:\n\n• Added Clear All and Apply buttons to the source filter.\n• Updated several localization strings.\n\nv1.7.0:\n\n• Added a new Sources page. You can open it from the Sources button on the Addons page.\n• You can now add your own catalog by pasting a catalog URL, for example example.com/modules.json.\n• You can open a source, browse its addons, and install them into your library with one tap.\n• Addons that are already installed are now clearly marked.\n• Added search by addon name, author, language, and type.\n• Added filters for multiple languages and types at the same time, for example Russian + English or anime + movies.\n\n• You can now refresh, rename, copy the URL, or remove a source.\n• Removing a source will not remove your installed addons.\n\nv1.6.4:\n\n• Added support for adding addons by addon ID.\n\nv1.6.3:\n\n• TMDB season picker now shows the real number of seasons from the addon.\n• Fixed watch progress not tracking for TMDB episodes in the local library, including across auto-next season changes.\n\nv1.6.2:\n\n• Fixed auto-next episode and watch progress for auto-played episodes.\n\n• Previously, when an episode started automatically, watch progress was not saved and the next episode did not play correctly.\n• Now every episode saves progress, marks itself as watched at 85%, and reliably continues to the next episode.\n\nv1.6.0:\n\n• Android TV support with Leanback launcher/banner, TV-aware navigation, focus rings, and d-pad-friendly cards.\n• Player remote fixes: OK play/pause, paused UI focus navigation, Settings/Quality/Episodes/Subtitles reachable by d-pad, sliders no longer trap focus, Back hides chrome first.\n• Android TV WebView cursor improvements: smaller/smoother cursor, native tap fallback, better keyboard/textbox handling, and cursor support for YouTube trailers.\n• AniList editor improvements from TV: hold OK on media cards opens entry edit actions where supported.\n• Library/search/addon/settings text fields improved for d-pad escape.\n• Playback fixes including seek/d-pad fixes, PiP handling fixes, iOS PiP fix, and player back-button fixes.\n• AniList and Shikimori metadata/library fixes.\n\nv1.5.0:\n\n• Improved auto-next episode, mark as watched, and AniList sync.\n• Fixed progress on finished streams, even when the stream jumps back to 0:00.\n• Fixed player controls and mouse cursor not hiding after auto-next.\n• Fixed buffering spinner sometimes staying visible after playback resumes.\n• AniList now marks anime as Completed when you finish the last known episode.\n• Fixed Trailer button, now it appears correctly on all devices.\n• Moved Auto AniList progress setting, now it only shows in the AniList catalog.\n• Fixed settings not saving after app restart.\n• Poster card style and compact mode are now remembered.\n\nv1.4.4:\n\n• Added a built-in TMDB key, so MiruShin works out of the box.\n• TMDB metadata now loads on first launch without setup.\n• Added a Use custom API key option in Settings -\u003e API Connections.\n• You can still use your own TMDB Read Access Token if needed.\n• TMDB metadata is now enabled by default.\n\nv1.4.3:\n\n• Improved video playback reliability.\n• Fixed some streams not playing when proxy playback failed.\n• The player now automatically tries another playback method when needed.\n\nv1.4.2:\n\n• Episodes in the TMDB Catalog are now sorted by season.\n\nv1.4.1:\n\n• Fixed WebView support on Windows. YouTube trailers now play correctly on Windows.\n\nv1.4.0:\n\n• Added trailer support for AniList and TMDB catalogs. The trailer button is shown only when a trailer is available.\n\nv1.3.8:\n\n• Improved the anime and manga detail pages with a cleaner and more polished layout.\n• Improved the Edit button design and placement.\n• AniList cards now always open the Edit page in AniList mode.\n• Fixed Auto-Next so it now keeps the server selected inside the player. The next episode will resolve using the chosen server instead of falling back to the old or default one.\n\nv1.3.7:\n\n• Added pinch-out gesture support in the player to switch to Zoom mode.\n• Added pinch-in gesture support to switch back to Normal mode.\n• Improved the left sidebar behavior, so it now switches states earlier and feels more responsive.\n• Reduced the height of the top and bottom black fog effects in the player UI for a cleaner viewing experience.\n• Fixed player initialization: the video now repaints immediately instead of waiting for mouse movement to trigger a rebuild.\n\nv1.3.6:\n\n• Added a custom accent color picker.\n• Removed unused options from Settings for a cleaner experience.\n\nv1.3.5:\n\n• Added a floating popup notification for new app updates.\n• Improved mobile auto-next playback. The next episode now opens immediately in fullscreen player mode for a smoother watching experience.\n\n• Fixed slow Choose Episode loading for custom/addon sources.\n• Episodes from the addon now appear first, using the addon’s own episode name and poster when available.\n• AniList/AniZip episode titles and thumbnails now load lazily only after the episode list is already shown.\n• Improved support for custom Sora episode formats, including grouped episode lists and chapter-style APIs.\n• Reduced stale search work when switching from Find Sources to Choose Episode.\n• Auto-next now fetches the latest addon episode list instead of relying on old cached episode data.\n\nv1.3.4:\n\n• Added animated hover backgrounds for Windows PiP buttons, making the controls feel smoother and more responsive.\n\nv1.3.3:\n\n• Smarter Escape key in the player.\n• Infinite scroll on AniList Favourites.\n\nv1.3.2:\n\n• Improved Picture-in-Picture support on Windows for a smoother and more native-like experience.\n• Fixed the missing app icon in the Linux .deb package.\n\nv1.3.1:\n\n• Fixed the Linux crash when opening an episode, video playback works again.\n• Added a .deb package for Debian/Ubuntu (AppImage and tar.gz still available).\n\nv1.3.0:\n\n• Added a second player engine for improved playback stability.\n• Added PiP-style mini player support for Windows and Linux.\n• Added ARB localization support for English, Russian, and Japanese.\n• Added a local HLS proxy for the MPV player engine.\n\nv1.2.2:\n\n• Added startup page selection in Settings.\n• Added skip-marker source selection in Player Settings.\n• Improved iOS PiP exit handling so the player restores correctly.\n• Fixed AniList sync for the Favorite heart button.\n• Changed the default catalog mode to AniList.\n\nv1.2.0:\n\n• Added support for custom headers for subtitle tracks and network requests.\n• Fixed the AniList favorites list and added a Load More button.\n• Added a Windows installer for easier installation.\n\nv1.1.1:\n\n• Updated the player loading indicator to use a cleaner white circular spinner.\n• Added timeline preview on the player progress slider.\n• Fixed the Android splash screen logo display.\n\nv1.1.0:\n\n• Added airing anime notifications for supported platforms.\n• Added favorites support for anime, manga, and edit pages.\n• Added AniList status badges on Board and Discovery posters.\n• Improved mobile double-tap seeking speed and feedback.\n• Changed swipe seeking to use 2-second steps.\n• Improved temporary speed badge position and styling.\n• Fixed iOS PiP close cleanup so the player overlay clears correctly.\n• Polished AniList edit dialog progress controls.\n• Improved anime and manga tags.\n• Added Edit action for Board and Discovery pages.\n\nv1.0.2:\n\n• Added Linux support.\n• Added a shortcut in Settings to open AniList settings.\n\nv1.0.1:\n\n• Hold Space or press and hold the screen to speed up video playback.\n\n• Fixed auto-next episodes so the correct episode name appears in the player.\n\nHelpful Notes:\n\n• MiruShin supports both TMDB and AniList catalog modes.\n• Sora-compatible modules appear as addons inside the app.\n\nWindows: the unsigned setup .exe may trigger a false-positive warning from Microsoft Defender or other antivirus. If that happens, use the .msi installer or the portable .zip instead.\n\nImportant Notice:\n\nMiruShin is a media player and interface layer. It does not host, provide, or distribute content.\n\n• Users are responsible for providing their own content.\n• Users must ensure they have legal rights to any content they access or use.\n• Users are responsible for complying with all applicable laws and respecting copyright and intellectual property rights.\n• MiruShin does not include Sora modules.\n• Third-party modules are the responsibility of their creators, not MiruShin or emp0ry.\n\nLinks:\n\n• 📦 Repository: https://github.com/emp0ry/MiruShin\n• 🔒 Privacy Policy: https://github.com/emp0ry/MiruShin/blob/main/PRIVACY_POLICY.md\n• ⚖️ Legal Notice: https://github.com/emp0ry/MiruShin/blob/main/LEGAL.md",
          "downloadURL": "https://github.com/emp0ry/MiruShin/releases/download/v2.9.6/MiruShin-ios-v2.9.6.ipa",
          "size": 31639636,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSCameraUsageDescription": "MiruShin uses the camera to scan a friend's watch-party QR code.",
          "NSUserNotificationUsageDescription": "MiruShin can notify you when new anime episodes air."
        }
      }
    },
    {
      "name": "Paperback",
      "bundleIdentifier": "dev.faizandurrani.moe.paperback.app",
      "developerName": "Paperback-iOS",
      "subtitle": "Repository to host app releases, issues, and feature requests for Paperback",
      "localizedDescription": "Paperback iOS:\n\nPaperback is an ad-free comic/manga reader for Apple devices. It supports Komga and other third party extensions.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/dev.faizandurrani.moe.paperback.app.png",
      "tintColor": "#e04040",
      "category": "entertainment",
      "versions": [
        {
          "version": "0.8.11",
          "date": "2025-05-20T13:56:35Z",
          "localizedDescription": "",
          "downloadURL": "https://github.com/Paperback-iOS/app/releases/download/v0.8.11-r2/Paperback.ipa",
          "size": 13597210,
          "minOSVersion": "13.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "aps-environment",
          "com.apple.developer.associated-domains",
          "com.apple.developer.icloud-container-development-container-identifiers",
          "com.apple.developer.icloud-container-environment",
          "com.apple.developer.icloud-container-identifiers",
          "com.apple.developer.icloud-services",
          "com.apple.developer.kernel.increased-memory-limit",
          "com.apple.developer.siri",
          "com.apple.developer.team-identifier",
          "com.apple.developer.ubiquity-container-identifiers",
          "com.apple.developer.ubiquity-kvstore-identifier",
          "com.apple.security.application-groups",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSFaceIDUsageDescription": "Face ID is required to unlock Library",
          "NSLocalNetworkUsageDescription": "Atlantis would use Bonjour Service to discover Proxyman app from your local network.",
          "NSPhotoLibraryUsageDescription": "Photo Library access is required to save images to Photos"
        }
      }
    },
    {
      "name": "Edge",
      "bundleIdentifier": "com.example.openstrapEdge",
      "developerName": "OpenStrap",
      "subtitle": "App which allows you to use your health devices beyond subscriptions. Supports Workout Tracking, Nutrition Tracking, Wellness Excercise, Sleep, Recovery, Strain, and Many more",
      "localizedDescription": "Openstrap Edge:\n\nAn app that makes your wearable useful without its subscription. Pairs over Bluetooth, computes everything on your phone, iOS and Android. WHOOP 4/5/MG get full support today; see Supports for what else it talks to.\n\nNot affiliated with WHOOP. Not a clone of their app or their scores — see below.\n\nAs featured in:\n\n\"The goal of the so-called OpenStrap project is not to re-create the WHOOP app. Rather, the algorithms and processing methods are developed from scratch, based on public research… The health data collected from the watch never leaves the phone.\".\n\n— Hackaday, 15 July 2026.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.example.openstrapEdge.png",
      "tintColor": "#000030",
      "category": "lifestyle",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/OpenStrap/edge@main/screenshots/today.png",
        "https://cdn.jsdelivr.net/gh/OpenStrap/edge@main/screenshots/sleep.png",
        "https://cdn.jsdelivr.net/gh/OpenStrap/edge@main/screenshots/heart.png",
        "https://cdn.jsdelivr.net/gh/OpenStrap/edge@main/screenshots/stress.png",
        "https://cdn.jsdelivr.net/gh/OpenStrap/edge@main/screenshots/breathing.png"
      ],
      "versions": [
        {
          "version": "0.10.0",
          "date": "2026-09-25T11:51:02Z",
          "localizedDescription": "What's new:\n\nAttempt at many-device support — a bunch of new bands/watches/rings can pair now, sync depth varies by device.\n\nWHOOP MG heart screener — capture + history for the ECG reading, hook into AI coach analysis.\n\nAlarms that actually work — weekly schedule, safety notification if it doesn't latch, smart wake window.\n\nMisc bug fixes and other small stuff.\n\n• readme: stop framing the whole app as WHOOP-only.\n• i18n(es): translate the 29 strings missing from app_es.arb.\n• fix ASK picker crash + iOS 17 launch crash.\n• fix iOS 17 launch crash from AccessorySetupKit.\n• feat(alarm): weekly schedule + latch-failure \u0026 7pm no-alarm safety notifications.\n• Any-wearable multi-device support.\n• colmi ring: pairs-only support.\n• fossil/skagen q hybrid: pair and bank raw bytes, pairs-only.\n• pinetime: pairs and banks raw data.\n• jyou band: pairs and banks raw data, decodes nothing yet.\n• hplus generic hr band, pairs-only.\n• lefun ring/band: pairs and connects, reports nothing yet.\n• dt78/dt92/dt66: pairs-only support.\n• ringconn: pair + drain, raw archive only.\n• wearfit band support (howear hk8 ultra / hk8 pro max).\n• mykronoz zetime: pairs and connects, battery only.\n• o2ring: pair, connect, bank raw bytes.\n• dafit/moyoung support: pairs and banks raw bytes, no decode.\n• tlw64/no1 f1: pairs and banks raw data, decodes nothing yet.\n• watch9: pairs and banks raw data, decodes nothing yet.\n• xwatch: pairs and banks raw data, decodes nothing yet.\n• smaq2oss: pairs and banks raw data, decodes nothing yet.\n• id115: pairs and banks raw data, decodes nothing yet.\n• makibeshr3: pairs and banks raw data, decodes nothing yet.\n• pebble 2/2se: pairs-only support.\n• mi band 2/3/4: pairs-only support.\n• withings steel hr: pairs-only support.\n• bangle.js: pairs-only support.\n• ultrahuman ring air: pair + drain, raw archive only.\n• garmin sports watch pairing.\n• add coros sports watch support.\n• add r11m/r10m smart ring support.\n• polar pmd: pair + stream ppi from a verity sense or oh1.\n• feat: show selected chart slot with a vertical cursor.\n• fix: hold the beat axis non-decreasing (sleep staging threw on 6 of 8 days), bump kAlgoVersion to 88; quiesce ingest during a data reset.\n• Improve AI coach reliability: configurable timeouts, Keychain recovery, and in-flight request survival.\n• Live HR/IMU stream ownership reconciler (#287).\n• Fix movement-floor DST bug and coach API-key reuse across endpoint changes.\n• fix gen4-default ratchet count (drifted from retired sites).\n• show band battery on home.\n• gpx export for recorded routes (manual strava upload).\n• make interval work/rest/rounds configurable.\n• steps: phone confirmed-zero hours veto wrist false positives.\n• add day switcher to home screen.\n• add altstore source for ios sideload update checks.\n• hr zone crossing buzz in live workouts.\n• add lab-results csv import.\n• respect imperial units for strength weight.\n• fix oura link test's real-time flake under full-suite CI.\n• smart wake window.\n• gate the live event write behind resetgate.\n• fix strain/calories/zone minutes resetting to 0 after a hard-kill relaunch mid-workout.\n• sleep detail: link to naps, fix stale comment.\n• add siri/shortcuts intent to enable tomorrow's alarm.\n• let you set your own hr zones (#304).\n• add an honest vo2max estimate.\n• fix cold-launch race in the alarm siri intent (#392 follow-up).\n• fix manual hr zone crash (double.infinity.round).\n• gate _onEngineState behind resetgate too.\n• fix Typed.of accepting Infinity/NaN as valid numbers.\n• fix fabricated resting-hr note on manual zones.\n• fix manual hr zone floor check.\n• fix skin_temp_z missing quantum floor.\n• smart wake: cover the armed alarm's own window, not just habitual wake.\n• mirror the alarm-confirm self-heal in headless sync.\n• fix exportWorkout/exportAll workout export race.\n• fix: signal priority resolver drops devices paired after custom ranking.\n• high freq wake window: fix DST-unsafe next-day arithmetic.\n• fix: NaN lat/lng slip past healthkit route import guard.\n• ios: stop re-arming forgotten bands on restore.\n• coach: validate date in log_journal/log_period too.\n• fix: whoop import stops clobbering same-day csv files.\n• fix: workouts list distance ignores imperial unit setting.\n• fix: theme toggle never synced to watch.\n• fix: atomic db-backed slot allocation for notification ids.\n• fix: widget push race can interleave two snapshots.\n• fix: guard against NaN/out-of-range lat-lng in gpx export.\n• fix: smart wake silently no-ops on null accel rows.\n• coach: close recursive-CTE DoS in the SQL guard.\n• fix: live workout invisible to overlap check, could double-book.\n• fix: cycle-day math off by one across DST.\n• fix: stopWorkout leaves stale workout suggestions behind.\n• fix cloud importer overcounting already-measured days.\n• fix controller leak in add-lab-result dialog.\n• coach: reject calendar-invalid dates in day.\n• stress index: gap-aware nnTimesMs wiring, kAlgoVersion 92.\n• fix: metric detail preferred device caption misses coverage-only devices.\n• gps: route zoneForHr through the shared HeartRateZoneSet.\n• fix: workout import reports deleted workouts as brought in.\n• repin analytics for hrv-freq welch gap guard, kAlgoVersion 92-\u003e93.\n• ai reminders: cap/refuse evening and morning slots inside quiet hours.\n• bump kAlgoVersion 93, repin analytics for overreaching rhr guard.\n• fix telemetry flush dropping unsent records on outbox trim race.\n• fix notif id mirror never pruned on healthy DB path.\n• fix: oura_link_test flakes under CI load, use deterministic wait instead of wall-clock margin.\n• fix torch state desync on failed hardware toggle.\n• fix: keyless local endpoints were sending Bearer null.\n• fix: route tracker can silently drop gps tail on stop.\n• fix live activity restart race.\n\n• crossday: guard glassbox SWC gate against quantized rhr/temp.\n• fix medSlotInstant DST drift.\n• fix: accel1Hz/ppgRedIr/skinTempRaw priority never applied at derive time.\n• fix: BLE notify exceptions, cycle_screen mounted guards, O(n^2) baseline scan.\n• Add a Home entry point to the AI briefing screen.\n• WHOOP MG Heart Screener: ECG capture, store, history and coach reading.\n• ios: wake on band prompts instead of holding a 1 Hz HR stream in background.\n• repin analytics for temp_circadian zero-variance fix, kAlgoVersion 96-\u003e97.\n\nNew Contributors:\n\n• @Nico-Ferrero made their first contribution.\n• @RiffRaff4469 made their first contribution.\n• @highdeftant made their first contribution.\n• @gentbot made their first contribution.\n• @OsamaMahmood made their first contribution.\n\n• readme: stop framing the whole app as WHOOP-only.\n• i18n(es): translate the 29 strings missing from app_es.arb.\n• fix ASK picker crash + iOS 17 launch crash.\n• fix iOS 17 launch crash from AccessorySetupKit.\n• feat(alarm): weekly schedule + latch-failure \u0026 7pm no-alarm safety notifications.\n• Any-wearable multi-device support.\n• colmi ring: pairs-only support.\n• fossil/skagen q hybrid: pair and bank raw bytes, pairs-only.\n• pinetime: pairs and banks raw data.\n• jyou band: pairs and banks raw data, decodes nothing yet.\n• hplus generic hr band, pairs-only.\n• lefun ring/band: pairs and connects, reports nothing yet.\n• dt78/dt92/dt66: pairs-only support.\n• ringconn: pair + drain, raw archive only.\n• wearfit band support (howear hk8 ultra / hk8 pro max).\n• mykronoz zetime: pairs and connects, battery only.\n• o2ring: pair, connect, bank raw bytes.\n• dafit/moyoung support: pairs and banks raw bytes, no decode.\n• tlw64/no1 f1: pairs and banks raw data, decodes nothing yet.\n• watch9: pairs and banks raw data, decodes nothing yet.\n• xwatch: pairs and banks raw data, decodes nothing yet.\n• smaq2oss: pairs and banks raw data, decodes nothing yet.\n• id115: pairs and banks raw data, decodes nothing yet.\n• makibeshr3: pairs and banks raw data, decodes nothing yet.\n• pebble 2/2se: pairs-only support.\n• mi band 2/3/4: pairs-only support.\n• withings steel hr: pairs-only support.\n• bangle.js: pairs-only support.\n• ultrahuman ring air: pair + drain, raw archive only.\n• garmin sports watch pairing.\n• add coros sports watch support.\n• add r11m/r10m smart ring support.\n• polar pmd: pair + stream ppi from a verity sense or oh1.\n• feat: show selected chart slot with a vertical cursor.\n• fix: hold the beat axis non-decreasing (sleep staging threw on 6 of 8 days), bump kAlgoVersion to 88; quiesce ingest during a data reset.\n• Improve AI coach reliability: configurable timeouts, Keychain recovery, and in-flight request survival.\n• Live HR/IMU stream ownership reconciler (#287).\n• Fix movement-floor DST bug and coach API-key reuse across endpoint changes.\n• fix gen4-default ratchet count (drifted from retired sites).\n• show band battery on home.\n• gpx export for recorded routes (manual strava upload).\n• make interval work/rest/rounds configurable.\n• steps: phone confirmed-zero hours veto wrist false positives.\n• add day switcher to home screen.\n• add altstore source for ios sideload update checks.\n• hr zone crossing buzz in live workouts.\n• add lab-results csv import.\n• respect imperial units for strength weight.\n• fix oura link test's real-time flake under full-suite CI.\n• smart wake window.\n• gate the live event write behind resetgate.\n• fix strain/calories/zone minutes resetting to 0 after a hard-kill relaunch mid-workout.\n• sleep detail: link to naps, fix stale comment.\n• add siri/shortcuts intent to enable tomorrow's alarm.\n• let you set your own hr zones (#304).\n• add an honest vo2max estimate.\n• fix cold-launch race in the alarm siri intent (#392 follow-up).\n• fix manual hr zone crash (double.infinity.round).\n• gate _onEngineState behind resetgate too.\n• fix Typed.of accepting Infinity/NaN as valid numbers.\n• fix fabricated resting-hr note on manual zones.\n• fix manual hr zone floor check.\n• fix skin_temp_z missing quantum floor.\n• smart wake: cover the armed alarm's own window, not just habitual wake.\n• mirror the alarm-confirm self-heal in headless sync.\n• fix exportWorkout/exportAll workout export race.\n• fix: signal priority resolver drops devices paired after custom ranking.\n• high freq wake window: fix DST-unsafe next-day arithmetic.\n• fix: NaN lat/lng slip past healthkit route import guard.\n• ios: stop re-arming forgotten bands on restore.\n• coach: validate date in log_journal/log_period too.\n• fix: whoop import stops clobbering same-day csv files.\n• fix: workouts list distance ignores imperial unit setting.\n• fix: theme toggle never synced to watch.\n• fix: atomic db-backed slot allocation for notification ids.\n• fix: widget push race can interleave two snapshots.\n• fix: guard against NaN/out-of-range lat-lng in gpx export.\n• fix: smart wake silently no-ops on null accel rows.\n• coach: close recursive-CTE DoS in the SQL guard.\n• fix: live workout invisible to overlap check, could double-book.\n• fix: cycle-day math off by one across DST.\n• fix: stopWorkout leaves stale workout suggestions behind.\n• fix cloud importer overcounting already-measured days.\n• fix controller leak in add-lab-result dialog.\n• coach: reject calendar-invalid dates in day.\n• stress index: gap-aware nnTimesMs wiring, kAlgoVersion 92.\n• fix: metric detail preferred device caption misses coverage-only devices.\n• gps: route zoneForHr through the shared HeartRateZoneSet.\n• fix: workout import reports deleted workouts as brought in.\n• repin analytics for hrv-freq welch gap guard, kAlgoVersion 92-\u003e93.\n• ai reminders: cap/refuse evening and morning slots inside quiet hours.\n• bump kAlgoVersion 93, repin analytics for overreaching rhr guard.\n• fix telemetry flush dropping unsent records on outbox trim race.\n• fix notif id mirror never pruned on healthy DB path.\n• fix: oura_link_test flakes under CI load, use deterministic wait instead of wall-clock margin.\n• fix torch state desync on failed hardware toggle.\n• fix: keyless local endpoints were sending Bearer null.\n• fix: route tracker can silently drop gps tail on stop.\n• fix live activity restart race.\n\n• crossday: guard glassbox SWC gate against quantized rhr/temp.\n• fix medSlotInstant DST drift.\n• fix: accel1Hz/ppgRedIr/skinTempRaw priority never applied at derive time.\n• fix: BLE notify exceptions, cycle_screen mounted guards, O(n^2) baseline scan.\n• Add a Home entry point to the AI briefing screen.\n• WHOOP MG Heart Screener: ECG capture, store, history and coach reading.\n• ios: wake on band prompts instead of holding a 1 Hz HR stream in background.\n• repin analytics for temp_circadian zero-variance fix, kAlgoVersion 96-\u003e97.\n\nNew Contributors:\n\n• @Nico-Ferrero made their first contribution.\n• @RiffRaff4469 made their first contribution.\n• @highdeftant made their first contribution.\n• @gentbot made their first contribution.\n• @OsamaMahmood made their first contribution.",
          "downloadURL": "https://github.com/OpenStrap/edge/releases/download/v0.10.0/openstrap-edge-v0.10.0-unsigned.ipa",
          "size": 19394425,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSBluetoothAlwaysUsageDescription": "OpenStrap connects to your WHOOP band over Bluetooth to sync your health data.",
          "NSBluetoothPeripheralUsageDescription": "OpenStrap connects to your WHOOP band over Bluetooth to sync your health data.",
          "NSCameraUsageDescription": "OpenStrap uses the camera to read the barcode on a food packet, so logging a meal does not mean typing its nutrition panel out by hand. It reads the barcode digits and nothing else — no photo is taken, kept, or sent anywhere.",
          "NSHealthShareUsageDescription": "OpenStrap reads your height, weight, date of birth and sex to set up your profile; your resting heart rate so it has a starting baseline; any blood pressure, blood glucose or body temperature readings, so a device that is cleared to measure those can sit beside your own data with that device's name on it — never blended into an OpenStrap number; and your workouts and their routes, so a run recorded by another app can be listed and drawn on a map here, named with the app that recorded it and never counted as one OpenStrap measured. It also reads back its own recent samples so it never writes duplicates.",
          "NSHealthUpdateUsageDescription": "OpenStrap writes your sleep, resting heart rate, HRV, respiratory rate, energy and workouts into Apple Health.",
          "NSLocationAlwaysAndWhenInUseUsageDescription": "OpenStrap never needs always-on location and does not ask for it. It records your route only while a run, ride or walk is actively running — including when your screen is locked — and stops as soon as you finish. Your route stays on this device and is never uploaded.",
          "NSLocationWhenInUseUsageDescription": "OpenStrap records your route during a run, ride or walk so you can see it, colored by heart-rate zone, when the workout ends. Recording continues while your screen is locked or you switch apps, but only while a workout is running — it stops the moment you finish. Your route stays on this device and is never uploaded.",
          "NSMotionUsageDescription": "OpenStrap counts your daily steps from this iPhone's own motion chip, because a band on your wrist cannot tell walking from stirring a pot, and the phone in your pocket can. It reads step counts only — never your location or anything else the motion chip records — and only the last few days of them. Your steps stay on this device and are never uploaded.",
          "NSPhotoLibraryUsageDescription": "OpenStrap does not access your photo library. This permission is linked by a dependency but unused — importing your own exported WHOOP data uses the Files app, not Photos."
        }
      }
    },
    {
      "name": "Vartagram",
      "bundleIdentifier": "org.cpartisans.vartagram",
      "developerName": "wrwrabbit",
      "subtitle": "Telegram-iOS",
      "localizedDescription": "Vartagram Source Code Compilation Guide:\n\nWe welcome all developers to use our source code to create applications. There are several things we require from all developers for the moment.\n\nCreating your Telegram Application:\n\n• Please remember to publish your code too in order to comply with the licences.\n\nAdjust Configuration:\n\n• Generate a random identifier:.\n\n• Open Keychain Access and navigate to Certificates. Locate Apple Development: your@email.address (XXXXXXXXXX) and double tap the certificate. Under Details, locate Organizational Unit. This is the Team ID.\n• Edit build-system/template_minimal_development_configuration.json. Use data from the previous steps.\n\nXcode:\n\n• Copy and edit build-system/appstore-configuration.json.\n• Generate an Xcode project:.\n\nIPA:\n\n• Repeat the steps from the previous section. Use distribution provisioning profiles.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/org.cpartisans.vartagram.png",
      "tintColor": "#0070b0",
      "category": "social",
      "versions": [
        {
          "version": "1.0",
          "date": "2026-08-12T22:47:38Z",
          "localizedDescription": "",
          "downloadURL": "https://github.com/wrwrabbit/Vartagram/releases/download/build-32764/Telegram.ipa",
          "size": 68496376,
          "minOSVersion": "13.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "beta-reports-active",
          "com.apple.developer.team-identifier",
          "com.apple.developer.usernotifications.filtering",
          "com.apple.security.application-groups",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSCameraUsageDescription": "We need this so that you can take and share photos and videos.",
          "NSContactsUsageDescription": "Vartagram stores your contacts heavily encrypted in the cloud to let you connect with your friends across all your devices.",
          "NSFaceIDUsageDescription": "You can use Face ID to unlock the app.",
          "NSLocationAlwaysAndWhenInUseUsageDescription": "When you choose to share your Live Location with friends in a chat, Vartagram needs background access to your location to keep them updated for the duration of the live sharing.",
          "NSLocationAlwaysUsageDescription": "When you send your location to your friends, Vartagram needs access to show them a map. You also need this to send locations from an Apple Watch.",
          "NSLocationWhenInUseUsageDescription": "When you send your location to your friends, Vartagram needs access to show them a map.",
          "NSMicrophoneUsageDescription": "We need this so that you can record and share voice messages and videos with sound.",
          "NSMotionUsageDescription": "When you send your location to your friends, Vartagram needs access to show them a map.",
          "NSPhotoLibraryAddUsageDescription": "We need this so that you can share photos and videos from your photo library.",
          "NSPhotoLibraryUsageDescription": "We need this so that you can share photos and videos from your photo library.",
          "NSSiriUsageDescription": "You can use Siri to send messages.",
          "NSSpeechRecognitionUsageDescription": "We need this to transcribe voice messages on your request."
        }
      }
    },
    {
      "name": "Syncara",
      "bundleIdentifier": "app.syncara",
      "developerName": "khaled-0",
      "subtitle": "Carry your playlists everywhere, even when offline",
      "localizedDescription": "Syncara:\n\nSync YouTube playlists offline. Because YT Music \\\u003cinsert reason here\\\u003e.\n\nFeatures:\n\n• Background playback.\n• Fluid gesture navigations.\n• Lyrics support.\n• Cross Platform (Android, IOS, MacOS, Linux and Windows).\n• Keyboard Shortcuts.\n\nLook \u0026 Feel:\n\n• Follows modern material-3 interface design guidelines.\n• Adaptive and responsive layout.\n• Dark and Night mode support.\n• Matches your system color scheme automatically.\n\nDownload:\n\nSyncara for all platform are primarily released on Github. Tap on your device icon to directly download.\n\nWindows:\n\nUnsigned msix / zipped executable is available. To install msix you need to run the following command in powershell as administrator.\n\niOS and MacOS:\n\nIOS: Unsigned (.ipa) builds are.\n\nNote: Use Sideloadly to install it. Here's a Video tutorial.\n\nMacOS: Available directly as app (.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/app.syncara.png",
      "tintColor": "#e04040",
      "category": "entertainment",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/khaled-0/Syncara@main/docs/screenshots/android_1.png",
        "https://cdn.jsdelivr.net/gh/khaled-0/Syncara@main/docs/screenshots/android_2.png",
        "https://cdn.jsdelivr.net/gh/khaled-0/Syncara@main/docs/screenshots/android_3.png",
        "https://cdn.jsdelivr.net/gh/khaled-0/Syncara@main/docs/screenshots/android_4.png"
      ],
      "versions": [
        {
          "version": "0.1.9",
          "date": "2025-12-31T06:15:21Z",
          "localizedDescription": "NOTE: Please use Reset Library from preference screen if you have duplicate library entries.\n\nIt's been a long time since last release. Development has been slow, I've been busy as well.\n\nThis release introduces Local Library import feature. Now you can listen to your locally downloaded media as well in Syncara. I expect many bug reports as it's not polished as much.\n\nIn the meantime, I'm working on the following.\n\n• Revamping the Ui to more good looking one.\n• Adding LRCLib for lyrics.\n• Adding Localizations.\n\n• Rename playlist.\n\n• initial fastlane structures from IzzyOnDroid.\n\nNew Contributors:\n\n• @IzzySoft made their first contribution.",
          "downloadURL": "https://github.com/khaled-0/Syncara/releases/download/0.1.9/syncara_ios_unsigned.ipa",
          "size": 17724700,
          "minOSVersion": "13.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "ffmpeg",
      "bundleIdentifier": "com.ppgjx.ffmpeg",
      "developerName": "RipeStore",
      "subtitle": "A commandline based ffmpeg wrapper",
      "localizedDescription": "FFmpeg-ios is a local audio and video processing tool that runs on iPhone and iPad, suitable for users who need to perform video to audio conversion, audio format conversion, video compression, clip cropping, volume adjustment, and media information viewing.\n\nThis build is distributed by a third-party not related to xujimu/ffmpeg-ios/ffmpeg-workbench/ffmpeg.\n\nThe App has a built-in FFmpeg command-line workbench. You can import videos, audios or folders in the app sandbox workspace and process files using FFmpeg commands similar to those on the desktop. For instance, extract MP4 videos to MP3 audio, convert audio to WAV, compress video size, crop specified segments, or use ffprobe to view file encoding, duration, resolution, bit rate and other information.\n\nUpstream FFmpeg-iOS Source Code Repository: https://github.com/xujimu/ffmpeg-ios",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.ppgjx.ffmpeg.png",
      "tintColor": "#002030",
      "category": "entertainment",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/RipeStore/ffmpeg-ios-builder@main/screenshots/screenshot_01.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/ffmpeg-ios-builder@main/screenshots/screenshot_02.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/ffmpeg-ios-builder@main/screenshots/screenshot_03.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/ffmpeg-ios-builder@main/screenshots/screenshot_04.webp"
      ],
      "versions": [
        {
          "version": "1.1",
          "date": "2026-08-18T07:16:20Z",
          "localizedDescription": "first commit.\n\nBranch: main.\n\nBuilt from upstream commit ab6ef64 on the main branch.",
          "downloadURL": "https://github.com/RipeStore/ffmpeg-ios-builder/releases/download/v1.1-ab6ef64/FFmpegShellIOS-v1.1-ab6ef64-unsigned.ipa",
          "size": 13423932,
          "minOSVersion": "17.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSPhotoLibraryAddUsageDescription": "用于把处理后的音频或视频保存到相册。",
          "NSPhotoLibraryUsageDescription": "用于从相册导入媒体文件到 App 工作区。"
        }
      }
    },
    {
      "name": "Seanime",
      "bundleIdentifier": "app.seanime.tenji",
      "developerName": "5rahim",
      "subtitle": "Open-source Seanime client for iOS, Android, tvOS and Android TV",
      "localizedDescription": "About:\n\nSeanime Tenji is a mobile and TV client app for your Seanime media server with a built-in player and offline support for streaming anime and reading manga.\n\nSeanime Tenji does not provide, host, or distribute any media content. Users are responsible for obtaining media through legal means and complying with their local laws.\n\nFeatures:\n\n• Cross-platform: Available on Android, AndroidTV, iOS and tvOS.\n• Built-in media player: Powered by libmpv, supports most anime codecs and formats.\n• Playback Options: Support for server local files, torrent, debrid and online streaming.\n\n• External Player Support: Support for opening media in mobile external players such as VLC, MX Player, Outplayer, etc.\n\nDevelopment:\n\nSeanime Tenji is built with React Native and Expo. Detailed guides on setup and local development workflows can be found in the Contributing Guide.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/app.seanime.tenji.png",
      "tintColor": "#100030",
      "category": "entertainment",
      "versions": [
        {
          "version": "0.3.0",
          "date": "2026-07-25T14:33:11Z",
          "localizedDescription": "Seanime Tenji:\n\nThis is a release build. Features may still be incomplete or unstable.\n\n• ⚡️ Player: Buffered progress in seek bar.\n• ⚡️ Player (Android): SubRip subtitles now get a usable fallback font.\n• ⚡️ Player: Playback stats.\n• ⬆️ Upgraded to React Native 0.85 / Expo SDK 56.\n\nAndroid:\n\n• Version code: 23.\n• SHA-256: d10939cb2ea23cec00753037448345800b1a1c74679f55dbbce7d1a43cc9fd30.\n\nAndroid TV:\n\n• Version code: 23.\n• SHA-256: e3326e20795a979800ba54e8d0384f347fdc38fb506fbeec8a20914b0c998f21.\n\niOS:\n\n• Build number: 23.\n• SHA-256: 647b70c0a90b96b67927337f7bf672262abc44ab4691978098612b3752600061.\n\ntvOS:\n\n• Build number: 23.\n• SHA-256: bc9ce4e5a9936030bbbd73e698c6b85c6f1f86ca28528fd7ed6659e2f0b49e92.\n\nBuild:\n\n• Commit: c8f8db6.",
          "downloadURL": "https://github.com/5rahim/seanime-tenji/releases/download/v0.3.0-23.23-20260725-c8f8db6/seanime-tenji-v0.3.0-23-20260725-c8f8db6.ipa",
          "size": 35117815,
          "minOSVersion": "16.4"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSLocalNetworkUsageDescription": "Seanime needs local network access to connect to your server on your home network.",
          "NSMotionUsageDescription": "Allow Seanime to access your device motion"
        }
      }
    },
    {
      "name": "PancakeStore",
      "bundleIdentifier": "com.jbdotparty.PancakeStore",
      "developerName": "jailbreakdotparty",
      "subtitle": "Logging in may break at random due to Apple's constant server-side changes",
      "localizedDescription": "Logging in may break at random due to Apple's constant server-side changes. If login fails, make sure that you're on the latest version of PancakeStore. Do NOT open any issues or ask for support regading logins. It will not speed up the process of fixing authentication.\n\nBefore you continue...:\n\n• Not only is authentication unstable, but there is no guarantee that user data will be retained when downgrading! Use this tool at your own risk.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.jbdotparty.PancakeStore.png",
      "tintColor": "#f08030",
      "category": "other",
      "versions": [
        {
          "version": "1.3.1",
          "date": "2026-07-27T08:58:47Z",
          "localizedDescription": "EoL Notice:\n\nPancakeStore is officially EoL (End-of-Life) as of 8/22/2026.\n\nApple has implemented server-side changes to the iTunes API that's used in PancakeStore, as well as other popular tools such as ipatool, which primarily include SEP-based device attestation. What this means, in short, is that PancakeStore will not work ever again unless someone figures out an alternative route for downgrading apps, or successfully re-implements the attestation logic (both of which are very difficult).\n\nIn the event that this occurs, or a new method for downgrading apps is discovered and made, we will update PancakeStore. Until then, consider the project EoL.\n\nThank you all for all of your support of this tool, and we apologize that things have to halt like this.\n\n❤️.\n\n# Original release notes.\n\nThis update mainly focuses on localizations, but we recommend updating nonetheless.\n\n## Localizations.\n\nWe've added full localization for the following languages:\n\n• Spanish (@isacucho).\n• Arabic (@neonmodder123).\n• Dutch (@jurre111).\n• Vietnamese (@MineTurtlee).\n• Italian (@tiziodied).\n• Swedish (@nxtcoreee3).\n• Romanian (@nxtcoreee3).\n• Norwegian (@nxtcoreee3).\n\nAs you can see, lots more languages compared to just over a day ago. We are very thankful for all of our volunteer translators for their contributions and assistance.\n\n## Changes.\n\n• Added new Translators section to the Credits list.\n• Very minor backend adjustments.\n\nThank you everybody for your patience and support! Happy downgrading!",
          "downloadURL": "https://github.com/jailbreakdotparty/PancakeStore/releases/download/1.3.1/PancakeStore_v1.3.1.ipa",
          "size": 3130839,
          "minOSVersion": "16.4"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "Session",
      "bundleIdentifier": "com.loki-project.loki-messenger",
      "developerName": "session-foundation",
      "subtitle": "Session iOS - A Decentralized, Onion Routed, Private Messenger",
      "localizedDescription": "Session iOS:\n\nDownload Session on the App Store.\n\nBuild instructions:\n\nBuild instructions can be found in BUILDING.md.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.loki-project.loki-messenger.png",
      "tintColor": "#00f080",
      "category": "social",
      "screenshotURLs": [
        "https://i.imgur.com/Ioub5bx.png"
      ],
      "versions": [
        {
          "version": "2.15.4",
          "date": "2026-07-29T20:30:05Z",
          "localizedDescription": "• [Automated] Update fallback static snode list.\n\n• Removed synchronous log flush from scene lifecycle callbacks.\n\n• Fix number 1 crash: off-main-thread Auto Layout background crash.",
          "downloadURL": "https://github.com/session-foundation/session-ios/releases/download/2.15.4/session-2.15.4.ipa",
          "size": 46295255,
          "minOSVersion": "15.6"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "com.apple.developer.team-identifier",
          "com.apple.security.application-groups",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSAppleMusicUsageDescription": "Session needs to use Apple Music to play media attachments.",
          "NSCameraUsageDescription": "Session needs camera access to take pictures and scan QR codes.",
          "NSFaceIDUsageDescription": "Session's Screen Lock feature uses Face ID.",
          "NSLocalNetworkUsageDescription": "Session needs access to local network to make voice and video calls.",
          "NSMicrophoneUsageDescription": "Session needs access to your microphone for calls and to send to audio messages.",
          "NSPhotoLibraryAddUsageDescription": "Session needs access to your library to save photos.",
          "NSPhotoLibraryUsageDescription": "Session needs access to your library to update your avatar and send photos."
        }
      }
    },
    {
      "name": "Stable Action",
      "bundleIdentifier": "com.rudrashah.Stable-Action",
      "developerName": "scienceLabwork",
      "subtitle": "Samsung Super Steady Horizon Lock - rebuilt for iPhone",
      "localizedDescription": "Overview:\n\nSamsung's Galaxy S26 Ultra ships a feature called Super Steady with Horizon Lock that keeps your footage perfectly level no matter how much you tilt or shake the phone. It's one of the most impressive stabilisation tricks in mobile cameras right now - and it was exclusive to Android.\n\nStable Action brings that exact same experience to iOS. Point it at anything, tilt your wrist, run, jump, ride - the horizon stays locked flat, just like on the S26 Ultra. Built entirely in native Swift, runs 100% on-device, no subscriptions, no cloud.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.rudrashah.Stable-Action.png",
      "tintColor": "#f00000",
      "category": "photo-video",
      "versions": [
        {
          "version": "1.0",
          "date": "2026-03-01T10:10:05Z",
          "localizedDescription": "What's new.\n\n• Normal Recording Bug Fixed.\n• New Gallery View.\n• Added Stability overall.",
          "downloadURL": "https://github.com/scienceLabwork/Stable-Action/releases/download/V1.0.1/StableActionV1.0.1.ipa",
          "size": 2669757,
          "minOSVersion": "26.2"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "com.apple.developer.team-identifier",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSCameraUsageDescription": "To test algorithms",
          "NSMicrophoneUsageDescription": "To test microphone",
          "NSPhotoLibraryAddUsageDescription": "To store photo",
          "NSPhotoLibraryUsageDescription": "To browse your recordings in the gallery"
        }
      }
    },
    {
      "name": "Husk",
      "bundleIdentifier": "com.husk.app",
      "developerName": "Leviidev",
      "subtitle": "Android Emulator for iOS",
      "localizedDescription": "Husk:\n\nAndroid app launcher for iOS.\n\nDrop in an APK, tap it, and the Android app opens full-screen.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.husk.app.png",
      "tintColor": "#a080e0",
      "category": "games",
      "versions": [
        {
          "version": "0.4.0",
          "date": "2026-09-21T14:38:56Z",
          "localizedDescription": "What's new:\n\n• Hopefully fixed iOS 26 JIT not working.",
          "downloadURL": "https://github.com/Leviidev/Husk/releases/download/0.4.1/Husk.ipa",
          "size": 40275539,
          "minOSVersion": "16.4"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "Voyager",
      "bundleIdentifier": "app.vger.voyager",
      "developerName": "aeharding",
      "subtitle": "Voyager — a beautiful app for Lemmy and Piefed",
      "localizedDescription": "Voyager for Lemmy:\n\nVoyager is an Apollo-like open source web client for Lemmy. It's a mobile-first app, but works great on desktop devices, too. Please feel free to try it out!\n\nWhat does Voyager currently support?\n\n• Light/dark mode.\n• View and subscribe to communities.\n• Multi account support.\n• Single comment thread context view.\n• Upvote, downvote and reply to threads and comments.\n• Interact with user profiles.\n• Comment thread collapsing.\n• A bunch of swipe gestures.\n• Messaging, mentions and replies.\n• Creating new posts (url/photo/text).\n• Deleting/editing comments.\n• Deleting/editing posts.\n• Swipe to hide posts.\n• iOS and Android themes.\n\nWhat is on the roadmap?\n\n• More customization.\n• Native notifications and badging.\n\n• .and more!",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/app.vger.voyager.png",
      "tintColor": "#102050",
      "category": "social",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/aeharding/voyager@main/public/promo.webp"
      ],
      "versions": [
        {
          "version": "2.49.1",
          "date": "2026-09-13T05:07:24Z",
          "localizedDescription": "🐛 Fixes:\n\n• fix: preserve special characters in search.\n\n• PR: #2358.\n\n📝 Other Changes:\n\n• chore: rust react compiler pipeline.\n\n• PR: #2357.\n\n• chore: upgrade dependencies.\n\n• PR: #2359.",
          "downloadURL": "https://github.com/aeharding/voyager/releases/download/2.49.1/Voyager-iOS-2.49.1.ipa",
          "size": 8232319,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "beta-reports-active",
          "com.apple.developer.team-identifier",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSCameraUsageDescription": "Attach photo to a new post",
          "NSFaceIDUsageDescription": "Optional setting to check face ID when opening app",
          "NSMicrophoneUsageDescription": "Attach video to a new post",
          "NSPhotoLibraryAddUsageDescription": "Save photos to device"
        }
      }
    },
    {
      "name": "Yattee",
      "bundleIdentifier": "stream.yattee.app",
      "developerName": "yattee",
      "subtitle": "Privacy oriented video player for iOS, tvOS and macOS",
      "localizedDescription": "Yattee 2 is in the works! A new version of the app is being built with a refreshed experience. It pairs with the new Yattee Server — a self-hosted backend powered by yt-dlp that supports 1000+ sites.\n\nFeatures:\n\n• Native user interface built with SwiftUI with customization settings.\n• Player queue and history.\n• Player component with custom controls, gestures and support for 4K playback.\n• Fullscreen, Picture in Picture and background audio playback.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/stream.yattee.app.png",
      "tintColor": "#0060d0",
      "category": "entertainment",
      "versions": [
        {
          "version": "2.0.0",
          "date": "2026-08-23T11:04:26Z",
          "localizedDescription": "Bug Fixes:\n\n• Fix no streams reported from Piped (#974) - thanks @raycheung.\n• Fix description timestamp links seeking to wrong position for out-of-range values (#966) - thanks @YuriNachos.\n• Fix deep link timestamp parsing accepting infinity as seek position (#965) - thanks @YuriNachos.\n• Fix audio sample rate label dropping the kHz decimal (#964) - thanks @YuriNachos.\n• Fix playback rate display dropping meaningful digits (#963) - thanks @YuriNachos.\n• Fix www.duckduckgo.com misrouting to yt-dlp external video extraction (#962) - thanks @YuriNachos.\n\nOther:\n\n• Chunk stateless feed requests to support more than 500 subscriptions (#967) - thanks @pehbehbeh.",
          "downloadURL": "https://github.com/yattee/yattee/releases/download/2.0.0-beta.270/Yattee-2.0.0-iOS.ipa",
          "size": 34570188,
          "minOSVersion": "18.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "beta-reports-active",
          "com.apple.developer.team-identifier",
          "com.apple.security.application-groups",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSLocalNetworkUsageDescription": "Yattee uses local network to discover and control playback on other Yattee devices."
        }
      }
    },
    {
      "name": "Linkwarden",
      "bundleIdentifier": "app.linkwarden",
      "developerName": "RipeStore",
      "subtitle": "Client for the self-hosted bookmark manager to collect, read, annotate, and fully preserve what matters, all in one place",
      "localizedDescription": "Linkwarden is a self-hosted, open-source collaborative bookmark manager to collect, read, annotate, and fully preserve what matters, all in one place.\n\nThis build is distributed by a third-party not related to Linkwarden.\n\nSave web pages, articles, and bookmarks with automatic preservation. Organize your links into collections, tag them, collaborate with team members, and access your curated library seamlessly across your devices.\n\nUpstream Linkwarden Source Code Repository: https://github.com/linkwarden/linkwarden",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/app.linkwarden.png",
      "tintColor": "#002030",
      "category": "other",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/RipeStore/linkwarden@main/screenshots/screenshot_01.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/linkwarden@main/screenshots/screenshot_02.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/linkwarden@main/screenshots/screenshot_03.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/linkwarden@main/screenshots/screenshot_04.webp"
      ],
      "versions": [
        {
          "version": "1.4.2",
          "date": "2026-09-10T04:20:44Z",
          "localizedDescription": "• Significantly improved the performance of link, search, tag, collection, and dashboard queries at scale.",
          "downloadURL": "https://github.com/RipeStore/linkwarden/releases/download/v2.16.3/Linkwarden-ios-v2.16.3-mobile1.4.2-unsigned.ipa",
          "size": 18977804,
          "minOSVersion": "15.1"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSFaceIDUsageDescription": "Allow Linkwarden to access your Face ID biometric data.",
          "NSPhotoLibraryUsageDescription": "Allow Linkwarden to access your photos to upload custom link banners."
        }
      }
    },
    {
      "name": "Palladium",
      "bundleIdentifier": "com.tfourj.Palladium",
      "developerName": "tfourj",
      "subtitle": "iOS Media downloader app based on YT-DLP",
      "localizedDescription": "Palladium:\n\nOn-device iOS media downloader powered by yt-dlp, gallery-dl, ffmpeg, and PythonKit.\n\nApp Screenshots:\n\nThis URL is not allowed by the configured download allowlists.\n\nTo allow downloads from any URL, visit getpalladium.app/allowlist and click Add to Palladium.\n\n(Allowlists not required after v1.3.2+).\n\nWhat It Does:\n\n• Uses yt-dlp for media extraction, gallery-dl for images, and ffmpeg for processing.\n• Runs Python tooling inside the app.\n\nWhile it is actively tested and continuously improved, you may still encounter bugs. Feedback is greatly appreciated. If you find a bug, please open an issue and we’ll work to fix it.\n\nDownload:\n\n• .ipa from GitHub.\n\n• Nightly: GitHub Actions.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.tfourj.Palladium.png",
      "tintColor": "#6156e2",
      "category": "other",
      "screenshotURLs": [
        "https://getpalladium.app/assets/palladium_save_download-3klk9xNj.png",
        "https://getpalladium.app/assets/palladium_home-D3fXGuDM.png",
        "https://getpalladium.app/assets/palladium_package_manager-CDmMQXL5.png"
      ],
      "versions": [
        {
          "version": "1.4.3",
          "date": "2026-09-26T17:47:58Z",
          "localizedDescription": "• Add support for alternate JS runtime (QuickJS).\n• Add contributors/translators to About view.",
          "downloadURL": "https://github.com/tfourj/Palladium/releases/download/v1.4.3/Palladium-v1.4.3.ipa",
          "size": 36923382,
          "minOSVersion": "17.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSCameraUsageDescription": "Palladium does not use the camera directly. This message is included because bundled system APIs may reference camera access.",
          "NSPhotoLibraryAddUsageDescription": "Save downloaded videos to your photo library."
        }
      }
    },
    {
      "name": "Doer",
      "bundleIdentifier": "com.naine.doer",
      "developerName": "moliango",
      "subtitle": "A native iOS client for Linux.do — UIKit + Swift, no SwiftUI in the main app",
      "localizedDescription": "Features:\n\n• [x] Linux.do browsing — Latest, top, categories, tags, and search, all rendered with native UIKit.\n• [x] Topic detail — Cooked HTML rendered as native text, images, quotes, code, polls, spoilers, oneboxes, tables, videos, and a timeline jumper.\n• [x] Replies \u0026 reactions — Reply to topics or floors, like posts, and use Linux.do emoji / Boost.\n• [x] Image viewer — Multi-image swipe, count, share, save, and close.\n• [x] Account \u0026 Me — Profile, badges, bookmarks, drafts, browsing history, notifications, and private messages.\n• [x] Auth — Web login, cookie reuse for native requests, and global Cloudflare challenge handling, plus silent session recovery for third-party platforms.\n\n• [x] Share \u0026 widget — Share a topic URL into Doer, plus a home-screen quick-launch widget.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.naine.doer.png",
      "tintColor": "#4080e0",
      "category": "utilities",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/moliango/doer@main/assets/default.png",
        "https://cdn.jsdelivr.net/gh/moliango/doer@main/assets/xiaochegnxu2.png",
        "https://cdn.jsdelivr.net/gh/moliango/doer@main/assets/me.png",
        "https://cdn.jsdelivr.net/gh/moliango/doer@main/assets/login.png",
        "https://cdn.jsdelivr.net/gh/moliango/doer@main/assets/huyan.png"
      ],
      "versions": [
        {
          "version": "1.8.5.3",
          "date": "2026-09-28T04:11:27Z",
          "localizedDescription": "",
          "downloadURL": "https://github.com/moliango/doer/releases/download/v1.8.5.3/doer-unsigned.ipa",
          "size": 28033512,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSCameraUsageDescription": "用于在站内聊天中拍照并发送图片",
          "NSMicrophoneUsageDescription": "用于在回复中录制语音消息",
          "NSPhotoLibraryAddUsageDescription": "用于保存话题分享图片到相册",
          "NSSpeechRecognitionUsageDescription": "用于将按住说话的录音转成中文文字"
        }
      }
    },
    {
      "name": "Opaline",
      "bundleIdentifier": "com.verback.YTLite",
      "developerName": "verback2308",
      "subtitle": "A lightweight, privacy-focused YouTube client for iOS built entirely with UIKit. No ads, no tracking, no dependencies",
      "localizedDescription": "Opaline:\n\nA lightweight, native YouTube client for iOS 12+. No ads, no tracking, no dependencies.\n\nOpaline was released as YTLite until August. It was renamed to avoid confusion with an unrelated tweak of the same name and is not related to it.\n\nScreenshots follow your GitHub theme — the app supports both light and dark mode.\n\nWhy:\n\nWhen Google dropped support for the official YouTube app on older devices, there was no way to watch videos properly. Browsers capped quality at 360p — and even that barely ran. Opaline was born to restore what was lost: high-quality playback on hardware that still works fine, just ignored by Google — a focused, lightweight client that does one thing well.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.verback.YTLite.png",
      "tintColor": "#90c0e0",
      "category": "entertainment",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/verback2308/Opaline@main/screenshots/app/iphone/light/recommendations.jpeg",
        "https://cdn.jsdelivr.net/gh/verback2308/Opaline@main/screenshots/app/iphone/light/player.jpeg",
        "https://cdn.jsdelivr.net/gh/verback2308/Opaline@main/screenshots/app/iphone/light/channel.jpeg",
        "https://cdn.jsdelivr.net/gh/verback2308/Opaline@main/screenshots/app/iphone/light/subscriptions.jpeg",
        "https://cdn.jsdelivr.net/gh/verback2308/Opaline@main/screenshots/app/iphone/light/settings.jpeg"
      ],
      "versions": [
        {
          "version": "1.12.0",
          "date": "2026-09-10T02:02:27Z",
          "localizedDescription": "New.\n\nFixes.\n\nAlso.",
          "downloadURL": "https://github.com/verback2308/Opaline/releases/download/1.12.0/Opaline_1.12.0.ipa",
          "size": 6685919,
          "minOSVersion": "12.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "com.apple.developer.team-identifier",
          "get-task-allow"
        ],
        "privacy": {
          "NSPhotoLibraryAddUsageDescription": "This lets you save a downloaded video to your photo library."
        }
      }
    },
    {
      "name": "Paicord",
      "bundleIdentifier": "com.llsc12.Paicord",
      "developerName": "llsc12",
      "subtitle": "A native Discord client",
      "localizedDescription": "Paicord:\n\nA native Discord client written in Swift using SwiftUI, with a goal of feature parity with customisation and Quality-of-Life additions!\n\nPaicord is still in development! Expect a number of issues or unimplemented features. If you encounter a bug, please create an issue!\n\nPaicord currently supports sending messages, replying to messages, uploading files and photos, it has partial Discord-flavoured markdown support, partial reactions support, partial embeds support etc.\n\nThis list is not exhaustive but the goal for Paicord is to have parity with the official Discord client, excluding unfavourable things like upselling of services. A real feature/todo list will be made eventually.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.llsc12.Paicord.png",
      "tintColor": "#f0b050",
      "category": "social",
      "screenshotURLs": [
        "https://github.com/user-attachments/assets/d6b73ecb-c008-412e-9715-5817954f93f2"
      ],
      "versions": [
        {
          "version": "0.1.0",
          "date": "2026-09-27T12:43:03Z",
          "localizedDescription": "Automated build for commit 5c76f36.",
          "downloadURL": "https://github.com/llsc12/Paicord/releases/download/paicord-nightly-36318765922/Paicord-iOS-5c76f36.ipa",
          "size": 32994164,
          "minOSVersion": "17.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSCameraUsageDescription": "le camera ykyk",
          "NSMicrophoneUsageDescription": "Taking videos with le camera",
          "NSMotionUsageDescription": "Camera autorotation",
          "NSSpeechRecognitionUsageDescription": "Voice message transcriptions"
        }
      }
    },
    {
      "name": "KSRE",
      "bundleIdentifier": "sh.fhs.ksre",
      "developerName": "fleetingheart",
      "subtitle": "Mirror of the KSRE repo. Note that this is just a mirror - we don't work with pull requests on github. To contribute, please visit repo's website",
      "localizedDescription": "Mirror of the KSRE repo. Note that this is just a mirror - we don't work with pull requests on github. To contribute, please visit repo's website.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/sh.fhs.ksre.png",
      "tintColor": "#f0f0d0",
      "category": "other",
      "versions": [
        {
          "version": "2.0.4",
          "date": "2026-02-15T20:02:06Z",
          "localizedDescription": "Added:\n\n• Traditional Chinese translation (by 307c93).\n• Brazilian Portuguese translation (by Vavan).\n• Configuarion of text box opacity (by Ikariya, original reference code by Dr.Simp).\n• Font scaling (by Ikariya).\n\nChanged:\n\n• Updated to RenPy 8.5.2.\n• Updated Spanish translation (by DrSimp).\n• Make music and sfx volumes configurable on mobile devices (by Ikariya).\n\nFixed:\n\n• Japanese translation fixes (by neparij).\n• Akira CG display and gallery page navigation (by Ikariya).\n• Properly hide sprites when adult content is disabled (by Ikariya).\n• Iwanako's letter during Hanako's route in Russian (by Ikariya).\n\nAbout file replacement of KS Steam version:\n\nThere was recently an issue replacing files of Katawa Shoujo's Steam release with KS:RE files. Our method was implemented for those who would like to enjoy KS:RE with integrated Steam achievements. The issue is now fixed and files can be replaced once again! Our guide on Steam has also been updated accordingly.\n\nSpecial Thanks:\n\nWe would like to give a huge shoutout to @CheeseOmelette for providing Brazilian Portuguese translation! We have been watching his translation development from the very beginning, written entirely by him, by hand, taking him more than a year to complete. It has been an enormous project to him and an even bigger contribution to our port, and we can not thank him enough for providing this translation. We hope that all of our fans speaking the language will enjoy his work which is now available in this release!",
          "downloadURL": "https://github.com/fleetingheart/ksre/releases/download/v2.0.4/KSRE-ios.ipa",
          "size": 1485058455,
          "minOSVersion": "13.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "com.apple.developer.team-identifier",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {}
      }
    },
    {
      "name": "VNDS",
      "bundleIdentifier": "me.octonezd.vnds",
      "developerName": "OctoNezd",
      "subtitle": "A visual novel player for iOS",
      "localizedDescription": "VNDS-LOVE-TOUCH:\n\nVNDS-LOVE-TOUCH is a fork of VNDS-LOVE designed to work with touchscreens, particularly iPadOS devices.\n\nVNDS-LOVE is a cross platform program that plays Visual Novel Dual Screen formatted novels. Many famous visual novels have been ported to this format, which was designed for the Nintendo DS.\n\nWhat is VNDS?:\n\nVNDS novels only have a few commands. As such, they don't have any support for animations, videos, or other fancier graphical capabilites of newer visual novels. They support basic audio and image based storytelling.\n\nProject Status:\n\nMostly functional. There are no known VNDS related bugs. Note that some features from other visual novel engines might be missing. If they are, file an issue along with a general description of the feature.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/me.octonezd.vnds.png",
      "tintColor": "#f09000",
      "category": "games",
      "versions": [
        {
          "version": "0.2.1",
          "date": "2026-07-18T21:02:28Z",
          "localizedDescription": "• Fix #1 (cleartext + newlines).\n\n• Update CI.",
          "downloadURL": "https://github.com/OctoNezd/VNDS-LOVE-TOUCH/releases/download/0.2.1/VNDS.ipa",
          "size": 6869294,
          "minOSVersion": "13.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "Geode",
      "bundleIdentifier": "com.geode.launcher",
      "developerName": "geode-sdk",
      "subtitle": "Manages installing and launching Geometry Dash for iOS",
      "localizedDescription": "Geode iOS Launcher:\n\nManages installing and launching Geometry Dash with Geode for iOS.\n\nRequirements:\n\n• iOS/iPadOS 14.0 or later.\n• Full version of Geometry Dash installed.\n• An internet connection.\n\nQuick Start:\n\n• Install the launcher by following the Installation Guide. You can also access this guide by going in to the INSTALL.md file in this repository.\n• Enjoy using Geode!",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.geode.launcher.png",
      "tintColor": "#9080c0",
      "category": "games",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/geode-sdk/ios-launcher@main/screenshots/thumbnail.png"
      ],
      "versions": [
        {
          "version": "1.5.5",
          "date": "2026-09-15T07:26:49Z",
          "localizedDescription": "Massive bug fix update! Including the fix for iOS 27 devices not being able to run Geode!\n\n• Fixed iPhone SE devices from not being able to tap the Import Certificate button on the setup.\n• Fixed restarting not working in LiveContainer JIT-Less.\n• Changed the \"You need to update the Helper\" message to explain whether the Helper was actually updated or not.\n• Attempt to fix the \"first time setup\" on Enterprise Mode from reappearing (due to IPA being removed from temporary directory).\n\n• Added safe mode restarting.\n• Added metadata information in the About section in settings.\n\n• Added custom JIT enabler.\n• Added skipping the intro setup.\n\nView the INSTALL.md guide on installing.",
          "downloadURL": "https://github.com/geode-sdk/ios-launcher/releases/download/v1.5.5/com.geode.launcher_1.5.5.ipa",
          "size": 13256824
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "com.apple.developer.kernel.extended-virtual-addressing",
          "com.apple.developer.kernel.increased-memory-limit",
          "com.apple.developer.team-identifier",
          "com.apple.private.MobileContainerManager.allowed",
          "com.apple.security.application-groups",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSCameraUsageDescription": "A mod you are using is requesting this permission.",
          "NSLocalNetworkUsageDescription": "This permission is needed for accessing the JIT server.",
          "NSMicrophoneUsageDescription": "A mod you are using is requesting this permission."
        }
      }
    },
    {
      "name": "DreamPlayer",
      "bundleIdentifier": "com.dreamplayer.app",
      "developerName": "RipeStore",
      "subtitle": "DreamPlayer is a cross-platform video player for Android, iOS/iPad, and Android TV — built for true Dolby Vision, HDR10/HDR10+, and lossless audio playback",
      "localizedDescription": "DreamPlayer:\n\nDreamPlayer is a cross-platform video player for Android, iOS/iPad, and Android TV — built for true Dolby Vision, HDR10/HDR10+, and lossless audio playback.\n\nThis build is distributed by an independent third party and is not officially affiliated with the upstream DreamPlayer project.\n\nDolby Vision \u0026 HDR:\n\n• True Dolby Vision playback on supported displays.\n• HDR10 and HDR10+ dynamic metadata support.\n• Native display headroom scaling and accurate color rendering.\n\nAudio:\n\n• Lossless audio decoding for all major codecs: DTS, DTS-HD, E-AC3, TrueHD, AC3, FLAC, and AAC.\n• Multi-channel audio passthrough support.\n\nNetwork Streaming:\n\n• High-throughput streaming over SMB / Windows shares / NAS.\n• WebDAV streaming with self-signed certificate support.\n• FTP and SFTP streaming.\n• Jellyfin and Emby direct playback with mDNS auto-discovery.\n• UPnP and DLNA server browsing and playback.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.dreamplayer.app.png",
      "tintColor": "#000050",
      "category": "entertainment",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/RipeStore/dreamplayerbuilder@main/screenshots/screenshot_01.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/dreamplayerbuilder@main/screenshots/screenshot_02.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/dreamplayerbuilder@main/screenshots/screenshot_03.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/dreamplayerbuilder@main/screenshots/screenshot_04.webp"
      ],
      "versions": [
        {
          "version": "0.4.9",
          "date": "2026-09-24T02:37:13Z",
          "localizedDescription": "Pick the APK for your device and allow \"Install unknown apps\" when prompted:\n\nNot sure which to pick? Grab the Universal APK.\n\nVersioning:\n\nApp version follows semver, bumped per release (current release: 0.4.9).\n\nPlaying videos from your NAS / SMB share:\n\nDreamPlayer plays NAS files through the Files app's built-in SMB support and \"Open with\".\n\n• iPhone/iPad: Files → ⋯ → Connect to Server → enter smb://\u003caddress\u003e → browse to a video → long-press → Share → Open in \"DreamPlayer\". Prefer a folder? Bookmark it once: home + → Add folder to library → your NAS folder.\n• Android: CX Explorer → Open with → DreamPlayer (streams over CX's local HTTP proxy).",
          "downloadURL": "https://github.com/RipeStore/dreamplayerbuilder/releases/download/v0.4.9/DreamPlayer-0.4.9.ipa",
          "size": 20886597,
          "minOSVersion": "17.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSLocalNetworkUsageDescription": "DreamPlayer connects to your local network to discover DLNA/UPnP servers and play videos from WebDAV, Jellyfin, and Files-app bookmarked folders (including SMB shares you connect in the Files app)."
        }
      }
    },
    {
      "name": "LensLink",
      "bundleIdentifier": "com.exaltedpixels.LensLinkCamera",
      "developerName": "MyNamesEMurray",
      "subtitle": "iOS camera for OBS Studio over Wi-Fi or USB — 4K60, screen mirroring, remote start, auto lip sync",
      "localizedDescription": "documentation. The iPhone and iPad app is LensLink Camera on the App Store.\n\nUse your iPhone or iPad as a high-quality camera directly inside OBS Studio — over Wi-Fi or a USB cable. No virtual-camera drivers, no RTMP server, no monthly subscription.\n\nIt comes in two parts: an OBS plugin (adds \"LensLink Camera\" and \"LensLink Screen\" sources) and the LensLink iPhone/iPad app. You install both, then OBS connects to your phone.\n\nWhat you need:\n\n• OBS Studio 32 or newer, on Windows, macOS, or Linux.\n• An iPhone or iPad on iOS/iPadOS 15 or later.\n• For USB: iTunes on Windows (it provides Apple's device driver), or the usbmuxd daemon on Linux — most desktop distributions ship it for phone access. Nothing extra on macOS, and Wi-Fi needs none of it.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.exaltedpixels.LensLinkCamera.png",
      "tintColor": "#6090f0",
      "category": "photo-video",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/MyNamesEMurray/LensLink@main/assets/screen-fit-transform.png"
      ],
      "versions": [
        {
          "version": "1.15.1",
          "date": "2026-09-26T02:22:25Z",
          "localizedDescription": "Install:\n\nPlugin builds match OBS Studio 32.x; the macOS build is universal (macOS 13+).\n\n• USB on Windows needs iTunes (it provides Apple's device driver).\n\nFull setup guide: the README.\n\nChanges:\n\n• Screen mirroring: remove the iOS 27 in-app ScreenCaptureKit mirror.",
          "downloadURL": "https://github.com/MyNamesEMurray/LensLink/releases/download/v1.15.1/LensLink-unsigned.ipa",
          "size": 6697613,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSCameraUsageDescription": "LensLink streams your camera to OBS on your computer.",
          "NSLocalNetworkUsageDescription": "LensLink connects to OBS Studio on your local network to send the camera feed.",
          "NSMicrophoneUsageDescription": "LensLink can send your microphone to OBS — as the camera's audio if you enable it, or purely as a timing reference to automatically sync your real microphone to the video."
        }
      }
    },
    {
      "name": "StikPair",
      "bundleIdentifier": "com.stik.StikPair",
      "developerName": "StikDebug",
      "subtitle": "A simple SwiftUI iOS app that creates a pairing file on-device",
      "localizedDescription": "StikPair:\n\nA simple SwiftUI iOS app that creates a pairing file on-device, using iOS 27+ or tvOS 11+ wireless pairing. Powered by idevice.\n\nRequirements:\n\n• iOS 27+.\n• To build: Xcode 27, Rust (aarch64-apple-ios + aarch64-apple-ios-sim), xcodegen.\n\nBuild:\n\nSet your signing team and run on a device.\n\niPhone or iPad:\n\n• Tap Pair iPhone or iPad and grant the Local Network prompt.\n• On the device: Settings › Privacy \u0026 Security › Developer Mode, scroll down, tap Pair with StikPair, and enter the PIN shown in the Live Activity.\n• When the \"Pairing complete\" notification arrives, return to the app and tap Export Pairing File.\n\nApple TV:\n\n• On Apple TV, open Settings › Remotes and Devices › Remote App and Devices.\n• Tap Pair Apple TV in StikPair and select the Apple TV.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.stik.StikPair.png",
      "tintColor": "#20c0f0",
      "category": "developer",
      "versions": [
        {
          "version": "1.2.0",
          "date": "2026-08-25T22:16:01Z",
          "localizedDescription": "• Fix build action.\n• Apple TV wireless pairing.\n\nNew Contributors:\n\n• @CelloSerenity made their first contribution.",
          "downloadURL": "https://github.com/StikDebug/StikPair/releases/download/v1.2.0/StikPair.ipa",
          "size": 7735750,
          "minOSVersion": "27.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSLocalNetworkUsageDescription": "StikPair uses your local network to discover devices and complete pairing.",
          "NSLocationAlwaysAndWhenInUseUsageDescription": "StikPair can use location to keep running in the background while you complete pairing in Settings.",
          "NSLocationWhenInUseUsageDescription": "StikPair can use location to keep running in the background while you complete pairing in Settings."
        }
      }
    },
    {
      "name": "Chance",
      "bundleIdentifier": "com.moffatman.chan",
      "developerName": "moffatman",
      "subtitle": "Flutter imageboard browser for iOS and Android",
      "localizedDescription": "Chance:\n\nImageboard browser built using Flutter intended for use on iOS and Android.\n\nFeatures:\n\n• Multi-column layout for larger screens.\n• WEBM playback and conversion.\n• Pick images through in-app web search.\n• Media gallery view.\n• Save threads, posts, and attachments to a local collection.\n• Automatically aligns the captcha slider.\n• Gestures to navigate through replies.\n• Switch between multiple browsing tabs.\n• Optional and automatic adjustments for mouse usage.\n• Regular-expression filters to hide or highlight posts.\n• Support for archives to access deleted threads or search for posts.\n• Thread watcher to check for replies.\n\nInstalling on iOS:\n\nChance has not yet been submitted to the App Store. Click here to join the beta testing group for iOS.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.moffatman.chan.png",
      "tintColor": "#407040",
      "category": "social",
      "versions": [
        {
          "version": "1.2.9",
          "date": "2026-09-28T04:55:38Z",
          "localizedDescription": "New Features:\n\n• New captcha cloud solver.\n• Small redesign of captcha form.\n• Support image pasting from keyboard on iOS 27.\n• Rename saved attachments.\n\nGeneral Improvements:\n\n• Many QUIC and HTTP/3 bugfixes and performance improvements.\n\nTweaks:\n\n• Don't insert duplicate quotelinks when using \"reply\" to open the reply form.\n• Added a confirmation before clearing cookies when banned.\n• Hide archive name when scrolling to bottom of thread (it's already there).\n• Always restart videos from beginning in gallery.\n• Slight tweak of tab bar resizing for long tab titles.\n\nBugfixes:\n\n• Threads not marked as archived.\n• Gallery changed image when rotating the device.\n\n• Unable to tap tabs on first page sometimes.\n• Intermittent errors about directories not existing.\n• YouTube shorts embeds not shown.\n• Posting multiple files on lynxchan-based sites didn't work and just combined their filenames.\n• Thread tail requests were not properly optimized for caching.\n• Cloudflare popup trying to load Twitter embed data.\n• Backspacing an embeddable URL in the reply box would cause repeated network requests.\n• Tab bar spazzed open and close when slowly scrolling to the bottom of a thread.",
          "downloadURL": "https://github.com/moffatman/chan/releases/download/v1.2.9%2B125-forked-engine/Chance.ipa",
          "size": 32697918,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "com.apple.developer.team-identifier",
          "com.apple.security.application-groups",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSCameraUsageDescription": "Camera permissions are necessary to capture images",
          "NSFaceIDUsageDescription": "Face ID is used to secure access to Chance",
          "NSMicrophoneUsageDescription": "Microphone permissions are necessary to capture videos",
          "NSPhotoLibraryAddUsageDescription": "Photo library modification permission is needed to save images directly",
          "NSPhotoLibraryUsageDescription": "Photo library permissions are necessary to select images"
        }
      }
    },
    {
      "name": "Marble Blast Ultra",
      "bundleIdentifier": "com.randomityguy.mbuhaxe",
      "developerName": "RandomityGuy",
      "subtitle": "An optimized port of Marble Blast Gold, Platinum, Ultra and PlatinumQuest with 99% identical physics and cross platform multiplayer, runs on Windows, Mac, Linux, Web, iOS and Android! Written in Haxe!",
      "localizedDescription": "MBHaxe:\n\nA Haxe port of Marble Blast Gold, Ultra, Platinum and PlatinumQuest, name subject to change. The marble physics code was taken from OpenMBU along with my own collision detection code, game logic was partially from scratch and taken with permission from Marble Blast Web Port.\n\nWeb Browser:\n\nThe browser port supports touch controls, meaning it can be played on mobile devices.\n\nWindows, Mac and Linux:\n\nLinux port by boucymatt. Supports Steam Deck.\n\nMac Instructions - Important:\n\nPut the .app file in either /Applications or ~/Applications in order to run it properly. You will also have to bypass Gatekeeper since the .app is not signed.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.randomityguy.mbuhaxe.png",
      "tintColor": "#d0b0f0",
      "category": "games",
      "screenshotURLs": [
        "https://imgur.com/x6DYms7.png",
        "https://imgur.com/Ncb4atl.png",
        "https://imgur.com/KQKUk0Y.png",
        "https://imgur.com/lfLBKqO.png",
        "https://imgur.com/DN1A2Mf.png"
      ],
      "versions": [
        {
          "version": "1.3.0",
          "date": "2026-08-16T20:32:00Z",
          "localizedDescription": "This update fixes a ton of bugs and adds more gameplay to Multiplayer!\n\n• New multiplayer game modes: Competitive Gem Hunt and King.\n• Added Spectator Mode for Multiplayer.\n• Implemented support for Moving Platforms and Trapdoors in Multiplayer.\n• The collision system is now identical to that of the original game, making the physics significantly more accurate.\n• Added Console Cheats.\n• Properly implemented Marble Trail and Bounce particles to look as close as the original game as possible.\n• Optimized performance some more.\n• Added proper TURN server support so that you can join multiplayer servers even if your network doesn't allow you to.\n• Fixed camera sometimes going through shapes and interiors.\n• Fixed lag caused when completing a level.\n• Fixed various bugs with joining a multiplayer match while one is ongoing.\n• Fixed not being able to join multiplayer match in some cases.\n• Fixed certain powerup effects not showing in multiplayer.",
          "downloadURL": "https://github.com/RandomityGuy/MBHaxe/releases/download/1.3.0-mbu/MBHaxe-Ultra-iOS.ipa",
          "size": 59611102,
          "minOSVersion": "14.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSLocalNetworkUsageDescription": "Marble Blast Ultra uses the local network to discover and connect to nearby players for multiplayer."
        }
      }
    },
    {
      "name": "Seekarr",
      "bundleIdentifier": "com.matthw.1.seekarr",
      "developerName": "matthw-labs",
      "subtitle": "A Flutter app for managing your self-hosted media stack from anywhere",
      "localizedDescription": "Seekarr:\n\nA Flutter app for managing your self-hosted media stack from anywhere. One client for Seerr, Radarr, Sonarr, Lidarr, and qBittorrent on macOS, iOS, and Android.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.matthw.1.seekarr.png",
      "tintColor": "#001030",
      "category": "utilities",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/matthw-labs/seekarr@main/screenshots/services.png",
        "https://cdn.jsdelivr.net/gh/matthw-labs/seekarr@main/screenshots/services_dark.png",
        "https://cdn.jsdelivr.net/gh/matthw-labs/seekarr@main/screenshots/services_list.png",
        "https://cdn.jsdelivr.net/gh/matthw-labs/seekarr@main/screenshots/seerr.png",
        "https://cdn.jsdelivr.net/gh/matthw-labs/seekarr@main/screenshots/sonarr.png"
      ],
      "versions": [
        {
          "version": "0.8.0",
          "date": "2026-06-20T12:39:55Z",
          "localizedDescription": "v0.8.0:\n\n📅 Released June 20, 2026.\n\nqBittorrent:\n\nFull qBittorrent support lands in Seekarr — the headline feature of this release.\n\n• 🧲 Torrent management: list, detail view, and full lifecycle control (start/pause/delete/edit).\n• 🧱 New domain models: Torrent, TorrentFile, TorrentTracker, TorrentProperties, TransferInfo with dedicated parsers.\n• ⚡ Torrent actions: start/pause, delete with confirmation dialog, edit dialogs, action \u0026 selection bars.\n• ➕ Add torrent button with manual import support.\n• 🔖 Filters: new three-pill popup for Categories, Tags, and Trackers.\n• ↕️ Sorting: new sort options for the torrent list.\n• 🔎 In-list search: filter and sort rows polished with design tokens.\n• 🌐 WebUI v2 client: form-based login, cookies, Referer/Origin headers.\n\nManual Import:\n\n• 🛠️ Lenient ManualImport endpoint for unparseable files, with a fix sheet to correct failed imports.\n\n✨ UX \u0026 UI Improvements:\n\n• 🖥️ Phone-like macOS window: compact new window style on macOS.\n• ♻️ In-app reset: reset settings directly from the Settings screen.\n• 🚀 Onboarding: flow fixes and screen improvements.\n• 📸 Screenshot refresh: entirely renewed README gallery (light/dark shots for activity, search, services, settings, qbit, radarr, sonarr, seerr, manual_import).\n\n🐛 Fixes:\n\n• 🔍 Global search results now open correctly.\n• 🧹 qBittorrent UI and filter fixes.\n• 🤖 Android: fixed build error caused by file_picker dependency.\n• 🍎 iOS: fixed Podfile for iOS builds.\n• 📝 Minor onboarding flow fixes.\n\n♻️ Refactor:\n\n• 🧩 New runTorrentAction utility centralizes torrent action handling — torrent_detail_screen.dart significantly slimmed down.\n• 🎨 Filter/sort rows migrated to design tokens (AppSpacing).\n\n🧪 Tests:\n\n• 📈 +2600 lines of qBittorrent tests: client, service, models, provider.\n• 📦 Manual import: service, models, and provider tests.\n• ⚙️ Settings \u0026 onboarding: settings_service, settings_home_screen, onboarding_screen tests.\n• 🔎 Extended global search tests.\n• 🧰 New FakeSecureSettingsStore test helper for persistence tests.",
          "downloadURL": "https://github.com/matthw-labs/seekarr/releases/download/v0.8.0/seekarr-0.8.0.ipa",
          "size": 17118681,
          "minOSVersion": "13.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "com.apple.developer.team-identifier",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {}
      }
    },
    {
      "name": "Applesauce",
      "bundleIdentifier": "io.github.johnny901901901.applesauce",
      "developerName": "johnny901901901",
      "subtitle": "A playful emulator for iOS. Plays supported 32-bit iPhone games on iOS 15+ — no jailbreak needed, though JIT is. An unaffiliated fork of touchHLE and HyperHLE; neither project endorses it",
      "localizedDescription": "Applesauce:\n\nA playful emulator for iOS. It plays supported 32-bit iPhone games on modern iPhones — no jailbreak required, though JIT is. It installs and runs on iPadOS too, but every game runs as an iPhone guest for now: the core's iPad device families are not yet reachable from the app.\n\nApplesauce is an unaffiliated fork. The emulation is entirely the work of touchHLE and its fork HyperHLE; this project is the iOS app built around them — the interface, the build system and the packaging. Neither project is connected to Applesauce or endorses it, so please report problems here rather than to them. No games or Apple software are included.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/io.github.johnny901901901.applesauce.png",
      "tintColor": "#f01010",
      "category": "games",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/johnny901901901/Applesauce@ios-host/platform/ios/Screenshots/library-games.png",
        "https://cdn.jsdelivr.net/gh/johnny901901901/Applesauce@ios-host/platform/ios/Screenshots/settings.png",
        "https://cdn.jsdelivr.net/gh/johnny901901901/Applesauce@ios-host/platform/ios/Screenshots/about.png"
      ],
      "versions": [
        {
          "version": "0.4.1",
          "date": "2026-09-13T08:18:46Z",
          "localizedDescription": "Applesauce 0.4.1:\n\nThis update improves the library, game-session cleanup and AltStore Classic distribution. It keeps the same bundle identifier as 0.4.0, so it updates an existing Applesauce installation and retains its library and saves.\n\nIn AltStore Classic, open Sources → + and add:\n\nChoose Applesauce from the source. Future releases appear in AltStore; you do not have to download a new IPA manually each time. Signing, refresh and JIT requirements still apply. The source does not enable JIT automatically.\n\nFull installation and JIT guide.\n\nFixes:\n\n• Importing copies files away from the main UI thread and coordinates access with Files providers such as iCloud Drive. A failed copy is cleaned up before it can appear as a partially imported game.\n• Repeated taps cannot queue overlapping game launches. Library reloads are also suppressed while a game or import is active.\n• Malformed game metadata that causes the HyperHLE parser to panic is caught at the native bridge. The library uses this parser regardless of the chosen gameplay core and falls back to a filename when metadata is unreadable.\n• The FPS timer no longer retains the game-controls screen after exiting.\n• The exit button respects the screen's safe area, and returning to the library uses the iOS 15 orientation fallback too.\n\n• Building a second core copies only that core, avoiding accidental overwrite of a newer core with a stale file from another checkout.\n\n• Migration instructions include saves and correctly explain which settings need to be reselected.\n\nThe AltStore source is checked against the unsigned IPA's version, build, minimum iOS, size, checksum and permissions. A release workflow updates the source for future published releases; prereleases and TrollStore packages are excluded from that automatic update.\n\nDownloads:\n\n• Applesauce-iOS-unsigned.ipa: AltStore Classic and other ordinary sideloaders.\n• Applesauce-iOS-trollstore.ipa: the existing TrollStore route for supported older iOS devices, with JIT enabled through TrollStore.\n• Applesauce-iOS-trollstore-permanent-jit.ipa: A11 and older only. Do not install this variant on A12 or newer devices.\n\nThe emulator versions remain HyperHLE v1.0.6 and touchHLE 0.2.3. This release does not claim additional game compatibility or fix the known Sims Medieval.\n\nfresh device regression testing of 0.4.1 is still needed.\n\nNo games are included. Full credit for emulation belongs to touchHLE and HyperHLE. Applesauce is an independent, unofficial port.",
          "downloadURL": "https://github.com/johnny901901901/Applesauce/releases/download/ios-v0.4.1/Applesauce-iOS-unsigned.ipa",
          "size": 46123889,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "DukeX",
      "bundleIdentifier": "com.mafty.dukex",
      "developerName": "MaftyManicEMU",
      "subtitle": "Xbox Emulation on iOS",
      "localizedDescription": "DukeX is an experimental iOS and macOS frontend for xemu. The iOS build embeds the xemu core in a native Swift shell and presents the Vulkan renderer through MoltenVK and native Metal presentation. The macOS build packages a nested desktop Xemu fork inside a Mac Catalyst DukeX experience.\n\nDukeX does not include Xbox system files, game images, or signing certificates. Users and testers are required to provide their own legally obtained files. DukeX is intended solely for legitimate emulation and preservation purposes, and is not designed for use with pirated materials.\n\nAt a Glance:\n\n• Runtime: TCG with version-aware JIT setup; iOS 26 or later uses the StikDebug Universal.js flow.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.mafty.dukex.png",
      "tintColor": "#70b010",
      "category": "games",
      "versions": [
        {
          "version": "1.0.2",
          "date": "2026-06-30T12:21:27Z",
          "localizedDescription": "DukeX v1.0.2 - Expanding the Xbox Experience:\n\nDukeX v1.0.2 is our biggest step yet toward preserving the full original Xbox experience, not just the games. This release introduces the first native macOS build, expands XB.Live integration, and brings richer community features to both iOS and macOS.\n\nWhat's New:\n\n• XB.Live Rich Presence and playtime tracking: friends can see what you are playing while DukeX tracks supported playtime sessions.\n• XB.Live messaging: threaded conversations, friend messaging, unread indicators, supported game invites, and existing Xbox inbox support now live inside DukeX.\n• XB.Live social expansion: friend requests, friend management, online presence, and deeper community integration are available from the Profile experience.\n• Activity Feed: XB.Live news, friend online status, friend achievement unlocks, and community updates now appear in a continuously refreshed timeline.\n• Controller Landscape Mode: on iOS, compatible controllers can switch DukeX into a controller-first browsing and launch experience.\n• Expanded AirPlay and external display support: big-screen play is more reliable across supported display configurations.\n\nImprovements:\n\n• Improved achievements with Games, Apps, and Cores grouping plus updated artwork handling for XB.Live Core, DukeX Core, and special test titles.\n• Improved game tile spacing and cover handling across iOS and macOS.\n• Improved XB.Live cloud-save sync metadata with console identity v2, content-hash dedupe, and server-assisted cross-console restore handling.\n• Fixed achievement progress rounding so time-based achievements do not show 100% before they are actually complete.\n\nAvailability:\n\n• iOS: install DukeX.v1.0.2.ipa through StikStore, SideStore, or another supported sideloading workflow.\n• macOS: install DukeX.macOS.v1.0.2.dmg by dragging DukeX to Applications.\n• Hardware requirements on iOS remain Apple A14 Bionic or Apple M1 hardware or newer.\n• iOS 16.0 or later is supported, with iOS 16 support remaining experimental.\n\nImportant:\n\nDukeX does not include Xbox system files, game images, BIOS files, copyrighted content, signing certificates, or user games. Users must provide their own legally obtained files. DukeX is intended for legitimate emulation, preservation, testing, and personal library use.",
          "downloadURL": "https://github.com/MaftyManicEMU/DukeX/releases/download/v1.0.2/DukeX.v1.0.2.ipa",
          "size": 20345841,
          "minOSVersion": "16.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSBluetoothAlwaysUsageDescription": "DukeX uses Bluetooth to read connected game controller battery information.",
          "NSBluetoothPeripheralUsageDescription": "DukeX uses Bluetooth to read connected game controller battery information.",
          "NSCameraUsageDescription": "DukeX can use the front camera to test Xbox Video Chat camera peripheral emulation.",
          "NSMicrophoneUsageDescription": "DukeX can use the microphone to test Xbox Live Communicator support.",
          "NSMotionUsageDescription": "DukeX can use device tilt to subtly move animated theme backgrounds."
        }
      }
    },
    {
      "name": "Suwatte",
      "bundleIdentifier": "com.ceres.suwatte",
      "developerName": "RipeStore",
      "subtitle": "An All-In-One Comic Reader for iOS",
      "localizedDescription": "Suwatte:\n\nSuwatte is an ad-free, open source \u0026 feature-rich comic/manga reader for iOS.\n\nThis build is distributed by a third-party not related to Suwatte.\n\nFeatures:\n\n• External Comics (CBR, CBZ, RAR, ZIP).\n• OPDS V1.\n• External Sources.\n• Progress Tracking.\n• Automatic Library Management.\n\n• Partial iCloud Sync.\n• Update Notifications.\n• Panel Bookmarks.\n\n• External Sources.\n• Deep Linking.\n• Point Accurate Reading Resumption.\n• Library Management with Categories \u0026 Reading Flags.\n• Automatic Library Management.\n• Zero Ads, a few bugs n crashes here n there tho:].\n\nPlanned Features:\n\n• Full Library iCloud Sync Support.\n\n• Due to crashes this feature was disabled.\n\n• EPUB / Novel Reading Support.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.ceres.suwatte.png",
      "tintColor": "#6050c0",
      "category": "entertainment",
      "screenshotURLs": [
        "https://user-images.githubusercontent.com/50926838/161845631-86bcbc13-7f70-481c-b9d4-50aad1fb5081.jpeg",
        "https://user-images.githubusercontent.com/50926838/161845638-13e25bda-0c0f-42b7-aa8c-1cecb6cde1cc.jpeg",
        "https://user-images.githubusercontent.com/50926838/161845648-421fa1da-d44e-414e-9bed-9584d6972649.jpeg",
        "https://user-images.githubusercontent.com/50926838/161845652-f4f6dda4-cd7f-4c18-90cf-5110e01ac965.jpeg"
      ],
      "versions": [
        {
          "version": "6.0.1",
          "date": "2026-08-18T03:34:08Z",
          "localizedDescription": "Toolbar Changs + Deps Bumps (#198).\n\n• fix: toolbar ios26.\n\nBranch: next.\n\nBuilt from upstream commit c3333ed on the next branch.",
          "downloadURL": "https://github.com/RipeStore/suwattebuilder/releases/download/v6.0.1-c3333ed/Suwatte-v6.0.1-c3333ed-unsigned.ipa",
          "size": 16394180,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSFaceIDUsageDescription": "Verify Biometrics to Protect Library",
          "NSPhotoLibraryUsageDescription": "This is required to save images to your device."
        }
      }
    },
    {
      "name": "Nyxian",
      "bundleIdentifier": "org.emexlabs.nyxian",
      "developerName": "emexlab",
      "subtitle": "IDE to develop native code iOS apps and utilities on stock iOS it self just via a certificate and a custom micro kernel for those apps",
      "localizedDescription": "What is it?:\n\nNyxian is an iOS app that empowers developers with a full toolchain they can use while even being offline for iOS development on iPhone. It supports Swift, C, Objective-C, C++ and Objective-C++. It’s a powerful IDE that made the impossible possible, a fully on-device iOS IDE that doesn’t even need a cloud and can even be used with airplane mode enabled after it downloaded the SDK and resources from our server. It supports officially iOS 18.0 all the way up to the latest iOS version (iOS/iPadOS 27.2 Beta 2 tested). You can compile and run iOS apps on the go with ease, using the entire iOS 26.5 SDK.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/org.emexlabs.nyxian.png",
      "tintColor": "#d0a0f0",
      "category": "developer",
      "versions": [
        {
          "version": "0.11.4",
          "date": "2026-09-10T12:58:18Z",
          "localizedDescription": "Nyxian:\n\n• Feature: Swift typechecking. (cd5cb95c76d8279a57abc6a4c980dfb0b2c849e0).\n• Feature: Ksurface Kernel Extension projects. (cf9fcd92f7c8294e63c4e7cb62ff2853025330a3, 9d97e939a88453e8ad6f769997885b3f7cf95a23, f1539b729cd74f3854c5cd8d77d151b5913cbfe0, ca6f57fa2f3affcd471dc413f18bf3df55e790d2, 76dfdb0589147eb19956b1b6e36dd527d656e4f8, c981c47fcf3ce074c5a30b863ee5a7ade967f909, 1878e1a7cc26066b44f15d4f00a08c5d1356838d).\n• Feature: backup and restore app sizing for the entire Nyxian boot session. (39a7dd574647581f96d7dbe3c8480c801a89eb55, 1265add0552cc9e7817709988a89e54dc5d874f9, 075cb37f07f674d9c66317a406b67e4fd1696024).\n• Feature: symlinks are now partially supported in the file manager UI. (ddd3782a8279da0e068f0c80e524b80adcd47c0f, 7d76fea8d5555b7d8bb09040a8361c48d57a1d6e).\n• Feature: added Get Info panel like in macOS Finder to the file manager UI. (72ddb9fc66b052941bd36c32502fb6c5163c9e75).\n• Feature: now bundles and data containers can be easily browsed via a context menu button and the file manager UI. (6db6de99271bd12499b68711da1e92edf169b431).\n• Feature: render icons on iOS 26+ with the actual iOS app icon rendering pipeline. (c08e9906d9e33335863825ed64a243d47a0ecd67, de2747bfac2e6d047ea293b9a6237c808034d348, c3bd58512bced6eb9672ee827cc0bee43dc79e46).\n• Fix: correctly handling fatal compilation errors. (d82fb79ee49c11395ecb2ec4b7ea358eb446dd24).\n\nCoreCompiler:\n\n• Feature: Swift typechecking. (cd5cb95c76d8279a57abc6a4c980dfb0b2c849e0).\n• Fix: patched -fmodules not working due to iOS app HOME path bug. (5073db055dd67c820c157f32ef1786ad7215766e, 942528a52a946f42de7081feb24e630b35364287, 585948fff57546b83e706fc96e79dab8274fdecb, 9437af8bcbb74a45273a7850ae1c65b58b3a0fd6, 19d477e14ed4778229134eae440db529f206826e).\n• Fix: refresh language server when user saves options. (76a0544739b654260119b9c8296780646e7c4685).\n• Fix: correctly appending MDKDiagnostic object with their absolute path. (08d7d6eff474adad4cc4c64deda051945561366e, 5a1d9da04029b7b0d04acea13ec64af1c1c84299, cf3cf92465369cc1c58fdd7740217fcb7302b28f, 885dabc3657c339e693737aa63cdd43a09363c79).\n• Fix: the window server shall not allow full screen processes that exited to make non full screen apps not focusable anymore. (ca217756470f618daea09fc435ee59886de36800).\n\nHWHook:\n\n• Fix: deallocating thread port right after usage. (61343956c243ccc061b75ed6094207198009a92d).\n\nMicro Kernel (ksurface):\n\n• Fix: patched slowness of userspace reboots and daemon reloads. (cdf3cbc43bd6f855781b5450ceb5502f7f6df9f4).\n\n• Vulnerability Fix: patched a mach exception port receive right leak in SYS_handoffep. (a3f8d420e923db7a72cc927c3cce3d04af6bc3fb).\n• Vulnerability Fix: patched a uninitialized memory vulnerability in ktfp. (78e45d84bb84fe3ca4dec4c898389b59ac1277d4, eaab4d6f1cb10d2c5a51c7ab732c3403e7689d19).\n• Vulnerability Fix: patched a IPC mach message type confusion vulnerability in ktfp. (d161b5e33127f3c3ad741a61ec814eff2052d835).\n• Vulnerability Fix: patched a syscall worker exhaustion vulnerability. (a90c98693b5cf21548fa88c84d1f91f225c8e1ed, 8269c96df27bb6c22d5636f83904174fe6238401).\n• Vulnerability Fix: patched a task port confusion race condition in syscall worker. (1d06cf544bf5843eb4c785924ff2c61d593e58b0).\n• Fix: signing of TSRootBinaries will now happen automatically. (c7f669d734a8452ef487485c00c8bbb32f4b92ae).\n• Feature: Handling Apple CS entitlement com.apple.private.MobileContainerManager.allowed and com.apple.private.security.storage.AppBundles in translation to NXT2. (0529b4e13a9b8b855e2eff3a48ed5a4ace6439a1).\n• Feature: Handling Apple CS entitlement com.apple.security.exception.files.absolute-path.read-write and com.apple.security.exception.files.absolute-path.read-only in translation to NXT2. (88f8aea91b26a30d7a0b85b7d14fe2953a51b696).\n• Feature: Added file system mount preserver. (34c6f806a428c2c3bd573682c88bd3080cad4cbf, 83cb914df17eb160d9031e092a5caba33662ae65, 4ece930cf3f5f9d4dc3f185abda3f2199dd0fd31, aa08ffb8d46a8b1d4e9050ce1046322f936dd1a0, dd064054078657e98277c8e73d571a4cfb958ff9, 5fe86355479f97694c7353f958f5d7d45d107d0c, 4d5c6a5b7849968e1c8383802fe3e2f06ffe3cb6, 1d39b790c1c92838e9f6ea237de06f43a3b5af2c, b44fb0d8f2c879d98750f9fe9d0a5c4453882dbc, 97183cb21df12e083f42ded752c98702f38949c6, 2be6b97e76d4af62d0312bf0592e1d8f5080f44e, 73f0b708f55334d2436068b39ff7c12f180a519a, 1ff95a8ee04c02088d0dfa217ed794a938cbfe1c, ccd1f28a0b3118123bac49637d3ccba1e8dc4522, 6a524f7c665b9f6a6d011d1ffcc578d26da87558, f4819c053ef7207a7c4e8b09cbf71f47940c5df2, 90777cf5327528399f819fc2a019674ef56e5455, 045bd15afe4d8550fe2586f46dd8ccfe8e446c97, a02643282fc3002c5186d628923d1bfa028bd18f, 4ff1d7276d030c2b47707ab9e3d00db48fe05451, 267b48827e2c085e51349d250b9eb576f34a8132, 31a9ef9ca93af2168da2f23a2e72703f0a028060, 30b27b6fb0859a9480605539e5c3743372972408, 66f44518bcb04bfcb31cadfb976b35e676e2e812, 6cd404b3453f7698f853f798628ae3790d29da66).\n• Feature: Way better more hardened file system sandbox layer. (ec9231cf570a50e2ac274db8e8c2b05796809ce1, c1fc09f799b9fa10856a94de52f5627f7b4095c6).\n• Feature: Kernel Extension loading. (008b75fdaa7e7d818ad3fd66271449c3d9edd3d5, bea6378d6329e8270f31f681886c4c960505efee, 897ed2c8948da540c84b47d7ea903ae2dccdf45e, e180981e1f8f0d12c58ae7aa5fce26000133a09c, f4819c053ef7207a7c4e8b09cbf71f47940c5df2, c0ef7aae72fa86bdff6c0f4656e6c2d2bbdbb676, abdd078bb0e78c431e99ab951618f95c4e8a207a, 4a561bcf9c32b14871355c2a4ee28b96ed50ddc1, 2d3e8d55df1a9a62a0c1219c4f2fe97eb6804ea7, 90777cf5327528399f819fc2a019674ef56e5455, 045bd15afe4d8550fe2586f46dd8ccfe8e446c97, 886b1adca83567f2bbfc0e0d8524dfb097da9d84, 24e86ba0d970c3a8271d011f775f2445c4fd294c, 7bbcf94a173a17c58c87acb8427aa58213ecf9d8, 8f73b9988f54cb394aafa070a1b5ade7f871cc64, ce890e57bcafee5aadfb994a5a0e12d2fe39795a, ee4f48e86d17ed57d1f5aa4a2f99d320b9ab926b).\n• Feature: Added Ksurface's own kxld. (df9daa901fccc3435e39796cfa2d8a6a79d986e4, f8b847bb75938501203986d85f19137c7867eedf, 26189044280d7b8a5ef11a981c6288f348c1a91a, ddca4cbbdc03728b2aae9407ad79d6b416ca945f, a0ba10b2b52573afb2bd3d7f529263ef29698b1a, 26b133153ed3a6db4abfe27e7dbde67c6bf83f22, 776d0124ef8610e5c94428e93d2cf4a105e232bc, bcd366c2c3d6645417025e62760a1d1dae15e490, 47666e1f9763fc519be3ec59550da8d0608d71ba, 1b80ccd24e01ec6acf636cb88feeef83e93d04ad, d27b7ff43b00fa641e42d8508e60c10097a3a05a, fbe54130782a39f97941a51a5f5b1d288cea1e27, 8f1f4b9e392f0fdb885df9bce0388f283ce327d0, 73be836b6f9bf9d05ec296ef647c4d89d8aa19a0, 13d525368b4df666d71e9e94a422cd1088c7d567, 05a9c19b6b629b6e19b60527af2403d5ee3064aa, b49c7820d7e30facabf5dc81579f582e954b282c, bfd626a822eb211896e5fe2554007effa9100e45, 668ef892977ab473f1813191b8c965cff01d9fe9, d49436af917ed1dbc823e9edcaffcd400a31c6ce, c07f93428641045dcf9d1a68badec5ea956b0013, cca06754d759ba56a2697037c4ce2451711cce63, 8c7c6717d358c994d24839a78d19eaf1a376ab06, b91a33b4456022b1ec038246048d2b8d895498e1, ea0a898cb5f94c6a1954ced82d3be43be4776eac, be768d09076570c00f1407e883bffa68def3c741, d7ecf35d0444eebc03227f08edcd04102b1d2118, e5b7b50a433d27df870c7c97aa15a8604b295238, 66a2d48e54a809d01fcd0a1428833ee684e5d9cf, 1d14000513caa8b8372df96e9416c94d30c8889d, e527ee1f1bbfffeaa476718d0e38c8a6ba6c28b0).\n• Feature: handling KERN_BOOTTIME in SYS_sysctl. (63927f24f2644d11bdd96759283677f4a23454c9).\n• Feature: added some kind of RootCA trust for the future of the Nyxian FOSS store. (be49d727475e55cfb1454af3d5b4e2770976b2cf, a386f39ae921be6300a7b60d28931c90acd75536, 771b305624f8f267ffaf8d8644c8ea93c2ec74d8, 3e01bfd9af603f786d7702957644e7603c1b00aa, c43f8adafadae6a94ac2e53ec1a763f971c3a415, 7a0b8bb50ca1d76a7afc376ed4dc242da3ed7a42, 0d4b83349f4459d052c894cb01843739fbfc6135, 7fbc52debebac5c11b2143333ddf6a70d4ceffdd).\n• Feature: added runtime patch shimcache. (33fd4c8943797895de006cb40f166ce29a2d0ab9, f374c87574cb60e34d18e04cbeb2e7c499689385, a334872bc5341771d02ba977a5355f00c46eb62d, c5f69cdad6e9782efe19e72762641b6ecbaaaf02, 4cd1143060d843f300a7000be8383567428dae08, 9a31d19f4f1cb3907c881379270e66556807591a, 36e7e60fd90e6fce64160418c5bb8a9a7a810b14, 330c61813893ec101de790f9a3368784cc908890, 8b88c4122ee1b536acd37b9500168026f5945b0d, 117902067293fca3d213d0e1adff05d1035cebd6).\n• Feature: Added SYS_proc_info support. (07d03632d75334c5af37b76e866da0d95495bba9, 1fbbccc002b51677d8c98877576914c91a3c7080, f0cf9a6ed753f8118d94959d45055bba14833012, a1407fbd6a757823fad38cc8dd92282a9aa3a37e, 890dd515f8e1f2bda28b521f57c2337474f87e66, 74800f185bfd7f7f6b764159be9769c2bf6871cb, f950d96c750514b596575e2f9db0ccd7cecff089, 10761977d3cb36fa457212c75ead4cf11bc079c7, 0d7abf5f5a9a7f6d3735e545bbcd0bff44d73658).\n• Feature: merging entitlements with parent process is back. (b4d4a67d5a12ddcb0ec4b7e754d6c067b226eaef).\n• Performance: Added patchfinder cache. (e173a9574fa6435e5a26b9f53780bac8174a76bf, 4cb489ba840555a61fb532181bcb520ed393e4d7, f097f7d2f46c6927664e2e6dd9bf81ed0f65085f, a65226ad484e0dfb7d68e9015250f1497e4814f1, e216f673965702b5dfe5ae0a342b5cdfb016abc5, 60646455aa0fac33648d9163c0eddec0a40d27e3, 713d409763135e0e95cf90c6c09ad194ae29a5b3, bce40eb64ac5ab0df236091c4821522dc1eadc82).\n• Hardening: neutralize task ports after handoff. (03826e3fd4953cf504af3a331d97ead0eb294d40, 0f1f3440d3ab285b7214e0b30093eae7d271443a).\n• Hardening: disabling old for debugging enabled UIFileSharingEnabled key. (c169dc75310cbf77206fa312ad38bd3b322c0e2e).\n• Hardening: syscall workers now perform pidv validation on callers. (5440392ce56013a4035926dfaf9a25ec7ce2a748, 874b8b996aae31a83e9a7aa8d833773556f3b7bd).\n• Hardening: now the static private key is only loaded into memory when needed for signing. (d89d13341cf2245ab94c0df9e6d2bda687ebc9da).\n• Hardening: use forceTerminate over terminate. (3aad45b776cdb9a526b55056b5e461a5fee8e531).\n\nStandard SDK used in this version of Nyxian is iPhoneOS26.5.\n\nYou have to reinstall most of the apps you have installed in Nyxian 0.11.4 due to a issue in previous cdhash verifier that caused a lenient exploit.",
          "downloadURL": "https://github.com/emexlab/Nyxian/releases/download/0.11.4/Nyxian.ipa",
          "size": 111250101,
          "minOSVersion": "18.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSAppleEventsUsageDescription": "The guest app is requesting for this permission.",
          "NSAppleMusicUsageDescription": "The guest app is requesting for this permission.",
          "NSBluetoothAlwaysUsageDescription": "The guest app is requesting for this permission.",
          "NSBluetoothPeripheralUsageDescription": "The guest app is requesting for this permission.",
          "NSBluetoothWhileInUseUsageDescription": "The guest app is requesting for this permission.",
          "NSCalendarsUsageDescription": "The guest app is requesting for this permission.",
          "NSCameraUsageDescription": "The guest app is requesting for this permission.",
          "NSContactsUsageDescription": "The guest app is requesting for this permission.",
          "NSDesktopFolderUsageDescription": "The guest app is requesting for this permission.",
          "NSDocumentsFolderUsageDescription": "The guest app is requesting for this permission.",
          "NSDownloadsFolderUsageDescription": "The guest app is requesting for this permission.",
          "NSFaceIDUsageDescription": "The guest app is requesting for this permission.",
          "NSFallDetectionUsageDescription": "The guest app is requesting for this permission.",
          "NSFileProviderDomainUsageDescription": "The guest app is requesting for this permission.",
          "NSFileProviderPresenceUsageDescription": "The guest app is requesting for this permission.",
          "NSFocusStatusUsageDescription": "The guest app is requesting for this permission.",
          "NSGKFriendListUsageDescription": "The guest app is requesting for this permission.",
          "NSHealthClinicalHealthRecordsShareUsageDescription": "The guest app is requesting for this permission.",
          "NSHealthShareUsageDescription": "The guest app is requesting for this permission.",
          "NSHealthUpdateUsageDescription": "The guest app is requesting for this permission.",
          "NSHomeKitUsageDescription": "The guest app is requesting for this permission.",
          "NSIdentityUsageDescription": "The guest app is requesting for this permission.",
          "NSLocalNetworkUsageDescription": "The guest app is requesting for this permission.",
          "NSLocationAlwaysAndWhenInUseUsageDescription": "The guest app is requesting for this permission.",
          "NSLocationAlwaysUsageDescription": "The guest app is requesting for this permission.",
          "NSLocationUsageDescription": "The guest app is requesting for this permission.",
          "NSLocationWhenInUseUsageDescription": "The guest app is requesting for this permission.",
          "NSMicrophoneUsageDescription": "The guest app is requesting for this permission.",
          "NSMotionUsageDescription": "The guest app is requesting for this permission.",
          "NSNearbyInteractionAllowOnceUsageDescription": "The guest app is requesting for this permission.",
          "NSNearbyInteractionUsageDescription": "The guest app is requesting for this permission.",
          "NSNetworkVolumesUsageDescription": "The guest app is requesting for this permission.",
          "NSPhotoLibraryAddUsageDescription": "The guest app is requesting for this permission.",
          "NSPhotoLibraryUsageDescription": "The guest app is requesting for this permission.",
          "NSRemindersUsageDescription": "The guest app is requesting for this permission.",
          "NSRemovableVolumesUsageDescription": "The guest app is requesting for this permission.",
          "NSSensorKitUsageDescription": "The guest app is requesting for this permission.",
          "NSSiriUsageDescription": "The guest app is requesting for this permission.",
          "NSSpeechRecognitionUsageDescription": "The guest app is requesting for this permission.",
          "NSSystemAdministrationUsageDescription": "The guest app is requesting for this permission.",
          "NSSystemExtensionUsageDescription": "The guest app is requesting for this permission.",
          "NSUserTrackingUsageDescription": "The guest app is requesting for this permission.",
          "NSVideoSubscriberAccountUsageDescription": "The guest app is requesting for this permission.",
          "NSVoIPUsageDescription": "The guest app is requesting for this permission."
        }
      }
    },
    {
      "name": "Locus",
      "bundleIdentifier": "com.chrismack.locus",
      "developerName": "ChrisMack32",
      "subtitle": "Free open-source iPhone location teleport (MIT)",
      "localizedDescription": "Locus:\n\nFree and open-source iPhone location teleport. Tap the map, search a place, or drive a route — Locus injects coordinates through Apple’s developer location service into locationd, so Maps and other apps see the spoofed GPS (not just a Wi‑Fi lookup that outdoor GPS will overwrite).\n\nFeatures:\n\n• One-tap teleport (map pin or place search).\n• Live joystick — walk / run / cycle / drive with light speed variation.\n• Walk/Drive routing on real roads \u0026 footpaths (MapKit).\n• Draw a path or import / export GPX.\n• Background keep-alive + live status bar + drop alerts.\n• Favorites \u0026 recents.\n• First-run setup walkthrough.\n• Fully on-device — no analytics, nothing uploaded.\n\nInstall:\n\nBundle ID: com.chrismack.locus.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.chrismack.locus.png",
      "tintColor": "#f09050",
      "category": "utilities",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/ChrisMack32/Locus@main/docs/screenshots/map.png",
        "https://cdn.jsdelivr.net/gh/ChrisMack32/Locus@main/docs/screenshots/spoofing.png",
        "https://cdn.jsdelivr.net/gh/ChrisMack32/Locus@main/docs/screenshots/joystick.png",
        "https://cdn.jsdelivr.net/gh/ChrisMack32/Locus@main/docs/screenshots/route.png"
      ],
      "versions": [
        {
          "version": "1.0.2",
          "date": "2026-07-27T21:49:25Z",
          "localizedDescription": "Fixes:\n\n• Pairing file picker — selecting an RPPairing .plist in the importer works again (reported broken on iOS 26 when taps did nothing).\n• LiveContainer — added Paste RPPairing from clipboard, plus README/SETUP notes for Fix File Picker and Share → Locus.\n\nInstall:\n\nSideload Locus-1.0.2.ipa with Feather, SideStore, AltStore, Sideloadly, or LiveContainer.\n\nSee SETUP.md for pairing and LocalDevVPN.\n\nBundle ID: com.chrismack.locus.",
          "downloadURL": "https://github.com/ChrisMack32/Locus/releases/download/v1.0.2/Locus-1.0.2.ipa",
          "size": 7153016,
          "minOSVersion": "18.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "com.apple.developer.team-identifier",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSLocalNetworkUsageDescription": "Locus uses the local network to advertise as a pairable host (iOS 27 pairing) and to reach the developer tunnel (LocalDevVPN) for GPS override.",
          "NSLocationAlwaysAndWhenInUseUsageDescription": "Locus keeps a light location session alive so simulated GPS can stay active in the background.",
          "NSLocationWhenInUseUsageDescription": "Locus uses your real location so you can aim the map and return home after teleporting."
        }
      }
    },
    {
      "name": "Ready",
      "bundleIdentifier": "at.spiderlab.c64",
      "developerName": "T-Pau",
      "subtitle": "A Home Computer Emulator for iPad",
      "localizedDescription": "With preliminary support for these computers:\n\n• Commander X16.\n\nIt is based on atari800, fuse, Vice, and x16-emulator, which provide accurate emulation of many hardware variants and peripherals.\n\nIt requires at least iPadOS 13.5.\n\nIt aims to approximate the feeling of using actual hardware:\n\n• Rather than configuring abstract settings, you select hardware components.\n• The software keyboard is a facsimile of the original, reflecting the different existing styles.\n• Even the noise of the disk drive is emulated.\n\nThe Library section offers a way to organize a large collection of games, demos and programs. The emulated hardware can be customized for each entry.\n\nThe Inbox provides a place to quickly try new programs. You can easily move the ones you want to keep to the library.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/at.spiderlab.c64.png",
      "tintColor": "#7060e0",
      "category": "entertainment",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/T-Pau/Ready@main/screenshot.png"
      ],
      "versions": [
        {
          "version": "1.6.1",
          "date": "2024-05-09T23:33:36Z",
          "localizedDescription": "• Add Commodore 128.\n• Add Atari 8-Bit Computers.\n• Add Commander X16.\n• Add Polyplay Trap Them Controller.\n• Add VIC-20 32K RAM expansion.\n• Update Vice to 3.5.",
          "downloadURL": "https://github.com/T-Pau/Ready/releases/download/release-1.6.1/Ready-1.6.1.ipa",
          "size": 73079686,
          "minOSVersion": "13.4"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "com.apple.developer.team-identifier",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {}
      }
    },
    {
      "name": "Navic",
      "bundleIdentifier": "paige.Navic",
      "developerName": "ssalggnikool",
      "subtitle": "Subsonic music streaming app for Android and iOS",
      "localizedDescription": "Subsonic music streaming app for Android and iOS.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/paige.Navic.png",
      "tintColor": "#6156e2",
      "category": "entertainment",
      "versions": [
        {
          "version": "1.0.0",
          "date": "2026-09-21T07:16:51Z",
          "localizedDescription": "• properly hide all share buttons if the user can't actually share.\n• fix: slider.\n• Add Android Auto support and fix album track ordering.\n• Revert \"Add Android Auto support and fix album track ordering\".\n• a bunch of fixes;).\n• feat: add option to activate fake beat-by-beat.\n• fix: crash when server is not reachable.\n• feat: progress notifications.\n• feat: listening statistics.\n• feat: proper responsive ui.\n\nNew Contributors:\n\n• @lurida-serpe made their first contribution.",
          "downloadURL": "https://github.com/ssalggnikool/Navic/releases/download/v1.0.0-alpha59/Navic.ipa",
          "size": 21475549,
          "minOSVersion": "14.1"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "Dusklight",
      "bundleIdentifier": "dev.twilitrealm.dusk",
      "developerName": "TwilitRealm",
      "subtitle": "Dusklight brings a classic adventure to PC and mobile platforms with a variety of fixes and improvements",
      "localizedDescription": "Overview:\n\nDusklight is a reverse-engineered reimplementation of Twilight Princess.\n\nIt aims to be as accurate as possible to the original while also providing new options, enhancements, and tools to customize your experience.\n\nSetup:\n\nDusklight does not provide any copyrighted assets. You must provide your own copy of the original game.\n\nAt a minimum, Dusklight requires a GPU with support for D3D12, Vulkan 1.1+, or Metal. For older devices, best-effort support is provided for D3D11 and OpenGL ES (Android), but will not achieve full accuracy or performance. Your experience with specific hardware, operating systems, and drivers may vary.\n\n• Dump your game:.\n\nDusklight currently supports all commercial discs except for Wii's Korean release.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/dev.twilitrealm.dusk.png",
      "tintColor": "#f0b020",
      "category": "games",
      "versions": [
        {
          "version": "2.0.2",
          "date": "2026-09-25T07:21:33Z",
          "localizedDescription": "What's new:\n\n• Added: Save Manager can now import saves between different regions, and between GC/Wii. (, 97ca92a056).\n• Added: Speedrun Mode now displays enabled mods. (7b917f20d1).\n• Fixed: Golden Wolf transition fades displaying incorrectly in Mirror Mode.\n• Fixed: \"Double Defense\" Magic Armor cheat preventing damage from attacks that normally deal a quarter heart.\n• Fixed: Shad not awarding the restored Dominion Rod when his randomized reward was the original item.\n• Fixed: Speedrun Mode allowing \"Easy Quick Spin\" and the debug camera's \"Freeze Time\" setting. (c55cc18003).\n• Fixed: Default B/X button mappings on Xbox One and Xbox 360 controllers.\n• Changed: Updated bundled Dusklight Randomizer to v1.0.5. (b245c6bef8).\n\n• Fixed a crash when rapidly switching game modes, and duplicate entries in the Excluded Locations list. (, ).\n• Prevent deleting seeds that are in use by a save file.\n• Fixed Ooccoo warps, boss-room death respawns, and returning to the dungeon entrance with entrance randomization. (Randomizer 13aa72b12d, 44d508ef56, 9339fdd6f4).\n• Fixed boss exits when both dungeon and boss entrances are randomized. (Randomizer 194775e07b).\n• Fixed entrance randomizer softlocks at Telma's Bar and behind the fences in Bulblin Camp. (Randomizer dc5ffa72c5, a4d3ce2b54, f7c415c31a).\n• Fixed Midna jumps into Coro's house and missing objects in Kakariko Graveyard. (Randomizer c8b7e3f1b2, a4c73d5cb9).\n• Fixed returning to spawn during the opening sewer sequence. (Randomizer 303f9fed5b).\n• Fixed other item drops in Ook's arena giving the Gale Boomerang's randomized reward. (Randomizer 6472dbded6).\n• Fixed the Cave of Ordeals Great Fairy reward being obtainable repeatedly. (Randomizer 72f2732ada).\n• More logic fixes in Faron, Eldin, and the Palace of Twilight, including requirements for Midna's charge attack. (Randomizer 7e4ea62f78, 904c4f73b3, 952f44e504).\n• Fixed the Sacred Grove Portal not being part of Starting Inventory in the permalink. (Randomizer 4b6b5641d2).\n• Spoiler logs now use valid YAML. (Randomizer c05ef76843).\n\nThanks to all contributors: @Abzol @alancorrals95 @Antidote @encounter @gymnast86 @Irastris @kamilink7 @MelonSpeedruns @PJB3005 @SuperDude88 @TakaRikka.",
          "downloadURL": "https://github.com/TwilitRealm/dusklight/releases/download/v2.0.2/Dusklight-v2.0.2-ios-arm64.ipa",
          "size": 37085037,
          "minOSVersion": "14.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSLocalNetworkUsageDescription": "Dusklight allows network-enabled mods to connect to devices on your local network."
        }
      }
    },
    {
      "name": "SunPad",
      "bundleIdentifier": "com.sunpad.SunPad",
      "developerName": "chrissotraidis",
      "subtitle": "Super Mario Sunshine on iPhone, iPad, Apple Silicon Mac, and tVOS through static recompilation and Metal",
      "localizedDescription": "SunPad:\n\nSuper Mario Sunshine on iPhone, iPad, Apple silicon Mac, and experimental Apple TV through ahead-of-time recompilation. SunPad brings together Metal rendering, touch controls, controller support, and local game-image import. Supply your own supported copy of the game.\n\nBuilt with ModernGekko, by Hyperway, ExpansionPak and contributors, and DolRecomp, on the RecompCore / Dolphin runtime. SunPad provides the Apple app and Sunshine-specific integration. See full credits, including Apple TV contributions and AI/artwork provenance.\n\nMaintained forks: ModernGekko, RecompCore, and DolRecomp. Runtime and compiler dependencies use pinned submodules. The source graph records the separate Apple and tvOS versions.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.sunpad.SunPad.png",
      "tintColor": "#10e0e0",
      "category": "developer",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/chrissotraidis/sunpad@main/docs/readme/sunpad-delfino-plaza.jpg",
        "https://cdn.jsdelivr.net/gh/chrissotraidis/sunpad@main/docs/readme/sunpad-plaza-conversation.jpg",
        "https://cdn.jsdelivr.net/gh/chrissotraidis/sunpad@main/docs/readme/sunpad-isle-delfino-map.jpg"
      ],
      "versions": [
        {
          "version": "0.1.0",
          "date": "2026-09-14T05:20:42Z",
          "localizedDescription": "Preview 13: maintained-fork rebuild:\n\nFresh unsigned iPhone/iPad and experimental Apple TV IPAs, version 0.1.0 build 13. Both are rebuilt from the maintained ModernGekko, RecompCore and DolRecomp forks with exact pinned source revisions. The Apple and tvOS audio paths remain separate.\n\nThis release includes corrected upstream attribution, original dependency license texts, recursive source references, a corresponding-source archive, and a build provenance manifest. It uses the hardened package validation and output-preservation workflow. No new gameplay feature or performance improvement is claimed.\n\nDownloads:\n\n• SunPad-0.1.0-preview.13-unsigned.ipa — iPhone/iPad, arm64, iOS target 16.0.\n• SunPad-0.1.0-preview.13-tvos-unsigned.ipa — Apple TV, arm64, tvOS target 17.0.\n• SunPad-0.1.0-preview.13-source.tar.gz — corresponding redistributable app, runtime, compiler and initialized dependency source trees.\n• build-provenance.json — exact app/dependency commits, toolchain, flags, generated-input hashes and artifact hashes.\n\nThe IPAs include the AOT executable module, but no game image, extracted game assets, saves, credentials or signing material. Supply your own supported GMSE01 USA revision-0 image. Apple TV requires Mac-side data staging and an Extended Gamepad; its cache storage can be purged and needs backups.",
          "downloadURL": "https://github.com/chrissotraidis/sunpad/releases/download/v0.1.0-preview.13/SunPad-0.1.0-preview.13-unsigned.ipa",
          "size": 26926655,
          "minOSVersion": "16.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "LBox",
      "bundleIdentifier": "Lolendor.LBox",
      "developerName": "Lolendor",
      "subtitle": "A native iOS repository manager and downloader offering seamless integration with LiveContainer",
      "localizedDescription": "⚡ Quick Start: To enable automatic app installation to LiveContainer, select its directory (\"On My iPhone\" \u003e \"LiveContainer\") on your device (see Fix File Picker if unable). Then, enable \"Auto .ipa to .app\" in LBox Settings.\n\n🚀 Overview:\n\nLBox bridges the gap between finding apps and running them on iOS. Instead of manually searching for IPA files and moving them around the file system, LBox allows you to add repositories (similar to AltStore or ESign), download apps in the background, and automatically extract them into your LiveContainer storage.\n\n✨ Key Features:\n\n• Repository Management:.\n\n• Add and manage unlimited public repositories (JSON format).\n• Remote Folders (Repo Lists): Subscribe to a single URL (text file) to automatically fetch and maintain a list of multiple repositories.\n• Organize sources into folders.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/Lolendor.LBox.png",
      "tintColor": "#20a0e0",
      "category": "entertainment",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/Lolendor/LBox@main/screenshots/store.png",
        "https://cdn.jsdelivr.net/gh/Lolendor/LBox@main/screenshots/app_details.png",
        "https://cdn.jsdelivr.net/gh/Lolendor/LBox@main/screenshots/downloads.png",
        "https://cdn.jsdelivr.net/gh/Lolendor/LBox@main/screenshots/apps.png"
      ],
      "versions": [
        {
          "version": "1.2",
          "date": "2025-12-08T02:13:43Z",
          "localizedDescription": "📥 Installation:\n\nRecommendation: Please install this IPA using LiveContainer.\n\nAutomated build #5.\n\n🚀 What's New in This Update:\n\nThis update focuses on stability, data persistence, and refining the user experience within the app.\n\n🔔 In-App Notifications:\n\nExperience a smoother interface.\n\n• Custom UI Alerts: added a new notification system. When you are active inside the app, you will now see custom interface notifications instead of standard system banners.\n\n💾 Comprehensive Data Saving:\n\nYour configuration is safe.\n\n• Full Parameter Persistence: Previously, only some settings were saved. Fixed this behavior so that ALL application parameters and preferences are now fully saved and restored between sessions.\n\n🛠 Core Improvements:\n\n• Update Process Fixes: The logic for checking and applying updates has been patched. Fixed the verification steps to ensure the update process is robust and error-free.",
          "downloadURL": "https://github.com/Lolendor/LBox/releases/download/v1.2/LBox.ipa",
          "size": 614768,
          "minOSVersion": "17.6"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "TumoCompanion",
      "bundleIdentifier": "com.tumoflip.unleashedcompanion",
      "developerName": "squazaryu",
      "subtitle": "A native iOS companion for Flipper Zero — BLE/USB SD file access, screen mirror, Sub-GHz/NFC, a Sber smart-relay failsafe, Marauder log analysis, ESP32 firmware flashing, and live Claude Code status on your Flipper",
      "localizedDescription": "TumoCompanion:\n\nA native iOS companion for Flipper Zero — BLE/USB SD file access, screen mirror, Sub-GHz/NFC, a Sber smart-relay failsafe, Marauder log analysis, ESP32 firmware flashing, and live Claude Code status on your Flipper.\n\nContents:\n\n• Field Services.\n• App Bridge (FAB1 / FAB2).\n• Firmware packages (atomic updater).\n• How the relay state works.\n• Build from source.\n\nAdd the source, then install — Feather signs it with your own certificate and auto-updates on each release:\n\nUnsigned IPA, sideloaded. Built for the independent Tumoflip firmware — its App Bridge BLE service is what most integrations use. Works as a plain BLE file/screen client on stock firmware too.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.tumoflip.unleashedcompanion.png",
      "tintColor": "#f07000",
      "category": "other",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/squazaryu/TumoCompanion@main/screenshots/onboarding.png",
        "https://cdn.jsdelivr.net/gh/squazaryu/TumoCompanion@main/screenshots/home.png",
        "https://cdn.jsdelivr.net/gh/squazaryu/TumoCompanion@main/screenshots/relay.png"
      ],
      "versions": [
        {
          "version": "1.11.24",
          "date": "2026-09-22T16:51:45Z",
          "localizedDescription": "TumoCompanion 1.11.24:\n\n• Protect the package-owned Device Library FAP, its cards/history and nested File History plugin from Community Pack replacement. Protection follows the canonical case-insensitive SD path, including renamed catalog entries.\n\n• Explicit Protected apps overrides remain available. No user files, cards, history or Bluetooth pairing data are deleted or migrated.\n\nInstall this companion update before FW Packages Dev 021. Automatic File History also needs the corresponding runtime support from firmware Dev 009-009; passing the minimum FAP API check alone does not enable automatic checkpoints.\n\nThe Bluetooth Remote controller repair is in Tumoflip Dev 009-009, not this iOS patch. Existing Remote 1.3 from FW Packages remains compatible. A companion update alone cannot repair peer selection on older firmware.",
          "downloadURL": "https://github.com/squazaryu/TumoCompanion/releases/download/v1.11.24/TumoCompanion-unsigned.ipa",
          "size": 25840904,
          "minOSVersion": "17.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSBluetoothAlwaysUsageDescription": "TumoCompanion connects to your Flipper Zero over Bluetooth Low Energy to manage files, mirror the screen, run apps and send Sub-GHz signals.",
          "NSBluetoothPeripheralUsageDescription": "TumoCompanion uses Bluetooth to communicate with your Flipper Zero.",
          "NSLocalNetworkUsageDescription": "TumoCompanion finds the Mac AI Radar bridge on your local network and sends relay actions to Home Assistant when your Flipper triggers them.",
          "NSLocationAlwaysAndWhenInUseUsageDescription": "TumoCompanion shares one position only when your connected Tumoflip requests it over Bluetooth while the app is in the background. It stops location updates immediately after replying. If you explicitly enable Last Known Location, one visible and clearable location is stored on this iPhone.",
          "NSLocationWhenInUseUsageDescription": "TumoCompanion uses your location for WiFi mapping and for one-shot position requests that you explicitly enable for a connected Tumoflip device."
        }
      }
    },
    {
      "name": "SceneBox",
      "bundleIdentifier": "app.scenebox.SceneBox",
      "developerName": "donbytyqi",
      "subtitle": "Torrent streaming client for iOS, iPadOS, tvOS and Mac (Catalyst), written in SwiftUI",
      "localizedDescription": "SceneBox:\n\nTorrent streaming client for iOS, iPadOS, tvOS and Mac (Catalyst), written in SwiftUI.\n\nImportant:\n\nSceneBox is a media player and BitTorrent/HTTP client. It does not provide, host, index, upload, store, or distribute any media content, and it has no affiliation with any content source.\n\n• All catalog metadata, stream listings, and media files come from third-party services and peers that users configure or connect to. These services are independent of SceneBox, are not operated, controlled, endorsed, or reviewed by its author, and may be changed or removed at any time.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/app.scenebox.SceneBox.png",
      "tintColor": "#e0e000",
      "category": "entertainment",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/donbytyqi/scenebox@main/website/images/mac-detail.png"
      ],
      "versions": [
        {
          "version": "1.0.4",
          "date": "2026-09-23T15:44:54Z",
          "localizedDescription": "Fixes.\n\n• Apple TV: Trakt lists open when you click them. (#10).\n• Mac: signing in works on the unsigned build. macOS doesn't let unsigned apps use the Keychain, so the app keeps your sign-in session and any API keys you enter in a file inside its own sandbox container instead (readable only by your user account).\n\nStill open.\n\nImportant: this release is NOT signed. You have to allow it yourself.\n\nNothing here is signed with an Apple developer account and the Mac app is not notarized. macOS and iOS will refuse to open it until you explicitly allow it. This is expected, it's not broken.\n\nMac:\n\n• Open the dmg and drag SceneBox to Applications.\n• Open SceneBox. macOS will say it \"could not verify\" the app or that it's from an unidentified developer. Press Done (not Move to Trash).\n• Go to System Settings \u003e Privacy \u0026 Security, scroll down to Security and press \"Open Anyway\" next to SceneBox, then confirm.\n• From then on it opens normally.\n\nIf you'd rather skip the dialog, run this in Terminal after copying the app to Applications:\n\nIf you had an older signed version installed, delete it first.\n\niPhone/iPad: the ipa isn't signed, you sign it yourself with Sideloadly, AltStore, SideStore, Feather or ESign with your own Apple ID. Free Apple ID = resign every 7 days (AltStore/SideStore do it for you), paid dev account = one year.\n\nApple TV: Sideloadly works over Wi-Fi. On the TV go to Settings \u003e Remotes and Devices \u003e Remote App and Devices so it shows up, then pick it in Sideloadly.",
          "downloadURL": "https://github.com/donbytyqi/scenebox/releases/download/v1.0.4/SceneBox-1.0.4.ipa",
          "size": 30509579,
          "minOSVersion": "18.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSLocalNetworkUsageDescription": "SceneBox connects directly to peers over your local network and the internet to stream and download."
        }
      }
    },
    {
      "name": "MeloCafé",
      "bundleIdentifier": "com.stossy11.MeloCafe",
      "developerName": "stossy11",
      "subtitle": "MeloCafe - iOS Cemu based Wii U emulator",
      "localizedDescription": "MeloCafe - Wii U emulator:\n\nThis is the code repository of MeloCafe, a Cemu based Wii U emulator that is able to run most Wii U games and homebrew in a playable state.\n\nMeloCafe is currently only available for iOS/iPadOS platforms.\n\nOther relevant repositories::\n\n• Cemu's Community Graphic Packs.\n\nDownload \u0026 Install:\n\nJust like MeloNX, the Increased Memory Limit Entitlement is needed for the best experience.\n\nWithout Increased Memory Limit crashes may occur (especially when using JIT).\n\nRecommended Guide (Plumeimpactor):\n\nSideStore is recommended (optional) for an on-device Sideloader, and should be installed prior performing this install.\n\n• Sideload Application:.\n\n• Open PlumeImpactor \u003e Click Settings \u003e Click Login.\n• Login with the same Apple ID you are using for SideStore (or AltStore).",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.stossy11.MeloCafe.png",
      "tintColor": "#f080f0",
      "category": "games",
      "versions": [
        {
          "version": "1.0",
          "date": "2026-09-14T12:54:41Z",
          "localizedDescription": "• Full iOS Support.\n• Metal Argument Buffers.\n• Cached Threaded Interpreter.\n\nThis is the first release of MeloCafe, there WILL be bugs, glitches, performance issues and unintended behavior which will get fixed in the future.\n\nMake sure to assign the Universal Script in StikDebug.",
          "downloadURL": "https://github.com/stossy11/MeloCafe/releases/download/1.0/MeloCafe.ipa",
          "size": 23433272,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "com.apple.developer.kernel.increased-memory-limit",
          "com.apple.developer.team-identifier",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSMicrophoneUsageDescription": "MeloCafe uses the microphone when Wii U software requests GamePad microphone input."
        }
      }
    },
    {
      "name": "AetherPS4",
      "bundleIdentifier": "com.aether.ps4ios",
      "developerName": "Leviidev",
      "subtitle": "PS4 Emulator for iOS \u0026 iPadOS (core with standalone app)",
      "localizedDescription": "AetherPS4:\n\nExperimental PlayStation 4 emulation for iOS, built on shadPS4 with an ARM64-ported FEXCore x86-64 → ARM64 JIT and a native SwiftUI front end.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.aether.ps4ios.png",
      "tintColor": "#001040",
      "category": "games",
      "versions": [
        {
          "version": "1.2.0",
          "date": "2026-09-12T02:48:11Z",
          "localizedDescription": "• Prevent iOS crash on first launch in a fresh sandbox.\n• Add 'Continue Anyway' button to SetupCheckView.\n\n• Replace Minecraft with Rocket League in README.\n\nNew Contributors:\n\n• @hernan0078 made their first contribution.\n• @itsjaylmao made their first contribution.",
          "downloadURL": "https://github.com/Leviidev/AetherPS4/releases/download/v1.2/AetherPS4-iOS.ipa",
          "size": 34208394,
          "minOSVersion": "17.4"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "Table Habit",
      "bundleIdentifier": "io.github.friesi23.mhabit",
      "developerName": "FriesI23",
      "subtitle": "Open-source Flutter habit tracker with smart scoring, WebDAV sync, local-first storage, privacy-focused design, and support for Android, iOS, Windows, macOS, and Linux",
      "localizedDescription": "Table Habit is a free and open-source habit tracker that helps you build micro habits with a unique scoring system, rich growth charts, and cross-device WebDAV sync. Available on Android, iOS, macOS, Windows, and Linux — no ads, no account required. See the translation badge above for supported languages. Licensed under Apache 2.0.\n\nWhy Table Habit?:\n\n• 📊 Smart Scoring — Not Just Streaks Quantifies your consistency beyond daily check-ins. Growth curves show your long-term progress with separate scoring models for \"do\" and \"don't\" habits.\n• 🔄 WebDAV Sync — Own Your Data Sync seamlessly across devices via Nextcloud, Koofr, or self-hosted servers. Zero vendor lock-in and complete data privacy — your habit data always stays yours.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/io.github.friesi23.mhabit.png",
      "tintColor": "#1070d0",
      "category": "lifestyle",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/FriesI23/mhabit@main/docs/README/images/feature-sync-settings.png",
        "https://cdn.jsdelivr.net/gh/FriesI23/mhabit@main/docs/README/images/feature-customization-01.png",
        "https://cdn.jsdelivr.net/gh/FriesI23/mhabit@main/docs/README/images/feature-customization-02.png",
        "https://cdn.jsdelivr.net/gh/FriesI23/mhabit@main/docs/README/images/feature-offline-empty.png",
        "https://cdn.jsdelivr.net/gh/FriesI23/mhabit@main/docs/README/images/feature-edit-habit.png"
      ],
      "versions": [
        {
          "version": "1.27.9",
          "date": "2026-09-20T23:24:07Z",
          "localizedDescription": "Release: v1.27.9+198:\n\nIncludes updates since the previous stable release, v1.27.6+195.\n\n✨ Features:\n\n• Cycle check-ins from unknown to done, skipped, and back to unknown (#657).\n\n• Delete a single check-in or several at once with confirmation.\n• Sync deletions across devices and keep record identity for later check-ins.\n\n• Improve dialogs and page layouts across window sizes (#661).\n\n• Adapt sheets and dialogs when resizing while preserving the open form and navigation state.\n• Migrate group management, sync editing, changelog, donation, and about dialogs to shared adaptive presentation.\n• Keep nested navigation and close confirmation within the active dialog.\n• Align scrolling page headers, safe areas, and window-control avoidance.\n\n• Improve habit detail actions and refresh retained details when returning to them (#662).\n• Improve Settings, grouped lists, and dialogs across window sizes (#663).\n\n• Add date format, reminder, export, import progress, and group editing flows.\n• Keep import results and group actions tied to the selected items.\n\n🐛 Fixes:\n\n• Restore batch check-in actions for selected habits in Apple layouts (#661).\n• Preserve Settings scroll position when rebuilding the page (#661).\n• Prevent a delayed group save from closing the group selector after the user has already returned from the creation form (#661).\n• Improve loading error recovery (#662).\n• Bound import concurrency and expose failures for individual items (#663).\n\n🌐 Localization:\n\n• Update Italian translation, thanks to Simone De Carli's contribution on Weblate (#664).",
          "downloadURL": "https://github.com/FriesI23/mhabit/releases/download/v1.27.9%2B198/mhabit-unsigned.ipa",
          "size": 15044222,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "Hotline Navigator",
      "bundleIdentifier": "com.greg.hotline-navigator",
      "developerName": "bourbonicfisky",
      "subtitle": "Official Website",
      "localizedDescription": "Hotline Navigator:\n\nOfficial Website.\n\nWhat the hell is Hotline?:\n\nHotline in concept, was to replicate a BBS but for the internet age. Modern users would recongize more as a proto peer-to-peer or a Discord like application.\n\nHotline's Navigator's website has a deeper drive the history of Hotline.\n\nPlatform Support:\n\nRight now the iOS, iPadOS, and Android versions are not in their respective app stores and must be built manually or sideloaded.\n\nThis is a Tauri-based Hotline client that provides a modern, cross-platform experience for the classic Hotline protocol. Built with React and Rust, it offers:\n\n• Cross-Platform: Single codebase for macOS, Windows, Linux, iOS, iPadOS, and Android.\n• Modern Stack: React + TypeScript frontend, Rust backend.\n\n• Native Performance: Tauri's lightweight architecture for fast, efficient apps.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.greg.hotline-navigator.png",
      "tintColor": "#307070",
      "category": "social",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/bourbonicfisky/Hotline-Navigator@main/doc-media/v0.2.5-dark-mode-discord.png",
        "https://cdn.jsdelivr.net/gh/bourbonicfisky/Hotline-Navigator@main/doc-media/main-screen.png"
      ],
      "versions": [
        {
          "version": "0.2.8",
          "date": "2026-04-21T22:36:45Z",
          "localizedDescription": "v0.2.8:\n\nThere's been a lot of rapid changes in Navigator's capabilities so this release UX quality-of-life series of fixes since the Discord style chat introduced a new UX paradigm which inevitable had some loose ends.\n\nDisconnects are detected in seconds instead of minutes, chat icons no longer fall back to gray letter placeholders for emotes or for users who chatted before their info loaded, and! / / commands now appear above the bot's response instead of below it. News browsing also works on multi-tier servers like VesperNet, where top-level entries are folders of folders.\n\nNext release will be new feature bound.\n\nBugfixes and Improvements:\n\n• Faster disconnect detection — When a server vanishes silently (peer crash, network drop, NAT timeout), the client now notices in ~60s on macOS/Linux and ~130s on Windows, down from the OS TCP retransmit default of 15+ minutes. Auto-reconnect kicks in correspondingly faster.\n\n• News browsing on nested servers — On servers like VesperNet where the top-level news entries are folders containing more folders, navigation no longer dead-ends with an empty article pane. The client now dispatches based on the clicked item's actual type (bundle vs. category) rather than assuming any non-root path holds articles.\n\nTechnical:\n\n• TCP SO_KEEPALIVE configured on the control channel via socket2: idle=30s, interval=10s, retries=3 on macOS/Linux. Windows uses the OS default retry count.\n• App-level keepalive failure now emits StatusChanged(Disconnected) and clears the transport, instead of silently breaking.\n\n• Optimistic insert tagged with pending: true and optimisticKey; echo dedup matches by userName + message text within a 10s window. /me and /em are preformatted as *** name action to match the server echo. 30s safety timeout clears the pending flag if no echo arrives.\n• News load effect dispatches on a tracked newsLeafType (2 = bundle → get_news_categories; 3 = category → get_news_articles). Going back always sets leaf type to bundle, since non-leaf path segments are bundles by invariant.\n\nInstallation:\n\nDownload the installer for your platform from the release assets.\n\n.dmg = macOS, .msi/.exe = Windows, .apk = Android, .ipa = iOS/iPadOS, Linux hippies can figure it out.",
          "downloadURL": "https://github.com/bourbonicfisky/Hotline-Navigator/releases/download/v0.2.8/hotline-navigator-unsigned.ipa",
          "size": 9625078,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "Photos Backup",
      "bundleIdentifier": "com.g8row.photosbackup",
      "developerName": "g8row",
      "subtitle": "PhotosBackup iOS app",
      "localizedDescription": "Photos Backup for iOS:\n\nAn experimental, fully on-device iPhone app for backing up selected photos, videos, and albums to Google Photos. It is a single SwiftUI app that completes Google account setup in an in-app web view, so everything happens on the phone without a desktop companion or hosted service.\n\nThis project uses Google's private, undocumented Photos endpoints and an Android-style authentication flow. It is not affiliated with or endorsed by Google, and the integration may stop working without notice. Treat it as experimental software and use it at your own risk.\n\nWhat it can do:\n\n• Connect a Google account through Google's EmbeddedSetup flow, in an in-app web view.\n• Capture the single-use oauth_token in-process from the web view's cookie store.\n• Exchange the token for a Google Photos credential entirely on the device.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.g8row.photosbackup.png",
      "tintColor": "#2080f0",
      "category": "other",
      "versions": [
        {
          "version": "0.3.7",
          "date": "2026-09-20T16:10:16Z",
          "localizedDescription": "New:\n\n• The Google Photos app now counts what this app backs up. (, thanks @saileshbro) Uploads showed as \"not backed up\" in the Google Photos app, and its own Free up space never offered them. It now recognises them, and its Free up space and Delete from device remove the photos from your iPhone. On one library of about 8,500 items, \"Not backed up\" went from 8,145 to 0 and Free up space from 2 items to 461.The reason was the version being uploaded. The Google Photos app only counts a photo it can match to the one on your iPhone, so an edited photo or video now backs up as it looks, not as its unedited original. A photo you edited in the Google Photos app also needs the version that edit was applied on, which is uploaded in an extra step.\n• Back Up Live Photo Motion. Off by default. With it on, a Live Photo's motion is attached to the still already in your account, so it plays as a Live Photo and Free up space will offer it. Live Photos backed up earlier get their motion added as a backlog — this can be tens of GB, which is why it is a setting you turn on.\n• Backup keeps going after you leave the app (iOS 26). While the app is open with work to do, iOS is asked to keep it running; progress then shows in a Live Activity, where you can also stop it. Up to 2 uploads run at once in the background. On earlier iOS versions nothing changes.\n\nFixed:\n\n• Google's rate limit no longer fails a row. When Google asked the app to slow down (HTTP 429), rows retried a second apart, met the same refusal, and failed. The whole queue now waits it out — a minute, doubling up to ten while Google keeps refusing — and carries on.\n• Photos deleted while still queued. Freeing space on your iPhone deletes photos that may still be waiting to upload. Those rows are dropped quietly instead of failing with \"no longer in your photo library\" — about 2,000 rows had failed that way on one library.\n• Hand-picked photos are re-checked even when the app already remembers them as backed up.\n\nVerifying this release:\n\n• Every pull request and every push now runs the test suite before it can land.\n\nWorth knowing:\n\n• An edited photo now backs up its edit, not its original. Originals already uploaded stay in your account, but a newly edited photo no longer uploads its unedited version. Google's own backup behaves the same way.\n• After updating, the app queues a one-time re-check of edited photos already backed up. Most settle without uploading anything.\n• A photo saved to your iPhone from Google Photos is never counted as backed up, even though it is in your library. Editing it in Apple Photos works around this.\n\nNotes:\n\n• 191 tests, 189 passing (2 opt-in live tests skipped).\n• Tested on an iPhone 16 Pro Max (iOS 26.6.1, Google Photos 7.92.0) across a full library, and on a SideStore-signed install where the background tasks now register and run.",
          "downloadURL": "https://github.com/g8row/PhotosBackup/releases/download/0.3.7/PhotosBackup.ipa",
          "size": 2716224,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSPhotoLibraryUsageDescription": "Photos Backup needs access to the albums and photos you choose so it can safely back them up to Google Photos."
        }
      }
    },
    {
      "name": "MiniWatts",
      "bundleIdentifier": "org.zhaohe.MiniWatts",
      "developerName": "ResistanceTo",
      "subtitle": "An iPhone battery, charging and thermal instrument built on private iOS APIs — real charger watts, what actually reaches the cell, all 30 temperature sensors, and the USB-PD handshake",
      "localizedDescription": "MiniWatts:\n\nEnglish · 简体中文.\n\nAn iPhone battery and charging monitor built on Apple's private APIs. It reads the phone's own power-management sensors — the ones iOS uses to run the charge — and shows what the charger is delivering, how much of it reaches the cell, where the rest goes as heat, and what every temperature sensor in the phone is doing while it happens.\n\nSideload only. Private APIs mean this can never be on the App Store — you sign and install it yourself. There is no network code of any kind: nothing it reads leaves your phone.\n\nInstall:\n\nDownload the latest MiniWatts-unsigned.ipa from.\n\nApple ID — Sideloadly, AltStore, SideStore and Xcode all do this. A free Apple ID works; the app then expires after seven days and you re-sign it.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/org.zhaohe.MiniWatts.png",
      "tintColor": "#f0e030",
      "category": "other",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/ResistanceTo/MiniWatts@master/docs/screenshots/power.jpg",
        "https://cdn.jsdelivr.net/gh/ResistanceTo/MiniWatts@master/docs/screenshots/thermal.jpg",
        "https://cdn.jsdelivr.net/gh/ResistanceTo/MiniWatts@master/docs/screenshots/adapter.jpg",
        "https://cdn.jsdelivr.net/gh/ResistanceTo/MiniWatts@master/docs/screenshots/history.jpg"
      ],
      "versions": [
        {
          "version": "1.4.1",
          "date": "2026-09-25T12:31:59Z",
          "localizedDescription": "Unsigned build — sign it with your own Apple ID before installing. https://github.com/ResistanceTo/MiniWatts#install\n\n修复:\n\n• 滑动时每秒卡一下：在 iPhone 15 Pro 等机型上，任何页面匀速滑动时大约每秒会顿一下，插不插充电器都会出现，现已修复。原因有几处叠加：.\n\n• 表盘中间的数字滚动效果和弧线动画会被放到 CPU 上绘制，页面滚动时每一帧都要重画一次，占用了大量主线程时间。.\n\n变化:\n\n感谢反馈这个问题的用户。.\n\nFixes:\n\n• Scrolling hitched about once a second on every screen, charging or not (reported on an iPhone 15 Pro). Several causes added up:.\n\n• The dial's rolling number and arc animations were drawn on the CPU and redrawn on every scroll frame.\n• The floating meter (Picture in Picture) rendered a frame every second even when it was not open.\n• Every tab you had visited kept refreshing in the background once a second, and the visible page rebuilt its navigation bar and toolbar on every refresh.\n• Sensor reads now run off the main thread.\n\nChanges:\n\n• The power reading on the dial no longer rolls and its arcs no longer animate; they update in place like every other reading.\n• A tab returns to the top when you switch back to it.\n\nThanks to the user who reported it.",
          "downloadURL": "https://github.com/ResistanceTo/MiniWatts/releases/download/v1.4.1/MiniWatts-unsigned.ipa",
          "size": 3270441,
          "minOSVersion": "17.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "PicGuard",
      "bundleIdentifier": "com.kjxbyz.picguard",
      "developerName": "picguard",
      "subtitle": "Your pictures, your signature",
      "localizedDescription": "PicGuard:\n\nThis project is used to learn how to package Flutter applications and distribute them through app stores, package managers or binary packages.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.kjxbyz.picguard.png",
      "tintColor": "#1070b0",
      "category": "utilities",
      "versions": [
        {
          "version": "5.7.2",
          "date": "2026-08-08T02:19:12Z",
          "localizedDescription": "Release created by PicGuard workflow run #276Please refer to CHANGELOG.md for details.",
          "downloadURL": "https://github.com/picguard/picguard/releases/download/v5.7.2.481/PicGuard-5.7.2.481.ipa",
          "size": 31070251,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "beta-reports-active",
          "com.apple.developer.team-identifier",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSPhotoLibraryUsageDescription": "In order to add watermarks to your images, PicGuard needs access to your photos."
        }
      }
    },
    {
      "name": "Onion Browser",
      "bundleIdentifier": "com.miketigas.OnionBrowser",
      "developerName": "OnionBrowser",
      "subtitle": "An open-source, privacy-enhancing web browser for iOS, utilizing the Tor anonymity network",
      "localizedDescription": "Onion Browser:\n\n© 2012-2024, Tigas Ventures, LLC (Mike Tigas).\n\nThis is the Onion Browser 3.X branch. The older versions of Onion Browser can be found here and here.\n\nOnion Browser is a free web browser for iPhone and iPad that encrypts and tunnels web traffic through the Tor network with the help of Orbot iOS. See the official site for more details and App Store links.\n\nPlease see the LICENSE file for usage and redistribution terms.\n\nThe following features are new to Onion Browser, mostly by leveraging Orbot iOS:\n\n• Use of newer, more secure, faster rendering engine WKWebView.\n• Finally all traffic, including audio/video streams tunneled through Tor.\n\n• Search in page from iOS 16 and up.\n• Multiple windows support on iPad.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.miketigas.OnionBrowser.png",
      "tintColor": "#501060",
      "category": "utilities",
      "versions": [
        {
          "version": "3.4.1",
          "date": "2026-08-11T16:27:51Z",
          "localizedDescription": "• Fixed IP leaks during DNS prefetch found by Mysk: https://mysk.blog/2026/08/04/webkit-proxy-icloud-private-relay-ip-leak/ (The other leaks are mitigated by Lockdown Mode in Onion Browser, included in Silver and Gold security levels.).\n• Updated libevent to 2.1.13.\n• Updated Japanese and Pashto translations.",
          "downloadURL": "https://github.com/OnionBrowser/OnionBrowser/releases/download/v3.4.1/OnionBrowser.ipa",
          "size": 39611914,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "beta-reports-active",
          "com.apple.developer.default-data-protection",
          "com.apple.developer.siri",
          "com.apple.developer.team-identifier",
          "com.apple.developer.web-browser",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSCameraUsageDescription": "Needed to read bridge addresses from displayed QR codes.",
          "NSFaceIDUsageDescription": "Needed, if you want to unlock the app with Face ID.",
          "NSPhotoLibraryAddUsageDescription": "Needed to store the selected image to your photos."
        }
      }
    },
    {
      "name": "VLC",
      "bundleIdentifier": "org.videolan.vlc-ios",
      "developerName": "videolan",
      "subtitle": "Official release build",
      "localizedDescription": "Official release build",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/org.videolan.vlc-ios.png",
      "tintColor": "#f08000",
      "category": "entertainment",
      "versions": [
        {
          "version": "3.6.4",
          "date": "2024-08-23T17:18:00Z",
          "localizedDescription": "Version 3.6.4 official build.",
          "downloadURL": "https://download.videolan.org/pub/videolan/vlc-iOS/3.6.4/VLC-iOS.ipa",
          "size": 91516398,
          "minOSVersion": "9.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "aps-environment",
          "com.apple.developer.carplay-audio",
          "com.apple.developer.icloud-container-development-container-identifiers",
          "com.apple.developer.icloud-container-environment",
          "com.apple.developer.icloud-container-identifiers",
          "com.apple.developer.icloud-services",
          "com.apple.developer.in-app-payments",
          "com.apple.developer.media-device-discovery-extension",
          "com.apple.developer.networking.multicast",
          "com.apple.developer.siri",
          "com.apple.developer.team-identifier",
          "com.apple.developer.ubiquity-container-identifiers",
          "com.apple.developer.ubiquity-kvstore-identifier",
          "com.apple.security.application-groups",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSFaceIDUsageDescription": "Enable access to Face ID to unlock VLC",
          "NSLocalNetworkUsageDescription": "In order to discover media servers we will need access to your local network. This is also needed to find Chromecast devices.",
          "NSPhotoLibraryAddUsageDescription": "In order to save the video we will need access to your camera roll",
          "NSPhotoLibraryUsageDescription": "In order to save the video we will need access to your camera roll"
        }
      }
    },
    {
      "name": "StarshipPad",
      "bundleIdentifier": "com.chrissotraidis.starshippad",
      "developerName": "chrissotraidis",
      "subtitle": "Star Fox 64 (Starship) adapted for iPhone and iPad, with native Metal rendering, touch flight controls, Files-based setup, and controller support",
      "localizedDescription": "StarshipPad:\n\nStarshipPad turns the complete Starship source port into a native iOS/iPadOS application. Build it on a Mac, import your own supported Star Fox 64 ROM through Files, and fly by touch or connect a compatible controller—no keyboard required.\n\nThis repository contains the mobile integration, maintained source patches, tests, and reproducible build scripts. It does not contain Star Fox 64, a ROM, extracted Nintendo assets, or a playable ROM-derived archive.\n\nDownload Preview 5:\n\nor review the.\n\nA separate.\n\nis published beside the IPA.\n\nSHA-256: a57ed4bd149e8cfaf791b620681c69aeb32371d79d7242c18845832c65b57892.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.chrissotraidis.starshippad.png",
      "tintColor": "#001030",
      "category": "games",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/chrissotraidis/starshippad@main/docs/readme/starshippad-action-sunset.jpg",
        "https://cdn.jsdelivr.net/gh/chrissotraidis/starshippad@main/docs/readme/starshippad-controller.jpg",
        "https://cdn.jsdelivr.net/gh/chrissotraidis/starshippad@main/docs/readme/starshippad-action-landmaster.jpg",
        "https://cdn.jsdelivr.net/gh/chrissotraidis/starshippad@main/docs/readme/starshippad-action-battle.jpg"
      ],
      "versions": [
        {
          "version": "0.1.0",
          "date": "2026-08-18T16:40:29Z",
          "localizedDescription": "Preview 5 refreshes the public ROM-free IPA from the merged controller-reconnect code and advances the iOS build number to 5. There are no additional controller-code changes.\n\nValidation passed locally and on GitHub: controller reconnect regression, all 11 supported ROM route cases, repository safety, clean unsigned arm64 iPhoneOS Release build, app audit, package audit, ZIP integrity, and signing gate.\n\nStarshipPad-v0.1.0-preview.5-unsigned.ipa is unsigned and intended for self-signing. It contains no ROM or user game data and is not an App Store or TestFlight build.\n\nSHA-256: a57ed4bd149e8cfaf791b620681c69aeb32371d79d7242c18845832c65b57892.",
          "downloadURL": "https://github.com/chrissotraidis/starshippad/releases/download/v0.1.0-preview.5/StarshipPad-v0.1.0-preview.5-unsigned.ipa",
          "size": 6869652,
          "minOSVersion": "16.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "C64 Commander",
      "bundleIdentifier": "uk.gleissner.c64commander",
      "developerName": "chrisgleissner",
      "subtitle": "Control and manage a Commodore 64 Ultimate from Android, iOS, or a self-hosted web deployment on your local network",
      "localizedDescription": "C64 Commander:\n\nControl and manage a Commodore 64 Ultimate from Android, iOS, or a self-hosted web deployment on your local network.\n\nFeatures:\n\n• Device support: Works with the C64 Ultimate, Ultimate 64 Elite I/II, and Ultimate-II+(L) cartridges.\n• Search: Find any page, setting, action, tune or disk by name. Three ways in — the field at the top of Home, the Quick menu, or the 7 key. A result you cannot use yet is still listed, with the reason.\n\n• Dashboard: Control the machine, drives, printer, SID mixer, lighting, and streams from one page.\n• Playlists and SID Radio: Play programs and SID music from local files, device storage, HVSC, or CommoServe.\n• Remote Input and Live View: Use an on-screen joystick or keyboard, and stream audio or video from the running machine.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/uk.gleissner.c64commander.png",
      "tintColor": "#c0b060",
      "category": "games",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/chrisgleissner/c64commander@main/docs/img/app/home/00-overview-light.png",
        "https://cdn.jsdelivr.net/gh/chrisgleissner/c64commander@main/docs/img/app/home/sections/01-quick-actions-to-live-view.png",
        "https://cdn.jsdelivr.net/gh/chrisgleissner/c64commander@main/docs/img/app/home/01-overview-dark.png",
        "https://cdn.jsdelivr.net/gh/chrisgleissner/c64commander@main/docs/img/app/home/sections/04-video-to-audio.png",
        "https://cdn.jsdelivr.net/gh/chrisgleissner/c64commander@main/docs/img/app/home/sections/09-lighting-to-keyboard-light.png"
      ],
      "versions": [
        {
          "version": "1.0.6",
          "date": "2026-09-26T16:23:20Z",
          "localizedDescription": "• Keypad-only and small-screen bug bash: 87 fixes found on device and by review.\n• Fix defects from a hardware bug bash, and handle Ultimates on Ethernet and Wi-Fi at once.\n• Keypad, T9 and small-screen fixes from a second hardware sweep.\n• deps: Bump the \"weekly-rollup\" group with 2 updates across multiple ecosystems[bot].",
          "downloadURL": "https://github.com/chrisgleissner/c64commander/releases/download/1.0.6/c64commander-1.0.6-ios.ipa",
          "size": 7377490,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "Monolith",
      "bundleIdentifier": "dev.naveed-gung.monolith",
      "developerName": "naveed-gung",
      "subtitle": "Monolith is an offline-first Flutter music player built for local listening, managed downloads, playlist control, and system-grade playback surfaces across Android and iOS",
      "localizedDescription": "Monolith:\n\nA personal music player for iOS and Android. Bring your own music, keep a local collection, and listen with the screen locked.\n\nScreenshots:\n\nSix actual Pixel 10a emulator captures with the current coral accent, alternating light and dark: three of each. They show local test audio and a public test download. These are Android captures; iPhone verification remains separate.\n\nYour collection:\n\n• Playback follows the displayed song order. Completed activity fades after five seconds.\n• Import readable songs from the iOS Music picker, import the accessible local Music library in one batch, or choose audio files from Files. Failed items retain their individual reasons.\n• Browse songs, artists, albums, playlists, and recent additions.\n• Open the activity dropdown below the header to inspect concurrent transfers and stop individual jobs.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/dev.naveed-gung.monolith.png",
      "tintColor": "#e04050",
      "category": "games",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/naveed-gung/Monolith@main/docs/screenshots/library.png",
        "https://cdn.jsdelivr.net/gh/naveed-gung/Monolith@main/docs/screenshots/songs.png",
        "https://cdn.jsdelivr.net/gh/naveed-gung/Monolith@main/docs/screenshots/player.png",
        "https://cdn.jsdelivr.net/gh/naveed-gung/Monolith@main/docs/screenshots/downloads.png",
        "https://cdn.jsdelivr.net/gh/naveed-gung/Monolith@main/docs/screenshots/search.png"
      ],
      "versions": [
        {
          "version": "1.4.5",
          "date": "2026-09-21T16:53:47Z",
          "localizedDescription": "iOS — monolith.ipa (unsigned):\n\n• App: Monolith.\n• Version: v1.4.5.\n• Bundle ID: dev.naveed-gung.monolith.\n• Developer: naveed-gung.\n\nThis IPA is not App Store signed. Install via AltStore, Sideloadly, TrollStore, or any sideloading tool of your choice.\n\nAndroid — monolith.apk:\n\n• App: Monolith.\n• Version: v1.4.5.\n• Min Android: 7.0 (API 24).\n• Bundle ID: dev.naveed_gung.monolith.\n\nInstall on any Android 7.0+ device: download monolith.apk, then enable Install unknown apps for your browser/file manager when prompted. No Play Store account needed.\n\nNote: this build is signed with a debug key (fine for sideloading). Android may warn it's from an unknown developer — that's expected for a non–Play Store APK.",
          "downloadURL": "https://github.com/naveed-gung/Monolith/releases/download/v1.4.5/monolith.ipa",
          "size": 11121525,
          "minOSVersion": "16.4"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSAppleMusicUsageDescription": "Monolith needs access to your media library to import songs from your device.",
          "NSLocalNetworkUsageDescription": "Monolith uses local network access for audio session management."
        }
      }
    },
    {
      "name": "VCMI",
      "bundleIdentifier": "eu.vcmi.vcmiclient",
      "developerName": "vcmi",
      "subtitle": "Open-source engine for Heroes of Might and Magic III",
      "localizedDescription": "Open-source engine for Heroes of Might and Magic III.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/eu.vcmi.vcmiclient.png",
      "tintColor": "#603000",
      "category": "games",
      "versions": [
        {
          "version": "1.7.5",
          "date": "2026-08-15T12:02:44Z",
          "localizedDescription": "Note: saved games from 1.6 release can be loaded in 1.7.\n\n• Player Changelog: 1.7.4 -\u003e 1.7.5.\n• Full Changelog: https://github.com/vcmi/vcmi/compare/1.7.4.1.7.5",
          "downloadURL": "https://github.com/vcmi/vcmi/releases/download/1.7.5/VCMI-iOS.ipa",
          "size": 28187923,
          "minOSVersion": "12.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "Surge XT",
      "bundleIdentifier": "org.vicwomg.surge-xt",
      "developerName": "vicwomg",
      "subtitle": "iOS and Android port of Surge Synthesizer plug-in (previously released as Vember Audio Surge)",
      "localizedDescription": "Surge iOS \u0026 Android Ports:\n\nThis is an unofficial iOS \u0026 Android Port of Surge XT. Since Surge is built on JUCE, it has very good compatibility with mobile platforms and required a few tweaks to get it working properly on touch screens.\n\nPlease note I am not affililated with the Surge Synth Team in any way. Surge XT's GPLv3 licensing prohibits distribution in any kind of App Store or Google Play Store.\n\nThe main work done to make this functional:\n\n• Add iOS/Android handling to the cmake system and incompatible libraries (luajit).\n• Handle factory presets bundling and APK zip extraction of assets for Android.\n• Handle persistent storage of user settings and patches to mobile app data paths.\n• Expose JUCE audio \"Options\" button to mobile UI layer.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/org.vicwomg.surge-xt.png",
      "tintColor": "#f09000",
      "category": "entertainment",
      "versions": [
        {
          "version": "1.4.0",
          "date": "2026-09-01T06:05:54Z",
          "localizedDescription": "Some updates to improve persistence and mobile phone operation:\n\n• Persist zoom setting across restart.\n• Persist MPE setting across restart.\n• Right-click with 1-second long press.\n• Two-finger scroll to pan/scroll UI.\n• Slim iOS build option which excludes presets.\n\nEdit:\n\n• Potential Android performance enhancements in 0.2.1-alpha apk.",
          "downloadURL": "https://github.com/vicwomg/surge-ios-android/releases/download/v0.2.0-alpha/Surge.XT.0.2.0-alpha.ipa",
          "size": 352184562,
          "minOSVersion": "10.15"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "com.apple.developer.team-identifier",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSBluetoothAlwaysUsageDescription": "Surge XT would like to use Bluetooth",
          "NSBluetoothPeripheralUsageDescription": "Surge XT would like to use Bluetooth",
          "NSMicrophoneUsageDescription": "Surge XT would like to use your microphone for audio input"
        }
      }
    },
    {
      "name": "DolphiniOS",
      "bundleIdentifier": "me.oatmealdome.DolphiniOS-njb-patreon-beta",
      "developerName": "OatmealDome",
      "subtitle": "Dolphin for iOS, reborn",
      "localizedDescription": "DolphiniOS:\n\nDolphiniOS is a port of the Dolphin Emulator to iOS and iPadOS. For installation instructions and downloads, check our website.\n\nThis is the repository for the new DolphiniOS codebase.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/me.oatmealdome.DolphiniOS-njb-patreon-beta.png",
      "tintColor": "#e0b030",
      "category": "games",
      "versions": [
        {
          "version": "5.0.0",
          "date": "2026-06-20T07:01:54Z",
          "localizedDescription": "• Fixed JIT support on A13/A14/M1 devices running iOS 27 beta. (@CelloSerenity).\n• Fixed wrong app version number introduced in 5.0.0b5. (@CelloSerenity).\n\nThe next update will be sometime after the next official Dolphin release. It will include a core update.",
          "downloadURL": "https://github.com/OatmealDome/dolphin-ios/releases/download/v5.0.0b6/Non-Jailbroken.ipa",
          "size": 17963367,
          "minOSVersion": "14.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "com.apple.developer.kernel.increased-memory-limit",
          "get-task-allow"
        ],
        "privacy": {
          "NSLocalNetworkUsageDescription": "DolphiniOS uses the local network to find and communicate with AltServer."
        }
      }
    },
    {
      "name": "Otraku",
      "bundleIdentifier": "com.otraku.app",
      "developerName": "lotusprey",
      "subtitle": "An unofficial AniList client for Android and iOS",
      "localizedDescription": "Otraku:\n\nAn unofficial AniList app.\n\n• Run flutter build apk --split-per-abi.\n\n• Run flutter build ios --no-codesign.\n• Copy ./build/ios/iphoneos/Runner.app into a Payload directory.\n• Compress Payload and change extension to .ipa.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.otraku.app.png",
      "tintColor": "#40a0f0",
      "category": "entertainment",
      "versions": [
        {
          "version": "1.13.1",
          "date": "2026-09-22T15:42:22Z",
          "localizedDescription": "• Added localizations support.\n• Added Turkish localization (thanks @kyoyacchi).\n• Unfinished messages are persisted in storage, so mistakenly closing the sheet won't cause you to loose your progress (thanks @0-BlackSpectrum-0).\n• Added progress and repeats info to the following tab in the media page. (thanks @0-BlackSpectrum-0).\n• Added \"Watchable On\"/\"Readable On\" filter in discover filters for anime/manga.\n• Added support for underline formatting.\n• Added support for the \"Same Universe\" media relation.\n• Made all markdown content selectable: activities, replies, threads, comments, user/character/staff bios, reviews and media descriptions.\n\n• The copy button in the link sheet was replaced by a share button.\n• Fixed the last item in the collection list sheet being cut off.\n• Fixed incorrect marker clipping of unread notifications (thanks @0-BlackSpectrum-0).\n• Fixed markdown not being rendered in list notes.\n• Fixed the back button briefly appearing on some tabs of the home page.",
          "downloadURL": "https://github.com/lotusprey/otraku/releases/download/v.1.13.1/Otraku-v.1.13.0-ios15.8.8%2B.ipa",
          "size": 10342207,
          "minOSVersion": "15.8.8"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSPhotoLibraryAddUsageDescription": "This app needs permission to save media to your library."
        }
      }
    },
    {
      "name": "MeloNX",
      "bundleIdentifier": "com.stossy11.MeloNX",
      "developerName": "stossy11",
      "subtitle": "A Nintendo Switch Emulator based on Ryujinx for iOS",
      "localizedDescription": "FAQ:\n\nWe do not support piracy, It is forbidden to request copyrighted content.\n\nDo I need a Switch to use this emulator?:\n\nMeloNX emulator is capable of running many homebrew applications, and can be a crucial tool in the development and debugging of homebrew applications and games. To play commercial games, you will need access to a Switch compatible with custom firmware (CFW), which will enable you to dump your system firmware, keys and legally purchased games.\n\nHow can I dump my firmware/games/keys?:\n\nFirst, you need to hack your Nintendo Switch, which you can learn how to do here: https://nh-server.github.io/switch-guide/.\n\nInfo:\n\n• A Paid Developer account or TrollStore may be needed for specific devices (Read about Entitlements below).\n• MeloNX REQUIRES JIT and CANNOT run without it.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.stossy11.MeloNX.png",
      "tintColor": "#6040c0",
      "category": "games",
      "versions": [
        {
          "version": "2.6",
          "date": "2026-08-26T14:22:48Z",
          "localizedDescription": "Core:\n\n• Brand new Audio Backend.\n• Update AirPlay Support.\n• Fix Firmware Importing.\n• Update TXM detection.\n• Fix ldn_mitm.\n• Update Texture Clearing / Auto Delete Cache.\n• Async Shader Generation Fixes.\n• Fix Argument Buffer env variable.\n• Removed Herobrine.\n\nUI/UX \u0026 Extras:\n\n• RAM Tester Integration.\n• 3D Cartridge View and Animations (Controller Navigable).\n• Add Clear All Shader Cache Button.\n• Add Copying Launch Deep Link.\n• Fix Saving Game Icon.\n• File Picker Fixes.",
          "downloadURL": "https://git.ryujinx.app/projects/MeloNX/releases/download/2.6/MeloNX.ipa",
          "size": 48811519,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "com.apple.developer.kernel.increased-memory-limit",
          "com.apple.developer.team-identifier",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSLocalNetworkUsageDescription": "MeloNX needs local network access for LAN / Local Multiplaer"
        }
      }
    },
    {
      "name": "Get More Ram",
      "bundleIdentifier": "com.aigch.getMoreRam",
      "developerName": "hugeBlack",
      "subtitle": "A simple AltSign wrapper app that allows you to enable \"Increased Memory Limit\" to your sideloaded apps without using Xcode",
      "localizedDescription": "Get More Ram:\n\nA simple StosSign wrapper app that allows you to enable \"Increased Memory Limit\" for your sideloaded apps without using Xcode.\n\nHow to use:\n\n• Sideload this app.\n• Go to settings, sign in your account that you used to sign the app you want to enable \"Increased Memory Limit\".\n• Go to \"App IDs\" page.\n• Tap Refresh.\n• Tap the app you want to enable \"Increased Memory Limit\".\n• Tap \"Add Increased Memory Limit\".\n• Reinstall the app from SideStore/AltStore.\n• Check if you have \"Increased Memory Limit\".",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/placeholder.png",
      "tintColor": "#6156e2",
      "category": "utilities",
      "versions": [
        {
          "version": "1.0",
          "date": "2026-09-12T14:39:53Z",
          "localizedDescription": "This is a nightly release created automatically with GitHub Actions workflow.",
          "downloadURL": "https://github.com/hugeBlack/GetMoreRam/releases/download/nightly/GetMoreRam.ipa",
          "size": 2305445,
          "minOSVersion": "16.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "iTransmission",
      "bundleIdentifier": "com.plusmediapps.itransmission",
      "developerName": "alexsvitlov",
      "subtitle": "Fast and Lightweight Torrent App for iOS",
      "localizedDescription": "Info:\n\niTransmission is a new and revamped version of the original app. iTransmission is a fast, easy and Free Bittorrent Client for iOS. This app is powered by the latest Trasnmission library and it will be updated when the awesome Transmission team updates the Transmission lib.\n\nFeatures of the app:\n\n• Open external torrent files via the app.\n\n• Suppots File app and file sharing.\n\n• Dark Mode.\n\nSupports iOS 13 and up.\n\nBuild:\n\nSimply download or clone the project, open XCode and run the app.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.plusmediapps.itransmission.png",
      "tintColor": "#d060a0",
      "category": "utilities",
      "screenshotURLs": [
        "https://itransmissiondev.web.app/images/MainAssets/Altstore.png"
      ],
      "versions": [
        {
          "version": "1.0",
          "date": "2024-01-12T20:05:56Z",
          "localizedDescription": "The very first release of iTransmission app for iOS.",
          "downloadURL": "https://github.com/alexsvitlov/iTransmission/releases/download/1.0.0/iTransmission.ipa",
          "size": 3718662,
          "minOSVersion": "13.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "ByeTunes",
      "bundleIdentifier": "com.EduAlexxis.MusicManager",
      "developerName": "EduAlexxis",
      "subtitle": "The first app of its kind: seamless, on-device music and ringtone injection for iOS. Bypass iTunes and manage your native library directly. Auto-fetch metadata, organize playlists, and keep your files clean. The true local music experience is here",
      "localizedDescription": "ByeTunes 🎵:\n\nSay goodbye to iTunes sync!\n\nByeTunes is a native iOS app that lets you inject music (MP3, M4A, FLAC, WAV) and ringtones directly into your device's media library—without needing a computer connection for every sync. It communicates directly with the iOS media database, giving you the power to manage your music on your terms.\n\nFeatures:\n\n• Direct Music Injection: Add songs to your Apple Music library without a PC.\n• (DISABLED FOR NOW) Ringtone Manager: Inject custom ringtones (.m4r and .mp3 auto-conversion).\n• Playlist Support: Create and manage playlists on the fly.\n• No Computer Needed (after setup): Once paired, you're free!\n• Metadata Editing: Auto-fetched from iTunes or Deezer.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.EduAlexxis.MusicManager.png",
      "tintColor": "#c00030",
      "category": "entertainment",
      "versions": [
        {
          "version": "2.5",
          "date": "2026-08-31T00:38:38Z",
          "localizedDescription": "Hi guys, here's the 2.5 update for ByeTunes. This one adds full Deezer support and real parallel downloads for way faster queues, plus a brand new Smart Playlists feature with custom cover art. On top of that, a bunch of reliability fixes across downloads, backups, and repair tools — including a crash fix for the download queue.\n\nQuick recommendation: for the best speed and match accuracy while searching, set Deezer as your Search Provider. And to keep full Apple Music compatibility (animated artwork, richer info), keep Apple Music as your Metadata Source.\n\nDeezer — full provider support.\n\n• Deezer is now a full first-class search source alongside Apple Music/iTunes, with its own tab (\"Search or paste a Deezer link\").\n• Paste a Deezer track/album/artist/playlist link and it resolves directly — same one-tap flow Apple Music/Spotify links already had.\n• Deezer artist pages now show real top tracks + full discography (up to 100 each), not just a flat track list.\n• Deezer search results paginate (\"load more\"), merged into the same song/album results as other providers.\n\nDownload Engine — real concurrency \u0026 speed.\n\nBackground Downloads.\n\n• Fixed isAppActive defaulting to true on a silent background relaunch, which routed transfers through the short-lived foreground path instead of the durable background session (caused FLAC→MP3 downgrades and stalls).\n\n• Finished tracks now persist their own .done state so a relaunch mid-queue doesn't drop them from Queue Details.\n• Added a genuine background-processing task (registered at launch) so metadata fetching can run even when the app isn't open, instead of only opportunistically while active.\n• Each backend candidate now uses its own requested format for its file-extension fallback instead of a hardcoded \"flac\" default.\n\n• Fixed link.deezer.com short links not resolving.\n\nSmart Playlists.\n\n• Create playlists by rule: Genre, Artist, Decade, Format, or Explicit Rating.\n• Multi-select across all rule types with combined naming (e.g. \"Rock, Pop\" or \"1990s, 2000s\").\n• Live match counts, search within Genre/Artist lists, lossless-format badges.\n• Artist grouping splits collab credits (\"A \u0026 B\") into separate artists, matching the on-device Artists tab.\n• \"Refresh Smart Playlist\" — remembers its rule and can re-sync to catch newly matching songs.\n\nPlaylists.\n\n• New naming screen matches Apple Music: photo picker, large title field, X/checkmark controls — used for manual and smart playlist creation alike.\n• Custom playlist cover photos: pick a photo, it's auto-cropped to a square and uploaded using the same on-device artwork system Apple Music itself uses; persists across relaunch.\n• In-playlist rename.\n• Playlist restore now lists which specific tracks failed to match instead of just a count.\n\nOn-Device Library.\n\n• Select/Select All controls pinned so they stay visible while scrolling.\n• Select/Select All/Add to Playlist/Add to Album/Export restricted to the Songs tab; Playlists tab gets Select/Select All/Export/Delete.\n• Removed redundant header title/count and Export Folder picker from non-Songs tabs.\n• Audio Quality Analysis (new): tapping a song shows a verdict flagging mislabeled files (e.g. an MP3 renamed .flac), suspiciously over-compressed \"lossless\" files, and low-bitrate lossy files.\n• On-device album metadata editing.\n• In-place device audio file replacement.\n• Content Rating redesigned from a cramped segmented control to a compact menu row, with a new \"No Rating\" option.\n• Fixed the explicit/clean rating editor: a binary toggle could only ever write explicit/none, silently flipping \"clean\" tracks to explicit.\n\nReliability Fixes.\n\n• Injection failures no longer silently drop songs from the queue — unconfirmed songs are put back.\n\n• Background metadata fetch no longer double-imports a song if the process is killed mid-drain.\n• Artwork upload failures during metadata edits are now reported instead of silently swallowed.\n• A failed database integrity check now aborts the library merge instead of writing on top of a known-corrupt database.\n• Fixed the large-batch injection safeguard checking the wrong count.\n• Fixed a Live Activity race that could resurrect it right after ending; orphaned Live Activities from a killed session now clean up on cold launch.\n• Removed dead Tidal/Qobuz code and a broken last-resort Spotify mapping fallback.\n\nBackup \u0026 Restore.\n\n• Merged Light/Full Backup toggle and \"Export Full Library\" into two direct-action rows; Full Backup always bundles per-playlist files.\n\nSettings.\n\n• Store Region picker upgraded from a simple inline row to a full searchable, alphabetically-grouped screen with flags.\n• About/Credits moved to its own section, separate from actionable controls.\n• Added \"Keep Local Metadata\" to skip the fetch pipeline for imported local files.",
          "downloadURL": "https://github.com/EduAlexxis/ByeTunes/releases/download/v2.5/ByeTunes.ipa",
          "size": 16815108,
          "minOSVersion": "16.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "beta-reports-active",
          "com.apple.developer.team-identifier",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSLocalNetworkUsageDescription": "Used to find your device's RemotePairing tunnel service on the local network when connecting over LocalDevVPN."
        }
      }
    },
    {
      "name": "RPCS3",
      "bundleIdentifier": "com.xitrix.RPCS3",
      "developerName": "XITRIX",
      "subtitle": "Release repo for RPCS3 iOS port builds",
      "localizedDescription": "RPCS3 iOS port:\n\nExperimental PS3 emulator, port of RPCS3.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.xitrix.RPCS3.png",
      "tintColor": "#5030c0",
      "category": "games",
      "versions": [
        {
          "version": "0.10",
          "date": "2026-09-27T22:02:00Z",
          "localizedDescription": "What's new:\n\n• JIT-less mode — launch games without enabling JIT using static interpreters.\n\nImprovements:\n\n• Updated RPCS3 core.\n• ARM64 PPU and SPU improvements, including changes from the ARMSX3 team.\n• Reduced CPU overhead in SPU execution, texture caching and GPU synchronization.\n• Improved audio buffering and time stretching.\n• Improved memory handling during game compilation.\n\nFixes:\n\n• Fixed Gran Turismo 6 startup hang and Prototype 2 launch failures.\n• Fixed facial texture corruption and rectangular line artifacts in GTA V.\n• Fixed crashes when stopping games after loading save states.\n• Fixed stale graphics resources after changing resolution scale.\n• Fixed ARM64 static and dynamic interpreter errors.\n• Fixed socket error handling that could leave games stuck after cache loading.\n• Removed unnecessary Extended Virtual Addressing warning.",
          "downloadURL": "https://github.com/XITRIX/RPCS3-iOS-Releases/releases/download/v0.10/RPCS3.ipa",
          "size": 24520202,
          "minOSVersion": "17.4"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "com.apple.developer.team-identifier",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSLocalNetworkUsageDescription": "RPCS3 uses the local network for RPCN multiplayer and custom RPCN servers."
        }
      }
    },
    {
      "name": "PPSSPP",
      "bundleIdentifier": "org.ppsspp.ppsspp",
      "developerName": "hrydgard",
      "subtitle": "PPSSPP - a fast and portable PSP emulator",
      "localizedDescription": "PPSSPP - a fast and portable PSP emulator.\n\nCreated by Henrik Rydgård.\n\nAdditional code by many contributors, see the Credits screen.\n\nOriginally released under the GPL 2.0 (and later) in November 2012.\n\nOfficial website: https://www.ppsspp.org/\n\nNo BIOS file required to play, PPSSPP is an \"HLE\" emulator. Default settings balance good compatibility and speed.\n\nFor the latest source code, see our GitHub page.\n\nTo download fresh development builds for Android, Windows and Mac, go to the /devbuilds page.\n\nFor game compatibility, see community compatibility feedback.\n\nWhat's new in 1.20.4.\n\n1.20.4 is an unusually big followup release, but given the new multiplayer developments, we need something to cover the longer gap to 1.21. During this cycle, I've mostly focused on UX improvements.\n\n• Support for \"data.json\" live status from adhoc relay servers ([#21496], [#21526]).",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/org.ppsspp.ppsspp.png",
      "tintColor": "#a0d0e0",
      "category": "games",
      "versions": [
        {
          "version": "1.20.4",
          "date": "2026-05-16T12:35:08Z",
          "localizedDescription": "",
          "downloadURL": "https://github.com/hrydgard/ppsspp/releases/download/v1.20.4/PPSSPP-iOS-v1.20.4.ipa",
          "size": 31124277,
          "minOSVersion": "11.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSCameraUsageDescription": "Your camera may be used to emulate Go!Cam, a camera accessory",
          "NSLocalNetworkUsageDescription": "Your local network needs to be accessed by PPSSPP for network multiplayer support.",
          "NSLocationWhenInUseUsageDescription": "Your location may be used to emulate Go!Explore, a GPS accessory",
          "NSMicrophoneUsageDescription": "Your microphone may be used to emulate Go!Cam/Talkman, a microphone accessory",
          "NSPhotoLibraryUsageDescription": "Access to your photos is needed to allow setting a background image."
        }
      }
    },
    {
      "name": "Aidoku",
      "bundleIdentifier": "app.aidoku.Aidoku",
      "developerName": "Aidoku",
      "subtitle": "Manga reading app for iOS, iPadOS, and macOS",
      "localizedDescription": "Aidoku:\n\nA free and open source manga reading application for iOS, iPadOS, and macOS.\n\nFeatures:\n\n• No ads.\n• Local file reading (CBZ).\n• Built-in reading service providers (Komga, Kavita, Suwayomi).\n• WASM external source system.\n\n• Tracker integration (AniList, MyAnimeList, etc.).\n• OCR dictionary lookup.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/app.aidoku.Aidoku.png",
      "tintColor": "#f02050",
      "category": "entertainment",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/Aidoku/Website@main/static/images/library-noframe.png",
        "https://cdn.jsdelivr.net/gh/Aidoku/Website@main/static/images/source-noframe.png",
        "https://cdn.jsdelivr.net/gh/Aidoku/Website@main/static/images/reader-noframe.png"
      ],
      "versions": [
        {
          "version": "0.9",
          "date": "2026-09-03T20:17:08Z",
          "localizedDescription": "• OCR dictionary support (iOS 18+): import Yomitan-compatible dictionaries in the app and look up words while reading.\n• Suwayomi built-in source: read and track from a Suwayomi instance, just like Komga and Kavita.\n• Auto scroll for webtoon reader: enable and press the play button to scroll without touching your device.\n\n• Overall performance improvements: the library loads much faster (@Amqx), and the webtoon reader was improved.",
          "downloadURL": "https://github.com/Aidoku/Aidoku/releases/download/v0.9/Aidoku.ipa",
          "size": 14731108,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "aps-environment",
          "com.apple.developer.icloud-container-development-container-identifiers",
          "com.apple.developer.icloud-container-environment",
          "com.apple.developer.icloud-container-identifiers",
          "com.apple.developer.icloud-services",
          "com.apple.developer.team-identifier",
          "com.apple.developer.ubiquity-container-identifiers",
          "com.apple.developer.ubiquity-kvstore-identifier",
          "com.apple.developer.user-fonts",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSFaceIDUsageDescription": "Aidoku needs FaceID permissions for user-defined settings",
          "NSLocalNetworkUsageDescription": "Aidoku needs permission to connect to local Komga and Kavita servers",
          "NSPhotoLibraryUsageDescription": "Aidoku needs permission to save pages in your photo library"
        }
      }
    },
    {
      "name": "Fladder",
      "bundleIdentifier": "nl.jknaapen.fladder",
      "developerName": "DonutWare",
      "subtitle": "Fladder - A cross-platform Jellyfin Frontend built on top of Flutter",
      "localizedDescription": "Key Features:\n\n• Play media – Stream or sync content locally to your device.\n• Manage your library – Refresh content and edit metadata.\n• Multiple profiles – add multiple users or different servers easily switching between.\n• Direct, Transcode and Offline playback.\n• Media segments skipping (Intro/Credits etc.).\n• Trickplay support (timeline scrubbing).\n• Dark/Light mode and multiple color styles to pick.\n• Simple comic book format reading support (.cbz, .cbr).\n• Sync items for all platforms.\n\n• Keyboard shortcuts.\n• Adaptive layout for all platforms.\n• Next-up overview when watching a queue.\n• Server management.\n• Seerr/Jellyseerr integration.\n\n• Android + TV.\n\nScreenshots:\n\nWeb/Desktop try out the web build!\n\nThe GitHub hosted web build only allows https connections. This is a limitation on GitHub's end, for self-hosted versions http works fine.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/nl.jknaapen.fladder.png",
      "tintColor": "#6156e2",
      "category": "utilities",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/DonutWare/Fladder@develop/assets/marketing/screenshots/Mobile/Dashboard.png",
        "https://cdn.jsdelivr.net/gh/DonutWare/Fladder@develop/assets/marketing/screenshots/Mobile/Details.png",
        "https://cdn.jsdelivr.net/gh/DonutWare/Fladder@develop/assets/marketing/screenshots/Mobile/Details_2.png",
        "https://cdn.jsdelivr.net/gh/DonutWare/Fladder@develop/assets/marketing/screenshots/Mobile/Favourites.png",
        "https://cdn.jsdelivr.net/gh/DonutWare/Fladder@develop/assets/marketing/screenshots/Mobile/Library.png"
      ],
      "versions": [
        {
          "version": "0.11.1",
          "date": "2026-09-08T18:59:42Z",
          "localizedDescription": "Release is v0.11.1 is a hot-fix release for v0.11.0 mainly fixing local network connections not working on Android. Besides that the changelog remains the same.\n\nMusic playback:\n\nMusic playback has finally arrived after a long time.\n\nThe music dashboard can be accessed by long pressing the home button and selecting music dashboard.\n\nIncluding the following features.\n\n• Music dashboard.\n• Gapless playback.\n• Volume normalization.\n• Fade in/out when pausing and switching tracks that are not in the same album.\n• Syncing of playlist albums tracks etc.\n\nThe music playback is probably best considered to be in beta. While everything works there can and will be small bugs/annoyances. For AndroidTV navigation of the player controls are a bit cumbersome and will be improved along with other dPad improvements.\n\nFilters 2.0 + Library search improvements:\n\nThe filters in the library search view have now been improved. Besides a lot of small bugfixes, more settings are now saved.\n\n• Allow setting filters for specific folders inside libraries not just libraries themselves.\n• Add any saved filter to the side navigation bar.\n• Setting a \"default/favorite\" filter that applies instead of the default behavior for that library.\n\nAmbient blur:\n\nFor the people that don't like black-bars around their videos there is now the option to enable \"ambient blur\" this generates a YouTube \"theather\" like blur around videos.\n\nExciting New Features 🏕:\n\n• feat: Add hotkeys to step through frames.\n• feat: Add hotkeys for instant seek.\n• feat: Music playback.\n• feat: Implement biometrics for all platforms.\n• feat: add subtitle toggle hotkey.\n• feat: add \"Open Jellyfin QuickConnect\" link to QuickConnect modal.\n• feat(pip): add Picture-in-Picture support for Android and iOS.\n• feat: Update system colors on app resume.\n• feat: Add \"set as\" and move the share button for images.\n• feat: Improve biometrics message and face unlock.\n• feat: Library filters 2.0.\n\nBugfixes 🐞:\n\n• fix: Performance impact in details screens.\n• fix: specials showing in wrong category in sync.\n• fix: Failed to play items with empty backdrop image list.\n• fix(web): container ENV vars unreliably applied due to startup race.\n• fix: audio glitches on Android.\n• fix: prevent sidebar labels wrapping.\n• fix: improve play/pause behavior on desktop.\n• fix: Improve multi-window support.\n• fix: TV Guide/Channel/Program not updating correctly.\n• fix: Improve offline capabilities.\n• fix(AndroidTV): App not initializing in TV mode.\n• fix: Persist subtitle font weight across app restarts.\n• fix(macOS): Double click titlebar to zoom.\n• fix: Volume indicator text in light mode.\n• fix(Android): Keep screen awake after returning to video playback from background.\n• fix: Subtitle/audio mismatch under certain conditions and with multiple default tracks.\n• fix: Use thumb for next-up/continue instead of posters.\n• fix: Use internet bitrate for mobile playback.\n• fix: keep playback queue anchor in sync when advancing episodes.\n• fix(Android): Local network permission Android 17+.\n\nOther Changes:\n\n• refactor: make Linux binary name lowercase.\n• refactor(i18n): rename \"Local Server URL\" → \"Local Jellyfin URL\".\n\n• chore: Updated translations from Hosted Weblate.\n\nNew Contributors:\n\n• @peanut250 made their first contribution.\n• @dertasiu made their first contribution.\n• @Pegoku made their first contribution.\n• @loregard735 made their first contribution.\n• @aviadlevy made their first contribution.\n• @JenteJan made their first contribution.\n• @Charlie284 made their first contribution.\n• @aaravjhamb made their first contribution.\n• @TheMatrixan made their first contribution.",
          "downloadURL": "https://github.com/DonutWare/Fladder/releases/download/v0.11.1/Fladder-iOS-0.11.1.ipa",
          "size": 41137245,
          "minOSVersion": "14.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "LFssh",
      "bundleIdentifier": "com.llloooggg.letsflutssh",
      "developerName": "Llloooggg",
      "subtitle": "SSH terminal \u0026 SFTP file manager for Windows, Linux, macOS, Android, iOS",
      "localizedDescription": "LetsFLUTssh:\n\nDisclaimer: This is a functional neuroslop pet project — built with AI assistance under the supervision and direction of a real developer, for personal use, self-education, and fun. Use at your own risk.\n\nCross-platform SSH/SFTP client with GUI — Flutter UI on a Rust core (security, transport, terminal emulation via alacritty_terminal, and SQLCipher all inside lfs_core + lfs_os_security, bridged via flutter_rust_bridge; Flutter only renders, secrets never cross to Dart). Open-source alternative to Xshell and Termius — runs on Windows, Linux, macOS, Android, and iOS.\n\nFeatures:\n\n• SSH — xterm/VT100 terminal (256-color, RGB, mouse), tiling with recursive splits, search, multi-tab, keep-alive \u0026 reconnect.\n• SFTP — dual-pane file browser, drag \u0026 drop, transfer queue with parallel workers.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.llloooggg.letsflutssh.png",
      "tintColor": "#204060",
      "category": "games",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/Llloooggg/LetsFLUTssh@main/docs/screenshots/LetsFLUTssh_terminal.png",
        "https://cdn.jsdelivr.net/gh/Llloooggg/LetsFLUTssh@main/docs/screenshots/LetsFLUTssh_files.png"
      ],
      "versions": [
        {
          "version": "8.5.1",
          "date": "2026-07-25T04:43:42Z",
          "localizedDescription": "Fixes:\n\n• (deps) bump russh 0.61 → 0.62.4 to fix three pre/post-auth panic CVEs.",
          "downloadURL": "https://github.com/Llloooggg/LetsFLUTssh/releases/download/v8.5.1/letsflutssh-8.5.1-ios-unsigned.ipa",
          "size": 26552015,
          "minOSVersion": "13.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSCameraUsageDescription": "LetsFLUTssh uses the camera only to scan QR codes when you tap \"Scan QR\" to import sessions.",
          "NSFaceIDUsageDescription": "LetsFLUTssh uses Face ID to unlock your encrypted session store without typing the master password every time.",
          "NSLocalNetworkUsageDescription": "LetsFLUTssh needs local network access to connect to SSH servers on your network."
        }
      }
    },
    {
      "name": "Nyora",
      "bundleIdentifier": "com.nyora.ios",
      "developerName": "Nyora-Manga",
      "subtitle": "Nyora for iOS \u0026 iPadOS — free, open-source manga reader; Aidoku-based UI with Nyora cloud sources and sync",
      "localizedDescription": "Read like the world can wait.:\n\nA fast, free, ad-free, open-source manga / manhwa / manhua reader for iPhone \u0026 iPad — part of the cross-platform Nyora series. Hundreds of sources, an in-reader AI translation overlay, and your library synced across every device you read on.\n\nNo App Store, no ads, no sign-up wall. Sideload the .ipa and start reading.\n\nAbout:\n\nRunning the engine locally also means iOS can clear a Cloudflare challenge itself, so it gets the same source coverage as the Android and desktop apps rather than the reduced set a shared cloud helper can serve.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.nyora.ios.png",
      "tintColor": "#6156e2",
      "category": "entertainment",
      "versions": [
        {
          "version": "2.7.3",
          "date": "2026-08-05T14:11:21Z",
          "localizedDescription": "",
          "downloadURL": "https://github.com/Nyora-Manga/nyora-ios/releases/download/v2.7.3/Nyora-2.7.3.ipa",
          "size": 47097388,
          "minOSVersion": "18.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSFaceIDUsageDescription": "Nyora needs FaceID permissions for user-defined settings",
          "NSLocalNetworkUsageDescription": "Nyora needs permission to connect to local Komga and Kavita servers",
          "NSPhotoLibraryUsageDescription": "Nyora needs permission to save pages in your photo library"
        }
      }
    },
    {
      "name": "Tsumiru",
      "bundleIdentifier": "com.suwayomi.tachideskSorayomi.tsumiru",
      "developerName": "Suwayomi",
      "subtitle": "A native manga \u0026 manhwa reader for Suwayomi-Server - enhanced fork of Tachidesk-Sorayomi, with a rebuilt reader and offline download support",
      "localizedDescription": "Tsumiru (積みる) takes the 積, \"pile up\", from tsundoku (積ん読), the Japanese habit of buying books faster than you can read them. It swaps the \"read\" for miru, \"to look\".\n\nFeatures:\n\n• Webtoon reader. Chapters scroll into each other, and pinch-to-zoom keeps working mid-scroll.\n• Guided setup. The first launch looks for your server on the local network and connects to it.\n• Incognito mode. Read without adding to your history. Library categories can be hidden too.\n• Themes. 13 built-in themes, a custom accent colour and a pure black mode for OLED screens.\n• Server login. Supports the server's simple_login and ui_login modes and keeps credentials in the device's secure storage.\n\nDownload:\n\n• iOS: the build is unsigned, so it has to be sideloaded.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.suwayomi.tachideskSorayomi.tsumiru.png",
      "tintColor": "#000020",
      "category": "entertainment",
      "versions": [
        {
          "version": "1.3.3",
          "date": "2026-09-22T07:11:23Z",
          "localizedDescription": "A manga and webtoon reader for your Suwayomi server.\n\n🚀 Improvements:\n\n• Added visible progress while checking the server connection, searching the network and signing in during setup (@aaronbamblett).\n• Collapsed Custom HTTP headers into an expandable row during setup, showing the number configured (@aaronbamblett).\n• Removed unused packages and updated dependencies (@yohanim).\n\n🧩 Fixes:\n\n• Fixed large libraries failing to load beyond the first page (@SuperMario22922).\n• Fixed setup losing the entered server address and connection result (@aaronbamblett).\n• Fixed Next doing nothing instead of checking the connection or signing in during setup (@aaronbamblett).\n• Fixed the login form disappearing during sign-in (@aaronbamblett).\n\nMobile:\n\nAndroid: download the universal APK below and open it to install. Smaller APKs for specific chip types are also attached.\n\n• SideStore signs and refreshes the app on the device itself, with no computer needed after setup. Best for most people.\n• AltStore expires every 7 days and only refreshes while a computer running AltServer is switched on and on the same Wi-Fi as your phone.\n• TrollStore installs permanently with no expiry, but only works on older iPhones and iOS versions with the required vulnerability.\n\nWith SideStore or AltStore the app is re-signed periodically, which those tools automate. There is no App Store build.\n\nDesktop:\n\nWindows: download …-windows-x64.zip, extract it anywhere, and run tsumiru.exe.\n\nmacOS: download …-macos-x64.zip, extract it, and move the app to Applications. If macOS blocks the first launch, approve it under System Settings → Privacy \u0026 Security.\n\nLinux: the Flatpak is recommended and auto-updates.\n\nFor a portable option, download …-linux-x86_64.AppImage, mark it executable with chmod +x, and run it.\n\nWeb:\n\nDownload …-web.zip and serve its contents with any static web server.\n\nFull documentation.",
          "downloadURL": "https://github.com/Suwayomi/Suwayomi-Tsumiru/releases/download/v1.3.3/tsumiru-v1.3.3-ios.ipa",
          "size": 19721191,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSPhotoLibraryAddUsageDescription": "Save manga pages to your photo library.",
          "NSPhotoLibraryUsageDescription": "Save manga pages to your photo library."
        }
      }
    },
    {
      "name": "VoxelTrail",
      "bundleIdentifier": "app.voxeltrail.local",
      "developerName": "hernan0078",
      "subtitle": "Native iOS build of the Gen 1 recomp engine, with optional 3D voxel rendering. Bring your own ROM",
      "localizedDescription": "VoxelTrail for iOS:\n\nEspañol · English.\n\nA native iOS build of the Gen 1 recomp engine — the Generation 1 Pokémon games, reimplemented in Lua on LÖVE — with the Dramatic Shape voxel mod built in, so the overworld can be played as a 3D diorama or in first person.\n\nYou need your own ROM. None is included here and none will be. The app reads a Game Boy ROM you already own and extracts its data on first launch.\n\nInstall:\n\nThe IPA is unsigned, which is what sideloading tools expect — they sign it with your own Apple ID, on your own device.\n\n• Install a sideloader. SideStore or AltStore. Follow their setup; both need a one-time pairing step with a computer.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/app.voxeltrail.local.png",
      "tintColor": "#001030",
      "category": "games",
      "versions": [
        {
          "version": "0.5.0",
          "date": "2026-08-08T16:52:19Z",
          "localizedDescription": "Unsigned IPA — install with SideStore or AltStore. Requires iOS 16+, tested on iOS 26.6. Bring your own ROM.\n\n📖 Instrucciones en español · 🇪🇸 Notas en español abajo.\n\nPokémon Stadium battle models:\n\n3D BATTLES can fight with the Pokémon Stadium models instead of the flat Game Boy pictures — STADIUM A on the map, STADIUM B on two discs against the sky.\n\nYou supply the cartridge. Import Stadium ROM in the launcher's MODS panel, or STADIUM ROM in the options menu, opens the Files picker for your Pokémon Stadium (US) 1.0 file. The models are built on your device, once, and the ROM is read and forgotten rather than kept.\n\nThat picker is new work on my side: iOS had no way to hand the mod a cartridge at all, so it printed a sandbox path and asked you to put a file somewhere a phone cannot reach. Now upstream as.\n\nUS 1.0 specifically — every model offset is measured against that revision. Another one builds, and the screen tells you the models may be wrong.\n\nThe battle HUD reads the right way round:\n\n1.7.2 draws the battle HUD mirrored on iOS — PIKACHU, the HP numbers and L100 all backwards, while FIGHT/ITEM/RUN reads fine. It comes from a fix that assumes iOS presents the HUD canvas upside down and corrects for it; this build's renderer doesn't flip it, so the correction was the mirror. Fixed, and the frosted panels behind the HUD come back with it.\n\nMore of the mod:\n\n• RENDER DIST — FIT / WIDE / WIDER / WIDEST / OFF. The first thing to reach for if 3D runs slowly: FIT skips whole connected maps before they cost anything.\n• Fog and god rays in Viridian Forest, every battle location rebuilt, and a lot of new voxel work — diner stools, mansion desks, CUT trees.\n• ROUND WORLD gained two rungs, GLOBE and PLANET. PLANET is a true half-sphere: the town sitting on a little world.\n\nSpanish:\n\nThe Stadium screens and the whole STADIUM ROM flow are translated. Two older gaps closed: CANCEL was the one English word left on a fully Spanish options menu — structurally unreachable, now fixed and — and ten strings carried Ñ, ¿ or ¡ onto the 8×8 font, which has no glyph for any of them and drew holes instead.\n\nThe translation is.\n\nKept from before:\n\nThe live-tuning panel, the look stick, readable setting names, third person, the battle camera, and Spanish Red/Blue ROM support.\n\n🇪🇸 En español:\n\nIPA sin firmar — instalalo con SideStore o AltStore. Requiere iOS 16 o posterior; probado en iOS 26.6. Necesitas tu propia ROM.\n\n📖 Instrucciones completas en español.\n\nModelos de combate de Pokemon Stadium:\n\nCOMBATES 3D puede pelear con los modelos de Pokemon Stadium en vez de con las imagenes planas de Game Boy: STADIUM A sobre el mapa, STADIUM B sobre dos discos contra el cielo.\n\nEl cartucho lo pones tu. Importar ROM de Stadium, en el panel de MODS del menu inicial, o ROM STADIUM en las opciones, abre el selector de Archivos para tu Pokemon Stadium (US) 1.0. Los modelos se crean en tu dispositivo una sola vez, y la ROM se lee y se olvida en lugar de guardarse.\n\nEse selector es trabajo nuevo de mi parte: en iOS no habia forma de entregarle un cartucho al mod, asi que imprimia una ruta interna y te pedia dejar un archivo en un sitio al que un telefono no llega.\n\nUS 1.0 en concreto: cada medida de los modelos esta tomada de esa revision. Otra distinta se construye igual, pero la pantalla te avisa de que pueden salir mal.\n\nEl HUD de combate se lee del derecho:\n\nLa 1.7.2 dibuja el HUD de combate reflejado en iOS: PIKACHU, los numeros de PS y L100 al reves, mientras que LUCHA/OBJETO/HUIR se lee bien. Viene de un arreglo que da por hecho que iOS presenta ese lienzo del reves y lo corrige; el motor de esta version no lo voltea, asi que la correccion era el reflejo. Arreglado, y los paneles esmerilados de detras del HUD vuelven con ello.\n\nMas del mod:\n\n• DISTANCIA — AJUSTE / LEJOS / MAS LEJOS / MAXIMO / NO. Lo primero que tocar si el 3D va lento: AJUSTE descarta mapas enteros antes de que cuesten nada.\n• Niebla y rayos de sol en el Bosque Verde, todas las localizaciones de combate rehechas, y mucho trabajo nuevo de voxeles.\n• MUNDO CURVO gano dos niveles, GLOBO y PLANETA. PLANETA es media esfera de verdad: el pueblo sobre un planeta pequeño.\n\nEspañol:\n\nLas pantallas de Stadium y todo el proceso de ROM STADIUM estan traducidos. Se cierran dos huecos antiguos: CANCELAR era la unica palabra en ingles que quedaba en un menu de opciones completamente en español, y diez textos llevaban Ñ, ¿ o ¡ a la fuente de 8x8, que no tiene glifo para ninguno y dibujaba huecos.\n\nSe mantiene todo lo anterior:\n\nEl panel de ajuste en vivo, la palanca de vista, los nombres legibles de los ajustes, la tercera persona, la camara de combate y el soporte de ROMs de Rojo y Azul en español.",
          "downloadURL": "https://github.com/hernan0078/voxeltrail-ios/releases/download/v0.5.0/VoxelTrail-0.5.0.ipa",
          "size": 20272748,
          "minOSVersion": "16.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "Nectar",
      "bundleIdentifier": "com.kyrielie.nectar",
      "developerName": "kyrielie",
      "subtitle": "netnewswire fork for fanfiction reading!",
      "localizedDescription": "🍎 Nectar:\n\n**An iOS feed reader for Archive of Our Own and Ambrosia. An unofficial AO3 reading application. **.\n\nQuick Install:\n\n• [x] This app will always be free and open source. (If you don't trust me, you can look at the code and build the application yourself.).\n• [x] This app does it's best to respect AO3's TOS, servers, and policies.\n• [x] Nectar logs you in using the Safari browser. Your login details stay on your phone.\n• [x] Your reading history stays private on your phone.\n\nBackground:\n\nI have extended the functionality of Nectar to be able to update the metadata and text from AO3 for my local library. Now you can load any work search link and start reading.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.kyrielie.nectar.png",
      "tintColor": "#e0d050",
      "category": "other",
      "versions": [
        {
          "version": "0.1.9",
          "date": "2026-09-19T17:19:18Z",
          "localizedDescription": "• Improved Reading Stats.\n• Changed RSS feed terminology to fanfiction terminology. Feeds are now referred to as \"shelves\". Functionally the same.\n• Added guard for AO3 links greater than 4096 characters long which hit a fallback page.",
          "downloadURL": "https://github.com/kyrielie/nectar/releases/download/v0.1.9/Nectar-unsigned.ipa",
          "size": 5135579,
          "minOSVersion": "17.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSPhotoLibraryAddUsageDescription": "Grant permission to save images from the article."
        }
      }
    },
    {
      "name": "FaFa Runner",
      "bundleIdentifier": "com.chenyifaer.fafarunner",
      "developerName": "fafarunner",
      "subtitle": "Enjoy smooth gameplay, stunning graphics, and endless fun",
      "localizedDescription": "FaFa Runner:\n\nNOTE: This project is developed based on Darkness Dungeon.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.chenyifaer.fafarunner.png",
      "tintColor": "#905040",
      "category": "games",
      "versions": [
        {
          "version": "3.2.2",
          "date": "2026-08-08T09:35:10Z",
          "localizedDescription": "Release created by FaFa Runner workflow run #157Please refer to CHANGELOG.md for details.",
          "downloadURL": "https://github.com/fafarunner/fafarunner/releases/download/v3.2.2.397/FaFaRunner-3.2.2.397.ipa",
          "size": 29610581,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "beta-reports-active",
          "com.apple.developer.team-identifier",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {}
      }
    },
    {
      "name": "E1547",
      "bundleIdentifier": "net.clynamic.e1547",
      "developerName": "clynamic",
      "subtitle": "A sophisticated e621 browser",
      "localizedDescription": "Features:\n\n• Crossplatform (Android, iOS).\n• Browse posts and pools.\n• Edit posts.\n• Comment on posts.\n\n• Favorite, Up and down vote posts.\n• Follow tags with notifications.\n• Local blacklist.\n• DText parsing.\n• Video support.\n• Multiple logins.\n• Multiple App Themes.\n\nDownload:\n\nAPK and IPA files can be found over at.\n\nA great tool for managing updates for this app is obtainium (see Using Obtainium for a more detailed guide).\n\nTo verify the authenticity of downloaded APK files, you can check the signing certificate fingerprints:\n\n• SHA1: 8B:4B:8C:D7:FF:D6:04:DB:36:69:1B:D2:1A:BD:0E:54:0A:95:C8:28.\n• SHA256: 8D:32:4E:43:4B:97:5A:A3:38:A7:A9:C7:F3:07:7E:1F:C0:DB:F1:30:3E:C5:D9:B9:63:4F:E8:3E:9D:DB:63:80.\n\nvia a tool like AppVerifier.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/net.clynamic.e1547.png",
      "tintColor": "#c09020",
      "category": "entertainment",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/clynamic/e1547@master/fastlane/metadata/android/en-US/images/phoneScreenshots/1_en-US.png",
        "https://cdn.jsdelivr.net/gh/clynamic/e1547@master/fastlane/metadata/android/en-US/images/phoneScreenshots/2_en-US.png",
        "https://cdn.jsdelivr.net/gh/clynamic/e1547@master/fastlane/metadata/android/en-US/images/phoneScreenshots/3_en-US.png"
      ],
      "versions": [
        {
          "version": "21.0.1",
          "date": "2026-09-02T08:17:44Z",
          "localizedDescription": "Fixed:\n\n• Videos playing on after swiping away from them.\n• Follows staying unread after visiting them.\n• System bars showing and hiding.",
          "downloadURL": "https://github.com/clynamic/e1547/releases/download/21.0.1%2B103/e1547.ipa",
          "size": 20048530,
          "minOSVersion": "14.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSFaceIDUsageDescription": "App can be locked with local authentication",
          "NSPhotoLibraryAddUsageDescription": "Downloaded images will be saved in the gallery"
        }
      }
    },
    {
      "name": "OpenParsec",
      "bundleIdentifier": "com.aigch.OpenParsec",
      "developerName": "hugeBlack",
      "subtitle": "OpenParsec is a simple, open-source Parsec client for iOS/iPadOS written in Swift using the SwiftUI framework and the Parsec SDK",
      "localizedDescription": "OpenParsec is a simple, open-source Parsec client for iOS/iPadOS written in Swift using the SwiftUI framework and the Parsec SDK.\n\nThis project is still a major WIP, so apologies for the currently lackluster documentation. I'm also very new to both Swift and SwiftUI so I'm sure there are many places for improvement.\n\nBefore building, make sure you have the Parsec SDK framework symlinked or copied to the Frameworks folder. Builds were tested on Xcode Version 12.5.\n\nTouch Control:\n\nYou can set the touch mode you want to use in settings. Touchpad mode and direct touch mode are supported.\n\nWhen streaming, you can tap with 3 fingers to bring up the on-screen keyboard.\n\nYou can toggle if you want to use 2 fingers to scroll or zoom in the overlay menu.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.aigch.OpenParsec.png",
      "tintColor": "#500080",
      "category": "games",
      "versions": [
        {
          "version": "1.3.0",
          "date": "2026-09-02T06:16:29Z",
          "localizedDescription": "This is a nightly release created automatically with GitHub Actions workflow.",
          "downloadURL": "https://github.com/hugeBlack/OpenParsec/releases/download/nightly/OpenParsec.ipa",
          "size": 4341582,
          "minOSVersion": "14.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "SmartTube",
      "bundleIdentifier": "com.void.smarttube.app",
      "developerName": "RipeStore",
      "subtitle": "YouTube client for iPhone — ad-free, SponsorBlock, DeArrow, Google sign-in, up to 8K",
      "localizedDescription": "SmartTube is a free, open-source YouTube client for iPhone, iPad, and Apple TV that blocks ads, supports background playback, and integrates SponsorBlock to skip sponsor segments automatically.\n\nThis build is distributed by a third-party not related to milika/SmartTubeIOS.\n\nFeatures:\n\n• Background audio and picture-in-picture.\n• Subscription feed with channel filters.\n• Watch history tracking with \"Hide Watched\" option.\n• Share extension and smarttube:// URL scheme.\n• PIN lock for Settings.\n• Privacy toggle to disable Crashlytics/analytics.\n• Apple TV support.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.void.smarttube.app.png",
      "tintColor": "#302060",
      "category": "entertainment",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/RipeStore/smarttubebuilder@main/screenshots/screenshot_home.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/smarttubebuilder@main/screenshots/screenshot_subscriptions.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/smarttubebuilder@main/screenshots/screenshot_player.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/smarttubebuilder@main/screenshots/screenshot_settings.webp"
      ],
      "versions": [
        {
          "version": "5.5",
          "date": "2026-09-27T03:14:13Z",
          "localizedDescription": "chore: copyright DeadPixels, all iPhone/iPad orientations, launch screen build settings.\n\n• NSHumanReadableCopyright: \"None\" -\u003e \"DeadPixels\" (iOS + macOS plists and target settings).\n• iPhone now supports upside-down portrait too (iPad already listed all four).\n• Expose the launch storyboard and orientations as INFOPLIST_KEY_* build settings so the target's General tab no longer shows an empty launch-screen field.\n• Sync string catalog with the softened watch-history footer.\n\nCo-Authored-By: Claude Sonnet 5.\n\nBranch: master.\n\nBuilt from upstream commit a08e37c on the master branch.",
          "downloadURL": "https://github.com/RipeStore/smarttubebuilder/releases/download/v5.1-a08e37c/SmartTube-v5.1-a08e37c-unsigned.ipa",
          "size": 8957373,
          "minOSVersion": "17.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSLocalNetworkUsageDescription": "SmartTube uses your local network to find AirPlay-compatible devices for casting videos to your TV.",
          "NSPhotoLibraryAddUsageDescription": "SmartTube needs access to save downloaded videos to your Photos library."
        }
      }
    },
    {
      "name": "Violetta",
      "bundleIdentifier": "com.project-violet.violetta",
      "developerName": "Cat-Ling",
      "subtitle": "An iOS client for the next-gen Violet manga server",
      "localizedDescription": "Violetta:\n\nAn iOS client for the next-gen Violet manga server.\n\nOverview:\n\nVioletta is a modern, native iOS client designed to connect seamlessly to your self-hosted Violet server. It provides a fast and clean reading experience for your personal manga collection.\n\nPrerequisites:\n\n• iOS 18.0+.\n• A running instance of the Violet server.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.project-violet.violetta.png",
      "tintColor": "#200030",
      "category": "entertainment",
      "versions": [
        {
          "version": "1.1.5",
          "date": "2026-09-11T13:11:53Z",
          "localizedDescription": "Release v1.1.6:\n\n• Fixed resumed manga panels not rendering until user scroll action — root cause was a desynchronization between currentPage, scrolledID, and sliderValue when restoring reading progress, which caused isAllowedToLoad to deadlock on unmounted offscreen pages.\n• Fixed scrubber slider staying at page 1 on resume — slider value now initializes to the resumed page and stays synced with scroll position during normal reading.\n• Improved Analytics chart scaling across long time ranges — replaced Catmull-Rom interpolation with monotone cubic to prevent negative read dips, added proper calendar units to bar marks, and implemented adaptive day/month/year bucketing for multi-year data.\n• Removed dead Cache Expiry setting that was never wired to Nuke's disk cache eviction.\n• Fixed inflated cache size reporting — now shows actual disk cache usage only, excluding volatile in-memory bitmap overhead.\n• Stopped aggressive RAM cache purging on reader exit that was clearing all cached thumbnails app-wide.\n• Cache size changes no longer rebuild the entire image pipeline — updates the existing DataCache.sizeLimit directly.",
          "downloadURL": "https://github.com/Cat-Ling/violet-ios/releases/download/v1.1.6/Violetta.ipa",
          "size": 19924124,
          "minOSVersion": "18.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "SakayoriMusic",
      "bundleIdentifier": "com.sakayori.music",
      "developerName": "Sakayorii",
      "subtitle": "YouTube Music client for Android",
      "localizedDescription": "MAINTENANCE MODE:\n\nSakayori Music is currently in maintenance mode. This means we will only be fixing bugs and making minor improvements. Please do not submit PRs for new features or major changes, as they will not be accepted. The app is NOT dead, please stay tuned for updates on our discord (found above).\n\nRegional Restriction - If YouTube Music is unavailable in your region, this app will not work without a VPN or proxy connecting to a supported region.\n\nPlayback:\n\n• Stream any song or video from YouTube Music.\n• Background playback.\n\n• Skip silence.\n• Sleep timer.\n\nAudio:\n\n• Audio normalization.\n• Tempo \u0026 pitch control.\n\nLyrics \u0026 Discovery:\n\n• Live synced lyrics.\n• AI-powered lyrics translation.\n• Personalized quick picks.\n• Search songs, albums, artists, videos, and playlists.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.sakayori.music.png",
      "tintColor": "#10d0f0",
      "category": "entertainment",
      "versions": [
        {
          "version": "2.1.6",
          "date": "2026-05-20T07:22:11Z",
          "localizedDescription": "Redesigned setup flow with theme, language, permission and profile steps Smoother play/pause/skip button animations New navy blue and black color palette, with OLED dark mode Faster app startup, fixed welcome screen flash on relaunch Reduced lag and smoother blur on weak devices Fixed stream extraction failures with clearer error reasons More accurate hardware detection on desktop Crash reporting now auto-enabled Fixed update notification showing older versions Various bug fixes and stability improvements.",
          "downloadURL": "https://github.com/Sakayorii/sakayori-music/releases/download/v2.1.6/SakayoriMusic-2.1.6.ipa",
          "size": 96618256,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSPhotoLibraryUsageDescription": "SakayoriMusic needs access to your photo library to set custom playlist artwork and profile pictures."
        }
      }
    },
    {
      "name": "Musly",
      "bundleIdentifier": "com.dddevid.musly",
      "developerName": "dddevid",
      "subtitle": "A beautiful Flutter music streaming client for Subsonic-compatible servers with a modern Apple Music-inspired UI",
      "localizedDescription": "Musly - Universal Music Streaming Player \u0026 Client:\n\nMusly is a free, modern, and elegant music player and streaming client. Stream your self-hosted music library from Navidrome, Subsonic, Jellyfin, Emby, or Airsonic, listen to live Web Streams \u0026 Internet Radio, or play Local Music Files directly from your device on Android, iOS, Windows, Linux, and macOS.\n\nGitAds Sponsored:\n\n🌐 Website: musly.devid.lol.\n\nMusly is a versatile, high-performance music client offering:\n\n• 🎵 Multi-Source Streaming - Stream seamlessly from Navidrome, Subsonic, Jellyfin, Emby, or Airsonic servers.\n• 📁 Local Audio Files - Play local music stored directly on your device storage.\n• 📻 Live Web Streams \u0026 Internet Radio - Search, browse, and listen to thousands of web radio stations worldwide.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.dddevid.musly.png",
      "tintColor": "#6156e2",
      "category": "entertainment",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/dddevid/musly@master/screenshots/Screenshot_20260101_024726.png",
        "https://cdn.jsdelivr.net/gh/dddevid/musly@master/screenshots/Screenshot_20260101_024746.png",
        "https://cdn.jsdelivr.net/gh/dddevid/musly@master/screenshots/Screenshot_20260101_024751.png",
        "https://cdn.jsdelivr.net/gh/dddevid/musly@master/screenshots/Screenshot_20260101_024803.png"
      ],
      "versions": [
        {
          "version": "2.0.2",
          "date": "2026-08-26T20:40:22Z",
          "localizedDescription": "iOS:\n\n• musly-ios.ipa (sideload with AltStore, Sideloadly, or similar — not signed).\n\nWindows:\n\n• musly-setup.exe (setup installer, run to install Musly).\n• musly-windows.zip (portable version, extract and run).\n\nmacOS:\n\n• musly-macos.dmg (drag Musly.app to Applications — not notarized).\n\nLinux:\n\n• musly-linux-x64.tar.gz (extract and run musly).\n\n📝 Changelog:\n\nSee CHANGELOG.md.\n\n🌍 Translations:\n\nContribute translations at Crowdin.",
          "downloadURL": "https://github.com/dddevid/Musly/releases/download/v2.0.2/musly-ios.ipa",
          "size": 13928367,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSAppleMusicUsageDescription": "Musly needs access to your music library to browse and play your songs.",
          "NSBluetoothAlwaysUsageDescription": "Musly uses Bluetooth to send song information and album artwork to your connected audio devices (car stereo, headphones, speakers).",
          "NSBluetoothPeripheralUsageDescription": "Musly uses Bluetooth to connect to audio devices and display current playing music information.",
          "NSDocumentsFolderUsageDescription": "Musly needs access to your files to import local music tracks.",
          "NSLocalNetworkUsageDescription": "Musly uses the local network to discover and connect to Google Cast devices.",
          "NSMicrophoneUsageDescription": "Musly requires microphone access for certain audio features.",
          "NSPhotoLibraryAddUsageDescription": "Musly needs permission to save album artwork to your photo library.",
          "NSPhotoLibraryUsageDescription": "Musly needs access to your photo library to set custom album artwork."
        }
      }
    },
    {
      "name": "Nuvio Enhanced",
      "bundleIdentifier": "com.nuvio.media",
      "developerName": "luqmanfadlli",
      "subtitle": "Unofficial Nuvio Mobile repository to build Nuvio with experimental features, improvements, and bug fixes not yet availabe in the official repository",
      "localizedDescription": "Unofficial. This fork is not affiliated with or supported by the Nuvio team. Please report bugs you find here to this repository, not upstream — unless you can reproduce them on an official build too.\n\nWhat Enhanced adds:\n\nEverythings below are added on top of upstream Nuvio Mobile.\n\nLive TV:\n\nUpstream Nuvio has no Live TV. This fork adds the whole feature.\n\nAndroid:\n\nRequires Android Studio and the Android SDK.\n\niOS:\n\nRequires macOS and Xcode.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.nuvio.media.png",
      "tintColor": "#b040f0",
      "category": "other",
      "versions": [
        {
          "version": "0.5.3",
          "date": "2026-09-27T05:17:38Z",
          "localizedDescription": "• fix(ios): restore Now Playing controls by dropping mixWithOthers @luqmanfadlli.\n• fix(home): use continue watching poster pattern @tapframe.\n• fix(shuffle): open sheet at full height @tapframe.\n• fix(details): move shuffle into actions menu @tapframe.\n• feat(poster): support addon landscape posters @tapframe.\n\n• feat(ui): restyle dialogs @tapframe.\n• feat(ui): restyle dropdown menus @tapframe.\n• feat(ui): restyle bottom sheets @tapframe.\n• fix(auth): use state-based text fields so autofill sees the username field @luqmanfadlli.\n• fix(settings): keep Enhanced-only appearance settings device-local @luqmanfadlli.\n• feat(streams): use shimmer for loading states @tapframe.\n• feat(spinner): change indicator @tapframe.\n• i18n(ur): add Urdu localization (#2067) @muzii9.\n• feat(player): add episode shuffle @tapframe.",
          "downloadURL": "https://github.com/luqmanfadlli/NuvioMobile-Enhanced/releases/download/0.5.3-beta/Nuvio-0.5.3-Enhanced.ipa",
          "size": 68569946,
          "minOSVersion": "16.1"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "XeniOS",
      "bundleIdentifier": "com.xenios.jp",
      "developerName": "xenios-jp",
      "subtitle": "The iOS and MacOS port of Xenia, the Xbox 360 Emulator Research project",
      "localizedDescription": "XeniOS is an experimental Apple-focused fork of Xenia, currently based on Xenia Edge. It exists as a fast-moving place to develop, test, and ship iOS and macOS work while also carrying platform changes that benefit ARM64 Windows, Linux, and Android. Relevant improvements are intended to flow back upstream over time.\n\nCurrent Focus:\n\n• macOS (Apple Silicon).\n• macOS (Intel).\n\nCurrent published releases focus on iOS and macOS. For Windows or Linux builds, use Xenia Edge or Xenia Canary.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.xenios.jp.png",
      "tintColor": "#302000",
      "category": "games",
      "versions": [
        {
          "version": "2.0.1",
          "date": "2026-06-08T04:29:36Z",
          "localizedDescription": "2.0.1-9730:\n\n• Stage: stable.\n• Version: 2.0.1.\n• Build number: 9730.\n• Commit: 57c3ca140.\n• Published at: 2026-06-08T03:28:01Z.\n• Source ref: refs/heads/xenios.",
          "downloadURL": "https://github.com/xenios-jp/XeniOS/releases/download/release-v2.0.1-build-9730/xenios_ios_iphone_ipad.ipa",
          "size": 46253576,
          "minOSVersion": "18.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "Manatan",
      "bundleIdentifier": "app.mangatan.mangatan",
      "developerName": "KolbyML",
      "subtitle": "Seamless immersion language learning for anime, manga, novels on all platforms",
      "localizedDescription": "Manatan:\n\nWebsite: https://manatan.com\n\n✨ Why Manatan?:\n\nTraditional setups for watching anime or reading manga with Japanese lookup can be complicated, often requiring users to install Python scripts, browser extensions (like userscripts), and configure local servers manually.\n\nManatan simplifies everything into a single app:\n\n• Zero Configuration: No need to install \"Monkey scripts,\" configure Optical Character Recognition (OCR) tools, or mess with command lines.\n• Universal Language Support: Manatan supports every language.\n• Built-in OCR for Manga: Just hover over text to get selectable text for dictionary lookups.\n• Anime Support: Subtitle parsing with popup dictionary lookups while you watch.\n• 1-Click Anime Cards: Generate Anki cards from anime sentences with a single click, with sentence audio.\n• Novel Support: Read EPUBs with sync across devices, instant dictionary lookups, and Anki card generation.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/app.mangatan.mangatan.png",
      "tintColor": "#00a0f0",
      "category": "entertainment",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/KolbyML/Manatan@master/docs/assets/screenshots/manga-library.png",
        "https://cdn.jsdelivr.net/gh/KolbyML/Manatan@master/docs/assets/screenshots/manga-reader-dictionary.png"
      ],
      "versions": [
        {
          "version": "3.5.0",
          "date": "2026-09-27T12:28:26Z",
          "localizedDescription": "Release v6.1.28:\n\n• Serialize CocoaPods dependency setup (265354e).\n• Use LAN endpoint for CI artifacts (2ef26c6).\n• Keep manga dictionary lookup following the pointer (ead5fc3).\n• Fix Komga EPUB novel position restoration (6c266cc).\n• Add Mokuro OCR support for manga (72e46fa).\n• Speed up subtitle audio extraction (beb9eb4).\n• Fix Anki furigana field formatting (ab8506a).\n• Keep continuous reader width and chapter flow stable (f715d16).\n• Restore local video subtitle selections (c4ebb43).\n\n• Keep Android subtitle preparation responsive (282ffcc).\n• Restore text selection in screen lookup popups (d268206).\n• Require server confirmation for Apple memberships (2e86857).\n• Capture Windows Screen Lookup exit diagnostics (2c3ae91).\n\nDownloads:\n\n• The manatan-app and manatan-launcher archives are updater payloads, not the normal manual install path.\n• The legacy Manatan archives are one-time migration assets for older clients.",
          "downloadURL": "https://github.com/KolbyML/Manatan/releases/download/v6.1.28/Manatan-v6.1.28-iOS.ipa",
          "size": 367870208,
          "minOSVersion": "16.1"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "beta-reports-active",
          "com.apple.developer.kernel.extended-virtual-addressing",
          "com.apple.developer.kernel.increased-memory-limit",
          "com.apple.developer.team-identifier",
          "com.apple.security.application-groups",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSCameraUsageDescription": "Manatan uses the camera to recognize text in photos you take.",
          "NSFaceIDUsageDescription": "Manatan uses Face ID to unlock the app when you enable Require unlock.",
          "NSLocalNetworkUsageDescription": "Manatan uses your local network to connect to Audiobookshelf servers you add and stream their audio.",
          "NSPhotoLibraryAddUsageDescription": "Manatan needs permission to save images to your photo library.",
          "NSPhotoLibraryUsageDescription": "Manatan uses your photo library to select images for text recognition and to save images you choose."
        }
      }
    },
    {
      "name": "Kryptos",
      "bundleIdentifier": "com.kryptos.app",
      "developerName": "swisslite",
      "subtitle": "Encrypt right inside any messenger: the keyboard encrypts, the screen decrypts, no jumping between apps. iOS and Android, Signal Protocol, fully offline",
      "localizedDescription": "Kryptos:\n\nKryptos is an iPhone and Android app that encrypts conversations inside any messenger.\n\nYou type the message straight into WhatsApp, Telegram or an SMS, tap the padlock on the Kryptos keyboard, and the field holds ciphertext instead of your text. On the other end it works the other way round: on Android Kryptos decrypts the text on screen without leaving the messenger, on iPhone it shows the text above the keyboard once the ciphertext is copied. The messenger, the carrier and anyone who intercepts the message on the way see a run of characters they cannot read.\n\nThe app is the same on both systems and uses one format, so it does not matter which phone your contact carries.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.kryptos.app.png",
      "tintColor": "#6070f0",
      "category": "utilities",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/swisslite/Kryptos@main/assets/readme/1.jpg",
        "https://cdn.jsdelivr.net/gh/swisslite/Kryptos@main/assets/readme/2.jpg",
        "https://cdn.jsdelivr.net/gh/swisslite/Kryptos@main/assets/readme/3.jpg",
        "https://cdn.jsdelivr.net/gh/swisslite/Kryptos@main/assets/readme/4.jpg",
        "https://cdn.jsdelivr.net/gh/swisslite/Kryptos@main/assets/readme/5.jpg"
      ],
      "versions": [
        {
          "version": "2.4",
          "date": "2026-09-20T23:53:49Z",
          "localizedDescription": "Installing the new version is recommended. Kryptos 2.4 is not compatible with older versions.\n\nNew features:\n\n• Brazilian Portuguese.\n• The language switch key is now a globe key (you can also switch keyboards by holding the globe key).\n• The iOS app icon is now native.\n• Libraries updated to the latest versions.\n• Links, email addresses, and phone numbers in decrypted text can now be copied.\n• Vibration mode setting.\n• Key text size setting.\n• Key press enlargement setting.\n• The cursor in the keyboard input field can be moved by dragging with your finger.\n• Comma key instead of the emoji key; emoji are now available by holding the comma key.\n\n• Option to disable automatic capitalization.\n• Settings are now stored in an encrypted file.\n• Third-party keyboards no longer suggest words in Kryptos fields.\n• Passwords in \"Password\" and \"Photo\" modes must now be at least 6 characters long.\n• Code entry is locked after 5 incorrect attempts.\n• The keyboard and on-screen decryption are locked 5 minutes after leaving the app.\n• When using \"Trap Password\", the keyboard is hidden, on-screen decryption is disabled, and access to the camera and microphone is blocked.\n• Other changes.\n\nFixes:\n\n• Key flickering when moving the cursor by holding the space bar.\n• Disappearing messages were deleted with a delay.\n• The lock could be bypassed by setting the clock back.\n• The locked keyboard displayed profiles and contacts and allowed switching profiles.\n• The \"Storage unavailable\" screen could erase everything with a single tap without confirmation.\n• On-screen decryption displayed text on the locked device.\n• Text from disappearing messages remained in the cache.\n• The keyboard draft remained visible after locking.\n• The keyboard could remember words from encrypted messages.\n• File names revealed whether codes had been set.\n• Windows and menus were not protected against being overlaid by other apps.\n• The app could freeze when handling a large message.\n• The mask key is no longer derived from public fingerprints.\n• Other fixes.\n\nDownloads:\n\nThe APK is built in the F-Droid buildserver container and signed with the same key as before, so it installs over an existing copy. The IPA is unsigned.",
          "downloadURL": "https://github.com/swisslite/Kryptos/releases/download/v2.4/Kryptos.ipa",
          "size": 27159680,
          "minOSVersion": "17.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSCameraUsageDescription": "Scanning QR codes to exchange keys securely.",
          "NSFaceIDUsageDescription": "Unlocking the Kryptos app."
        }
      }
    },
    {
      "name": "Sorayomi",
      "bundleIdentifier": "com.suwayomi.tachideskSorayomi",
      "developerName": "Suwayomi",
      "subtitle": "A free and open source manga reader app to read manga from a Tachidesk-Server instance",
      "localizedDescription": "Here is a list of current features for interaction with Sorayomi:\n\n• Managing installed Extensions.\n• Interaction with your library.\n• Browsing installed sources.\n• Viewing manga and chapters.\n\n• Viewing chapter updates.\n\nNote: Keep in mind that Sorayomi and Suwayomi-Server are alpha software, so it can have issues. See Support and help if it happens.\n\nSupported Suwayomi versions:\n\nThese are the versions of Suwayomi-Server that Sorayomi supports.\n\nRelease build:\n\n• Suwayomi-Server v0.6.6+.\n\nAndroid:\n\nDownload *-android-all.apk file from latest release the releases section.\n\niOS:\n\n• use AltStore to install Sorayomi in ios.\n\nWindows:\n\nDownload the latest .msi file from the releases section.\n\nif you use WINGET, you can run.\n\nMacOS:\n\n• Extract the file.\n• Drag and drop the extracted app file to applications folder in finder.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.suwayomi.tachideskSorayomi.png",
      "tintColor": "#0050a0",
      "category": "entertainment",
      "versions": [
        {
          "version": "0.6.3",
          "date": "2025-02-22T14:18:27Z",
          "localizedDescription": "• fixed port number picker.",
          "downloadURL": "https://github.com/Suwayomi/Tachidesk-Sorayomi/releases/download/0.6.3/tachidesk-sorayomi-0.6.3-ios.ipa",
          "size": 27963820,
          "minOSVersion": "12.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "Ram Checker",
      "bundleIdentifier": "com.mody.ramchecker",
      "developerName": "Ayan4k",
      "subtitle": "Check for your ram in iPhone",
      "localizedDescription": "RAM Checker:\n\nA lightweight iOS utility that shows what your device — and the app itself — actually has access to at the kernel level: physical RAM, per-app memory budget, and the live status of Apple's memory-related entitlements.\n\nBuilt for sideloading via LiveContainer / SideStore / similar tools, since the entitlements it checks (increased-memory-limit, extended-virtual-addressing) require a real Apple Developer signature to actually be granted by the kernel.\n\nFeatures:\n\n• Device card — model name (mapped from the raw hardware identifier) and current iOS version.\n• Memory card — physical RAM, per-app memory budget (os_proc_available_memory), current footprint (phys_footprint), and remaining headroom.\n• Entitlement status card — reads the live kernel-granted state of:.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.mody.ramchecker.png",
      "tintColor": "#70a050",
      "category": "utilities",
      "versions": [
        {
          "version": "1.0",
          "date": "2026-08-02T12:50:04Z",
          "localizedDescription": "Initial Release.",
          "downloadURL": "https://github.com/Ayan4k/Ram-Checker/releases/download/Stable/RamChecker.ipa",
          "size": 296930,
          "minOSVersion": "13.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "com.apple.developer.kernel.extended-virtual-addressing",
          "com.apple.developer.kernel.increased-memory-limit",
          "get-task-allow"
        ],
        "privacy": {}
      }
    },
    {
      "name": "AniHyou",
      "bundleIdentifier": "com.axiel7.AniHyou",
      "developerName": "RipeStore",
      "subtitle": "Another unofficial iOS AniList client",
      "localizedDescription": "AniHyou is an open-source, modern AniList client for iOS.\n\nThis build is distributed by a third party not related to axiel7/anihyou.\n\nAniHyou is a native, feature-rich AniList client built with Swift and SwiftUI.\n\nFeatures:\n\n• ⌚️ watchOS Support — Native companion app for Apple Watch.\n• 📅 Air Schedule \u0026 Calendar — Airing soon, seasonal animes, and weekly calendar.\n• 🔥 Trending \u0026 Discover — Explore trending anime/manga, charts (top \u0026 popular).\n• 📖 Comprehensive Details — Anime/Manga info, tags, characters, staff, recommendations, relations, reviews, stats.\n• 📝 List Management — Manage Anime/Manga lists (status, progress, score, dates, repeat).\n• 🔍 Global Search — Search animes, mangas, characters, staff, studios, and users.\n• 👤 User Profiles — User activity feeds, bios, and favorites.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.axiel7.AniHyou.png",
      "tintColor": "#5060f0",
      "category": "entertainment",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/RipeStore/AniHyou-iOS@main/screenshots/screenshot_01.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/AniHyou-iOS@main/screenshots/screenshot_02.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/AniHyou-iOS@main/screenshots/screenshot_03.webp"
      ],
      "versions": [
        {
          "version": "1.8.7",
          "date": "2026-08-19T16:33:49Z",
          "localizedDescription": "• Blur adult media setting.\n• Translate button on threads and reviews.\n• Launch app widget and complication.\n• Lot of fixes and improvements.\n\nbuild: 1.8.7.\n\nVersion: 1.8.7 Upstream Commit: c830fed.",
          "downloadURL": "https://github.com/RipeStore/AniHyou-iOS/releases/download/v1.8.7-c830fed/AniHyou-v1.8.7-c830fed-unsigned.ipa",
          "size": 17676366,
          "minOSVersion": "18.1"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "OldOS",
      "bundleIdentifier": "com.zurac.BudgetBuddy",
      "developerName": "zzanehip",
      "subtitle": "Recreating a fully functional version of iOS 4 in SwiftUI",
      "localizedDescription": "!",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.zurac.BudgetBuddy.png",
      "tintColor": "#6156e2",
      "category": "other",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/zzanehip/The-OldOS-Project@master/Images/Market_1.jpg",
        "https://cdn.jsdelivr.net/gh/zzanehip/The-OldOS-Project@master/Images/Market_2.jpg",
        "https://cdn.jsdelivr.net/gh/zzanehip/The-OldOS-Project@master/Images/Market_3.jpg",
        "https://cdn.jsdelivr.net/gh/zzanehip/The-OldOS-Project@master/Images/Market_4.jpg",
        "https://cdn.jsdelivr.net/gh/zzanehip/The-OldOS-Project@master/Images/Market_5.jpg"
      ],
      "versions": [
        {
          "version": "1.0",
          "date": "2026-08-22T19:49:31Z",
          "localizedDescription": "2.0 (8):\n\n• iOS 4 Keyboard.\n• Predictive Touch.\n• Text Suggestions.\n• Text Selection.\n• Cut, Copy \u0026 Paste.\n• Keyboard Variants.",
          "downloadURL": "https://github.com/zzanehip/The-OldOS-Project/releases/download/2.0_8/OldOS.ipa",
          "size": 85139997,
          "minOSVersion": "16.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "com.apple.developer.game-center",
          "com.apple.developer.networking.wifi-info",
          "com.apple.developer.team-identifier",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSAppleMusicUsageDescription": "To view, play, and experience your music in OldOS, please enable access to your music library. ",
          "NSCameraUsageDescription": "To take photos in OldOS, please enable access to your camera.",
          "NSContactsUsageDescription": "To view and manage your contacts in OldOS, please enable access to your contacts list.",
          "NSLocationAlwaysAndWhenInUseUsageDescription": "To enable maps to work properly, and see your current wifi network in Settings, please enable access to your location. Then close and re-open the Maps app.",
          "NSLocationAlwaysUsageDescription": "To enable maps to work properly, and see your current wifi network in Settings, please enable access to your location. Then close and re-open the Maps app.",
          "NSLocationWhenInUseUsageDescription": "To enable maps to work properly, and see your current wifi network in Settings, please enable access to your location. Then close and re-open the Maps app.",
          "NSMicrophoneUsageDescription": "To record your audio while filming a video in OldOS, please in enable microphone access.",
          "NSPhotoLibraryAddUsageDescription": "To view, manage, and add photos to your photo library in OldOS, please enable access. Then close and re-open the Photos app.",
          "NSPhotoLibraryUsageDescription": "To view, manage, and add photos to your photo library in OldOS, please enable access. Then close and re-open the Photos app."
        }
      }
    },
    {
      "name": "Swift Radio",
      "bundleIdentifier": "com.matthewfecher.SwiftRadio",
      "developerName": "analogcode",
      "subtitle": "Professional Radio Station App for iOS!",
      "localizedDescription": "Swift Radio:\n\nOpen-source radio station app built entirely in Swift. Used by 80+ apps on the App Store.\n\nLooking for Android? See Swift Radio Android. Same station format, native Kotlin and Jetpack Compose.\n\nFeatures:\n\n• Stream live radio with background audio playback.\n• Scrubber and progress bar for non-live streams.\n• Apple CarPlay support.\n• Album art and track metadata from streams and iTunes API.\n• Lock screen and Control Center integration.\n• Multiple stations from a local or remote JSON file.\n• Pull to refresh and optional search bar.\n• Localization-ready via Xcode String Catalog.\n• About screen with email, sharing, and external links.\n\nBuilt on FRadioPlayer for streaming, metadata parsing, and iTunes album art fetching.\n\nGetting Started:\n\n• Open SwiftRadio.xcodeproj in Xcode.\n• Update your stations in SwiftRadio/Data/stations.json or host the file remotely.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.matthewfecher.SwiftRadio.png",
      "tintColor": "#6156e2",
      "category": "entertainment",
      "screenshotURLs": [
        "https://user-images.githubusercontent.com/3511384/63377830-d8041880-c35e-11e9-91d1-5f7b7d4188d7.jpg"
      ],
      "versions": [
        {
          "version": "3.1.0",
          "date": "2026-07-04T20:18:33Z",
          "localizedDescription": "The attached .ipa is unsigned. Install it by sideloading with AltStore or Sideloadly, which re-sign it with your own Apple ID. Or clone the repo and run it from Xcode with your personal team.\n\n• Localize About screen.\n• Add link to Swift Radio Android in README.\n• Move Android link below screenshots.\n• Fix CI builds by using iPhone 17 Pro simulator.\n\n• Fix iOS app icon: use square full-bleed artwork.",
          "downloadURL": "https://github.com/analogcode/Swift-Radio-Pro/releases/download/v3.1.0/swift-radio-v3.1.0-unsigned.ipa",
          "size": 6178833,
          "minOSVersion": "16.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSPhotoLibraryAddUsageDescription": "This app would like to save the image associated with the current track and station to your photo library."
        }
      }
    },
    {
      "name": "VortX",
      "bundleIdentifier": "com.stremiox.app.native",
      "developerName": "VortXTV",
      "subtitle": "VortX, the native streaming app. Fully native Apple TV, iPhone, iPad, and Mac apps with a real player engine, no web wrapper. Android, Windows, and Linux next",
      "localizedDescription": "VortX:\n\nThe Android APK is an early technical preview, not the finished app. VortX is Apple first: the Apple TV, iPhone, iPad, and Mac apps are the complete experience today. Android is just getting started, sharing the same native engine, and the preview exists so Android users can watch the port take shape and help steer it. Expect missing features, rough edges, and fast-moving builds. If you want the full VortX experience right now, use the Apple apps; if you try the Android preview, please report what you hit, because every report shapes the port.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.stremiox.app.native.png",
      "tintColor": "#f09000",
      "category": "other",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/VortXTV/VortX@main/docs/screenshots/home.png",
        "https://cdn.jsdelivr.net/gh/VortXTV/VortX@main/docs/screenshots/detail.png",
        "https://cdn.jsdelivr.net/gh/VortXTV/VortX@main/docs/screenshots/streams.png",
        "https://cdn.jsdelivr.net/gh/VortXTV/VortX@main/docs/screenshots/player.png",
        "https://cdn.jsdelivr.net/gh/VortXTV/VortX@main/docs/screenshots/library.png"
      ],
      "versions": [
        {
          "version": "0.4.0",
          "date": "2026-09-27T12:29:12Z",
          "localizedDescription": "0.4.0 Beta 16 - Dolby Vision buffering, player switches, and next-episode recovery:\n\nInstall this over any earlier Apple build. Beta 16 focuses on playback failures reported in diagnostics 21–24: Dolby Vision production stopping, replacement sources opening on the wrong player surface, stalled next-episode recovery, and Apple TV going idle during a player handoff. Apple build 252. All Beta 15 changes are retained; these packages are built afresh from the reviewed source, not an older beta executable.\n\nThis is an Apple-only update for Apple TV, iPhone, iPad, and Apple Silicon Mac. Android remains on the signed Beta 14 packages linked below.\n\nWhat's fixed:\n\nDolby Vision's local rolling buffer no longer gives the same capacity to both rewind history and forward loading. Both sides previously budgeted against the entire publication allowance independently. Together with the still-advertised previous playlist, that could fill the physical spool and block the next segment from being published. The allocation is now shared, with room for a segment already being closed. Advertised video and subtitle resources keep their validity deadlines; the fix does not prematurely delete segments AVPlayer is still allowed to request.\n\nAVPlayer's preferred buffer is coupled to what the DV producer can actually supply. When bitrate is known, the target uses the forward allocation rather than the whole rolling window. Very high-bitrate sources no longer retain an unconditional minimum that can exceed the affordable lead. Unknown-bitrate sources retain their existing behavior until usable measurements arrive. This repairs an app-side producer/player mismatch, not a supposed TorBox outage.\n\nChanging source or episode keeps the accepted player and the current stream. A replacement accepted on VortX Player could previously clear fallback state and rebuild an AVPlayer surface using the original launch episode. Both Apple playback surfaces now retain the accepted engine. An explicit player switch uses the active URL, request headers and content hints, not stale launch values. The original source stays separate from any local proxy URL.\n\nAn empty next-episode source gets one recovery owner instead of competing retry loops. A prepared URL that produces no video packets is marked exhausted. Its exact load can accept a late-arriving alternative within the bounded settlement window, while conflicting startup and same-URL retry timers are retired. Duplicate errors or EOF callbacks cannot reopen that dead URL. Source changes, episode changes, cancellation and your pause choice still win. If no usable alternative arrives, the error replaces the reconnecting spinner rather than leaving it spinning indefinitely.\n\nResume recovery no longer fights itself or enters the manual-seek cache hold. The ordinary stall watchdog waits while the exact deferred-resume recovery owns an unconfirmed resume. Recovery nudges use the resume-specific seek path and a confirmed position; they do not arm the separate manual-scrub refill watchdog. A valid Continue Watching persistence floor is retained. This targets the confirmed recovery conflict, not every possible late native seek callback.\n\nSeek-preview contribution stops rechecking unchanged work on every playback tick. The overnight diagnostic contained thousands of identical upload-admission checks without any new captured frames. An unchanged title now rechecks when duration first becomes known, when new coverage is captured, or during teardown. New titles keep their own initial check. This removes redundant work and keeps useful playback evidence from being buried in repeated preview messages; it does not claim every source now has previews available.\n\nDiagnostics distinguish local spool capacity from a source-read stall. A bounded receipt records physical storage accounting and companion-resource bytes when admission waits. It excludes source URLs, credentials and account identifiers. A read stall alone is not labeled as provider downtime.\n\nVerification and remaining limits:\n\nAll 18,757 lines of diagnostic 24 were read, alongside the previous diagnostics and a retrieved device log. The overnight capture includes roughly 55 minutes of healthy Debridio/VortX Player playback with hardware decoding and zero sampled output/decoder drops. It does not contain the initiating AIOStreams/AVPlayer failure, so it cannot establish that the two add-ons selected identical files or request paths.\n\nPlease test:\n\n• Play a DV title beyond several rolling-window advances, then pause, resume and seek backward and forward.\n• Switch between AVPlayer and VortX Player on an AIOStreams source. Confirm the same title, episode, position and your Play/Pause choice survive.\n• Start a series from Continue Watching and try both automatic advance and the next-episode button. Include a source that previously opened blank or remained reconnecting.\n• Leave playback running through an AVPlayer-to-VortX recovery beyond the TV's usual screensaver interval. Confirm the TV stays awake while video is playing.\n• If a failure remains, export the diagnostic shortly afterward so the initial cause is retained. Include the source/add-on and whether it followed pause, seek, an engine switch or an episode transition.\n\nInstall:\n\nApple TV. Use VortX-tvOS-v0.4.0-beta.16-ci.ipa for Full or VortX-tvOS-lite-v0.4.0-beta.16-ci.ipa for Lite. Install the same variant you normally use through your signing service.\n\nCheck SHA256SUMS-ci.txt; the immutable tag, source commit and protected build provide provenance for these files. This beta is deliberately promoted to Latest with Apple update/install feeds verified during publication.",
          "downloadURL": "https://github.com/VortXTV/VortX/releases/download/v0.4.0-beta.16/VortX-iOS-v0.4.0-beta.16-ci.ipa",
          "size": 65534888,
          "minOSVersion": "16.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSLocalNetworkUsageDescription": "VortX connects to the streaming server you point it at, such as one you run at home on your local network or reach over Tailscale."
        }
      }
    },
    {
      "name": "JESSI",
      "bundleIdentifier": "com.baconmania.jessi",
      "developerName": "Baconium",
      "subtitle": "JESSI (Java Edition Servers Suck on Ios) is a jailed app for ios 14+ that runs minecraft servers directly on device!",
      "localizedDescription": "Basic Information:\n\nJESSI is an iOS app that runs Minecraft: Java Edition servers natively on iOS, targeting iOS 14+. JESSI runs on both jailed and jailbroken iOS, only requiring JIT to do so.\n\nJESSI was designed specifically to be as easy to use as possible, even if you have never hosted a Minecraft server before. The UI is simple to understand and use, making JESSI the best beginner friendly option to host a minecraft server.\n\nJESSI is still being actively developed, and plenty of more features will come. Here's a list of some of JESSI's most important features:\n\n• Ability to run minecraft servers (duh).\n\n• Server memory allocation slider.\n• Easy to use server creator, with support for several server softwares.\n• A file manager that allows you to easily manage several servers.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.baconmania.jessi.png",
      "tintColor": "#604020",
      "category": "games",
      "versions": [
        {
          "version": "1.0",
          "date": "2026-03-30T23:25:32Z",
          "localizedDescription": "Changelog:\n\nJava 25 support (required for minecraft 26.1+).",
          "downloadURL": "https://github.com/Baconium/JESSI/releases/download/1.0.1/JESSI.ipa",
          "size": 9284359,
          "minOSVersion": "14.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "com.apple.developer.kernel.extended-virtual-addressing",
          "com.apple.developer.kernel.increased-memory-limit",
          "com.apple.developer.runningboard.assertions.system-process",
          "com.apple.developer.runningboard.assertions.system-process.background",
          "com.apple.developer.runningboard.assertions.system-process.unlimited-background",
          "com.apple.developer.runningboard.assertions.system-process.unlimited-background.audio",
          "com.apple.developer.runningboard.assertions.system-process.unlimited-background.bluetooth",
          "com.apple.developer.runningboard.assertions.system-process.unlimited-background.continuous",
          "com.apple.developer.runningboard.assertions.system-process.unlimited-background.external-accessory",
          "com.apple.developer.runningboard.assertions.system-process.unlimited-background.fetch",
          "com.apple.developer.runningboard.assertions.system-process.unlimited-background.location",
          "com.apple.developer.runningboard.assertions.system-process.unlimited-background.network-authentication",
          "com.apple.developer.runningboard.assertions.system-process.unlimited-background.newsstand-content",
          "com.apple.developer.runningboard.assertions.system-process.unlimited-background.processing",
          "com.apple.developer.runningboard.assertions.system-process.unlimited-background.push-to-talk",
          "com.apple.developer.runningboard.assertions.system-process.unlimited-background.remote-notification",
          "com.apple.developer.runningboard.assertions.system-process.unlimited-background.voip",
          "com.apple.private.memorystatus",
          "com.apple.private.security.no-sandbox",
          "com.apple.private.security.storage.AppDataContainers",
          "com.apple.private.security.storage.MobileDocuments",
          "com.apple.security.exception.mach-lookup.global-name",
          "com.apple.security.iokit-user-client-class",
          "get-task-allow",
          "platform-application"
        ],
        "privacy": {
          "NSLocalNetworkUsageDescription": "JESSI needs access to your local network so other devices on your Wi-Fi can connect to Minecraft servers ran by the app.",
          "NSLocationAlwaysAndWhenInUseUsageDescription": "JESSI uses location access to keep the app alive in the background when this option is enabled. Your location is not stored.",
          "NSLocationWhenInUseUsageDescription": "JESSI uses location access to keep the app alive in the background when this option is enabled. Your location is not stored."
        }
      }
    },
    {
      "name": "Mirarr",
      "bundleIdentifier": "com.example.Mirarr",
      "developerName": "mirarr-app",
      "subtitle": "Mirarr, FOSS Movie App",
      "localizedDescription": "Website:\n\nhttps://mirarr-app.github.io/mirarr/\n\nAvailable on Android, Windows, Linux , IOS and Web.:\n\nThis is a movie app that aims to simplify the process of watching movies and TV shows.\n\nFeatures:\n\n• Trending movies and TV shows.\n• Seperate movies and TV shows by genre.\n• Watchlist, Favorites and Rating.\n\n• External links to movies and TV shows to watch.\n• External links to get the movies and TV shows.\n• Custom searching.\n• TV shows ratings table.\n\nDownload:\n\nDownload Apk for android. Download mirarr-windows.zip for Windows. Download mirrar.zip for Linux. Download mirrar.ipa for sideloading on IOS.\n\nMirarr is available on AUR as well.\n\nNote: On linux you need to have xdg-user-dirs package installed.\n\nSome stuff needs extra love:\n\nThe app supports custom styles for special movies and TV shows that have enough character.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.example.Mirarr.png",
      "tintColor": "#f0c000",
      "category": "entertainment",
      "screenshotURLs": [
        "https://github.com/user-attachments/assets/690ba8ed-9ebc-41cd-b589-c2059880a243",
        "https://github.com/user-attachments/assets/d2eea829-2157-44e7-9911-da01adf4c5fc",
        "https://github.com/user-attachments/assets/5670a1cb-d645-48e4-a33f-69c8c5d91c05",
        "https://github.com/user-attachments/assets/9dd04605-c569-47c5-8c1c-5edd09949152",
        "https://github.com/user-attachments/assets/64f88f6f-db53-4600-a0d3-8b6549b67a58"
      ],
      "versions": [
        {
          "version": "3.3.3",
          "date": "2026-09-11T08:30:12Z",
          "localizedDescription": "• Fix text in profile page and discover page being not readable.\n• Fix omarchy theme path to align with Omarchy Quattro.",
          "downloadURL": "https://github.com/mirarr-app/mirarr/releases/download/3.3.3/mirarr.ipa",
          "size": 11800313,
          "minOSVersion": "13.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "Kodi",
      "bundleIdentifier": "org.xbmc.kodi-ios",
      "developerName": "RipeStore",
      "subtitle": "Media center for all your digital entertainment",
      "localizedDescription": "Kodi can be used to play almost all popular audio and video formats around. It was designed for network playback, so you can stream your multimedia from anywhere in the house or directly from the internet using practically any protocol available.\n\nTHis build is distributed by a third-party not related to Kodi/XMBC.\n\nPoint Kodi to your media and watch it scan and automagically create a personalized library complete with box covers, descriptions, and fanart. There are playlist and slideshow functions, a weather forecast feature and many audio visualizations. Once installed, your computer or HTPC will become a fully functional multimedia jukebox.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/org.xbmc.kodi-ios.png",
      "tintColor": "#30a0d0",
      "category": "entertainment",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/RipeStore/kodi@main/screenshots/screenshot_01.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/kodi@main/screenshots/screenshot_02.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/kodi@main/screenshots/screenshot_03.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/kodi@main/screenshots/screenshot_04.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/kodi@main/screenshots/screenshot_05.webp"
      ],
      "versions": [
        {
          "version": "21.3",
          "date": "2026-08-16T05:10:11Z",
          "localizedDescription": "Major user-facing changes include:\n\nVideo.\n\n• Added HDR support on Xbox One.\n• Fixed Blu-ray playback on Linux.\n• Fixed handling of HDR10 light metadata changes.\n• Fixed subtitle selection for ISO 639-1 (two-letter) language codes.\n\nLibrary/Sources and Management.\n\n• Improved speed of video library rescans.\n• Fixed multi-episode files overwriting the first episode.\n• Fixed info dialog for certain Movie Versions.\n• Fixed some false positives detecting Movie Versions.\n\nMusic.\n\n• Fixed CDDB lookups using Gnudb.org's CDDB API.\n• Fixed album search failing for artist names.\n\nAudio.\n\n• Fixed rare Pipewire crash when connecting/removing audio devices.\n\nPVR.\n\n• Fixed crash when a PVR stream is stopped via remote app.\n\nPeripherals.\n\n• Added support for Turkish keyboards on Linux.\n• Fixed enabling and disabling Pulse-Eight CEC adapters.\n• Fixed the Delete and Alternative Insert keys on macOS.\n• Fixed minor visual glitches when managing peripherals.\n\nAddons.\n\n• Fixed updating add-ons after 25 days of inactivity (extended to ~68 years).\n\nSkin/GUI.\n\n• Fixed busy dialog crash when multiple dialogs are opened.\n• Fixed suspend dialog remaining open after the system wakes up.\n• Improved touch support for slider dialog arrows.\n\nNetwork.\n\n• Added support for HTTP Basic Authentication.\n• Fixed some network streams failing due to interrupted HTTP/2 transfers.\n• Updated libnfs to v6 for embedded platforms.\n• Updated CA certificates to 2025-07-15 from the Mozilla CA certificate store.",
          "downloadURL": "https://github.com/RipeStore/kodi/releases/download/v21.3/org.xbmc.kodi-ios_21.3_iphoneos-arm64.ipa",
          "size": 267889530,
          "minOSVersion": "11.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSMicrophoneUsageDescription": "Used for speech recognition",
          "NSSpeechRecognitionUsageDescription": "Translate speech to text in virtual keyboard dialog"
        }
      }
    },
    {
      "name": "Synkplay",
      "bundleIdentifier": "com.yuroyami.syncplay.iosApp",
      "developerName": "yuroyami",
      "subtitle": "📱 Syncplay Mobile (now Synkplay) is a Syncplay client app for Android and iOS. Watch stuff in sync with your friends. Compatible with the official Syncplay for PC. Fully written in Kotlin and Compose multiplatform",
      "localizedDescription": "📱 Syncplay Mobile (now Synkplay) is a Syncplay client app for Android and iOS. Watch stuff in sync with your friends. Compatible with the official Syncplay for PC. Fully written in Kotlin and Compose multiplatform.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.yuroyami.syncplay.iosApp.png",
      "tintColor": "#d06070",
      "category": "entertainment",
      "versions": [
        {
          "version": "0.25.0",
          "date": "2026-09-22T16:00:29Z",
          "localizedDescription": "This release is not on Google Play or the App Store yet.\n\n• Audio files can now be played. (#168, requested).\n• Audio files show a visualizer. You can turn it off in the room's player settings.\n• The visualizer changes patterns on its own, or you can pick one.\n• Fixed the keyboard closing after one letter on Home. (#167, #170, reported and @rkpsx7, fixed).\n• Android TV: every control now works with a remote. (#159, contributed).\n• Android TV: the app lists your videos when no file picker is available. (#163, contributed).\n• Invite links are now https links, clickable in any messenger. The page opens the app or links to the stores.\n• The room's side panels are merged into one.\n\n• Long press a GIF to save it or copy its link. Long press a message to copy it.\n\n• GIF and sticker controls share one row. Sending one clears the search text.\n• The shared playlist can be reordered by dragging. After a disconnect, the app offers to restore it.\n• Tracks show more detail, and video tracks can be selected.\n• mpv on Android now uses libmpvKt, which fixes video track selection.\n• iOS: the screen stays on in rooms, including after switching engines.\n• iOS VLC: fixed the seek bar freezing and the room jumping backward. (#158, reported).\n• Fixed rapid seeks losing the latest position, and an unfinished seek moving a new file.\n• iOS VLC: fixed seeking in Picture-in-Picture, and the resume offer when watching alone.\n• Home shows what each engine supports.\n• Invalid join links and port numbers are now rejected.\n• Screen readers can now reach the join form.\n• The ExoPlayer-only APK is now reproducible, so IzzyOnDroid can verify it. (#105, #172, requested).\n\nTranslations  \u003ca href=\"https://hosted.weblate.org/engage/syncplay-mobile/\"\u003e\u003cimg src=\"https://hosted.weblate.org/widget/syncplay-mobile/svg-badge.svg\" alt=\"Translation status\" height=\"20\"\u003e\u003c/a\u003e:\n\nHelp translate Synkplay on Weblate.",
          "downloadURL": "https://github.com/yuroyami/syncplay-mobile/releases/download/v0.25.0/synkplay-0.25.0-ios.ipa",
          "size": 89425662,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "beta-reports-active",
          "com.apple.developer.team-identifier",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSLocalNetworkUsageDescription": "Synkplay hosts a watch-party server on your local network so nearby devices can join it.",
          "NSPhotoLibraryAddUsageDescription": "Synkplay saves video screenshots to your photo library."
        }
      }
    },
    {
      "name": "SkyStream",
      "bundleIdentifier": "dev.akash.skystream",
      "developerName": "akashdh11",
      "subtitle": "SkyStream is a modern, cross-platform media streaming client inspired by CloudStream. It uses a custom JavaScript runtime for plugins, allowing users to scrape and stream content from various sources on Android, iOS, Windows, macOS, and Linux from a single codebase",
      "localizedDescription": "SkyStream:\n\n⚠️ Warning: By default, this app doesn't provide any video sources; you have to install extensions to add functionality to the app.\n\nA new, cross-platform media streaming application inspired by CloudStream.\n\nNote: This project is an independent application built with Flutter. While it supports similar extension formats, it is a simplified, modern re-imagining and is not a direct clone or fork of the official client.\n\nPlease don't create illegal extensions or use any that host any copyrighted media. This project does not condone copyright infringement.\n\nOverview:\n\nSkyStream is a modern, media streaming client. It draws inspiration from the versatile architecture of CloudStream but implements a custom, cross-platform JavaScript engine for extensions, enabling support for Android, iOS, and Desktop from a single codebase.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/dev.akash.skystream.png",
      "tintColor": "#000020",
      "category": "entertainment",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/akashdh11/skystream@master/screenshots/mobile/home.png",
        "https://cdn.jsdelivr.net/gh/akashdh11/skystream@master/screenshots/mobile/details.png",
        "https://cdn.jsdelivr.net/gh/akashdh11/skystream@master/screenshots/mobile/settings.png"
      ],
      "versions": [
        {
          "version": "2.8.0",
          "date": "2026-09-21T03:42:37Z",
          "localizedDescription": "🧩 Plugins \u0026 Add-on Ecosystem (thanks to @Skywave22 ):\n\n• Nuvio and Streamio plugins support added – Integrated full support for Nuvio scraper plugins (running inside isolated JS workers with Cheerio and DOM polyfills) and Stremio add-ons (manifests, catalog browsing, streams, Cinemeta metadata, and OpenSubtitles v3).\n\n🎬 Media Player \u0026 Playback Engine:\n\n• Completely reworked the player controls – Rebuilt the video player controls from scratch with interactive seek bar scrubbing, intro/outro skipping, next episode countdown, audio \u0026 subtitle track management, and robust background playback handling.\n\n⚡ Core Engines (Torrent \u0026 JavaScript):\n\n• Upgraded Torrent Engine – Rebuilt and upgraded the embedded TorrServer across all platforms (Android, iOS, macOS, Windows, Linux) with auth token security, stripped binary sizes, and optimized torrent streaming reliability.\n\n📺 TV \u0026 Navigation Experience:\n\n• TV navigation fixed – Fully overhauled TV D-pad and gamepad focus traversal across player controls, source sheets, episode picker, catalog lists, and search views.\n\n🎨 Appearance \u0026 Window:\n\n• Dark mode is default now – Dark theme is now the default appearance across all devices (System and Light modes remain available under Settings › Appearance).\n• Full screen mode is persistent between sessions – Leaving the app in full screen mode brings it back that way on subsequent launches.\n\n⬇️ Downloads:\n\n• Multi-select mode (long-press / checklist) with Delete selected, alongside the existing per-item pause/resume/delete.\n\n🌐 Localization (i18n):\n\n• New Locales Added – Added Azerbaijani (az) (PR #100) and Finnish (fi) subtitle support (PR #93).\n• Translation Updates – Completed missing localized strings across 41 supported languages.\n\n🐞 Bug Fixes \u0026 System Stability:\n\n• 🛠️ Fixed: SkyStream no longer resets monitor's brightness on Windows – The bundled screen-brightness plugin was sending DDC/CI commands to external monitors. The plugin is now excluded from Windows builds entirely.\n• 🛠️ Cloudflare Reliability on Windows – WebView2 now keeps its working files inside the user AppData directory on installed builds; fixed solve slot deadlock and preserved real error responses.\n• 🛠️ Player Audio \u0026 Disposal Lifecycle – Fixed audio continuing to play after closing the player screen; guarded against memory leaks and state exceptions during player disposal.\n• 🛠️ C++17 Upgrade \u0026 Platform Builds – Upgraded native plugins and build scripts to C++17.\n\n⚙️ Improvements:\n\n• 🚀 Various performance improvements and optimizations across the app.",
          "downloadURL": "https://github.com/akashdh11/skystream/releases/download/v2.8.0/skystream-ios-unsigned-v2.8.0.ipa",
          "size": 35682250,
          "minOSVersion": "15.6"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "Hydra",
      "bundleIdentifier": "com.dmilin.hydra",
      "developerName": "RipeStore",
      "subtitle": "A Reddit reader app based on Apollo that doesn't need an API key to function",
      "localizedDescription": "Hydra is a native client for browsing Reddit and the ultimate experience on iOS. It is fast, fluid, and designed to make browsing Reddit natural and intuitive.\n\nThis build is distributed by an independent third party not related to the upstream Hydra project.\n\nCrafted with a native iOS design, Hydra feels right at home on your iPhone and iPad. It loads fast, responds instantly, and makes reading and participating in discussions effortless.\n\nFeatures:\n\n• Fast loading for browsing feeds and media.\n\n• Native iOS design and gesture-driven navigation.\n• Integrated image and video viewer with inline playback.\n• Split view and multi-column support on iPad.\n• Quick swipe gestures to upvote, downvote, reply, and collapse comments.\n• Markdown formatting for posts and comments.\n• System share integration to export links, media, and comments as images.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.dmilin.hydra.png",
      "tintColor": "#6156e2",
      "category": "social",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/RipeStore/hydrabuilder@main/screenshots/screenshot_01.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/hydrabuilder@main/screenshots/screenshot_02.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/hydrabuilder@main/screenshots/screenshot_03.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/hydrabuilder@main/screenshots/screenshot_04.webp"
      ],
      "versions": [
        {
          "version": "4.2.2",
          "date": "2026-09-11T15:26:03Z",
          "localizedDescription": "What's Changed in Upstream Hydra:\n\nBuilt from upstream commit d336b19 on master.\n\n🔄 Commits Since App Store Release (v4.2.2)::\n\n• d8bad7a Add toggle to mute videos by default (#61).\n• a649c34 mute videos by default cleanup.\n• d336b19 simplify the way the player is passed to the video overlay.\n\nBugfixes:\n\n• In certain conditions, the login page could end up frozen.\n• When changing device orientation while watching a video, the audio track could end up cutting out.",
          "downloadURL": "https://github.com/RipeStore/hydrabuilder/releases/download/v4.2.2-d336b19/Hydra-v4.2.2-d336b19-unsigned.ipa",
          "size": 33710330,
          "minOSVersion": "16.4"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSCameraUsageDescription": "Allow Hydra to access your camera",
          "NSFaceIDUsageDescription": "Allow Hydra to access your Face ID biometric data.",
          "NSLocalNetworkUsageDescription": "Expo Dev Launcher uses the local network to discover and connect to development servers running on your computer.",
          "NSMicrophoneUsageDescription": "Allow Hydra to access your microphone",
          "NSPhotoLibraryAddUsageDescription": "Allow Hydra to save photos and videos to your library.",
          "NSPhotoLibraryUsageDescription": "Hydra accesses your photos to upload images."
        }
      }
    },
    {
      "name": "Flycast",
      "bundleIdentifier": "com.chachirie.FlycastiOS",
      "developerName": "chachillie",
      "subtitle": "Flycast for iOS 26 with StikDebug support",
      "localizedDescription": "Flycast:\n\nFlycast is a multi-platform Sega Dreamcast, Naomi, Naomi 2, and Atomiswave emulator derived from reicast.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.chachirie.FlycastiOS.png",
      "tintColor": "#c0d0f0",
      "category": "games",
      "versions": [
        {
          "version": "2.6",
          "date": "2026-01-22T02:53:54Z",
          "localizedDescription": "TXM and Non-TXM devices tested and working with iOS26.\n\n• Flycast-iOS automatically routes to the correct .js.",
          "downloadURL": "https://github.com/chachillie/Flycast-iOS/releases/download/v1.0/Flycast-iOS.ipa",
          "size": 8292812,
          "minOSVersion": "12.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSLocalNetworkUsageDescription": "Flycast uses the local network to find and communicate with AltServer.",
          "NSMicrophoneUsageDescription": "Flycast requires microphone access to emulate the Dreamcast microphone",
          "NSPhotoLibraryAddUsageDescription": "Flycast can save screenshots to your Photo library."
        }
      }
    },
    {
      "name": "NOOP",
      "bundleIdentifier": "com.noopapp.noop",
      "developerName": "ryanbr",
      "subtitle": "Offline WHOOP companion — pair your strap over Bluetooth, keep all data on your own device. No cloud, no account, no subscription",
      "localizedDescription": "Raw data capture ·.\n\nFirst launch on macOS. NOOP is not notarized by Apple — notarization needs a paid Apple Developer ID tied to a real identity, which doesn't fit an anonymous, free project. The app is sandboxed and ad-hoc code-signed, and the full source is here to inspect. Because it isn't notarized, macOS Gatekeeper blocks it on first open (you may see \"damaged\" or \"unverified developer\" — that's the download quarantine flag, not real damage). To open it, do one of these once:\n\n• Terminal (most reliable): drag NOOP.app to Applications, then run xattr -dr com.apple.quarantine /Applications/NOOP.app and open NOOP normally.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.noopapp.noop.png",
      "tintColor": "#00e090",
      "category": "lifestyle",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/ryanbr/noop@main/docs/assets/shot-ios-today.png",
        "https://cdn.jsdelivr.net/gh/ryanbr/noop@main/docs/assets/shot-android-today.png",
        "https://cdn.jsdelivr.net/gh/ryanbr/noop@main/docs/assets/shot-android-trend.png"
      ],
      "versions": [
        {
          "version": "11.8.0",
          "date": "2026-09-28T05:57:03Z",
          "localizedDescription": "Rolling latest testing build — refreshed in place, so this tag is always the newest. NOOP main + ryanbr's open PRs + vetted community PRs, built with the NOOP Staging identity (installs beside the official app, separate data). Filenames carry the base app version (v11.8.0).\n\n• Android (debug) — NOOP-android-debug-v11.8.0.apk — debuggable build. com.noop.whoop.debug.\n• macOS — NOOP-macos-v11.8.0.zip — unzip, then right-click → Open (ad-hoc signed, not notarized; Gatekeeper warns once). If it says \"damaged\", run xattr -dr com.apple.quarantine /Applications/NOOP.app.\n• iOS — NOOP-ios-unsigned-v11.8.0.ipa — sideload via AltStore / Sideloadly (re-signs on-device); embedded watch app stripped, widget extension retained for Home/Lock-Screen widgets and Live Activities.\n\nBase app version 11.8.0 · built 2026-09-28 · a45ee3d.",
          "downloadURL": "https://github.com/ryanbr/noop/releases/download/testing-latest/NOOP-ios-unsigned-v11.8.0.ipa",
          "size": 21821129,
          "minOSVersion": "17.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSBluetoothAlwaysUsageDescription": "NOOP connects directly to your WHOOP strap over Bluetooth to read heart rate, R-R intervals, battery, and sensor data locally on your iPhone. Nothing leaves your device.",
          "NSHealthShareUsageDescription": "NOOP reads your own Apple Health data on-device to compute recovery, strain, and sleep. Nothing leaves your device.",
          "NSHealthUpdateUsageDescription": "NOOP writes the metrics it computes from your strap back into Apple Health, on-device and only when you allow it.",
          "NSLocationWhenInUseUsageDescription": "NOOP records your route during an outdoor workout to show distance, pace, and a map, and keeps recording while the screen is off. The route stays on your device. Nothing leaves it.",
          "NSMicrophoneUsageDescription": "NOOP uses the microphone to let you ask the coach a question by voice. The audio is transcribed on-device and never leaves your iPhone.",
          "NSMotionUsageDescription": "NOOP reads your iPhone's step count for a walking or running workout to show steps in the activity summary. It stays on your device. Nothing leaves it.",
          "NSSpeechRecognitionUsageDescription": "NOOP transcribes your question on-device so you can ask the coach out loud instead of typing. Audio never leaves your iPhone."
        }
      }
    },
    {
      "name": "Mangayomi",
      "bundleIdentifier": "com.kodjodevf.mangayomi",
      "developerName": "kodjodevf",
      "subtitle": "Free and open source application for reading manga, novels, and watching animes available on Android, iOS, macOS, Linux and Windows",
      "localizedDescription": "Mangayomi is an open-source Flutter app for reading manga, novels, and watching animes across multiple platforms.\n\nFeatures include:\n\n• Reading manga, webtoons, comics, novels, animes, movies, and more.\n• Local reading of content.\n• A configurable reader with multiple viewers, reading directions and other settings.\n• Tracker support for anime and manga: MyAnimeList, AniList, SIMKL, trakt and Kitsu support.\n• Categories to organize your library.\n• Light and dark themes.\n• Create backups locally to read offline or to your desired cloud service.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.kodjodevf.mangayomi.png",
      "tintColor": "#b01020",
      "category": "entertainment",
      "versions": [
        {
          "version": "0.9.7",
          "date": "2026-09-22T11:08:53Z",
          "localizedDescription": "Reader:\n\n• Reliable Resume to Saved Position:.\n\n• Reopening a chapter in continuous vertical reading now jumps directly and instantly to the page where you left off, even before all images have finished loading.\n\nSmoother Zoomed Panning \u0026 Inertia (#1021):\n\n• Dragging a zoomed page now follows your finger precisely using real movement delta instead of an accumulated offset, making panning far more responsive.\n• Flinging a zoomed page now carries natural momentum with a longer, smoother coast animation.\n• Overscrolling past the edge of a zoomed page automatically transfers the momentum to the page list scroll, allowing seamless continued scrolling without lifting your finger.\n\nFixed Grey Screen in Double-Page Mode:\n\n• Chapter transition pages in vertical double-page reading no longer cause a crash or a blank grey screen when the spread is reached.\n\nReader Bottom Bar Positioning:\n\n• The page slider and quick-action bar now correctly sit above the system gesture area and home indicator on all devices, preventing them from being hidden behind system UI.\n\nNovel Reader Performance:\n\n• Page swipes in paged novel mode no longer trigger a full rebuild of the reader tree, making navigation between pages considerably faster.\n\nFixes \u0026 Stability:\n\n• Fixed infinite loading spinner when resuming a continuous vertical chapter mid-chapter.\n• Corrected the visible range check that was preventing the initial scroll anchor from being applied reliably.\n• Page image load events now correctly trigger a re-jump to the saved position if the list had not yet settled on the right page.",
          "downloadURL": "https://github.com/kodjodevf/mangayomi/releases/download/v0.9.7/Mangayomi-v0.9.7-ios.ipa",
          "size": 114301894,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "aps-environment",
          "com.apple.developer.associated-domains",
          "com.apple.developer.team-identifier",
          "com.apple.security.application-groups",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSDocumentUsageDescription": "Mangayomi needs access to your files to create and restore backups.",
          "NSFaceIDUsageDescription": "Mangayomi needs to authenticate using Face ID.",
          "NSPhotoLibraryUsageDescription": "Mangayomi needs access to your photo library to save and restore backups."
        }
      }
    },
    {
      "name": "Pansy",
      "bundleIdentifier": "opensource.pansy",
      "developerName": "niuhuan",
      "subtitle": "A illustration client. (PIXIV) build with flutter and rust",
      "localizedDescription": "PANSY.\n\nEnglish | 简体中文.\n\nA beautiful illustration clients, support mac, windows, linux, ios, Android.\n\nDiscovery and Ranks:\n\n!!\n\nIllustration info:\n\n!!\n\nSearch and categories:\n\n!!\n\nNetwork:\n\n• Settings \u003e Network \u003e Image host: switch image CDN host (default / proxy / custom).\n• Settings \u003e Network \u003e Bypass SNI (insecure): connects to Pixiv IP directly to avoid SNI-based blocking; disables TLS certificate verification.\n• Settings \u003e Network \u003e SNI bypass hosts: maintain the domain → IP mapping used by SNI bypass.\n\nTechnical structure:\n\n• Clone form github and run \" cargo install --path. \" on code gen.\n\n!\n\nIcons:\n\nRun bash resources/icon/update_icons.sh to regenerate platform icons from resources/icon/background.svg and resources/icon/foreground.svg.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/opensource.pansy.png",
      "tintColor": "#0090f0",
      "category": "entertainment",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/niuhuan/pansy@master/images/rank.png",
        "https://cdn.jsdelivr.net/gh/niuhuan/pansy@master/images/info_screen.png",
        "https://cdn.jsdelivr.net/gh/niuhuan/pansy@master/images/info_screen2.png",
        "https://cdn.jsdelivr.net/gh/niuhuan/pansy@master/images/search.png",
        "https://cdn.jsdelivr.net/gh/niuhuan/pansy@master/images/search_screen.png"
      ],
      "versions": [
        {
          "version": "0.0.11",
          "date": "2026-06-15T05:59:15Z",
          "localizedDescription": "v0.0.10.\n\n• [x] update icons.\n• [x] upgrade check.\n• [x] in app webview login.\n• [x] better ranking scroll.\n• [x] better search.\n\nv0.0.9.\n\n• [x] SNI bypass.\n\nv0.0.8.\n\n• [x] fix android login.",
          "downloadURL": "https://github.com/niuhuan/pansy/releases/download/v0.0.11/pansy-v0.0.11-nosign.ipa",
          "size": 21080885,
          "minOSVersion": "12.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSPhotoLibraryAddUsageDescription": "Save images",
          "NSPhotoLibraryUsageDescription": "Usage images"
        }
      }
    },
    {
      "name": "Mori",
      "bundleIdentifier": "com.mori.downloader",
      "developerName": "coflyn",
      "subtitle": "Client-side downloader app built with Capacitor and Tauri",
      "localizedDescription": "Videos, photos, and music from 14 platforms. No watermarks. No accounts. No tracking. Everything stays on your device.\n\n📋 Table of Contents:\n\n• How to Use.\n\n• Supported Platforms \u0026 Scraper Engines.\n• For Developers \u0026 Building from Source.\n• Why the Scraper Core is Pre-Compiled.\n\nSaving media with Mori takes only three simple steps:\n\n• Copy Link: Copy any video, photo, or music link from your favorite app (TikTok, Instagram, YouTube, Spotify, etc.).\n\n📥 Download \u0026 Installation:\n\n📖 Need help installing or troubleshooting? Read the complete Installation, Sideloading \u0026 User Guide (GUIDE.md).\n\n📜 Features:\n\n• 14 Platforms in One App: Save watermark-free videos, high-resolution photos, and audio from TikTok, Instagram, YouTube, Twitter/X, Spotify, Apple Music, Pinterest, Facebook, Threads, Bandcamp, Pixiv, Bilibili, Douyin, and RedNote.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.mori.downloader.png",
      "tintColor": "#6156e2",
      "category": "utilities",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/coflyn/Mori@main/assets/1.png",
        "https://cdn.jsdelivr.net/gh/coflyn/Mori@main/assets/2.png",
        "https://cdn.jsdelivr.net/gh/coflyn/Mori@main/assets/3.png",
        "https://cdn.jsdelivr.net/gh/coflyn/Mori@main/assets/4.png",
        "https://cdn.jsdelivr.net/gh/coflyn/Mori@main/assets/5.png"
      ],
      "versions": [
        {
          "version": "4.3.3",
          "date": "2026-09-19T22:01:05Z",
          "localizedDescription": "What's New in v4.3.3.\n\n• Over-The-Air (OTA) Scraper Updates: Hot-patch scrapers dynamically without reinstalling the app.\n• Scraper Core Rollback: Revert active OTA patches back to the bundled baseline with a confirmation modal.\n\n• Native Folder Opener: Open saved media locations directly in system file managers (Finder, Explorer, Android Files, and iOS Files app).\n• Android All Files Access: Optional storage permission for arbitrary directories.\n\n• Native Security Architecture: Precompiled native binaries linked via native FFI across Windows, macOS, and iOS.\n• Safe-Mode Auto Recovery: Automatically purges invalid patches and falls back to bundled core without crashes.\n• Desktop Native Security Verification: Resolved verification failure on Windows and macOS Tauri.\n• iOS Native Security Verification: Resolved false-positive security error on iOS via native binary bridge.\n• iOS Video Thumbnails: Replaced broken placeholders with native AVFoundation extraction and auto-healing for existing history.\n• Android History Quota: Optimized thumbnail dimensions by ~97% and added auto-recovery pruning to prevent storage quota crashes.\n• Android WebView Decompression: Resolved deflate-raw decompression errors on older WebViews using an ESM inflate fallback.\n• Desktop Path Resolution: Fixed duplicate nested directories by preserving leading slashes and expanding tildes (~).\n• Douyin Parsing: Fixed album and slides extraction by resolving final redirect URLs in native bridges (#13).\n• Android Share Overlay: Fixed syntax error and scope mismatch in history saving.",
          "downloadURL": "https://github.com/coflyn/Mori/releases/download/v4.3.3/Mori-v4.3.3-iOS-Unsigned.ipa",
          "size": 1735771,
          "minOSVersion": "14.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSFaceIDUsageDescription": "Unlock Mori to access your download history",
          "NSPhotoLibraryAddUsageDescription": "Save downloaded videos and photos to your library",
          "NSPhotoLibraryUsageDescription": "Save downloaded videos and photos to your library"
        }
      }
    },
    {
      "name": "Skate 3",
      "bundleIdentifier": "com.nakas.skate3",
      "developerName": "andrewnakas",
      "subtitle": "Build the Skate 3 recompilation for iOS from your own disc image. Or ipa Ships no game code",
      "localizedDescription": "skate3-ios-setup:\n\nBuild the Skate 3 recompilation for iOS from your own disc image, on your own Mac, signed with your own Apple ID, installed on your own iPhone.\n\nRuns at a locked 60fps on an iPhone 13 mini (A15): median frame 16.7ms against a 16.67ms budget, 95th percentile 16.8-17.8ms. Anything newer has more headroom than that.\n\nStep 3 is the whole thing: it checks your tools, extracts your disc image, recompiles it, builds the app, signs it with your Apple ID, and installs it on your phone.\n\n--recurse-submodules matters - the runtime lives in a submodule and the build will not configure without it. If you already cloned without it, run git submodule update --init --recursive inside skate3recomp-dev.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.nakas.skate3.png",
      "tintColor": "#f08020",
      "category": "other",
      "versions": [
        {
          "version": "2.7.1",
          "date": "2026-09-24T15:20:28Z",
          "localizedDescription": "Skate 3 Recompiled v2.7.1 — iOS:\n\niOS skipped a release. Everything Android got in v0.2.0 is here, plus two iOS-specific defaults. 24 engine commits and 17 SDK commits since v2.6.3.\n\nPut any button anywhere:\n\nFull controller remapping, on the Controls page under Button Mapping. Sixteen inputs — the four face buttons, both bumpers, both triggers, both stick clicks, Back, Start and the four D-pad directions — can each be moved to any of the others. Your mapping is saved and survives an update.\n\nThe sticks themselves are not remapped; Swap Sticks and Invert Camera Y already cover that.\n\nThree bugs that were costing you frames:\n\nTouching the frame-rate row uncapped the game. One setting's name was a prefix of another's (._fps_cap inside ._fps_cap_auto), so changing the Framerate Cap row erased the shipped cap entirely, on every launch after you touched that row. The game then ran the guest loop uncapped. On Android that also meant rendering roughly twice the frames the panel could show and dumping the rest as heat, which is what \"runs at 60, drops after a few minutes\" was there; iOS presents through FIFO, so the cost here is wasted work rather than heat.\n\n\"The frame rate is fine but it feels like slow motion.\" Skate 3 advances exactly one refresh period of simulation per rendered frame, however long that frame took, so a 33 ms frame runs the game at half speed. The ceiling that lets a frame advance more than one period (skate3_frame_advance_cap) had been compiled for Switch only — iOS and Android, the two platforms whose frames overrun the period most, never got it. It is compiled in on iOS now.\n\nBeing straight about this one: the clamp is in and reachable, but raising it was measured as changing nothing on hardware, so treat it as a lever that now exists rather than a fix you are guaranteed to feel.\n\nA profiler was running in every build. A per-packet GPU timer took two clock reads and two atomic increments on every command packet — around 1.7 million clock reads a second on the busiest thread — whether or not anyone was profiling. It is off unless you ask for it.\n\nFirst launch could come up blank:\n\nRoughly one clean install in ten reached the setup screen with an empty options list and no way forward. Parts of a screen drawn once while their shaders were still compiling were skipped and never came back — and the difficulty prompt is drawn exactly once. Shader compilation now stays synchronous through the cold-boot frontend, so nothing can draw before it is ready.\n\nEleven new rows, most of them aimed at buying frames back on a phone:\n\n• 3D Scene Resolution — Full / 75% / 67% / 50% / 40%, separate from UI sharpness.\n• Draw Distance — now goes down to Quarter and Eighth.\n• NPC Update Rate and World Update Rate.\n• Pedestrians \u0026 Traffic, Movable Props, Other Skaters — stop the world spawning crowds you are not looking at (all three need a restart).\n• Vegetation, Hair Detail, Water Effects, Draw Batching.\n• Framerate Cap — 40, 45 and 50 added (40 divides 120 Hz, 45 divides 90 Hz).\n• FPS Percentiles — the 1% low and p95/p99 next to the average (darchap's, see Credit).\n\nKnown limitation on the three population cuts: they remove the bodies, not the gameplay objects behind them, so you may still hear pedestrians, traffic and other skaters you cannot see. Being worked on. The average is exactly the statistic that hides a stutter: a steady 60 and a 60 that drops four frames a second read the same.\n\nTwo changed defaults on iOS:\n\n• Draw distance now ships at Half. The static world is roughly 750 of the 765 things drawn in a frame, so it is the only content lever with real weight behind it. The trade is real: props, street furniture and foliage pop in closer than they did in 2.6.3. Settings \u003e Video \u003e Draw Distance \u003e Original puts it back.This applies to new installs only. If you are updating, your existing draw distance is kept exactly as it is — the game records your video settings the first time it runs, and a new default never overwrites settings that are already on your device. To get the new one, set the row to Half yourself.\n• FPS Percentiles ships on, so the 1% low is there as soon as you turn the FPS counter on. The counter itself is still off by default.\n\nUnder the hood:\n\n• The render pass stays open when the target has not changed.\n• The tonemap and HUD passes can be merged into one (off by default).\n• The guest is parked while the app is in the background, instead of running on against a surface that is gone.\n• The texture budget is enforced between rescans.\n• Shader compilation stays synchronous through the cold-boot frontend, so the first-run setup screen cannot draw before its shaders exist.\n\nInstalling:\n\nBring your own copy of the game — no game content ships in this IPA. See the README for the ISO and title-update steps.\n\nCredit:\n\nThis is a packaging of other people's work as much as my own.\n\n• Alex McHugh — skate3recomp. The Skate 3 recompilation itself. None of this exists without it.\n• portingpete — skate3-recomp. Early bring-up on ReXGlue.\n\n• Buku313 — Skate3-Mobile. A parallel ARM64 port; the 16 KB page-alignment fix came from there.\n• ReXGlue SDK and Xenia (Ben Vanik and contributors) underneath it all.\n\nLicences: this repo's scripts are MIT; the code in the binary is under its own authors' terms. See THIRD_PARTY_NOTICES.md.",
          "downloadURL": "https://github.com/andrewnakas/skate3-ios-setup/releases/download/v2.7.1/skate3.ipa",
          "size": 33581505,
          "minOSVersion": "16.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "Boorusama",
      "bundleIdentifier": "com.degenk.boorusama",
      "developerName": "khoadng",
      "subtitle": "A mobile client for booru sites built with Flutter",
      "localizedDescription": "Overview:\n\nBoorusama is an unofficial, cross-platform client for major booru imageboards. It covers all core functionality and gives you total control over your experience with extra features like bulk downloads, favorite tags, advanced blacklisting, and more.\n\nSupported imageboards:\n\n• Gelbooru 0.2.5, Gelbooru 0.1, Gelbooru 0.2.\n• Hydrus Network.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.degenk.boorusama.png",
      "tintColor": "#e0b050",
      "category": "other",
      "versions": [
        {
          "version": "4.5.0",
          "date": "2026-06-14T17:17:28Z",
          "localizedDescription": "• Add support for Nozomi.\n• [Sankaku] Add favorite support.\n• [Suzurubooru] Add pool and comments support.\n\n• Add last-page jumping for sites that support it.\n• Improve Dtext rendering.\n• Improve post details copy action with more media and link options.\n• Improve Cloudflare/DDOS challenge handling.\n• Improve data transfer reliability.",
          "downloadURL": "https://github.com/khoadng/Boorusama/releases/download/v4.5.0/boorusama-4.5.0%2B185-ios.ipa",
          "size": 38047337,
          "minOSVersion": "13.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSLocalNetworkUsageDescription": "Boorusama needs local network access to transfer data between your devices.",
          "NSPhotoLibraryAddUsageDescription": "Boorusama needs permission to access photos on your device",
          "NSPhotoLibraryUsageDescription": "Boorusama needs permission to access photos on your device"
        }
      }
    },
    {
      "name": "StikDebug",
      "bundleIdentifier": "com.stik.stikdebug",
      "developerName": "StikDebug",
      "subtitle": "Notice: StikDebug is no longer available on the App Store",
      "localizedDescription": "Features:\n\n• JIT: Enable Just In Time compilation for sideloaded apps that have the get-task-allow entitlement.\n• App Launching: Launch every app installed on your device.\n• Console: Live app and system logs.\n• Scripts: Manage automation scripts (mainly used for iOS 26 JIT).\n• App Expiry: See when apps will expire and install/remove profiles.\n• Device Info: View detailed device metadata.\n• Processes: Inspect running apps/processes and terminate them.\n• Location Simulator: Simulate the GPS location of your device.\n\nDownload:\n\nNotice: StikDebug is no longer available on the App Store. Please use the official download methods below.\n\nHow to Enable JIT:\n\nStikDebug enables JIT for sideloaded apps on iOS 17.4+ without needing a computer after the initial pairing setup.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.stik.stikdebug.png",
      "tintColor": "#20c0f0",
      "category": "developer",
      "versions": [
        {
          "version": "3.1.12",
          "date": "2026-09-27T20:57:00Z",
          "localizedDescription": "Should fix issues with DDI for iOS versions below 26.4. Also, lots of fixes and improvements for TXM scripts, location simulation, and keep-alives.",
          "downloadURL": "https://github.com/StikDebug/StikDebug/releases/download/3.1.12/StikDebug-3.1.12.ipa",
          "size": 13544301,
          "minOSVersion": "17.4"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSLocalNetworkUsageDescription": "StikDebug needs access to devices on your local network so it can connect to the targets you add to the Device Library.",
          "NSLocationAlwaysAndWhenInUseUsageDescription": "StikDebug uses location to stay running in the background and maintain your JIT connection.",
          "NSLocationWhenInUseUsageDescription": "StikDebug uses location to stay running in the background and maintain your JIT connection."
        }
      }
    },
    {
      "name": "Stossycord",
      "bundleIdentifier": "com.stossy11.Stossycord",
      "developerName": "Stossycord",
      "subtitle": "A Custom Client for iPhone, iPad, and Mac",
      "localizedDescription": "Stossycord Rewrite:\n\nStossycord is a Discord Client Native to iOS Devices. It is made in 100% Swift and SwiftUI for Privacy, Responsiveness and Security.\n\nRequirements:\n\n• iPhone or iPad with iOS 15+.\n\nFeatures:\n\n• Sending messages.\n• Receiving messages (text).\n• Replying to messages.\n• Uploading attachments (images, video, files).\n• Receiving attachments (images, video, audio, files).\n• Receiving Embeds (any).\n• Direct Messages (send \u0026 receive).\n\n• User Profiles.\n• Basic channel list and navigation.\n• Forums \u0026 Threads.\n• Basic account/session management (login/logout).\n• Showing Typing Indicators.\n• Notifications \u0026 Mentions (Notifcations via Local Notifications with Location to keep app in background, no location data is sent anywhere and is just discarded).\n• Custom emojis + FakeNitro Emojis.\n• Favourited GIFs.\n• Reactions (view/add/remove).",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.stossy11.Stossycord.png",
      "tintColor": "#80c000",
      "category": "social",
      "versions": [
        {
          "version": "1.0",
          "date": "2026-07-03T11:19:06Z",
          "localizedDescription": "• Brand New Login UI with Captcha and 2fa.\n• Overhauled Channel UI with Custom Emojis, Reactions, Favourited GIFs, Loading More Messages, etc.\n• Message Date, Divider between days.\n• FakeNitro Emojis.\n\n• Updated Apple Music RPC.\n• Mentions (Pings) \u0026 Notifications (with Push Notification workaround using Location to keep app alive in background).\n• Mentions View (Button to view where you've been pinged).\n• Server List.\n• iOS 15 Support.\n• Updated WebSocket Handling.\n• Loading Screen when Connecting to WebSocket.",
          "downloadURL": "https://github.com/Stossycord/Stossycord/releases/download/1.0/Stossycord.ipa",
          "size": 4161048,
          "minOSVersion": "15.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "com.apple.developer.team-identifier",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSAppleMusicUsageDescription": "This will show your currently playing Music as your presence.",
          "NSDocumentsFolderUsageDescription": "We need access to your documents folder to import files.",
          "NSFaceIDUsageDescription": "Stossycord needs Face ID to keep your Token safe",
          "NSFileProviderPresenceUsageDescription": "We need access to your file provider to import files.",
          "NSLocationAlwaysAndWhenInUseUsageDescription": "Stossycord can use background location to keep notification delivery active while the app is in the background.",
          "NSLocationAlwaysUsageDescription": "Stossycord can use background location to keep notification delivery active while the app is in the background.",
          "NSLocationWhenInUseUsageDescription": "Stossycord can use location while the app is open before enabling background location support.",
          "NSPhotoLibraryAddUsageDescription": "Stossycord needs access to your Photo library to upload photos and videos to Discord",
          "NSPhotoLibraryUsageDescription": "Stossycord needs access to your Photo library to upload photos and videos to Discord"
        }
      }
    },
    {
      "name": "Spark",
      "bundleIdentifier": "ai.devl.RenPySpark",
      "developerName": "RipeStore",
      "subtitle": "Play Your Ren'Py Visual Novels",
      "localizedDescription": "Spark: The Essential Tool for Managing Ren'Py Visual Novels.\n\nSpark is an independent utility for organizing and launching Ren'Py visual novels. It is not affiliated with or supported by the official Ren'Py project. For any issues with this app, please contact Spark support, not the Ren'Py team.\n\nLaunch and Play Your Novels with Ease Import and start your favorite Ren'Py visual novels directly in Spark. Once added, your titles are ready to launch with a tap, so you can focus on reading and playing instead of manual setup.\n\nTailored Compatibility for Each Novel Choose from multiple Ren'Py engine versions to match your novel and improve stability: 8.x: 8.5.2, 8.5.0, 8.4.1, 8.3.7, 8.3.4, 8.2.3, 8.1.3, 8.0.3 7.x: 7.8.8, 7.8.4, 7.7.3, 7.6.3, 7.5.3, 7.4.11.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/ai.devl.RenPySpark.png",
      "tintColor": "#b0a080",
      "category": "utilities",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/RipeStore/icons@main/SPARK/s1_230x499bb.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/icons@main/SPARK/s2_230x499bb.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/icons@main/SPARK/s3_230x499bb.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/icons@main/SPARK/s4_230x499bb.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/icons@main/SPARK/s5_230x499bb.webp"
      ],
      "versions": [
        {
          "version": "1.4",
          "date": "2026-08-19T03:07:25Z",
          "localizedDescription": "• School Game Fix.\n• Eden (Choice Feature) Fix.\n• Sofia Partner Fix.",
          "downloadURL": "https://github.com/RipeStore/spark/releases/download/v1.4.0/ai.devl.RenPySpark_1.4.ipa",
          "size": 365610512,
          "minOSVersion": "18.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSFaceIDUsageDescription": "To authenticate and provide access to the app."
        }
      }
    },
    {
      "name": "Aurora",
      "bundleIdentifier": "ai.devl.aurora",
      "developerName": "RipeStore",
      "subtitle": "Play RPG Maker games on your iPhone and iPad — XP, VX, VX Ace, MV, and MZ, with multiplayer, overlays, upscaling, and full save management",
      "localizedDescription": "Aurora:\n\nPlay RPG Maker games on your iPhone and iPad — XP, VX, VX Ace, MV, and MZ, with multiplayer, overlays, upscaling, and full save management.\n\nAurora brings the full RPG Maker experience to your iPhone and iPad with powerful tools built for mobile.\n\n⚙️ Multi-Engine Support:\n\nRPG Maker XP, VX, and VX Ace run natively on the Aurora Engine. MV and MZ run through Aurora's built-in web engine.\n\n🌐 Aurora Link Multiplayer:\n\nSee other players in the overworld, chat, trade, and battle in PE games — nearby, online, or in always-on Realms.\n\n🎛️ Overlays \u0026 Upscaling:\n\nQuick menu, fast-forward, screenshots, and button mapping in-game. Sharpen and upscale with FSR, xBRZ, and shader presets.\n\n🎮 Controller Support:\n\nPlay with MFi game controllers, PS4/PS5, Xbox, and other Bluetooth controllers — or the customizable touch layout editor.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/ai.devl.aurora.png",
      "tintColor": "#7080a0",
      "category": "games",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/RipeStore/aurora@main/screenshots/screenshot_01.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/aurora@main/screenshots/screenshot_02.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/aurora@main/screenshots/screenshot_03.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/aurora@main/screenshots/screenshot_04.webp"
      ],
      "versions": [
        {
          "version": "1.0",
          "date": "2026-08-19T03:25:09Z",
          "localizedDescription": "• Fixed regression with increased memory usage causing MZ/MV to restart.",
          "downloadURL": "https://github.com/RipeStore/aurora/releases/download/1.0.0/ai.devl.aurora_1.0.ipa",
          "size": 77239728,
          "minOSVersion": "18.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSBluetoothAlwaysUsageDescription": "Aurora uses Bluetooth to connect to nearby players for Link Play and to pair with game controllers.",
          "NSLocalNetworkUsageDescription": "Aurora uses the local network to find and connect to nearby players for Link Play."
        }
      }
    },
    {
      "name": "Empo",
      "bundleIdentifier": "sh.mateo.empo",
      "developerName": "mateo-m",
      "subtitle": "Run RPG Maker and PSDK games on iPhone and iPad",
      "localizedDescription": "Empo is a game launcher for iPhone and iPad. It runs RPG Maker XP, VX, VX Ace, MV, and MZ games, Pokemon Essentials games, and PSDK games. RPG Maker games run on mkxp-z-apple-mobile, an iOS fork of the mkxp-z engine. PSDK games run on litergss2-apple-mobile, an iOS fork of LiteRGSS2. RPG Maker MV and MZ games bring their own JavaScript engine, and run in a web view.\n\nThe name's from emporos, ancient Greek for a traveler riding on someone else's ship.\n\nImport a game and play it:\n\nhttps://github.com/user-attachments/assets/d19e44ff-c2ef-435f-b2fe-60f1c97890c8\n\nLibrary view:\n\nhttps://github.com/user-attachments/assets/1a6de8a7-b47c-4ad4-8df9-f028347dfb9c",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/sh.mateo.empo.png",
      "tintColor": "#f09030",
      "category": "games",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/mateo-m/empo-app@main/docs/media/demo-cinematic.png",
        "https://cdn.jsdelivr.net/gh/mateo-m/empo-app@main/docs/media/demo-battle.png",
        "https://cdn.jsdelivr.net/gh/mateo-m/empo-app@main/docs/media/demo-overworld.png"
      ],
      "versions": [
        {
          "version": "0.7.0",
          "date": "2026-09-23T18:12:35Z",
          "localizedDescription": "Highlights:\n\n• Run PSDK games next to RPG Maker games (#150) (2a9eb75).\n\nFeatures:\n\n• Disable fast forward bindings for a game that has fast forward off (#149) (ab1f074).\n• Show a what's new sheet once after an update (#151) (4653ff2).\n\nBug Fixes:\n\n• Name PSDK games next to RPG Maker games (#153) (f78e000).\n\nUnsigned build - sign the app with SideStore, AltStore (Classic), or Sideloadly before installing.",
          "downloadURL": "https://github.com/mateo-m/empo-app/releases/download/v0.7.0/Empo-0.7.0-unsigned.ipa",
          "size": 30737485,
          "minOSVersion": "26.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSBluetoothAlwaysUsageDescription": "Empo uses Bluetooth so you can play with a wireless game controller.",
          "NSCameraUsageDescription": "Take a photo to use as custom game artwork or banner.",
          "NSLocalNetworkUsageDescription": "Empo finds nearby players on your network so you can play local multiplayer games."
        }
      }
    },
    {
      "name": "iTorrent",
      "bundleIdentifier": "com.xitrix.iTorrent2",
      "developerName": "XITRIX",
      "subtitle": "Torrent client for iOS 16+",
      "localizedDescription": "iTorrent - iOS Torrent client App:\n\n][AltStore Classic Link] ][SideStore Link] ][GitHub Link] ][Jailbreak Link]!",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.xitrix.iTorrent2.png",
      "tintColor": "#f09060",
      "category": "utilities",
      "screenshotURLs": [
        "https://github.com/user-attachments/assets/73256524-4861-4b8f-afba-5bd657badb2f",
        "https://github.com/user-attachments/assets/9ac2c682-a3b4-4498-8daa-6c5c6f742946",
        "https://github.com/user-attachments/assets/c2f06516-862a-47b5-b69b-aed4f6043aae",
        "https://github.com/user-attachments/assets/c7dff083-4fe7-4440-9961-9eb472e22142",
        "https://github.com/user-attachments/assets/be15d663-0d5b-40ed-aa6c-1f3eb9e00a1e"
      ],
      "versions": [
        {
          "version": "2.2.0",
          "date": "2026-07-19T09:59:41Z",
          "localizedDescription": "What's new::\n\n• Enjoy Picture in Picture, playback speeds from 0.5x to 2x, audio and subtitle track selection, precise seeking, and system media controls.\n• Take playback to a bigger screen with AirPlay or a compatible player discovered on your local network.\n\n• Select and share multiple completed files or entire folders in one go.\n\nImprovements::\n\n• Refreshed the interface for iOS 26, with Liquid Glass styling, cleaner dialogs, and more polished navigation.\n\n• Improved media previewing so iTorrent can offer the best available player for each file.\n\n• Expanded and refined translations across all supported languages.\n\nFixes::\n\n• Fixed cases where magnet links could be saved incorrectly.\n• Fixed a startup race condition that could interfere with launching the app or completing initial setup.\n• Fixed toolbars and navigation behaving incorrectly in iPad split-screen mode.\n\n• Fixed torrent details sometimes getting stuck in a continuous update loop.",
          "downloadURL": "https://github.com/XITRIX/iTorrent/releases/download/v2.2.0-1/iTorrent.ipa",
          "size": 24288935,
          "minOSVersion": "16.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "com.apple.developer.team-identifier",
          "com.apple.security.application-groups",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSLocalNetworkUsageDescription": "iTorrent uses the local network to discover playback devices and cast video on your network."
        }
      }
    },
    {
      "name": "GalaxyPad",
      "bundleIdentifier": "org.galaxypad.GalaxyPad",
      "developerName": "chrissotraidis",
      "subtitle": "Super Mario Galaxy: native for iOS, iPadOS, and MacOS",
      "localizedDescription": "GalaxyPad:\n\nSuper Mario Galaxy on iPhone, iPad, and Apple silicon Mac through ahead-of-time recompilation. GalaxyPad is an experimental Apple app with Metal rendering, touch controls, and controller support. It started as a personal experiment and has continued to grow.\n\nThe game's PowerPC code is recompiled ahead of time into native ARM64 code; the Dolphin-derived runtime supplies graphics, audio, and other Wii hardware behavior. You supply your own supported game image; GalaxyPad does not download or include it.\n\nBuilt with ModernGekko, by Hyperway, ExpansionPak and contributors, and DolRecomp, on the RecompCore / Dolphin runtime. See full credits, including the SunPad Apple integration this project builds on.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/org.galaxypad.GalaxyPad.png",
      "tintColor": "#001040",
      "category": "games",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/chrissotraidis/galaxypad@main/docs/images/galaxypad-mario-planet.png",
        "https://cdn.jsdelivr.net/gh/chrissotraidis/galaxypad@main/docs/images/galaxypad-title.png",
        "https://cdn.jsdelivr.net/gh/chrissotraidis/galaxypad@main/docs/images/galaxypad-observatory.png"
      ],
      "versions": [
        {
          "version": "0.1.0",
          "date": "2026-09-19T11:07:02Z",
          "localizedDescription": "GalaxyPad Preview 4 (build 7168) adds mobile motion aiming and ride controls for iPhone and iPad.\n\n• Gyro cursor: Controls → Gyro Cursor → This Device or Controller. Includes sensitivity, vertical inversion, and recentering; right-stick click also recenters. Defaults to Off. Controller motion depends on support exposed by iOS/iPadOS.\n• Ride stick modes: Controls → Stick Mode → Ray Surfing or Star Ball. Works with the controller left stick or touch movement stick. Ray: hold A to accelerate, Spin to jump. Star Ball: A to jump. Return to Normal after a ride.\n• Keeps Preview 3's WBFS importer, simplified Plus control, Game Mode metadata, and runtime/audio refinements.\n\nThis is an experimental controls update. Mode switching is manual; gyro ride steering is not included. Physical gyro feel and completion of the affected ride missions still need player validation. No new FPS improvement is claimed.\n\nThe native build was installed and launched in place on the owner's iPad. All 36 save/configuration/preference files matched after installation; save and preference bytes also matched after launch (only play-time records changed). Automated sensor tests use synthetic samples and do not establish physical-controller acceptance.\n\nInstall: download the IPA below and sign it with your own Apple account. Back up data, keep the same signing identity/bundle ID, and update in place; do not uninstall. Supply the supported USA RMGE01 revision 0 game image. No game image, extracted assets, saves or personal provisioning are included. The generated AOT game-code module is included. macOS Preview 1 is unchanged.",
          "downloadURL": "https://github.com/chrissotraidis/galaxypad/releases/download/v0.1.0-preview.4/GalaxyPad-iOS-iPadOS-0.1.0-preview.4.ipa",
          "size": 47832369,
          "minOSVersion": "16.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSMotionUsageDescription": "Use device motion to aim the Star Pointer when Gyro Cursor is enabled."
        }
      }
    },
    {
      "name": "AnnePad",
      "bundleIdentifier": "com.chrissotraidis.annepad",
      "developerName": "chrissotraidis",
      "subtitle": "Pokémon Stadium for iPhone and iPad via static recompilation, with native Metal rendering, touch controls, and ROM-free builds",
      "localizedDescription": "AnnePad:\n\nPokémon Stadium via static recompilation, rebuilt for iPhone and iPad. Native Metal rendering, Files-based setup, touch controls, persistent saves, and pinned, ROM-free local builds.\n\nAnnePad packages the Pokémon Stadium recompilation project as a native Apple app. It runs ahead-of-time compiled arm64 code through Metal, imports a user-provided Pokémon Stadium (US) 1.0 ROM through Files, and supplies a landscape touch controller that can be customized or hidden when using a physical controller.\n\nNo ROM, save, extracted Nintendo asset, signing identity, or provisioning profile is included in this repository or its IPA. This repository contains the Apple integration and build scripts. The executable contains translated game logic, while ROM files and extracted resource files remain private. See the legal and asset boundaries.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.chrissotraidis.annepad.png",
      "tintColor": "#102040",
      "category": "games",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/chrissotraidis/annepad@main/docs/evidence/readme/title-screen.png",
        "https://cdn.jsdelivr.net/gh/chrissotraidis/annepad@main/docs/evidence/readme/battle-closeup.png",
        "https://cdn.jsdelivr.net/gh/chrissotraidis/annepad@main/docs/evidence/readme/entry-pokemon.png",
        "https://cdn.jsdelivr.net/gh/chrissotraidis/annepad@main/docs/evidence/readme/rental-selection.png",
        "https://cdn.jsdelivr.net/gh/chrissotraidis/annepad@main/docs/evidence/readme/team-versus.png"
      ],
      "versions": [
        {
          "version": "0.1.0",
          "date": "2026-09-19T00:51:24Z",
          "localizedDescription": "Version 0.1.0, build 4 · iPhone/iPad arm64 · iOS 16 or later · unsigned IPA.\n\n• Adds Share Diagnostics to the in-game utility menu and ROM setup screen. The bounded local report includes current/previous session, exact build/UUID, lifecycle and memory samples, best-effort fatal-signal information, and numeric guest failure addresses.\n• Excludes raw logs, guest memory, ROMs, saves, file paths, accounts and device identifiers. Nothing uploads automatically.\n\nValidation: clean committed arm64 Release build, strict app/IPA audit, exact prepared-source and input/controller checks; isolated Simulator fault/relaunch/export/privacy tests; two byte-identical package passes. No new physical-device or reporter battle acceptance is claimed. An app handler cannot catch jetsam/SIGKILL; a system crash report may still be necessary.\n\nIPA SHA-256: 406acac6389560a3f6187ac3516d171bdfbc2a6495c97d8b922996a2d561c8d8.\n\nNo ROM or separable game assets are included; you must supply your own supported Pokémon Stadium (US) 1.0 ROM. The executable includes translated game logic. This independent project builds on mstan/PokemonStadiumRecomp, N64ModernRuntime, N64Recomp and RT64; Pokémon trademarks belong to their respective owners. Preview 3 remains available for rollback.",
          "downloadURL": "https://github.com/chrissotraidis/annepad/releases/download/v0.1.0-preview.4/AnnePad-0.1.0-build4-unsigned.ipa",
          "size": 85407796,
          "minOSVersion": "16.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "KartPad",
      "bundleIdentifier": "dev.kartpad.app",
      "developerName": "chrissotraidis",
      "subtitle": "Mario Kart Wii and Retro Rewind, native for iOS, iPadOS, macOS, tvOS, and Android",
      "localizedDescription": "KartPad:\n\nKartPad builds on WiiCompiled, the original Mario Kart Wii static recompilation project created by patchzyy. WiiCompiled provides the foundational translator and runtime; KartPad maintains the Apple and Android integration, native controls, game chooser, game-data management, packaging, and releases. The projects are independently maintained.\n\nBring your own game data. KartPad requires a legally obtained supported PAL RMCP01 revision 0 Mario Kart Wii image. Downloads contain translated game logic, but no disc image, extracted game assets, Retro Rewind pack or saves. Apple IPAs require local re-signing; tvOS remains experimental.\n\nUpdate before online play. The downloads below include the console-serial.\n\nOlder affected builds should stay offline. Updating preserves identities and saves; existing server-side identity history or bans require service-admin review.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/dev.kartpad.app.png",
      "tintColor": "#f02030",
      "category": "games",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/chrissotraidis/kartpad@main/docs/images/kartpad-dk-summit-ipad.png"
      ],
      "versions": [
        {
          "version": "0.5.3",
          "date": "2026-09-27T02:01:29Z",
          "localizedDescription": "KartPad 0.5.3 — Android, iPhone/iPad and Mac:\n\nAndroid 0.5.3 / code 231, iPhone/iPad 0.5.3 / build 87 and Mac 0.5.3 / build 86.\n\nAll three were compiled from 838214b23d959b7c7b7a298e4d9fb567b17ce92f. The Android APK is signed with the same key as 0.5.0–0.5.2 (certificate SHA-256 c1dbe0a0d72d830a5779476b346a750d0a37515adef992cad2f3863058f7f2f2). License notices are inside the IPA and Mac ZIP; the Android notices are unchanged from KartPad-v0.5.1-notices.zip.\n\niPhone, iPad and Mac:\n\n• Cup select no longer drops to 20–30 FPS (#327). The course-preview videos on the cup screen were decoded through a slow memory path on Apple devices. Measured on a Mac with the same steps before and after: Select Cup went from 29–30 FPS to a steady 60 FPS.\n• Single Joy-Con (iPhone/iPad, #324): KartPad now listens for a lone Joy-Con through both of iOS's input channels, and the diagnostic report records which buttons iOS says it has, so if it still doesn't respond we can see why.\n\nAndroid:\n\n• New experimental option for Snapdragon track textures (#102). Help → Character Graphics Test… → Experimental: fix characters and track textures (Snapdragon, may be slower). It applies the character fix to every draw, which may also fix the striped track and wall textures on phones like the Z Fold 8. It costs extra CPU, so keep the character-only option if it's slower for you. Fully close and reopen KartPad after choosing it.\n• The same memory-path fix is included. Most Android phones already used the fast path, so expect little change there.\n\nUpdating:\n\n• Android: install the APK over your current version. Do not uninstall or clear app data. Same signing key as 0.5.0–0.5.2.\n• iPhone/iPad: sign the unsigned IPA with the same identity and bundle identifier as your current install and install it over the existing app.\n• Mac: replace the app. Your data is kept in Application Support.\n\nGame images and the Retro Rewind asset pack are not included.\n\nKnown limitations:\n\n• The Snapdragon options are experimental and unconfirmed on affected phones. On the S24 Ultra (Adreno 750) the character fix does not help yet (#104, #193, #211).\n• Single Joy-Con on iPhone is untested with real hardware.\n• Low-end phones are still well below 60 FPS; PowerVR GPUs still can't start (#304); the trophy-ceremony crash (#131, #323) is still open.",
          "downloadURL": "https://github.com/chrissotraidis/kartpad/releases/download/v0.5.3/KartPad-v0.5.3-ios-unsigned.ipa",
          "size": 64877720,
          "minOSVersion": "16.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSLocalNetworkUsageDescription": "KartPad connects to your selected private Wii server and other players on your local network."
        }
      }
    },
    {
      "name": "BallPad",
      "bundleIdentifier": "com.ballpad.strikers",
      "developerName": "chrissotraidis",
      "subtitle": "Super Mario Strikers native for iOS and iPadOS",
      "localizedDescription": "BallPad:\n\nBallPad is an iOS/iPadOS port of new-coke/strikers. Play Super Mario Strikers on iPhone and iPad through the community native source port. BallPad is an experimental Apple app with Metal rendering, GameCube touch controls, physical controller support, and local game-data import.\n\nBuilt on new-coke/strikers, the native desktop port based on the community decompilation by Yannick Suter and contributors. Aurora provides the platform and graphics layer, and SunPad provides the touch interface BallPad adapts. See full attribution and third-party notices.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.ballpad.strikers.png",
      "tintColor": "#6156e2",
      "category": "games",
      "versions": [
        {
          "version": "1.0",
          "date": "2026-09-23T01:53:27Z",
          "localizedDescription": "Changes since Preview 1:\n\n• Brings in upstream fixes for an AI pass crash, goal replay hangs, and controller input lag with VSync.\n• Fixes physical controllers being read twice through the iOS bridge and SDL, which could make submenus act as though B was pressed.\n• Lets UIKit handle the three-dot menu during gameplay, pauses the game while that menu is open, and paces frames when the render surface is unavailable.\n• Adds a way to hide the menu button and show it again with a two-finger tap. The frame-cap setting is labeled to clarify that lifting the cap can speed up the game.\n• Keeps BallPad's iOS disc importer, touch controls, controller mapping, and memory-card support. Upstream's desktop settings app, Switch support, and texture-pack controls are not exposed here.\n\nInstall:\n\nDownload BallPad-unsigned.ipa and sign it with your own Apple account and sideloading tool. It targets iOS/iPadOS 17 or later; the oldest supported devices have not been verified. This is not a TestFlight or App Store build. To preserve an existing app's imported ISO, saves, and settings, install over it using the same signing team and application identity. Export your memory card first. Do not uninstall the existing app as part of the update.\n\nSupply your own lawfully obtained Super Mario Strikers USA G4QE01 revision 0 raw ISO/GCM (1,459,978,240 bytes). No game image, extracted assets, or saves are included.\n\nThe release also contains matching source materials, engine Git history, FFmpeg relinking materials, and SHA256SUMS. Keep these with the IPA when redistributing it. Verify downloaded assets with shasum -a 256 -c SHA256SUMS.\n\nValidation and limits:\n\nBuild 7 compiled for iOS device and Simulator. The engine's 12 data-independent unit checks passed; the Simulator Metal probe presented 90/90 frames. Focused menu, frame-cap, controller-mapping and rebind checks passed. An injected-input Simulator scenario reached a live match and game pause. Build 7 was installed in place and launched on an iPad Pro, with the ISO and memory-card save compared by hash before and after installation. The owner subsequently reported that the game plays well on that iPad. Dedicated physical-controller, extended gameplay, thermal/audio, and broader-device checks remain to be done.\n\nBallPad source/tag target: 6a4ef15de8ec98ad8ef9d730121e58fc98cb1cfd. Maintained engine: c4ee7189e7f9193be6ec7cedd569a17f25266136 from chrissotraidis/strikers, based on upstream v1.3.0 b0e54c9a51cbfcfef7e5487feb02f843ff723d97.",
          "downloadURL": "https://github.com/chrissotraidis/ballpad/releases/download/v1.0-preview.2/BallPad-unsigned.ipa",
          "size": 7268574,
          "minOSVersion": "17.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "MeleePad",
      "bundleIdentifier": "com.meleepad.MeleePad",
      "developerName": "chrissotraidis",
      "subtitle": "Super Smash Bros Melee, native on iOS and iPadOS",
      "localizedDescription": "MeleePad:\n\nSuper Smash Bros. Melee on iPhone, iPad, and Apple Silicon Mac.\n\nBuild a native Apple app from your own supported copy of Melee, with touch controls, physical-controller support, Metal rendering, and Slippi online play on iPhone and iPad. Game code is compiled ahead of time, so no JIT is required on iOS or iPadOS.\n\nBuilt with ModernGekko, DolRecomp, and the RecompCore / Dolphin runtime, with Apple integration based on SunPad. See credits and maintained sources.\n\nBuild and setup · Slippi profile setup ·.\n\nA physical-iPad development build running at 2x resolution. Performance varies by scene and device; this image is evidence from one observed match, not a universal performance guarantee.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.meleepad.MeleePad.png",
      "tintColor": "#e05040",
      "category": "games",
      "versions": [
        {
          "version": "0.1.0",
          "date": "2026-09-25T06:23:08Z",
          "localizedDescription": "MeleePad v0.1.0 Preview 7 — clearer in-game controls:\n\nPreview 7 packages build 29. The in-game three-dot menu now has a short main list with Slippi, display, controls, game data, help, and Exit to Home. The existing actions remain available under those groups. Peer warnings are shorter and sit below the menu button instead of across Slippi's top-left performance warning and the match timer. Steady Wi-Fi matches no longer keep a status banner on screen.\n\nThe maintainer installed build 29 in place on a physical iPad and confirmed that Melee v1.02, the Slippi module, the account, and settings remained ready. A build 28 Unranked match connected and played but suffered high peer ping and poor frame pacing. Preview 7 does not claim a lag fix. The revised menu and warning still need a live-opponent visual retest.\n\nDownload and build boundary:\n\nMeleePad-v0.1.0-preview.7-module-free-unsigned.ipa is an unsigned ARM64 app shell for inspection. It contains no game image, generated game or Slippi module, account, saves, or signing material. It is not playable as downloaded. Importing an ISO or user.json cannot add the missing modules.\n\nprivate build from your own supported game image. Do not install the public shell over an existing private playable build; it would replace the bundled modules.\n\nSHA-256: 7e9b12c5ce2675bc2af88b0f1b6c3ab49a30e71dde8459a0151dc6414ee2e958.\n\nThe repository checks and unsigned Release iOS build passed. Two package runs produced byte-identical IPAs; the ZIP audit passed, and the public packager rejected the private playable app.",
          "downloadURL": "https://github.com/chrissotraidis/meleepad/releases/download/v0.1.0-preview.7/MeleePad-v0.1.0-preview.7-module-free-unsigned.ipa",
          "size": 15739495,
          "minOSVersion": "16.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSLocalNetworkUsageDescription": "MeleePad uses your local network to host or join a game with friends."
        }
      }
    },
    {
      "name": "BellPad",
      "bundleIdentifier": "dev.bellpad.app",
      "developerName": "chrissotraidis",
      "subtitle": "Animal Crossing for MacOS, iOS, and iPadOS",
      "localizedDescription": "BellPad:\n\nBellPad is an experimental native Apple-platform source port for the original US release of Animal Crossing for Nintendo GameCube. It is not a GameCube emulator or a browser port. The project builds a 64-bit, reverse-engineered game core for Apple Silicon macOS and a Metal-backed iPhone/iPad app through Aurora, SDL3, and Dawn. Its game foundation is birabittoh/ACGC-PC-Port, based on FlyingMeta’s PC port and ACreTeam/ac-decomp. BellPad contributes.\n\nThis repository contains source, original BellPad integration, reproducible build scripts, and documentation. It does not contain Animal Crossing, a GameCube image, extracted game assets, or saves. You supply your own legally obtained, supported game data locally after building or installing BellPad. Read the scoped legal and clean-room boundary before using or contributing to the project.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/dev.bellpad.app.png",
      "tintColor": "#f0d080",
      "category": "games",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/chrissotraidis/bellpad@main/docs/readme/bellpad-town.png",
        "https://cdn.jsdelivr.net/gh/chrissotraidis/bellpad@main/docs/readme/bellpad-porter-dialogue.png",
        "https://cdn.jsdelivr.net/gh/chrissotraidis/bellpad@main/docs/readme/bellpad-nook-dialogue.png"
      ],
      "versions": [
        {
          "version": "0.1.0",
          "date": "2026-09-19T15:25:19Z",
          "localizedDescription": "BellPad 0.1.0 Preview 3 — version 0.1.0, build 6, for ARM64 iOS/iPadOS 17.0+.\n\n• Floating movement stick: touch empty lower-left space to place the stick under your thumb; lift to hide it. Buttons retain priority and the camera stick stays fixed.\n• Improved three-dot menu and touch-layout editing, optional dead zone/haptics, and controller auto-hide choice.\n• Persistent bounded diagnostic logs and one Report a Problem flow for sharing a report or opening a prefilled GitHub draft. Nothing uploads automatically.\n• Consistent BellPad display naming, maintained upstream-connected source forks, exact dependency pins, bundled notices and executable-bound provenance.\n\nDevice/Simulator builds, source/diagnostics checks, UIKit synthetic-touch boundary tests, package/signature audits and 6,960-file offline source restoration pass. The iPad update preserved its ISO, both saves, settings and preferences byte-for-byte. Logs confirm retained-data startup. New physical thumb-feel, controller/haptic and gameplay acceptance remain unverified.\n\nDownload the explicit source tarball for complete app and modified dependency sources; GitHub's automatic ZIP omits submodules. Building still requires Xcode and the externally pinned dependencies. SourceProvenance.json and ThirdPartyNotices.txt match the IPA; SHA256SUMS.txt covers all four deliverables.\n\nIPA SHA-256: 7ea5c1c437ec223e691150ddbf597e8cbf1e8a4ce79cd3e6487e0873e73021a1.",
          "downloadURL": "https://github.com/chrissotraidis/bellpad/releases/download/v0.1.0-preview.3/BellPad-0.1.0-preview.3-unsigned.ipa",
          "size": 14213538,
          "minOSVersion": "17.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "iCube SL",
      "bundleIdentifier": "com.joemattiello.iCube",
      "developerName": "Provenance-Emu",
      "subtitle": "Dolphin for iOS, re-reborn",
      "localizedDescription": "DolphiniOS:\n\nDolphiniOS is a port of the Dolphin Emulator to iOS and iPadOS. For installation instructions and downloads, check our website.\n\nThis is the repository for the new DolphiniOS codebase.\n\nJIT on iOS 26 (Trusted Execution Monitor):\n\niCube runs the JIT recompiler again on iOS 26. TXM will not execute a freshly written code page until a debugger has written to that page, so iCube asks an attached broker to touch every page of its 288 MB code region once at startup. After that the broker can detach and the region stays usable for the life of the process.\n\n• Users: see JIT \u0026 Performance for how to turn it on with StikDebug, what to expect without it, and troubleshooting.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.joemattiello.iCube.png",
      "tintColor": "#6010f0",
      "category": "entertainment",
      "screenshotURLs": [
        "https://github.com/user-attachments/assets/15e251a2-51de-4fc9-918b-d761db6cfd70",
        "https://github.com/user-attachments/assets/663d8c86-9cc5-46b2-a337-6a53444cecfd",
        "https://github.com/user-attachments/assets/c01e370c-8260-4863-81f9-b6dea40f84ec",
        "https://github.com/user-attachments/assets/790c6798-d791-44f7-bc2e-6d2500f319d4"
      ],
      "versions": [
        {
          "version": "1.0.0",
          "date": "2026-09-26T22:30:50Z",
          "localizedDescription": "Immutable snapshot of alpha build 170 (f24ca87).\n\nThis tag exists so the sideload feed can link bytes that never change. Its Non-Jailbroken.ipa carries CFBundleVersion 170, matching the tag name. For the newest build, use the rolling.\n\nPruned automatically; only the most recent few are kept.",
          "downloadURL": "https://github.com/Provenance-Emu/iCube/releases/download/alpha-170/Non-Jailbroken.ipa",
          "size": 93306177,
          "minOSVersion": "17.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "com.apple.developer.activities",
          "com.apple.developer.kernel.increased-memory-limit",
          "com.apple.security.application-groups",
          "com.apple.security.cs.allow-jit",
          "com.apple.security.cs.allow-unsigned-executable-memory",
          "get-task-allow"
        ],
        "privacy": {
          "NSLocalNetworkUsageDescription": "iCube uses your local network to discover DSU controllers, to share your library with nearby devices, and to hand a game off to another device. Transfers between devices are not encrypted.",
          "NSPhotoLibraryAddUsageDescription": "Used to save gameplay clips you record with Instant Replay."
        }
      }
    },
    {
      "name": "Provenance",
      "bundleIdentifier": "org.provenance-emu.provenance",
      "developerName": "Provenance-Emu",
      "subtitle": "The best free, open-source iOS game emulator for iPhone, iPad, and Apple TV",
      "localizedDescription": "Provenance:\n\nThe best free, open-source iOS game emulator for iPhone, iPad, and Apple TV. Play retro games from 50+ classic consoles — no jailbreak required.\n\n🆕 What's New — v3.3.0:\n\n☁️ iCloud Sync — ROMs, saves, BIOS, and artwork sync across all devices via CloudKit 📺 Redesigned tvOS UI — RetroWave side menu, save state browser, cheats UI, TopShelf v2 🎬 Unified Video Filters — Metal shaders across native and RetroArch cores 🎮 Core \u0026 Controller Fixes — Mupen64Plus, Dolphin, DuckStation, PicoDrive, FCEUmm, Mednafen 🐛 Stability — Fixed app hangs, crashes, artwork refresh, and game importer.\n\n✨ Features:\n\n🎮 50+ Classic Systems NES, SNES, N64, GameCube, Game Boy, GBA, DS, 3DS, PlayStation, PSP, Saturn, Dreamcast, Atari, Neo Geo, and many more.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/org.provenance-emu.provenance.png",
      "tintColor": "#1070f0",
      "category": "games",
      "screenshotURLs": [
        "https://provenance-emu.com/images/mockups/iphone-snes.png",
        "https://provenance-emu.com/images/mockups/iphone-n64.png",
        "https://provenance-emu.com/images/mockups/iphone-psx.png",
        "https://provenance-emu.com/images/mockups/iphone-nes-crt.png",
        "https://provenance-emu.com/images/mockups/iphone-psp.png"
      ],
      "versions": [
        {
          "version": "3.3.0",
          "date": "2026-03-14T02:17:44Z",
          "localizedDescription": "What's New in 3.3.0:\n\nThis is a big one. Four months of work since 3.2.1 covering iCloud sync, a completely revamped tvOS interface, video filters, and a ton of core and stability fixes.\n\n☁️ iCloud / CloudKit Sync:\n\n• ROMs, save states, BIOS files, and artwork now sync across devices via iCloud.\n\n• Auto BIOS sync on game load when available in iCloud.\n• ROM metadata syncs alongside files.\n• Artwork syncs after library updates.\n• CloudKit records management tab in Settings.\n• iCloud upsell UI for new users with empty libraries.\n• Sync queue pauses during emulation and resumes after.\n\n📺 New tvOS UI (Default):\n\n• Completely redesigned tvOS interface now enabled by default.\n• RetroWave-themed side menu with smooth animations.\n• Save states browser accessible from the main UI with artwork and core name.\n• \"View All\" saves section with per-system filtering.\n• TopShelf v2: recent games and save states with artwork and timestamps.\n• Cheats UI in the pause menu.\n• Game \"More Info\" panel.\n• Log viewer tab.\n• Import status view in side menu.\n• Search with persistent history.\n• Dozens of focus, navigation, and theming fixes throughout.\n\n🎨 Video Filters \u0026 Shaders:\n\n• Unified filter pipeline works across native and RetroArch cores.\n• GB and VHS filters improved.\n• Filters accessible from the pause menu.\n• RetroArch GLES 3D cores now supported (Vecx/GLiden, etc.).\n• Dolphin shader/filter support.\n• PPSSPP filter support.\n\n🎮 Core \u0026 Controller Fixes:\n\n• RetroArch: Fixed player index mapping for MFi, PS4, and Xbox controllers; PS4 start/select fixed; 32x controls added; GameCube controller responder added.\n• Mupen64Plus: Fixed PS4 start button; fixed tvOS scaling and placement; better save error messages.\n• Dolphin: Fixed Vulkan landscape rendering.\n• GenPluGX: Added CHD support; added wide-screen GameGear core.\n• PicoDrive: Fixed crash on unload; fixed 32x controller mapping.\n• FCEUmm: Fixed start/select button mapping.\n• Mednafen: Fixed DualShock/DualSense pause/play button mapping.\n• GameBatte / TGDB Dual: Fixed PSX/Xbox pause/select button mapping.\n\n🐛 Bug Fixes \u0026 Stability:\n\n• Fixed multiple app hangs from main-thread Realm access (moved to background).\n• Fixed crash in pause menu when closing core.\n• Fixed potential crash if audio ring buffer init fails.\n• Fixed crash in share/import extension.\n\n• Fixed FPS label appearing in screenshots.\n• Fixed artwork not refreshing in game library after sync.\n• Fixed game importer re-queuing already-imported items.\n• Fixed Realm contentless core crash.\n• Fixed \"Continue\" carousel metadata mismatch.\n• Skin selector refreshes orientation previews on rotation change.\n• ManicSkin/DeltaSkin files can now be opened directly from Safari.\n• iPad import status modal clipped layout fixed.\n• DSP audio engine fixes.\n\n⚡ Performance:\n\n• Artwork loading significantly faster.\n• Game library UI rendering optimizations (removed unnecessary Observable wrappers).\n• Async tab bar icon loading.\n• CloudKit sync deduplication and repeat-lookup fixes.\n• Game importer skips MD5 hashing for large non-BIOS files.",
          "downloadURL": "https://github.com/Provenance-Emu/Provenance/releases/download/3.3.0/Provenance-3.3.0-iOS.ipa",
          "size": 1076407494,
          "minOSVersion": "16.0"
        }
      ],
      "appPermissions": {
        "entitlements": [
          "application-identifier",
          "com.apple.developer.icloud-container-development-container-identifiers",
          "com.apple.developer.icloud-container-environment",
          "com.apple.developer.icloud-container-identifiers",
          "com.apple.developer.icloud-services",
          "com.apple.developer.team-identifier",
          "com.apple.developer.ubiquity-container-identifiers",
          "com.apple.developer.ubiquity-kvstore-identifier",
          "com.apple.security.application-groups",
          "get-task-allow",
          "keychain-access-groups"
        ],
        "privacy": {
          "NSBluetoothAlwaysUsageDescription": "Provenance uses Bluetooth to support game controllers.",
          "NSCameraUsageDescription": "Used for album artwork.",
          "NSFileProviderDomainUsageDescription": "Provenance uses file provider for loading ROMs.",
          "NSLocalNetworkUsageDescription": "RetroArch needs access to Wi-Fi networks for enhanced emulated Wi-Fi network features.",
          "NSLocationUsageDescription": "Some games may use location data to enhance emulated location gameplay features",
          "NSLocationWhenInUseUsageDescription": "Some games may use location data to enhance emulated location gameplay features",
          "NSMicrophoneUsageDescription": "Provenance uses the microphone for systems that support audio input (eg. Famicom, Nintendo DS, 3DS).",
          "NSMotionUsageDescription": "Provenance uses your device's accelerometer and gyroscope to emulate the portable consoles' built-in accelerometer and gyroscope.",
          "NSPhotoLibraryAddUsageDescription": "Provenance can set custom artworks from your photos or save screenshots to the Photo Library.",
          "NSPhotoLibraryUsageDescription": "Provenance can set custom artworks from your photos or save screenshots to the Photo Library."
        }
      }
    },
    {
      "name": "PaperPad",
      "bundleIdentifier": "com.chrissotraidis.paperpad.boat",
      "developerName": "chrissotraidis",
      "subtitle": "Paper Mario 64, native for Mac, iOS, and iPadOS",
      "localizedDescription": "PaperPad:\n\n• iPhone/iPad, iOS/iPadOS 16.3 or newer; unsigned IPA for signing with your own credentials.\n• Supply an unmodified Paper Mario (US) 1.0 ROM locally. No ROM or extracted game archive is included.\n• Floating touch-down stick, compact native settings, controller support, Auto/1×–4× rendering and shared diagnostics.\n• The new app keeps separate saves from PaperPad Original. Earlier progress stays in Original; there is no automatic conversion.\n\nPaperPad Original reference:\n\nThe following screenshots, platform status and instructions describe the retained Original Preview 2 build. Its ReCut/RT64 runtime and earlier saves remain available separately; they are not the PaperBoat build above.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/com.chrissotraidis.paperpad.boat.png",
      "tintColor": "#00c0f0",
      "category": "other",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/chrissotraidis/paperpad@main/docs/release-audit/28-paperpad-flying-goomba-battle-2026-08-14.png",
        "https://cdn.jsdelivr.net/gh/chrissotraidis/paperpad@main/docs/release-audit/29-paperpad-goomba-battle-2026-08-14.png",
        "https://cdn.jsdelivr.net/gh/chrissotraidis/paperpad@main/docs/release-audit/30-paperpad-title-screen-2026-08-14.png"
      ],
      "versions": [
        {
          "version": "0.2.0",
          "date": "2026-09-19T15:39:02Z",
          "localizedDescription": "PaperPad 0.2.0 Preview 1:\n\nPaperPad now runs on Harbour Masters’ PaperBoat foundation, with the native Apple controls and conveniences you already know.\n\nWhat changed:\n\n• New PaperBoat-powered engine, with native full-screen iPad support.\n\n• Cleaner three-dot menu with compact Display \u0026 Audio and Touch Settings panels.\n• Automatic screen-fit rendering resolution up to 4×, manual resolution choices, aspect controls and a live resolution readout.\n• Improved diagnostics with PaperPad and upstream links, plus a reviewable GitHub problem-report flow.\n• Safer save writes with atomic replacement and backup recovery.\n• Launch Original explains how to open the still-supported older version and continue its saves.\n\nSaves and upgrading:\n\nThe new PaperPad and PaperPad Original use separate save formats and app containers. Earlier saves remain in Original; they are not automatically converted. Launch Original requires the Original companion with its launch URL registered. Your new-version saves remain in the new app.\n\nThe build 6 application code was installed in place on the test iPad, and its current save, ROM data and preferences were verified unchanged afterward. Release build 7 retains that application code and adds version/notice/source-delivery changes; it was not separately installed on hardware. Keep the same signing identity and bundle identifier when updating; do not uninstall to work around a signing mismatch.\n\nKnown issue:\n\nThe title-menu animation can stutter. Startup logs include audio underruns and a temporary frame-rate drop, but the underlying cause has not been isolated. This release does not claim a fix or a measured performance improvement over Original.\n\nCredits and requirements:\n\nThe unsigned IPA requires user signing and a legally obtained supported game ROM. No ROM, extracted game archive, saves or signing credentials are included.\n\nBuild and verification:\n\nVersion 0.2.0, build 7, from main 90eeba56e22aba0ca7e4c4b39ef06444f2dcd456. The published IPA is built from the included source archive with network access denied. Source/pin, save-codec, input, package and main CI checks passed. Matching nested sources, single-header notices and toolchain provenance are included. This is source reproducibility, not a claim of bit-for-bit identical rebuilds or new hardware/gameplay acceptance.",
          "downloadURL": "https://github.com/chrissotraidis/paperpad/releases/download/v0.2.0-preview.1/PaperPad.ipa",
          "size": 9221367,
          "minOSVersion": "16.3"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {}
      }
    },
    {
      "name": "kodi",
      "bundleIdentifier": "com.ripestore.kodi",
      "developerName": "RipeStore",
      "subtitle": "Media center for all your digital entertainment",
      "localizedDescription": "Kodi can be used to play almost all popular audio and video formats around. It was designed for network playback, so you can stream your multimedia from anywhere in the house or directly from the internet using practically any protocol available.\n\nTHis build is distributed by a third-party not related to Kodi/XMBC.\n\nPoint Kodi to your media and watch it scan and automagically create a personalized library complete with box covers, descriptions, and fanart. There are playlist and slideshow functions, a weather forecast feature and many audio visualizations. Once installed, your computer or HTPC will become a fully functional multimedia jukebox.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/placeholder.png",
      "tintColor": "#6156e2",
      "category": "entertainment",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/RipeStore/kodi@main/screenshots/screenshot_01.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/kodi@main/screenshots/screenshot_02.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/kodi@main/screenshots/screenshot_03.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/kodi@main/screenshots/screenshot_04.webp",
        "https://cdn.jsdelivr.net/gh/RipeStore/kodi@main/screenshots/screenshot_05.webp"
      ],
      "versions": [
        {
          "version": "21.3",
          "date": "2026-08-16T05:10:11Z",
          "localizedDescription": "Major user-facing changes include:\n\nVideo.\n\n• Added HDR support on Xbox One.\n• Fixed Blu-ray playback on Linux.\n• Fixed handling of HDR10 light metadata changes.\n• Fixed subtitle selection for ISO 639-1 (two-letter) language codes.\n\nLibrary/Sources and Management.\n\n• Improved speed of video library rescans.\n• Fixed multi-episode files overwriting the first episode.\n• Fixed info dialog for certain Movie Versions.\n• Fixed some false positives detecting Movie Versions.\n\nMusic.\n\n• Fixed CDDB lookups using Gnudb.org's CDDB API.\n• Fixed album search failing for artist names.\n\nAudio.\n\n• Fixed rare Pipewire crash when connecting/removing audio devices.\n\nPVR.\n\n• Fixed crash when a PVR stream is stopped via remote app.\n\nPeripherals.\n\n• Added support for Turkish keyboards on Linux.\n• Fixed enabling and disabling Pulse-Eight CEC adapters.\n• Fixed the Delete and Alternative Insert keys on macOS.\n• Fixed minor visual glitches when managing peripherals.\n\nAddons.\n\n• Fixed updating add-ons after 25 days of inactivity (extended to ~68 years).\n\nSkin/GUI.\n\n• Fixed busy dialog crash when multiple dialogs are opened.\n• Fixed suspend dialog remaining open after the system wakes up.\n• Improved touch support for slider dialog arrows.\n\nNetwork.\n\n• Added support for HTTP Basic Authentication.\n• Fixed some network streams failing due to interrupted HTTP/2 transfers.\n• Updated libnfs to v6 for embedded platforms.\n• Updated CA certificates to 2025-07-15 from the Mozilla CA certificate store.",
          "downloadURL": "https://github.com/RipeStore/kodi/releases/download/v21.3/org.xbmc.kodi-ios_21.3_iphoneos-arm64.ipa",
          "size": 267889530
        }
      ]
    },
    {
      "name": "pico-ios",
      "bundleIdentifier": "com.ripestore.pico-ios",
      "developerName": "jevonlipsey",
      "subtitle": "An iOS Native Emulator for the PICO-8 fantasy console. Free and Open Source. Experimental Alpha available for Android!",
      "localizedDescription": "https://github.com/user-attachments/assets/ec24f92e-d29a-4319-8293-439487d60b35\n\nFeatures:\n\n• Native Engine: Runs flawlessly on iOS, due to the official PICO-8 engine being implemented as a WASM module.\n• Quick Save \u0026 Load: The only PICO-8 experience with instant save states. Freeze time and resume anywhere, across devices.\n\n• Adaptive Controls: Custom Gameboy-esque controls with tactile haptics. Works in portrait and landscape. Swap to virtual joystick.\n\n• Smart Library: Automatically extracts cartridge labels and metadata, presenting your collection in a polished grid.\n\nTechnical Look:\n\nThe core engineering challenge was reconciling the asynchronous nature of mobile file I/O with the synchronous requirements of the Emscripten/WASM virtual file system.\n\nPICO-8 demands a synchronous file system. Bridging this to mobile required completely reverse-engineering the Emscripten boot sequence.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/placeholder.png",
      "tintColor": "#6156e2",
      "category": "games",
      "versions": [
        {
          "version": "1.6.2",
          "date": "2026-01-22T23:33:34Z",
          "localizedDescription": "• fixed BBS button not opening on iOS.\n• fixed scopedstorage for BBS games on Android.",
          "downloadURL": "https://github.com/jevonlipsey/pico-ios/releases/download/v1.6.2/pocket8.ipa",
          "size": 19479747
        }
      ]
    },
    {
      "name": "LensLink",
      "bundleIdentifier": "com.ripestore.lenslink",
      "developerName": "MyNamesEMurray",
      "subtitle": "iOS camera for OBS Studio over Wi-Fi or USB — 4K60, screen mirroring, remote start, auto lip sync",
      "localizedDescription": "documentation. The iPhone and iPad app is LensLink Camera on the App Store.\n\nUse your iPhone or iPad as a high-quality camera directly inside OBS Studio — over Wi-Fi or a USB cable. No virtual-camera drivers, no RTMP server, no monthly subscription.\n\nIt comes in two parts: an OBS plugin (adds \"LensLink Camera\" and \"LensLink Screen\" sources) and the LensLink iPhone/iPad app. You install both, then OBS connects to your phone.\n\nWhat you need:\n\n• OBS Studio 32 or newer, on Windows, macOS, or Linux.\n• An iPhone or iPad on iOS/iPadOS 15 or later.\n• For USB: iTunes on Windows (it provides Apple's device driver), or the usbmuxd daemon on Linux — most desktop distributions ship it for phone access. Nothing extra on macOS, and Wi-Fi needs none of it.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/placeholder.png",
      "tintColor": "#6156e2",
      "category": "photo-video",
      "screenshotURLs": [
        "https://cdn.jsdelivr.net/gh/MyNamesEMurray/LensLink@main/assets/screen-fit-transform.png"
      ],
      "versions": [
        {
          "version": "1.15.1",
          "date": "2026-09-26T02:22:25Z",
          "localizedDescription": "Install:\n\nPlugin builds match OBS Studio 32.x; the macOS build is universal (macOS 13+).\n\n• USB on Windows needs iTunes (it provides Apple's device driver).\n\nFull setup guide: the README.\n\nChanges:\n\n• Screen mirroring: remove the iOS 27 in-app ScreenCaptureKit mirror.",
          "downloadURL": "https://github.com/MyNamesEMurray/LensLink/releases/download/v1.15.1/LensLink-unsigned.ipa",
          "size": 6697613
        }
      ]
    },
    {
      "name": "Iridium",
      "bundleIdentifier": "software.iridium",
      "developerName": "intraducine",
      "subtitle": "Experimental iOS Windows-game runtime. Source monorepo; original Iridium code under AGPL-3.0",
      "localizedDescription": "Iridium:\n\nAn experimental iPhone and iPad Windows-game runtime, with a native game library and touch, keyboard, mouse, and controller integration. Compatibility varies by game and device.\n\nThis monorepo contains Iridium, its runtime forks, and the Madeira runtime source used by the current integration. Game files must be supplied by the user.\n\nOriginal Iridium code is AGPL-3.0-only. Third-party code retains its own licenses. Read LICENSING.md before redistributing. Madeira is credited for the runtime approach and implementation.\n\nGetting the source:\n\nClone this repository. Optional external dependencies are pinned in the root .gitmodules and DEPENDENCIES.json; use git submodule update --init --recursive when preparing them. Some optional upstream test dependencies contain binaries; they are not stored in this repository.",
      "iconURL": "https://cdn.jsdelivr.net/gh/RipeStore/altmaker@main/icons/software.iridium.png",
      "tintColor": "#6156e2",
      "category": "other",
      "versions": [
        {
          "version": "0.1.0",
          "date": "2026-09-27T22:36:34Z",
          "localizedDescription": "Iridium 0.1.0:\n\nPlay your Windows games on iPhone and iPad. This first release is experimental; game compatibility varies.\n\nDownload:\n\nRequires iOS or iPadOS 18+, JIT, and your own game files. You only need the IPA to install.\n\nInstall:\n\n• Sign and install the IPA with a compatible sideloading tool, including its helper extension, or import it into LiveContainer.\n• Open Iridium and configure JIT in Launch Support.\n• Select Add Game, choose your game folder and executable, then press Play.\n\nUpdating a development build? Back up your saves and update the existing app or LiveContainer entry without deleting its data.\n\nWhat's new:\n\n• A game library with artwork, Favorites, and search.\n• On-screen controls, controller support, and keyboard/mouse input.\n• Game Options, launch logs, and performance controls.\n• The updated Madeira runtime, plus keyboard, artwork, and save-path fixes.\n\nKnown issues:\n\n• Some games may fail to launch or have graphics, video, audio, or input problems.\n\n• JIT and available memory depend on your device and signing setup; LiveContainer and standalone results can differ.\n\nThe remaining assets are for source access, rebuilding, and download verification:\n\n• Both Iridium-corresponding-source.tar.gz.part01 and .part02 contain the complete matching source package.\n\nDownload all five assets into one folder, then run:\n\nThe source guide includes the checksum for the assembled archive and rebuild instructions. GitHub's automatic repository ZIP does not contain all required dependency sources.\n\nSource commit: 305ea4bd427dd5077506df24ad7a8246f94f8186 Build run: https://github.com/intraducine/iridium/actions/runs/36350639335\n\nApp and helper version: 0.1.0 (86.1). Source checks, build, and unsigned-package checks passed. The release files match their checksums. These checks do not establish compatibility with every game or device; a complete device acceptance record for this exact build is not available.\n\nApple compiler-runtime notice uncertainty and unsigned-IPA contractual authorization remain documented risks. See the license guide in Iridium-source-guide.zip.",
          "downloadURL": "https://github.com/intraducine/iridium/releases/download/v0.1.0/Iridium-unsigned.ipa",
          "size": 415218419,
          "minOSVersion": "18.0"
        }
      ],
      "appPermissions": {
        "entitlements": [],
        "privacy": {
          "NSLocalNetworkUsageDescription": "Iridium uses the local network to communicate with AltServer and local JIT helpers."
        }
      }
    }
  ]
}
