Isolate your Big Brother Apps, using Work Profiles
Go to file
Peter Cai 8692e558fc update SetupWizardLibrary
* for dependency upgrades
2021-03-18 16:48:34 +08:00
.idea .idea: whatever IDEA decided to change 2021-03-17 15:35:20 +08:00
app app: build.gradle: bump version to 1.7-dev1 2021-03-18 16:33:55 +08:00
art update launcher icon by my friend :) 2018-09-04 21:21:30 +08:00
gradle/wrapper chore: update dependencies and build tools 2021-03-13 15:47:10 +08:00
libs update SetupWizardLibrary 2021-03-18 16:48:34 +08:00
repackage use a repackaging script to remove File Shuttle for Google Play 2020-09-29 14:24:54 +08:00
.gitignore use a repackaging script to remove File Shuttle for Google Play 2020-09-29 14:24:54 +08:00
.gitmodules import SetupWizardLibrary 2021-03-15 16:46:29 +08:00
CHANGELOG.md add setup wizard to changelog 2021-03-17 21:18:52 +08:00
LICENSE add LICENSE 2018-08-20 21:07:41 +08:00
README.md README: add link to GitHub releases for now 2020-09-29 14:44:24 +08:00
build.gradle chore: update dependencies and build tools 2021-03-13 15:47:10 +08:00
gradle.properties migrate to androidx artifacts 2018-09-26 09:27:08 +08:00
gradlew initial commit 2018-08-19 20:50:30 +08:00
gradlew.bat initial commit 2018-08-19 20:50:30 +08:00
settings.gradle import SetupWizardLibrary 2021-03-15 16:46:29 +08:00

README.md

Shelter

Get it on Google Play Get it on F-Droid

You can also download APKs released and signed directly by me here, in case you want the full-featured version but do not want to go through uninstalling the Google Play version and re-installing the F-Droid version.

Translation status

Note: main repository: https://cgit.typeblog.net/Shelter/. The GitHub repository is only a mirror. I do not guarantee the GitHub repository will be up-to-date.

For bug reports and patches (pull requests), please use the following contact methods:

For translations, please use our Weblate interface at https://weblate.typeblog.net/projects/shelter/shelter/ to submit new translated strings for Shelter.

On GitHub, any new issues or pull requests will not be read or accepted. Please use the contacts listed above.

Note: The F-Droid version is automatically built and signed by the F-Droid server on each update of Shelter. The build is not managed by the author and could lag behind the updates from Play Store and this repository for several days due to high server load.

Shelter - Isolate your Big Brother Apps / Multiple Accounts

Shelter is a Free and Open-Source (FOSS) app that leverages the "Work Profile" feature of Android to provide an isolated space that you can install or clone apps into.

Shelter comes with absolutely no advertisement / statistics / tracking SDKs bundled with it. All source code is available in this public Git repository and the sources are licensed under WTFPL.

This app depends on your Android system's implementation of Work Profile. Some vendor / custom ROMs may have a broken implementation that may cause crashes and even bricking of your device. One such example is MIUI from Xiaomi. I currently provide no support for such ROMs because I personally do not own any of these devices. If you are running Shelter on these ROMs, you are on your own. If any developer out there own these devices and could make Shelter run on these ROMs, please send pull requests and I'll be happy to merge them.

Features / Use Cases

  1. Run "Big Brother" apps inside the isolated profile so they cannot access your data / files outside the profile
  2. "Freeze" (disable) background-heavy, tracking-heavy or seldom-used apps when you don't need them. This is especially true if you use apps from Chinese companies like Baidu, Alibaba, Tencent.
  3. Clone apps to use two accounts on one device

Known Issues

  1. "Split APKs" (APKs that consist of multiple sub-packages) cannot be cloned properly. This includes a lot of applications on the Play Store (e.g. WhatsApp). When possible, use "Install APK into Shelter" from the menu instead.
  2. File Shuttle is not supported on Android 10
  3. Shelter must be installed in INTERNAL STORAGE, otherwise the initialization process will fail.
  4. You have to click a notification in order to finish the initialization process due to the limitations of background apps introduced since Android 10. When initializing, please make sure you are not in "Do Not Disturb" mode.

Caveats

Shelter is not a full sandbox implementation. It cannot protect you from:

  1. Security bugs of the Android system or Linux kernel
  2. Backdoors installed in your Android system (so please use an open-source ROM if you are concerned about this)
  3. Backdoors installed into the firmwares (no way to work around this)
  4. Any other bugs or limitations imposed by the Android system. (i.e. If Android chooses to expose some information into the work profile, there is nothing I could do about it)

For information that may still be exposed to the work profile, please refer to this support article by Google: https://support.google.com/work/android/answer/6191949?hl=en. Note that though the section "what data about my device is visible to my organization" is about the information visible to administrator, not necessarily every application, the fact that those information are not totally isolated is still a big caveat to the work profile feature.

Also, Shelter cannot create more than 1 work profile on one Android device, and cannot co-exist with any other apps that manages a Work Profile. This is due to the limitations of the Android system, and I can do nothing about this.

FAQS

Q: Why not use Island by OasisFeng, the creator of Greenify?
A: Simply because it is not an FOSS app and it bundles with non-free SDKs. Note that this doesn't necessarily mean that Island has anti-features like tracking (and I don't think it has either), it's just that I wrote Shelter as an FOSS replacement of it. There is no other reason why one would prefer Shelter over Island except for this one. This is no longer true. Island is now also FOSS, but I am keeping this project for my stupid affection for WTFPL.

Q: Why does Shelter always run in background?
A: Please try removing Shelter from "Recent Apps" every time you close it. If it still persists in your notifications and eating up battery, you might have encountered a bug. Please file a bug report.

Q: How do I uninstall Shelter from my device?
A: 1) Go to Settings -> Accounts to remove the work profile; 2) Go to Settings -> Security -> Advanced -> Device admin apps to remove Shelter from Device Admin apps; 3) Uninstall Shelter normally.

Q: If I encounter bugs, how do I report them?
A: Please send a message to our mailing list https://lists.sr.ht/~petercxy/shelter. You may also join our Matrix chat room at #shelter:neo.angry.im.

Q: How do I support the project?
A: You can submit issues if you find a bug or have an idea about features of Shelter; you may also contribute code to this project if you can code; providing translations is also welcomed. If you have some extra money lying around, you can also support me on Patreon.