This app requires Device Admin permissions to work. If you question what it does with the permission, please read or audit the source code, you can also build from the source code on your own.
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 at https://git.angry.im/PeterCxy/Shelter or mirror https://github.com/PeterCxy/Shelter 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
===
- Run apps inside the isolated profile so they cannot access your data outside the profile
- “Freeze” (disable) background-heavy or seldom-used apps when you don’t need them. This is especially true if you use apps from "some company".
- Clone apps to use two accounts on one device
Caveats
===
Shelter is not a full sandbox implementation. It cannot protect you from:
- Security bugs of the Android system or Linux kernel
- Backdoors installed in your Android system (so please use an open-source ROM if you are concerned about this)
- Backdoors installed into the firmwares (no way to work around this)
- Any other bugs or limitations imposed by the Android system.
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.
此应用需要设备管理员权限才能运行。如果您对该权限的作用有疑问,请阅读或审核源代码,您也可以自己构建源代码。
Shelter是一款免费开源(FOSS)应用程序,它利用Android的“工作资料”功能提供可以安装或克隆应用程序的隔离空间。
Shelter绝对没有与之捆绑的广告/统计/跟踪SDK。所有源代码均可在https://git.angry.im/PeterCxy/Shelter或镜像https://github.com/PeterCxy/Shelter获得,并且这些源代码在WTFPL下获得许可。
此应用程序取决于您的Android系统的工作资料的实施。某些供应商/自定义ROM可能具有损坏的实现,可能导致设备崩溃甚至崩溃。一个这样的例子是来自小米的MIUI。我目前不支持此类ROM,因为我个人并不拥有任何这些设备。如果您在这些ROM上运行Shelter,那么您就是自己的。如果任何开发人员拥有这些设备并且可以使Shelter在这些ROM上运行,请发送pull请求,我很乐意将它们合并。
功能/用例
===
- 在隔离的配置文件中运行应用程序,以便他们无法访问配置文件外的数据
- 当您不需要时,“冻结”(禁用)背景沉重或很少使用的应用程序。如果您使用“某些公司”的应用程序,则尤其如此。
- 克隆应用以在一台设备上使用两个帐户
注意事项
===
Shelter不是一个完整的沙盒实现。它无法保护您免受:
- Android系统或Linux内核的安全漏洞
- 安装在Android系统中的后门(如果您担心这一点,请使用开源ROM)
- 后门安装到固件中(无法解决此问题)
- Android系统强加的任何其他错误或限制。
此外,Shelter无法在一台Android设备上创建超过1个工作资料,也无法与管理工作资料的任何其他应用程序共存。这是由于Android系统的局限性,我对此无能为力。
常见问题解答
===
问:为什么不使用Greenify的创建者OasisFeng的Island?
答:仅仅因为它不是FOSS应用程序,它与非免费SDK捆绑在一起。请注意,这并不一定意味着Island具有跟踪等功能(我认为它没有),只是我将Shelter作为FOSS替代它。除了这个之外,没有其他理由可以让人更喜欢Shelter over Island。
问:为什么Shelter总是在后台运行?
答:每次关闭时,请尝试从“最近的应用程序”中删除Shelter。如果它仍然存在于您的通知中且耗尽电量,您可能遇到了错误。请提交错误报告。
问:如何从设备中卸载Shelter?
答:1)转到设置 - >帐户删除工作资料; 2)转到设置 - >安全 - >高级 - >设备管理应用,从设备管理应用中删除Shelter; 3)正常卸载Shelter。
问:如果我遇到错误,我该如何举报?
答:您可以在https://git.angry.im/PeterCxy/Shelter上的主存储库或https://github.com/PeterCxy/Shelter上的镜像存储库中提交问题。如果可能,请包括您的系统信息以及logcat。