Skip to content

NyaMisty/AltServer-Linux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
gkr-bot
Jan 25, 2025
e5e56eb · Jan 25, 2025

History

35 Commits
May 5, 2022
Apr 13, 2022
May 5, 2022
May 5, 2022
Apr 20, 2022
May 5, 2022
May 5, 2022
Apr 13, 2022
Apr 16, 2022
Apr 13, 2022
Apr 13, 2022
Apr 17, 2022

Repository files navigation

AltServer-Linux

AltServer for AltStore, but on-device

Usage

  • Install IPA: ./AltServer -u [UDID] -a [AppleID account] -p [AppleID password] [ipaPath.ipa]
  • Running as AltServer Daemon: ./AltServer
  • Full usage (maybe outdated, refer to ./AltServer -h for the newest):
Usage:  AltServer-Linux options [ ipa-file ]
  -h  --help             Display this usage information.
  -u  --udid UDID        Device's UDID, only needed when installing IPA.
  -a  --appleID AppleID  Apple ID to sign the ipa, only needed when installing IPA.
  -p  --password passwd  Password of Apple ID, only needed when installing IPA.
  -d  --debug            Print debug output, can be used several times to increase debug level.

The following environment var can be set for some special situation:
  - ALTSERVER_ANISETTE_SERVER: Set to custom anisette server URL
          if not set, the default one: https://armconverter.com/anisette/irGb3Quww8zrhgqnzmrx, is used
  - ALTSERVER_NO_SUBSCRIBE: (*unused*) Please enable this for usbmuxd server that do not correctly usbmuxd_listen interfaces

Download

  • Precompiled static binary can be downloaded in Release ( also have a look at pre-release ;) )
  • Nightly version is available as Github Actions artifacts

TODO / Special Features

  • Track upstream (AltServer-Windows) develop branch (i.e. Beta version)
  • Support Offline Anisette Data Generation (i.e. without Sideloadly)
    • Finsihed, please run alt_anisette_server & use ALTSERVER_ANISETTE_SERVER to specify custom server URL
  • Support Wi-Fi Refresh
    • netmuxd now supports network devices (needs version > v0.1.1, be sure to check pre-release)
      • Download netmuxd, stop the original usbmuxd, and run netmuxd before running AltServer-Linux
      • If netmuxd does not work, please try using special env var ALTSERVER_NO_SUBSCRIBE. Enabling this would disable auto-refresh when plugged-in of USB devices

Advanced: Build Instruction (check Github Actions if you cannot build)

  • Preparation: git clone --recursive https://github.com/NyaMisty/AltServer-Linux

  • Install dependencies (see notes below): corecrypto_static, cpprestsdk static lib, boost static lib

  • Build:

    cd AltServer-Linux
    mkdir build
    make -f ../Makefile -j3
    ls AltServer-*
    
  • My own build note for you

      1. Run alpine docker (change --platform to corresponding architecture you want): 
          docker run --platform=linux/arm/v7 --name altserver-builder-alpine-armv7 -it alpine:3.15 
      2. Install dependencies:
          apk add zsh git curl wget g++ clang boost-static ninja boost-dev cmake make sudo bash vim libressl-dev util-linux-dev zlib-dev zlib-static
      3. Install corecrypto
          download corecrypto from apple website, unzip corecrypto.zip; cd corecrypto; mkdir build; cd build; CC=clang CXX=clang++ cmake ..;
          vim CMakeFiles/Makefile2, delete line starts with "all: corecrypto_perf/....." and "all: corecrypto_test/.....", then make; make install
      4. Install cpprestsdk
          git clone --recursive https://github.com/microsoft/cpprestsdk; cd cpprestsdk; mkdir build; cmake -DBUILD_SHARED_LIBS=0 ..; make; make install
          (if you're compiling for armv7, you have to grep -Wcast-align, and remove it, or the compiling would fail)
      5. Install libzip
          git clone https://github.com/nih-at/libzip; cd libzip; mkdir build; cd build; cmake -DBUILD_SHARED_LIBS=0 ..; make; make install
      6. Compile AltServer-Linux
          git clone --recursive https://github.com/NyaMisty/AltServer-Linux
          cd AltServer-Linux
          make -f ../Makefile -j3
          (if you're compiling for ARM, i.e. armv7 or aarch64, you'll have to remove the -mno-default flag in Makefile)