I created this guide mainly because I encountered quite a few errors on the way to get an AltServer
running on a Linux system.
During my research I found out that I'm not alone and now I want to collect my experiences here consudilated. This was tested on debian and arch based systems.
First of all, it is important to find out what kind of system architecture AltServer
should be installed on.
Just open a terminal and type in uname -m
You don't need to built anything, just use the latest pre-built AltServer-Linux release.
For example, if your system is a x86_64
architecture use AltServer-x86_64
.
Personally, AltServer Linux ShellScript
is a wonderful solution as it guides you through the process to install the AltStore
app correctly on the apple device. So this step is optional, if you decide against AltServer Linux ShellScript
, then take a closer look at the AltServer syntax.
At first you need to install needed dependencies:
sudo apt-get install usbmuxd libimobiledevice6 libimobiledevice-utils wget curl libavahi-compat-libdnssd-dev
(of course, if you are using for example pacman
as a package manager, you should use sudo pacman -S [...]
instead.
Let's go into the home directory:
cd ~
Clone the repository:
git clone https://github.com/powenn/AltServer-Linux-ShellScript
Now move the AltServer
file which was previously downloaded into the new AltServer-Linux-ShellScript
folder and rename it to AltServer
. Lets assume, the file is called AltServer-x86_64
:
mv /path/to/AltServer-x86_64 ./AltServer-Linux-ShellScript/AltServer
This is a good point to create a symlink so we can run AltServer
by just typing the name AltServer
in terminal:
ln -s ./AltServer-Linux-ShellScript/AltServer /bin/AltServer
netmuxd
is needed later to enable communication between AltServer
and AltStore
wirelessly.
If not already, go into the home directory:
cd ~
Visit the latest releases of netmuxd. Again, choose the corret architecture (x86_64
or armv7
) and download the correct one.
Personally, I keep everything close together, so let's move the netmuxd
file to the AltServer-Linux-ShellScript
folder and rename the file at the same time. Let's assume, you downloaded netmuxd-x86_64
:
mv /path/to/netmuxd-x86_64 ./AltServer-Linux-ShellScript/netmuxd
Again, i would create a symlink to keep things simple:
ln -s ./AltServer-Linux-ShellScript/netmuxd /bin/netmuxd
To pair the apple device with the linux system, you have to use an usb-cable. It will be the first and last time you have to use a cable, so don't worry. The rest will happen over your wireless network.
- Start
usbmuxd
:sudo systemctl start usbmuxd
(just to be sure, check the status withsudo systemctl status usbmuxd
) - connect the apple device with the usb-cable to your linux system
- type
idevicepair pair
3.1. When the device is not found disconnect the usb-cable, type sudo systemctl restart usbmuxd
and try step 2 and 3 again
3.2. When you encounter again error message take a look in the /var/lib/lockdown/
folder. If there is already a UUID.plist
file, delete it like sudo rm /var/lib/lockdown/UUID.plist
-
check the opairing with
ideviceinfo
-
This one is important: Kill the
usbmuxd
process. Check the process id ofusbmuxd
withps -a | grep usbmuxd
and dosudo kill -9 'USBMUXD PID'
. Stopping the deamon is not enough (in my case). If you do not want to pair any other apple device you can also disable the servicesudo systemctl disable usbmuxd
. If you don't kill theusbmuxd
process you will get heartbeat error messages withnetmuxd
and the wireless connection will not work. -
When everything is done you should check
ls /var/lib/lockdown/
as there should be a new createdUUID.plist
file, whereUUID
is the ID of your paired apple device.
Setting up netmuxd
is pretty simple, as with symlinked everything. So sudo netmuxd
should be enough. You don't need to add any arguments to this command or use screen
like it is explained here.
Someday I'll finish this