Legacy Jetsam Configuration - UInt2048/CyberKit GitHub Wiki

NOTE: This material is historical in nature, and is provided as reference for versions of CyberKit before 0.0.9. Today, CyberKit requests its own jetsam configuration through syscalls in jetsamConfiguration(pid_t pid) instead of the bad practice of modifying a system property list, and the following does not apply.

Why does this have to happen?

Today's browsers do a ton of things, and require an ever-increasing amount of resources to do them. Built in to the OS, Apple overrides its normal memory usage limits to provide increased resources for WebKit automatically, but CyberKit is not WebKit, so it doesn't get this for free.

Can I do this on a rootless jailbreak?

No, all three of these methods require modifying a property list in the system directories, which are not writable in a rootless jailbreak. For the same reasons, TrollStore is okay only before iOS 15.

I'm installing a build before CyberKit 0.0.9. How do I do this?

There are three methods to choose from! The automatic method is recommended, but the others are also listed for historical reasons, non-jailbroken users, and more in-depth understanding.

Automatic Method (easy)

  1. Obtain the PlistBuddy dependency.
    1. If your jailbreak comes with the Procursus repo, you should be good to go.
    2. If your jailbreak does NOT come with the Procursus repo, add this repo: https://the-samminater.github.io/repo/.
    3. If you are on iOS 12, install the OpenPlistBuddy DEB from https://github.com/UInt2048/OpenPlistBuddy/releases/latest.
  2. Optional: Type /usr/libexec/PlistBuddy into a terminal to confirm it worked. If you do NOT see a help message, let me know.
  3. Install CyberKit Jetsam Configurator from my repo.
  4. You should see the output "You can safely uninstall CyberKit Jetsam Configurator now." without errors preceding it.
  5. Feel free to remove the jetsam configurator package now (and the dependencies if you so desire).
  6. Perform a full reboot (NOT a userspace reboot) and rejailbreak. (Jetsam configuration will NOT work until you do this.)

Semi-automatic Method (medium)

For the purposes of this method, "computer" means a device running Linux in Darling's shell or a device running macOS.

In this method, you should identify the internal name of your device. You will replace the XXXX in step 2 (and 4) with the characters before the AP in that name (e.g. J307 in J307AP).

  1. Navigate to the directory /System/Library/LaunchDaemons.
  2. Copy the file com.apple.jetsamproperties.XXXX.plist to your computer.
  3. Download jetsamfix.sh on your computer.
  4. Run the script on your computer, e.g. ./jetsamfix.sh com.apple.jetsamproperties.XXXX.plist
  5. Replace the original file with the file you modified using the script.
  6. Perform a full reboot (NOT a userspace reboot) and rejailbreak. Your changes will NOT work until you do this.

Manual Method (hard)

In this method, you should identify the internal name of your device. You will replace the XXXX in step 2 with the characters before the AP in that name (e.g. J307 in J307AP).

  1. Navigate to the directory /System/Library/LaunchDaemons.

  2. Opencom.apple.jetsamproperties.XXXX.plist with a property list editor. These instructions assume you use Filza's built-in editor.

  3. Navigate within the file to Version4 → XPCService → Override.

  4. For each dictionary key beginning with com.apple.WebKit, note the values within them. It may be easiest to screenshot.

  5. Tap the â„šī¸ next to the Override dictionary and scroll to the bottom.

  6. Tap "New item" and create a new dictionary-type entry.

  7. Add identical (should be number-type) properties as the WebKit properties noted earlier, ensuring the dictionary is named as follows:

    1. com.matthewbenedict.CyberKit.Networking should be copied from com.apple.WebKit.Networking.
    2. com.matthewbenedict.CyberKit.Networking.Development should be copied from com.apple.WebKit.Networking.Development.
    3. com.matthewbenedict.CyberKit.Storage should be copied from com.apple.WebKit.Storage.
    4. com.matthewbenedict.CyberKit.Storage.Development should be copied from com.apple.WebKit.Storage.Development.
    5. com.matthewbenedict.CyberKit.WebContent should be copied from com.apple.WebKit.WebContent.
    6. com.matthewbenedict.CyberKit.WebContent.Development should be copied from com.apple.WebKit.WebContent.Development.
Picture demonstrating a successful copy

IMG_2366

  1. After saving, a full reboot (NOT a userspace reboot) and rejailbreak is required for these changes to take effect.
âš ī¸ **GitHub.com Fallback** âš ī¸