Apple is known for hating JIT (Just In Time compilation), and implicitly tools like SideJITServer, due to the perceived security risks that come with running code as it compiles, but the benefits for the jailbreak and emulation community are significant.
Apple typically restricts JIT only to Safari’s Javascript engine, but JIT can be very useful for those who use emulators to play retro games. Since it dynamically translates the code it significantly improves the gaming experience.
With JIT you can have emulators on iOS and the games would run faster and better because thanks to JIT you can translate the game code into native code in real time as it runs. Most emulators either don’t run or run badly without it.
What is SideJITServer?
Developed by nythepegasus from SideStore, SideJITServer is a tool that allows you to enable JIT (Just-In-Time) compilation on iOS 17.0 – iOS 18.3 on all devices for apps that support this feature. This is kind of similar to Jitterbug which allows you to use one iOS device to launch apps with the debugger on another iOS device with JIT enabled.
The tool is command-line based (runs in Terminal) and works on Linux, and Windows. SideJITServer is written in Python so you should technically be able to run it on any Linux distro. It takes advantage of the pymobiledevice3 library so make sure you have it installed.
Not only can you use JIT for emulators like DolphiniOS, Delta, and so on, but you can also take advantage of it in virtualization apps like UTM for iOS. With this, you can literally run real Linux or Android on an iPhone. Think VirtualBox but for iOS.
How to install SideJITServer?
Installing SideJITServer is comprised of several parts and requires some libraries such as pymobiledevice3. Please follow the steps below one by one to configure SideJIT.
First of all, we need to configure a virtual Python environment for our project. On macOS, this is mandatory because the new file restrictions in newer macOS versions prevent Python from accessing all paths.
To set up a Python environment run the following command:
python3 -m venv jitenv
Now we can install SideJITServer via Python’s PIP installer like this:
pip3 install SideJITServer
You may get an output like this from the Terminal:

As I said, SideJITServer requires pymobiledevice3 as a dependency, so to install it we can run:
python3 -m pip install -U pymobiledevice3
After everything is installed you can run SideJITServer to test if it is installed properly. You can do so like this in Terminal:
SideJITServer --help
If you did everything correctly you should see the output below:

Now it’s time to configure SideJIT and your device running iOS 17+.
First of all, you need to connect your iOS 17 or iOS 18 device to the computer. Make sure the device is unlocked, then run the following command:
SideJITServer --pair
On your device, you will see a popup asking if you trust the computer. Tap the TRUST button. Apple has a comprehensive guide about the Trust This Computer dialog on iPhone.

Now you can finally run the SideJITServer command in Terminal to start the server and use it on your device. Depending on the operating system security policies, you may need to run it with privileges like so:
Normal running:
SideJITServer
Privileged running (sudo):
sudo SideJITServer
Privileged running will ask for the computer login password. It’s your password when you power on the PC / Mac.
Now you need to add this Shortcut to your iOS device’s Shortcuts app. When asked, tap the “Set up Shortcut” button.
During the Setup phase, the shortcut will ask you for your device’s UDID (Unique Device ID). There are two ways to obtain this:
You can navigate to http://127.0.0.1:8080 in your browser and get the UDID from SideJITServer.

OPTIONALLY, if that method does not work for you can grab it with ideviceinfo, part of libimobiledevice assuming you have it installed. To get it from ideviceinfo you run:
ideviceinfo | grep "UnqiueDeviceID"
On the next step in the Shortcut setup, you will have to input the server address. It’s important to include the protocol (http / https) and the port (8080, etc.), similar to this:
http://192.168.1.241:8080
Make sure you use the one in Terminal because your PC’s IP may vary.


After the setup is complete, to use SideJIT you should keep SideJITServer running on the computer then navigate back to Shortcuts on your device, tap SideJIT, allow it to connect to the IP address when asked, then select the installed app that you wanna enable JIT for in the list.
The app will open with JIT enabled and you should be able to use the features.
Final thoughts
As you can see, enabling JIT on iOS 17 and iOS 18 is still possible if a bit complicated. It does require a bit of technical know-how, but I’ve been using SideJITServer for a few months now and I had very few issues with it over time.
Most issues I had with SideJIT were caused by not having the correct dependencies installed. Make sure to keep the dependencies up to date. A firewall can sometimes also cause issues if it’s set to an aggressive mode, so make sure the phone can connect to the PC via its local IP.
Overall, SideJIT works reliably if you need to enable JIT on iOS, especially for emulators and virtualization apps like UTM and DolpiniOS.
More iDevice Central Guides
- iOS 17 Jailbreak RELEASED! How to Jailbreak iOS 17 with PaleRa1n
- How to Jailbreak iOS 18.0 – iOS 18.2.1 / iOS 18.3 With Tweaks
- Download iRemovalRa1n Jailbreak (CheckRa1n for Windows)
- Dopamine Jailbreak (Fugu15 Max) Release Is Coming Soon for iOS 15.0 – 15.4.1 A12+
- Cowabunga Lite For iOS 16.2 – 16.4 Released in Beta! Install Tweaks and Themes Without Jailbreak
- Fugu15 Max Jailbreak: All Confirmed Working Rootless Tweaks List
- iOS 14.0 – 16.1.2 – All MacDirtyCow Tools IPAs
- iOS Jailbreak Tools for All iOS Versions
Leave a Reply
You must be logged in to post a comment.