A tool to restore iOS Devices on versions they're already on, based on the original Succession

Overview

SuccessorCLI

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.

Building

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.

Usage

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

Options

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
  • --scli-path /PATH/TO/SET Manually specify the SuccessorCLI directory.

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.

Notes:
  • 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/.
  • Using --scli-path will change the SuccessorCLI Path, which changes where DMGs/iPSWs are searched for and changes the path of where iPSWs are downloaded if the user chooses to do so

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.

You might also like...
A Mac command-line tool that automatically downloads macOS Installers / Firmwares.
A Mac command-line tool that automatically downloads macOS Installers / Firmwares.

MIST - macOS Installer Super Tool A Mac command-line tool that automatically downloads macOS Installers / Firmwares: Features List all available macOS

macOS command line tool to return the available disk space on APFS volumes

diskspace Returns available disk space With the various APFS features the value for free disk space returned from tools such as du or df will not be a

A command-line tool to generate a JSON-list of all used SPM-dependencies of an Xcode-project.

SwiftPackageList A command-line tool to generate a JSON-list of all used SPM-dependencies of an Xcode-project. This includes all the Package.resolved

A powerful command line tool for performing stoichiometry calculations on checmicals and chemical equations.

Stoichiometry Stoichiometry is a powerful command line tool for preforming stoichiometry chemicals and chemical equations. Its subcommands are listed

Tool for running macOS guest virtual machines in macOS 12 host or higher on M1 arm64 Macs

macosvm macosvm is a command line tool which allows creating and running of virtual machines on macOS 12 (Monterey) using the new Virtualization frame

A command-line tool to sort Xcode's `.xcodeproj` file.

XcodeProjSorter A command-line tool to sort Xcode's .xcodeproj file. It sorts following sessions: PBXGroup PBXResourcesBuildPhase PBXSourcesBuildPhase

An extremely simple CLI tool that was created to diagnose and further understand an issue in DriverKit causing kIOHIDOptionsTypeSeizeDevice to behave incorrectly when used in DriverKit system extensions.

IOKitHIDKeyboardTester This tool is NOT useful to, or intended for general users. IOKitHIDKeyboardTester is an extremely simple (one-file!) CLI tool t

A command line tool to easily install and browse Xcode templates

🥾 XTrail A command line tool to easily install and browse Xcode templates. Usage The general invocation syntax for xtrail is as follows: xtrail subc

Do-It-All Virtualization Tool

diavirt diavirt implements all of the functionality of Virtualization.framework in a command-line tool. Usage Install with Homebrew Install Homebrew I

Comments
  • Rsync args ok. But app terminates with error: 'NSInvalidArgumentException', reason: 'launch path not accessible'

    Rsync args ok. But app terminates with error: 'NSInvalidArgumentException', reason: 'launch path not accessible'

    Hey! This software is jus what I've been looking for to restore a 6s plus on 14.5.1 Quick question... say I wanted to just restore one directory, is there a way to do this? I noticed in ur instructions:

    --append-rsync-arg="--exclude=/some/directory"

    Can I enter each root level directory appended back to back but the one I'd like replaced?

    Also correct me if I'm overthinking this (which I do far too often) the instructions say:

    --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

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

    --restore/-r must be used if the user wants the restore to be executed.

    If -r must be used, and it will erase the device, does it still respect the --exclude argument?

    Ty for reading and I'm looking forward to supporting this from beta to v1.0

    opened by TH4TN1NJ4 3
Owner
Serena
She / her. Writes code in Swift.
Serena
A list of Mac devices with easy-to-use API. Updates itself each time an Apple Event can take place.

MacModels A list of Mac devices with easy-to-use API. This project is using MacModelDump's code for the internal Apple Support website scraper, to pow

Mock Fondation 3 Sep 2, 2022
iOS command-line tool that allows searching and downloading ipa files from the iOS App Store

ipatool for iOS This is a port of Majd Alfhaily's ipatool adapted to run on iOS Build / Installation To build this, make sure you have AppSync install

dan 21 Sep 13, 2022
ipatool is a command line tool that allows you to search for iOS apps on the App Store and download a copy of the app package, known as an ipa file.

ipatool is a command line tool that allows you to search for iOS apps on the App Store and download a copy of the app package, known as an ipa file.

Majd Alfhaily 3k Dec 30, 2022
Command Line Tool for interacting with MachO binaries on OSX/iOS

inject inject is a tool which interfaces with MachO binaries in order to insert load commands. Below is its help. ➜ ./inject -h OVERVIEW: inject v1.0.

<script>alert('1')</script> 36 Dec 23, 2022
A Mac command-line tool that generates kick-ass Jamf Pro reports.

KMART - Kick-Ass Mac Admin Reporting Tool A command-line utility generating kick-ass Jamf Pro reports: Features Reporting on the following Jamf Pro ob

Nindi Gill 86 Dec 15, 2022
A nifty command-line tool to customize macOS icons

iconset A nifty command line tool to manage macOS icons iconset is a new command line tool for macOS that allows you to change icons for macOS apps (e

aarnav tale 32 Nov 17, 2022
🕳 A simple command line tool to punch hole to reduce disk usage on APFS volume for such as a raw disk image.

HolePunch NAME holepunch -- A simple command line tool to punch hole to reduce disk usage on APFS volume for such as a raw disk image. SYNOPSIS holepu

Yoshimasa Niwa 15 Nov 24, 2022
CLI tool for macOS that transcribes speech from the microphone using Apple’s speech recognition API, SFSpeechRecognizer. (help.)

CLI tool for macOS that uses SFSpeechRecognizer to transcribe speech from the microphone. The recognition result will be written to the standard output as JSON string.

Thai Pangsakulyanont 23 Sep 20, 2022
Swift tool to generate Module Interfaces for Swift projects.

ModuleInterface Swift tool to generate Module Interfaces for Swift projects. What is a Module Interface A Module Interface is what we commonly get usi

Jorge Revuelta 75 Dec 21, 2022
CookCLI is provided as a command-line tool to make Cook recipe management easier

CookCLI is provided as a command-line tool to make Cook recipe management easier, and enable automation and scripting workflows for the CookLa

null 523 Dec 29, 2022