Swiftpack.co - Serena-io/SuccessorCLI as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by Serena-io.
Serena-io/SuccessorCLI v1.0.2-workflow-test
A tool to restore iOS Devices on versions they're already on, based on the original Succession
⭐️ 4
🕓 1 week ago
.package(url: "https://github.com/Serena-io/SuccessorCLI.git", from: "v1.0.2-workflow-test")


A CLI tool to restore iOS devices on the version they're already on, inspired by the original Succession GUI Application, rewritten from the ground up in Swift.


You must have Theos for this, and if you're not on macOS, you must've installed the swift toolchain for theos before aswell. To generate a deb, run the following:

git clone https://github.com/Serena-io/SuccessorCLI
cd SuccessorCLI
make package

Due to this project using private frameworks, you must be compiling with a patched SDK rather than a normal one.


Open NewTerm2 or SSH Into your device (Preferrably SSH), then run the following command: sudo successorcli [--restore/-r or --no-restore/-n]. You must use --restore/-r or --no-restore/-n Depending on whether or not you want to execute the restore. For example: sudo successorcli --restore.

See below for options that can be used with SuccessorCLI


The follwing options can be used with SuccessorCLI:

General options:

  • -h, --help Prints the help message then exits
  • -d, --debug Prints extra debug information which may be helpful

Options for manually specifying:

  • --mnt-point-path /PATH/TO/MOUNT Specify the directory to where the attached RootfsDMG will be mounted to
  • --ipsw-path /PATH/TO/IPSW Specify iPSW Which'll be used
  • --dmg-path /PATH/TO/ROOTFSDMG Specify the rootfsDMG to use
  • --rsync-bin-path /PATH/TO/RSYNC/BIN Specify the Rsync executable to launch rsync restore with

Options for Rsync / Restore stuff:

  • --append-rsync-arg=RSYNC-ARG-TO-APPEND Specify an additional rsync argument to be passed in to rsync, for example: --append-rsync-arg="--exclude=/some/directory" will pass in --exclude=/some/directory to rsync

  • --dry-run Specifies that rsync should run with --dry-run

  • --restore Do a full restore with rsync. Note that this WILL erase your device.

  • The user must use eiher --restore/-r or --no-restore/-n depending on whether or not they want to execute the restore.
  • If --mnt-point-path is not used, then the default Mount Point is set to /var/mnt/successor/.

Project Status

The program does work right now, I've tested it multiple times on an iPhone 8 running iOS 14.5, Im just polishing up the project right now.

Note: this project is in beta, im not responsibile for whatever happens to you, your phone, and your cat. Use at your own discretion blah blah you know the bullshit.


Stars: 4
Last commit: Yesterday
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics