Isolate your Big Brother Apps, using Work Profiles
Go to file
Peter Cai 77c1dfd3cb
update Android gradle plugin
2018-09-26 09:06:14 +08:00
.idea Shelter: implement cross-profile interaction 2018-08-20 16:10:31 +08:00
app DocumentsProvider: correctly handle non-default projections 2018-09-21 16:31:05 +08:00
art update launcher icon by my friend :) 2018-09-04 21:21:30 +08:00
gradle/wrapper update Android gradle plugin 2018-09-26 09:06:14 +08:00
.gitignore .gitignore: ignore release folder 2018-08-23 20:05:25 +08:00
LICENSE add LICENSE 2018-08-20 21:07:41 +08:00
README.md bump to version 1.2 (7) 2018-09-21 07:47:29 +08:00
build.gradle update Android gradle plugin 2018-09-26 09:06:14 +08:00
gradle.properties initial commit 2018-08-19 20:50:30 +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 initial commit 2018-08-19 20:50:30 +08:00

README.md

Shelter

Get it on Google Play Get it on F-Droid

Note: the GitHub repository is merely a mirror. Although I also accept pull requests and issues from GitHub, I'd recommend you to go to the main repository at https://git.angry.im/PeterCxy/Shelter

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

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)

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.

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: You could file an issue on either the main repository at https://git.angry.im/PeterCxy/Shelter or the mirror repository at https://github.com/PeterCxy/Shelter. Please include your system information as well as a logcat if possible.