ShizuStore

Insular

secure-system

6.4.2-d46911c9 · F-Droid

Download APK
Software management Android 8.1+ 1 year ago Apache-2.0
2 ShizuStore
221 Stars
3 MB Size

More about this app

Complete FLOSS fork of Island

Insular

Isolate your big brother app.

This is a fork based on the excellent Island. Extra credit to Shelter which inspired me to make the completely FLOSS fork of Island.

Get it on F-Droid 下载应用,请到 F-Droid

Documentation

On how to enable Insular via adb, cross-profile file access, God mode (extending app control to apps outside the Work Profile), differences from Island, etc, see the documentation.

Features

With Insular, you can:

  • Isolate your Big Brother apps
  • Clone and run multiple accounts simultaneously
  • Freeze or archive apps and prevent any background behaviors
  • Unfreeze apps on-demand with home screen shortcuts
  • Re-freeze marked apps with one tap
  • Hide apps
  • Selectively enable (or disable) VPN for different group of apps
  • Prohibit USB access to mitigate attacks with physical access

If your device is incompatible or not encrypted, you can skip this limitation manually. Please refer to the XDA post for details. To uninstall and remove Insular completely, please first "Destroy Insular" in Settings - Setup - Click the recycle-bin icon besides Insular. If you have already uninstalled Insular app, please "Remove work profile" in your device "Settings - Accounts".

PERMISSIONS

We only request permissions to achieve what you want. The followings sensitive permissions are requested with reasons:

  • DEVICE-ADMIN: Device administrator privilege is required to create the Insular space (work profile), which serves as the fundamental functionality of Insular. It will be explicitly requested for your consent.
  • PACKAGE_USAGE_STATS: Required to correctly recognize the running state of apps. It will be explicitly requested for your consent. We will never collect data related to your privacy, please read our privacy policy for more details.

Build Instructions

Island depends on "deagle" library, which must be cloned alongside Island in the same path.

\--
  \- island
  \- deagle

This project is constructed into several modules, with assembly module as the build portal, to support separate "light" build for core modules, in the form of "product flavor" in Gradle build configuration.

The "engine" module shares the same package name with the "complete" build, to inherit the profile/device owner privilege. The "mobile" and other modules can be installed and updated separately alongside "engine" module for development convenience.

Open API

Due to the exclusivity nature, user could only use one Android DPC app at a time, and price of switching DPC is far too heavy. To encourage active exploration and broader development in the capabilities of DPC and therefore better benefit users, Island is devoted to build an open collaboration for community developers, either in development of this project or opening DPC capabilities to 3rd-party apps via open API. Island itself will not focus on the rich set of features, but mainly focuses on building a powerful engine as an open platform for much more apps from the community.

Starting from the first public version of Island, all APIs are open to 3rd-party apps with the standard runtime-permission of Android as user authorization. Developers can start building apps now to take advantage of the Island open APIs.

The protocol of all APIs are well defined and maintained in the class "Api".

Contribution

If you found bugs, made minor improvements or translated the strings, please feel free to send us pull-requests.

If you are interested in improving the functionality of Island, please create an issue first to discuss your thoughts with us, we are open to collaboration in future development.

If you need new APIs for your apps to take advantage of the DPC capabilities, please feel free to create an issue to describe your app and its use case of those APIs. We are still in the early stage of building a rich set of open APIs.

Close

How Shizuku is used

Can clone apps to Island profiles via Shizuku using `PackageInstaller.installExistingPackage`

This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.

How this app uses Shizuku

Shizuku is used for one job overall, cloning an app into another profile without a manual install step.

  • Clone apps to profile: when cloning an app the user can choose the Shizuku option, which installs the existing package into the selected profile through Shizuku with installExistingPackage on newer Android versions and a matching system install call on older versions.

Android APIs or commands used

  • PackageInstaller.installExistingPackage
  • PackageManager.installExistingPackageAsUser
  • ActivityThread.currentActivityThread()
  • ActivityThread.getSystemContext()

Notable details

The same clone dialog also offers non Shizuku options using the system installer or the Play Store, so cloning remains available without Shizuku.

Close

Changelog

What's new for version 6.4.2-d46911c9

Insular is a FLOSS fork of Island. With Insular, you can:

  • Isolate your Big Brother apps
  • Clone and run multiple accounts simutaniuosly
  • Freeze or archive apps and prevent any background behaviors
  • Unfreeze apps on-demand with home screen shortcuts
  • Re-freeze marked apps with one tap
  • Hide apps
  • Selectively enable (or disable) VPN for different group of apps
  • Prohibit USB access to mitigate attacks with physical access
If your device is incompatible or not encrypted, you can skip this limitation manually. Please refer to the XDA post for details. To uninstall and remove Insular completely, please first "Destroy Insular" in Settings - Setup - Click the recycle-bin icon besides Insular. If you have already uninstalled Insular app, please "Remove work profile" in your device "Settings - Accounts".

PERMISSIONS

  • DEVICE-ADMIN: Device administrator privilege is required to create the Insular space (work profile), which serves as the fundamental functionality of Insular. It will be explicitly requested for your consent.
  • PACKAGE_USAGE_STATS: Required to correctly recognize the running state of apps. It will be explicitly requested for your consent.
We will never collect any data and Insular have no Internet permission. Please read our privacy policy for more details.

Differences from Island

  • all blobs (gms, crashlytics, etc) are removed to comply with F-droid's policy
  • Internet access of this app is removed because we just don't need it
  • All features are preserved and will be synced upon Island's updates
Close

Permissions

22 permissions requested

  • com.android.launcher.permission.INSTALL_SHORTCUT
  • com.android.launcher.permission.UNINSTALL_SHORTCUT
  • android.permission.POST_NOTIFICATIONS
  • android.permission.INTERACT_ACROSS_USERS
  • android.permission.ACCESS_NETWORK_STATE
  • android.permission.WRITE_SECURE_SETTINGS
  • android.permission.PACKAGE_USAGE_STATS
  • android.permission.RECEIVE_BOOT_COMPLETED
  • android.permission.REQUEST_DELETE_PACKAGES
  • android.permission.FOREGROUND_SERVICE
  • android.permission.REQUEST_INSTALL_PACKAGES
  • android.permission.SYSTEM_ALERT_WINDOW
  • android.permission.QUERY_ALL_PACKAGES
  • com.oasisfeng.island.permission.INSTALLER
  • android.permission.WAKE_LOCK
  • android.permission.INTERACT_ACROSS_PROFILES
  • android.permission.GET_APP_OPS_STATS
  • com.oasisfeng.island.fdroid.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
  • android.permission.UPDATE_PACKAGES_WITHOUT_USER_ACTION
  • android.permission.USE_BIOMETRIC
  • android.permission.USE_FINGERPRINT
  • moe.shizuku.manager.permission.API_V23
Close

Sources

2 sources

6.4.2-d46911c9 F-Droid · com.oasisfeng.island.fdroid · com.oasisfeng.island.fdroid
Selected Download
6.4.2-d46911c9 F-Droid · com.oasisfeng.island.fdroid · com.oasisfeng.island.fdroid
Download