Coder Social home page Coder Social logo

danpashin / twackup-rs Goto Github PK

View Code? Open in Web Editor NEW
38.0 2.0 6.0 2.35 MB

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

License: GNU General Public License v3.0

Rust 56.60% C++ 0.98% Ruby 0.14% Objective-C 1.56% Swift 40.71%
ios cli jailbreak cydia backup sileo zebra dpkg apt

twackup-rs's Issues

Random location of Rebuilded files

As title.

Sometimes the Rebuilded .debs are placed in /var/mobile/Documents and sometimes in /var/mobile/Containers/Data/Application/ Twackup /Documents

Migrate to self-build system

Twackup needs to have man pages and shell completion. This needs own build system without any usage of make or jq

Syncing file simultaneously

While I delete the rebuilded .debs in Filza, Twackup still showing them in GUI.

Empty Filza path: image

GUI still showing deleted items:
image

App crashes when tapping on share button

Some users reporting about weird crash when tapping on share button for deb

func shareDeb() {
guard let package = package as? DebPackage else { return }
let activityVC = UIActivityViewController(activityItems: [package.fileURL()], applicationActivities: nil)
activityVC.popoverPresentationController?.barButtonItem = shareDebButton
present(activityVC, animated: true, completion: nil)
}

Or for package list

func shareList() {
let packagesText = model.dataProvider.packages
.enumerated()
.map { index, package in
String(format: "%3d. %@ - %@", index + 1, package.id, package.version)
}
.joined(separator: "\n")
let activityVC = UIActivityViewController(activityItems: [packagesText], applicationActivities: nil)
activityVC.popoverPresentationController?.barButtonItem = shareListButton
present(activityVC, animated: true, completion: nil)
}

Should investigate more. No backtrace at this moment
crash

Add FFI

Since v2.0.0 Twackup is split into library and CLI interface, it needs to have FFI. This will allow creating GUI and using Twackup in other non-rust projects

[Bug] Twackup(GUI) 2.0.2 causes long re-jailbreaking process

After update to 2.0.2, I noticed that my rejailbreaking time takes much more longer, needing like 3-5 minutes and tempt to fail at least once.

After removing Twackup(GUI) the issue immediately disappears. Back to my normal booting time (1 minute at most and never fail)

Ps: for my knowledge this issue is usually caused by code regression failure (maybe)

Device: iPhone 11 Pro Max
iOS: 14.8
Jailbreak: unc0ver 8.0.2
Substitute: 2.3.1
Twackup: 2.0.2

iOS 13 compatibility

Please make this compatible with iOS13.

If the firmware dependency is just due to no test device I'm happy to test.

Replace deb path in CoreData with inode

Since debs are now in /var/mobile/Documents/Twackup user can move rename saved file, file path will change and Twackup can't detect if file exists yet or not. Replacing path column with inode id or some oher data and accessing deb by using fileReferenceURL() (consider persistency) should resolve this issue.

GUI support

As Twackup now supports FFI, gui is needed

Out of memory exception

App and CLI tool are crashed when performing huge deb rebuild like themes. They are causing memory exception which leads to app/tool crash.

To fix this, library should choose between rebuilding in memory on in files.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.