LiveContainer/LiveContainer

▲ 1,386 stars today★ 12,158⑂ 1,007

Run iOS apps without actually installing them!

12,158Star
1,007Fork
0Watch
0Issue
SwiftLanguage
-License
Created · last push · repository size 0 KB · default branch -

README

https://github.com/LiveContainer/LiveContainer/blob/HEAD/Logo

LiveContainer

An app launcher that runs iOS apps without actually installing them!

Crowdin Project: Crowdin  |   Documentation:liveconainer.github.io

LiveContainer

[!CAUTION]
Important Notice Regarding Third-Party Builds of LiveContainer
> We have recently noticed the appearance of certain closed-source third-party builds of LiveContainer. Please be aware that all your apps are installed within LiveContainer, which means these third-party builds have full access to your data, including sensitive information such as keychain items and login credentials.
Furthermore, please note that we do not provide any support for issues of these third-party builds.

Installation

LiveContainer comes with a standalone version and a version with built-in SideStore. Please read the install guide here

If you encounter any issue please read our FAQ here

Standalone

Stable https://github.com/LiveContainer/LiveContainer/blob/HEAD/Add AltSource https://github.com/LiveContainer/LiveContainer/blob/HEAD/Download .ipa
Nightly https://github.com/LiveContainer/LiveContainer/blob/HEAD/Add AltSource https://github.com/LiveContainer/LiveContainer/blob/HEAD/Download .ipa

LiveContainer+SideStore

|Stable|Nightly| |:-:|:-:| |https://github.com/LiveContainer/LiveContainer/blob/HEAD/Download .ipa|https://github.com/LiveContainer/LiveContainer/blob/HEAD/Download .ipa|

Requirements

+ Multitasking requires iOS/iPadOS 16.0+

Features & Guides

Installing Apps

Add Apps to Home Screen

Multiple LiveContainers

Using multiple LiveContainers allows you to run multiples different apps simultaneously, with almost seamless data transfer between the LiveContainers.

Multitasking

You can now launch multiple apps simultaneously in in-app virtual windows. These windows can be resized, scaled, and even displayed using the native Picture-in-Picture (PiP) feature. On iPads, apps can run in native window mode, displaying each app in a separate system window. And if you wish, you can choose to run apps in multitasking mode by default in settings.

To use multitasking, hold its banner and tap "Multitask". You can also make Multitask the default launch mode in settings.

[!Note]
1. To use multitasking, ensure you select "Keep App Extensions" when installing via SideStore/AltStore.
2. If you want to enable JIT for multitasked apps, you’ll need a JIT enabler that supports attaching by PID. (StikDebug)

JIT Support

Installing external tweaks

Multiple Containers/External Containers

Hiding Apps

Fix File Picker & Local Notification

Some apps may experience issues with their file pickers or not be able to apply for notification permission in LiveContainer. To resolve this, enable "Fix File Picker" & "Fix Local Notifications" accordingly in the app-specific settings.

"Open In App" Support

Compatibility

Unfortunately, not all apps work in LiveContainer, so we have a compatibility list to tell if there is apps that have issues. If they aren't on this list, then it's likely going run. However, if it doesn't work, please make an issue about it.

Building

Open Xcode, edit DEVELOPMENT_TEAM[config=Debug] in xcconfigs/Global.xcconfig to your team id and compile.

Project structure

Main executable

LiveContainerSwiftUI

MultitaskSupport

SideStore

TweakLoader

ZSign

How does it work?

Patching guest executable

+ Change vmaddr to 0xFFFFC000 (0x100000000 - 0x4000) + Change vmsize to 0x4000

Patching @executable_path

Old Method
- Call _NSGetExecutablePath with an invalid buffer pointer input -> SIGSEGV
- Do some magic stuff to overwrite the contents of executable_path.

Patching NSBundle.mainBundle

Bypassing Library Validation

dlopening the executable

Multi-Account support & Keychain Semi-Separation

128 keychain access groups are created and LiveContainer allocates them randomly to each container of the same app. So you can create 128 container with different keychain access groups.

Limitations

TODO

License

GNU Affero General Public License v3.0

Credits

More Today's Trending projects

1

debpalash / VoiceStudio

Python★ 29,840⑂ 3,606▲ 2,776 stars
2

JustVugg / colibri

C★ 32,609⑂ 3,430▲ 2,173 stars
3

bilawalsidhu / gods-eye-view

JavaScript★ 33,945⑂ 6,772▲ 1,831 stars
4

alibaba / open-code-review

Go★ 26,516⑂ 1,906▲ 1,571 stars
5

ever-co / ever-gauzy

TypeScript★ 6,164⑂ 994▲ 1,130 stars
6

pacifio / atlas

Rust★ 4,440⑂ 274▲ 1,091 stars