Browse by type
A Zygisk module to hide root.
Report Bug · Request Feature · Latest Release
[!NOTE] This module currently focuses to hide root & zygisk from apps. Updates will gradually implements changes and fixes.
Using the release build is recommended over the debug build. Only use debug builds if you are going to make a bug report.
Enforce DenyList in ZygiskNext/ReZygisk settings if there is one.Enforce DenyList in ZygiskNext/ReZygisk settings if there is one.Enforce DenyList in Magisk settings.Enforce DenyList in ZygiskNext/ReZygisk settings if there is one. (if installed)You can set the working mode to whitelist (instead of the default blacklist) by creating an empty regular file /data/adb/nohello/whitelist.
[!WARNING] Using Mount Rule System with whitelist, can cause severe overheating & performance issues, due to how MRS being evaluated each time a process spawns.
This can be solved if you make NoHello evaluates Mount Rule System per boot/companion instance, by creating an empty regular file /data/adb/nohello/umount_persist/data/adb/nohello/umount_persists
Since version 0.0.5, NoHello introduces Mount Rule System.
This allows users to define rules that control how mount points are evaluated for auto-unmounting.
Rules are fully configurable and match based on mount point properties like root path, mount path, filesystem type, or source.
MountRules can be customized via /data/adb/nohello/umount.
A rule is made up of sections, each consisting of a keyword, followed by a list of values enclosed in {}:
<keyword> { <value1> <value2> ... }
Valid keywords are:
| Keyword | Matches against | Supports Wildcards | Description |
|---|---|---|---|
root |
Root path of the mount | Yes (*, escape by \*) |
Root of the mount in /proc/self/mountinfo |
point |
Mount point path | Yes (*, escape by \* only at the beginning & ending) |
Where the filesystem is mounted |
fs |
Filesystem type | No | Matches exact filesystem type, e.g. ext4, erofs, etc |
source |
Source device or file | Yes (*, escape by \*) |
e.g., /dev/block/xyz, magisk, etc |
tmpfs filesystems mounted under /data/adb:fs { "tmpfs" } point { "/data/adb/*" }
tmpfs source:source { "tmpfs" }
point { "/mnt/specific/path" }
data:source { "*data" }
/acct and fs type cgroup:root { "/acct*" } fs { "cgroup" }
You can quote values with single or double quotes:
point { "/mnt/with space" '/custom\ path' }
You may escape characters like *, {, }, and " using backslashes (\) if needed.
Wildcards are supported only in root, point, and source. The supported patterns are:
*value*: matches substring anywhere*value: matches suffixvalue*: matches prefix*[!NOTE] - You can define multiple rules, each as a separate line. - All rules are evaluated independently. - Matching is case-sensitive and optimized for performance.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
git checkout -b feature/FeatureName)git commit -m 'Add some FeatureName')git push origin feature/FeatureName)This project is licensed under the MIT License.
$ claude mcp add NoHello \
-- python -m otcore.mcp_server <graph>