Skip to content

Safe and fast iOS utility for rebuilding DEB's and backing up packages

License

Notifications You must be signed in to change notification settings

danpashin/twackup-rs

Repository files navigation

Logo

Release Supported platforma
Current CI state License

Twackup

Twackup is a simple iOS tool for re-packaging installed packages to DEB's or backing up and restoring packages or repos. CLI version works from iOS 6 and later and GUI from iOS 14 and later. CLI can be also compiled and work fine on any Debian-based linux, though I do not support this platforms.

Twackup uses custom dpkg database parser written and Rust - and it parses dpkg database a bit faster than dpkg itself. It means it can be used on that platforms that have no support of dpkg - primarily, iOS. There already are some tweaks for jailbreak with the same target, but they all are poorly written in something like Bash and do not really work as they expected to. That's why Twackup exists at all.

Screenshots

Leaves Detail Settings
First Second Third

Building from source

  1. Make sure you have Rust installed. If not, I would recommend installing it via rustup.

  2. Clone the source with git:

    $ git clone --recursive https://github.com/danpashin/twackup-rs.git
    $ cd twackup-rs
    • If you are targeting to run twackup on host platform, you can directly run cargo build --release and you'll find binary in target directory.
    • If you decided to build for iOS and run all tests, then
      1. Install dependencies
        # Install building system
        $ cargo install cargo-make
        
        # Install different building utils if you don't have them
        $ brew install dpkg ldid coreutils
        
        # Install utils from rubygems
        $ bundle install
      2. Make sure you have nightly rust with sources as well as iOS and iOS Simulator platforms support
        $ rustup target add aarch64-apple-ios x86_64-apple-ios
        $ rustup toolchain install nightly
        $ rustup component add rust-src --toolchain nightly
      3. Install GUI libraries from cocoapods
        $ cd twackup-gui
        $ pod install
      4. And finally start build
        $ cargo build-ios
        This will take a relatively large amount of time.It is about 30 mins for GitHub actions and 10 mins for my Mac.

Contributing

I'll be really glad to see you in contributors for this project. I spent a lot of time of in writing it to its current state and this is really exhausting.

MSRV

1.70 for main library

1.74.1 for CLI

License

Twackup is licensed under GNU General Public License v3.0

See COPYING for the full text.