Note-1 I added some changes at the bottom. TL;DR: Updated to Python v13.3 to solve some errors I was getting. Check it out!
Note-2 I added more information related to using SideJITServer after an iOS Update.
As of 14 Dec, 2024, using this guide, including the two notes above, SideJITServer works on iOS/iPadOS 18.2 (iPhone 16 Pro/iPad Pro 11" Gen 3)
i. Installing Python v3.11.x via pyenv-win (I installed 3.11.7 and it works fine)
ii. Probably best off nuking everything to do with python, python3, pip and pip3. Then start over and install correctly
iii. pyenv makes installing ANY future versions of python incredibly easy while maintaining correct PATH so you don't have weird errors
Following the steps in the github repo for pyenv-win. [stuff in [] is my additional info. the rest is quoted.]
Quick start
-
Install pyenv-win in PowerShell. [Copy/paste into PowerShell]
Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"
[Close PowerShell after the script above. Then...]
-
Reopen PowerShell
-
Run
pyenv --version
to check if the installation was successful. -
Run
pyenv install -l
to check a list of Python versions supported by pyenv-win -
Run
pyenv install <version>
to install the supported version5a. [I installed v3.11.7:
pyenv install 3.11.7
] -
Run pyenv global to set a Python version as the global version
6a. [
pyenv global 3.11.7
in my case] -
Check which Python version you are using and its path
pyenv version
7a. [my output for python v3.11.7 ->
3.11.7 (set by C:\Users\USERNAME\.pyenv\pyenv-win\version)
] -
Check that Python is working
python -c "import sys; print(sys.executable)"
8a. [my output for python v3.11.7 ->
C:\Users\USERNAME\.pyenv\pyenv-win\versions\3.11.7\python.exe
]
You're done! WOW! Read the pyenv-win repo for more endless information on using pyenv...
Install Time!
I HIGHLY RECOMMEND USING CMD!
For whatever reason, Windows Terminal would not work for me. CMD worked the first try and on repeat tries! (And yes, I was running it in admin mode, duh)
Open CMD as admin by
i. Push Win-Key+R
to bring up run. Type CMD
in the search box DONT PRESS ENTER YET
ii. Hold Ctrl+Shift
and then push Enter
iii. You will see in the upper left corner it says "Administrator" and it will start you in the C:\Windows\System32
directory
Instructions just ripped from SideJITServer repo. All credit to nythepegasus. I just omitted part of them and added a little to streamline for specific Windows install...
-
Download the latest SideJITServer from the releases
-
(I just do this in the Windows system because it's easier for me) Create a SideJITServer directory (folder) somewhere. Perhaps
C:\Users\USERNAME\SideJITServer
(where USERNAME is your user...name.) In Windows CMD you make a directory just like Linux. eg:mkdir C:\Users\USERNAME\SideJITServer
would make the example directory I mentioned. Obviously use your own username. Extract the SideJITServer.zip archive to your directory at the root level of it. So if you go into the example directory you will see files such as "requirements.txt" and "compose.yaml" and such. Cut/paste the files/folders if you need to. Or leave the dir structure messed up...up to you. -
cd C:\Users\USERNAME\SideJITServer
to get to the example directory inside your administrator CMD -
Start setting up the virtual env
python3 -m venv venv
-
Activate it
.\venv\Scripts\Activate.bat
-
You should now see something like this in CMD
(venv) C:\Users\USERNAME\SideJITServer>
that
(venv)
is important! Make sure it's there before the next step! -
Now install the required packages
pip3 install -r requirements.txt
-
That takes a minute or so to download a bunch of stuff. Then run
pip3 install SideJITServer
(If you got an error saying pip3 not found just change pip3 to pip)
-
Let's see if everything works (Make sure you're still inside venv!)
run
SideJITServer --version
my output:
pymobiledevice3: 4.14.16
SideJITServer: 1.3.6
Wow! PC side setup is complete! Get your iDevice ready
Make sure your device is connected!
Make sure you're still inside the venv, if applicable! (If you followed this "guide" then it is applicable!)
PROTIP In the future, when you need to enable JIT
i. open your admin CMD prompt (Win+R -> type CMD -> hold Ctrl+Shift and push Enter)
ii. type into the prompt
C:\Users\USERNAME\SideJITServer\venv\Scripts\Activate.bat
iii. You could even make a cute little shortcut or .bat file on your desktop or something... just make sure it runs CMD as admin!
-
If running JITServer for the first time or you need to re-pair, then run
SideJITServer --pair
And wait a bit
-
Eventually you should see an output like
Server started on http://<your-pc-IP>:8080
Obviously the IP will be dependent on your local network. It could be http://192.168.x.y:8080 or http://10.x.y.z:8080 (more than likely one of those two)
-
With that done, I will just point you to the repo guide to finish. Copied below from here
"Now thats done, Install this shortcut
After that its gonna ask you to put in your device's UDID, Go to your PC and see your local ipaddress mine is 192.168.0.6:8080 and on your phone go to that (your local address) and copy the one that beside usbmux (example : 00001111-000A1100A11101A)
Now it's gonna ask you for SideJIT Server address! Just type in the address you use earlier to access device's UDID
for example : http://192.168.0.6:8080 (You must include the http and not include / at the end!)
Now run the shortcut!
It gonna ask you to allow to access your local ip address just click allow!
Now select the application that you want to give JIT access to and you're done! (might ask for notification. It is recommended that you allow so you see if the JIT fail or succeed)
Happy JITing! :3"
I updated my phone/iPad to iOS/iPadOS 18.1.1 and was encountering some errors such as device "network lost" on the devices when trying to enable JIT. I also recently, since initially piecing together this guide, changed my home network. Some combo of these events was causing me errors and I couldn't get it to work. So, I chose the nuclear option...
WARNING When you use Python 3.13 Windows will also require you to install Microsoft Visual C++ (MSVC) build tools. This is a MASSIVE install! 3GB, minimum! This is required because you have to literally build, yourself, part of the requirements for this project. With lower python versions other builds exist for certain things. If you use newer versions, this isn't always the case. So, you must build yourself. It takes longer and takes up disk space. This is Microsoft's fault because they don't seem to want people only installing SOME of the build tools... they want the whole thing. Just letting you know now.
Here's how I got it working again:
i. I went in and deleted the contents of the SideJITServer dir. In my case C:\Users\USERNAME\SideJITServer
ii. I also deleted the pair files. Found in this directory by default C:\ProgramData\Apple\Lockdown
iii. I decided to use the newest stable python, 3.13. pyenv install 3.13
if you followed the original instructions and have pyenv installed (see how convenient it is???)
iv. Time for a fat install. You need to download the MS Visual Studio .exe from here. Download the free community version.
v. Run the .exe. Once it loads up you have to tell the program which components to install:
-
Under the first tab, "Workloads", Check the box for "Desktop development with C++"
-
On the right side there should be a checklist of things you are installing and are available. Make sure to also check the box for "Windows 11 SDK" (or Windows 10 if using that). It may already be check marked. If so, good, move on.
-
Here is what it looks like before hitting install (mine was already installed thus 0GB). The size should be over 3GB if you've never installed anything from Visual Studio build tools before.
-
Just hit install (The "install while downloading" option is default and probably best to leave that on to speed things up)
-
Restarting is optional, but best to just do it.
vi. That's it. The rest of the guide is the same. With the newest python installed and the build tools installed, SideJITServer should reinstall fine. Then you just run SideJITServer the same as you did before but now it will be running with python 13.3. This cleared up issues for me and also confirmed that python 13.3 works with this version of SideJITServer.
Quick Setup Again After iOS Update
For some reason, after an iOS update, the program throws a bunch of errors. There may be a more efficient solution here, but I've found the easiest solution is nuking the install and re-install.
- Find and delete any mention of iDevices and SideJITServer. I HIGHLY recommend Everything+EverythingToolbar for this task and in general. The built-in Windows 10/11 search... isn't great. This tool is a big improvement. (Totally free as well)
- Download newest SideJITServer from releases
- Extract release to
C:\Users\USERNAME\SideJITServer
- Change directory
cd C:\Users\USERNAME\SideJITServer
- Setup venv
python3 -m venv venv
- Activate
.\venv\Scripts\Activate.bat
- Install packages
pip3 install -r requirements.txt
- Install SideJITServer
pip3 install SideJITServer
- Check install is working
SideJITServer --version
Continue following Guide: Part III
Everything should be working again.