ONE Jailbreak Ad

How to enable JIT for iOS 17 using SideJITServer

Promotion image of How to enable JIT for iOS 17 article.

SideJITServer is a command line utility designed to activate Just-In-Time (JIT) functionality for compatible applications operating on iOS 17 devices, seamlessly bridging Windows, Linux, and macOS within the shared WiFi network. Developed and continually refined by nythepegasus, a valued member of the SideStore team, this tool empowers users with enhanced performance capabilities for JIT iOS apps.

SideJITServer is a Python script designed to be executed within a Python environment on your desktop. As of its latest release, it mandates the following component versions: `pymobiledevice3>=4.2.3,<4.3.0`, `Flask==3.0.2`, and `zeroconf==0.132.2`. Attempting to use different versions of these components may result in errors when running SideJITServer. Therefore, it's crucial to adhere to these specified versions to ensure optimal functionality.

What is SideJITServer?

SideJITServer, developed by nythepegasus from SideStore, is a tool that enables Just-In-Time (JIT) compilation on iOS 17.0 – iOS 18.3 for all devices that support it. It works similarly to Jitterbug, which allows one iOS device to launch apps with a debugger on another iOS device with JIT enabled.

This tool runs from the command line (Terminal) and supports both Linux and Windows. Since it's written in Python, you can technically run it on any Linux distribution. It relies on the pymobiledevice3 library, so you'll need to have that installed.

SideJITServer isn’t just useful for emulators like DolphiniOS and Delta — it also works with virtualization apps like UTM for iOS. This means you can run full Linux or Android environments on your iPhone, much like VirtualBox.

Installing SideJITServer

Step 1. Create a virtual environment named "venv" using Python to use an isolated environment for the Python project.

python3 -m venv venv

Step 2. Install SideJITServer following the pip3 installation command for the package.

pip3 install SideJITServer

Step 3. Install pymobiledevice3, the python3 implementation of various tools for iDevices. It's recommended to use the latest version of pymobiledevice3 <4.3.0.

python3 -m pip install -U pymobiledevice3

Step 4. Execute the launch command to see if SideJITServer is installed on your Desktop. Additionaly open the http://127.0.0.1:8080 in your browser to view if the device is paired.

SideJITServer --help

Screenshot of SideJITServer running in the Safai browser.

Configuration

Step 1. Connect your iOS 17 device to your computer and execute the following command to pair it. Next, grab your iPhone and continue the next steps.

SideJITServer --pair

Screenshot of pairing an iPhone with SideJITServer.

Step 2. On your iPhone's Home Screen, a 'Trust This Computer?' popup will appear. Tap on trust and provide your PIN to allow connection between the PC and iDevice.

Screenshot of Trust This Computer prompt on iOS 17.

Step 3. Run SideJITServer to start the server on your computer. It may require a sudo command. In this case, enter your password when prompted.

SideJITServer

Screenshot of SideJITServer running on macOS.

Step 4. Add this Shortcut required to detect and run apps in JIT mode.

Step 5. Tap on 'Set Up Shortcut' from your device's screen.

Screenshot of SideJIT shortcut configuration.

Step 6. Provide your device's UDID. It can be easily discovered by entering this IP http://127.0.0.1:8080 in your browser. Example UDID "00022010-001A5BC60CS9012X".

Screenshot of SideJI UDID configuration.

Step 7. Next, enter your server address. It will be displayed in the terminal app running SideJITServer. It's important to provide the full URL address including http and port.

http://192.168.0.241:8080

Screenshot of SideJI server IP configuration.

Enabling JIT for iOS 17 app

Step 1. Be sure that SideJITServer is running on your Desktop. If it's installed correctly you will see the paired device UDID in your browser. Open the Shortcuts app from your iOS 17 Home Screen and tap on the SideJIT previously added shortcut.

Screenshot of Shortcuts app on Home Screen.

Step 2. Allow SideJIT to connect to "192.168.0.241".

Connect to SideJITServer screenshot.

Step 3. SideJIT will display a list of all installed apps on iOS 17 with support for JIT. Select the one you like to open in JIT mode.

Enable JIT mode for supported app running iOS 17.

Step 4. The application should open in JIT-enabled mode on iOS 17.

Screenshot of SideJIT enabled JIT for 'Flycast' prompt.

What's new

  • Fix broken compilation for v1.4.0
  • Fix pairing file option
  • Compile: remove unnecessary includes, python 3.12.
  • Reduced Python requirement to 3.9.
  • Improvement for docker.
  • Compile to direct executable on Windows x64, Ubuntu x64, and MacOS arm.
  • Add Bonjour / mDNS Support.
  • Fix Bonjour Support.
  • Add a safety catch for pymobiledevice3.
Author Photo
Written by

Kuba has over 20 years of experience in journalism, focusing on jailbreak since 2012. He has interviewed professionals from various companies. Besides journalism, Kuba specializes in video editing and drone flying. He studied IT at university before his writing career.

Comments

  • Amy

    Amy 6 months ago

    Hello I’ve been following this tutorial but keep running into a problem when I try to run the server with ‘sudo SideJITServer’. I get the ERROR 48, error while attempting to bind on address, address already in use
    On the bottom it also says Pymobiledevice3.exceptions.DeveloperModeIsNotEnabledError ()

    I already have developer mode turned on for my Mac computer. Please help I don’t know how to fix it.

    • qbap

      qbap 6 months ago

      Use Activity Monitor to shut down the previous Python process to fix the address already in use or restart the Mac. Update the scripts. New versions of SideJITServer and pymobiledevice3 are released almost daily. Use pymobiledevice3 to enable/disable developer mode or query its state on your iPhone. Find what process is using the port 49151 and kill it. Repeat all steps from the article.

Post a comment

Latest Posts

Best TrollStore iOS 18 Alternatives

TrollStore iOS 18: Best Alternatives to install IPA

TrollStore iOS 18 is one of the most wanted apps to be released for iOS devices. However, it is currently impossible to use TrollStore on modern iPhones running iOS 18 to iOS 18.3. This limitation stems from TrollStore’s reliance on a CoreTrust exploit...

Secure Your Jailbroken iOS Device

Secure Your Jailbroken iOS Device: Ultimate Guide with a VPN

Jailbreaking your iOS device gives you more freedom, like customizing your phone and accessing apps unavailable on the App Store. However, it comes with risks, such as security issues and potential data leaks. That...

How to Change iPhone Location Without VPN

How to Change iPhone Location Without VPN (100% Working Solution)

Changing your iPhone’s location can be useful for many reasons, whether for privacy protection, accessing region-locked content, or enhancing gaming experiences in location-based games like Pokémon GO. While VPNs are a popular choice for changing...