Releases: sidex15/susfs4ksu-module
Releases Β· sidex15/susfs4ksu-module
v1.5.2+ Revision 27
Notes
This is a small but major update, especially with the introduction of unified/universal susfs binary and custom sus_kstat
Universal SUSFS Binary
- Implement universal binary for ksu_susfs
- This will support v1.5.x, v2.x.x, and beyond, even on future susfs versions
- The universal binary is using prctl (v1.5.x) and sys_reboot (v2.0.0+) depending on the susfs version implemented in the kernel.
- Cleaner help menu and add additional info in the help menu
- Add
--helpargument for more help on the specific info. - CMD arguments on the help menu are showing the available CMDs for specific susfs kernel version
- Automatically adds
using_old_sus_path_layoutfile tag at the/data/adb/ksu/susfs4ksuwhen it's using old sus_path (early v2.0.0) and new sus_path (post v2.0.0+)
- More technical changes here
WebUI
- Implement custom SUS_KSTAT entry section.
- You can now add or edit sus_kstat entries
- Consolidate custom susfs feature text area into one section.
- Fix toggles in custom rom settings
- Enhance setupBooleanToggle to support custom on/off states
- Add 'Use sus path loop' option and enhance toggle functionality for Vold App Data
- Localization
- New Crowdin translations by GitHub Action
- update languages xml
Scripts
- scripts/binary: implement susfs universal binary
- scripts: service/boot-completed: add 4th parameter (uid_scheme) in the custom open redirect for susfs v2.1.0+
- Sample parameter for custom open redirect for susfs v2.1.0+
<original_path> <redirected_path> <0 or 1 (execute boot stages)> <0-4 (uid_scheme)>
- Sample parameter for custom open redirect for susfs v2.1.0+
- scripts: boot-completed: add option to use add_sus_path_loop instead of add_sus_path for vold app data emulation
- scripts: post-fs-data: delete
using_old_sus_path_layoutfirst for rechecking old and new sus_path layout - scripts: action/customize: set maximum timeout check for cloud binary to 5 seconds
- scripts: service/boot-completed: refactor kstat code on open redirect code block
- scripts: action: show latest susfs binary message when there's a new update
- scripts: service/boot-completed: remove clone permissions on custom open_redirect
- scripts: service: don't use susfs_clone_perm on susfs v2.1.0+
- scripts: boot-completed: execute sus_path related code at nearly end of the script
v1.5.2+ Revision 26
Notes
The development for this module will be expected to be slower than usual as I'm working on my Master's thesis in my post-graduate studies... But if issues persists I will take issues and fix them as soon as possible, just submit an issue request... PRs are welcome though! π
For now, use CI Version of the module for more continuous updates (experimental, so issues are expected)
WebUI
- Add skip legit mounts toggle for auto try umount (userspace)
- Implement Set Stock Kernel Build Date button for Spoof Kernel Uname Section
- Refactor JS codebase
- Fix custom settings toggles and remove redundant scripts in vite config
- Fix keyboard issue on custom open redirect
- Localization
- New Crowdin translations by GitHub Action
- update languages xml
Scripts
- scripts: boot-completed: add skip_legit_mounts option to skip legit mounts from auto try_umount list
- You could add more legit mounts to exclude on
/data/adb/susfs4ksu/legit_mounts.txt
- You could add more legit mounts to exclude on
- scripts: customize: add user option to reset or keep susfs4ksu settings
- scripts: boot-completed: Refactor custom sus_path and sus_path_loop functions
- scripts: config: set hide_sus_mnts_for_all_or_non_su_procs=1 by default
- scripts: boot-completed: improve susfs version sed matching
- scripts: config: Disable all settings by default
- Revert "scripts: service: use susfs open redirect for hide_vendor_sepolicy hide_compat_matrix and fake_service_list for susfs v2.0.0+"
- scripts: service: Uncomment kstat commands in service.sh
- scripts: service: log bind mounts on hide vendor sepolicy and hide compat matrix
- scripts: customize: add legit_mounts.txt to the persistent dir folder
- scripts/workflow: customize: exclude README.md and LICENSE in the CI module content
Misc
- Add susfs4ksu shortcut icon
v1.5.2+ Revision 25
WebUI
- add custom open redirect section
- hide auto-hide features if it is not supported, disabled, or deprecated in the susfs kernel
- enable custom try_umount section for KernelSU V2.0+
- Remove spoof service list toggle
- rename hide_sus_mnts_for_all_procs to hide_sus_mnts_for_all_or_non_su_procs
- add turn off after boot completed option for hide sus mounts for all/non-su processes
- fix susfs kernel features translation
- Localization:
- Implement Crowdin Localization support
- fallback to english for some labels that are not translated yet
- fill out missing label on some languages for crowdin compliance
Scripts
- scripts: implement custom susfs open redirect feature
- scripts: service/boot-completed: clone permissions on every check on custom open redirect
- scripts: service/boot-completed.sh: spoof ino and dev stat on custom open redirect
- scripts: service: deprecate fake service list feature
- scripts: boot-completed: temporarily disable hide sus mounts for all processes in auto try umount (userspace)
- scripts: customize/boot-completed: remove imposter checks
- scripts: customize: remove architecture check
- scripts boot-completed/post-fs-data: add support for ksud umount in hide dex2oat mounts
- scripts: post-mount/boot-completed: improve while loop and string conditions for custom susfs features
- scripts: boot-completed: rework custom sus_path and sus_path_loop
- scripts: post-fs-data/boot-completed: rework hide sus mounts for all processes to comply with latest susfs commit
- scripts post-fs-data/boot-completed: rework and rename "hide_sus_mnts_for_all_procs" to "hide_sus_mnts_for_all_or_non_su_procs"
- scripts: boot-completed: count sus_mounts generated in /proc/1/mountinfo for sus_mount stats
- scripts: boot-completed.sh: Turn off hide_sus_mnts_for_all_procs after boot completed if configured as hide_sus_mnts_for_all_or_non_su_procs = 2
- scripts: boot-completed: rename 'susfs4ksu/post-fs-data' to 'susfs4ksu/boot-completed'
- scripts: boot-completed: refactor sus_path code block
- scripts: boot-completed: remove run on background on sus_path code block
Binaries
- cloud-binaries: return error if there's an invalid argument
- local-inaries: return error if there's an invalid argument
Hotfix
- fix keyboard issue on custom open redirect
v1.5.2+ Revision 24
Happy new year everyone! ππ First Revision of 2026!
WebUI
- add support for susfs v2.0.0+
- implement userspace auto try_umount feature (v1.5.5+)
- This is a userspace approach to the auto_try_umount instead of the kernel-level auto try_umount
- for susfs v2.0.0+ it uses ksud kernel umount feature if susfs try_umount is deprecated
- set values to false when the feature toggle is greyed out (susfs feature not supported)
- use new versioning system
- hide custom sus path if feature not in kernel
- hide custom sus_mount and custom try_umount under certain conditions
- add KSU module list in send logs
- deprecate susfsd
- remove susfsd when checking the kernel variant
- fix sus_su on boot toggle
- Localization:
- Update Various translations (@mehu3dhokia, @DogancanYr, @Neebe3289)
Scripts
- scripts: boot-completed: implement userspace auto try_umount feature
- scripts: boot-completed: use ksud kernel umount on custom try_umount if susfs try_umount is disabled/deprecated (KernelSU v2.0+)
- scripts: boot-completed: execute ksud umount enable first before executing ksud kernel umount
- scripts: boot-completed: improve if statement on auto_try_umount (userspace) feature
- scripts: boot-completed/sepolicy: Add ksud kernel unmount for revanced mounts
- scripts: boot-completed: count 'try_umount (KSUD)' logs to susfs_stats.txt
- scripts: boot-completed: move enable ksud umount feature to the bottom before susfs logging
- scripts: boot-completed: Fallback to older susfs mount IDs if no mounts found within 500k range
- scripts: boot-completed: update grep pattern to match mount IDs starting with 1, 3, or 5 (100000-199999, 300000-399999, 500000-599999)
- scripts: boot-completed: Automatically disable and skip userspace auto try umount if susfs_no_auto_add_try_umount_for_bind_mount file does not exist for susfs v1.5.5-v1.5.12
- scripts: boot-completed: fix logical error on hide sus mounts for all processes
- scripts: service: always disable and never check sus_su when the susfs version is v2.0.0+
- scripts: remove old kernel_ver variable
- scripts: boot-completed: Update version check to include v2.x.x on set_sdcard_root_path and set_android_data_root_path
- scripts: rework versioning system
- scripts: deprecate susfsd
- scripts: customize: don't install sus_su and susfsd if the susfs version is on v2.0.0+
- scripts: Hide "lineage" from /vendor/etc/selinux/vendor_file_contexts (#193) (@gavdoc38)
- scripts: post-fs-data: use ksu_susfs show enabled_features to check if susfs is supported
- scripts: customize/binaries: appropriately check susfs implementation by checking KernelSU version
Binaries
- local-binaries: add susfs v2.0.0 local binary
- cloud-binaries: add support for v2.0.0+
- cloud-binaries: add new branch for new versioning system
Notes
- Sorry for the very late update :( I was very busy for my Master studies and testing susfs v2.0.0 on non-gki
- I just wanna thank to all susfs4ksu module CI testers there for testing the new features and bug hunting my module π«‘
Hotfix (01/08/2026)
- WebUI: hide auto-hide features if they are not supported, disabled, or deprecated in the susfs kernel
- boot-completed: temporarily disable hide sus mounts for all processes in auto try umount (userspace)
- scripts boot-completed/post-fs-data: add support for ksud umount in hide dex2oat mounts
v1.5.2+ Revision 23
WebUI
- Add Danger Zone section
- Send Logs
- Export Config
- Reset all settings
- Implement Send Logs to SUSFS Developers
- /sdcard/susfs_logs.tar.gz contains the following:
- All of the SUSFS stats and boot/dmesg logs (until boot-completed)
- Latest Dmesg Log of SUSFS
- Mountinfo and Maps of Zygote64
- Mountinfo of PID 1
- Dmesg Log of KSU
- /sdcard/susfs_logs.tar.gz contains the following:
- Implement Export Config (saved at /sdcard/susfs_settings.tar.gz)
- Implement Reset all settings
- Implement Custom SUS_MAP section
- Redesign Stats Display
- Add 'Edit With' button to use external text editor app on custom sus_path sus_path_loop sus_map sus_mount and try_umount section
- Various responsive design fixes
- Improved layout for smaller and bigger screens
- Custom sus_path, sus_path loop, sus_map, sus_mount, and try_umount text box fields are slightly bigger
- Add deprecated label for SUSFS Features that has been deprecated on newer versions
- Fix susfs_version_decimal function
- Localization:
- Update Various translations (@mehu3dhokia, @luigimak, @Neebe3289)
Scripts
- scripts: Implement Custom SUS_MAP for late v1.5.12+
- scripts: add susfs_reset.sh
Binaries
- cloud-binaries: add v1.5.11 and v1.5.12 binaries to cloud
Note
Use a rooted code editor of your choice if you use open with button because non-root apps don't have access
v1.5.2+ Revision 22
These are minor changes to fix binary update to v1.5.10
WebUI
- WebUI: use run function to convert susfs version to a decimal version
Scripts
- scripts/service: deprecate some futile props
Binaries
- binaries: update local binaries to v1.5.9
- cloud-binaries: add v1.5.10 binaries to cloud (uses v1.5.9 binaries as the latest KSU Upstream is reverted)
v1.5.2+ Revision 21
WebUI
- Introduce custom sus_path_loop section for latest v1.5.9+
- Add checkbox for uname version and build date in the Spoof Uname section
- Use hide_sus_mnts_for_all_procs config instead of creating /data/adb/susfs_umount_for_zygote_iso_service
- Implement AVC Log Spoofing toggle for v1.5.9+
- Add Emulate Vold App Data Emulation Toggle v1.5.8+
- Add capability to disable webui binary update if disable_webui_bin_update=1
- Fix toast messages in custom settings
- Localization:
- Fix Various translations (@mehu3dhokia, @Alohaa666, @ziomek3120)
Scripts
- scripts: boot-completed: introduce custom sus_path_loop configuration for latest v1.5.9+
- scripts: customize: add sus_path_loop.txt
- scripts: config: add disable_webui_bin_update config
- scripts: boot-completed/config: implement vold app data emulation
- scripts: post-fs-data/config: implement AVC log spoofing feature
- scripts: post-fs-data/config: implement umount for zygote isolated service config
- scripts: customize/boot-completed: improve search for the SuSpicious module
- scripts: boot-completed: tighten search for LH_SUS_MOUNT and LH_TRY_UMOUNT_PATH string
- scripts: add 'susfs:' search string in susfs logs
- scripts: boot-completed: use susfsd for checking susfs version
- scripts: boot-completed: wait for /sdcard/Android/data (@backslashxx)
- scripts: boot-completed: wait for decrypt before sus_path (@backslashxx)
- scripts: post-fs-data: follow the rules of GitHub Community guidelines.
Misc
- selinux: allow netd rule for bindhosts susfs open redirect mode
- sepolicy: allow zygote apk_data_file dir
- sepolicy: add rule for sus_path_loop
- config: update sus_path.txt
Note: If you have a problem with YouTube/YouTube Music Revanced not working after updating this module, you should disable the umount toggle in the YouTube app, or see issue #160
v1.5.2+ Revision 20
WebUI
- Implement SUSFS Userspace Binaries Update Dialog
- Add Hide sus_mounts for all processes toggle for v1.5.7+
- Add Try umount for zygote isolation service toggle (V1.5.8+)
- Use susfsd features if ksu_susfs show enabled_features throws an error
- Show spoofed kernel uname label and values in spoof kernel uname
- Fix auto overlayfs kstat status
- Add SUS Kstat support status
- Use @KOWX712 exec function for WebUI
- Fix Russian credits
- Localization:
- Fix Various translations (@mehu3dhokia, @mattchengg)
Scripts
- scripts: Implement SUSFS Binary Update Script for WebUI
- scripts: improve SUSFS logging and stats Instead of using sleep function
- scripts: boot-completed: set first the sdcard and android data root path first for sus_path (v1.5.8)
- scripts: add susfs binary check script for WebUI
- scripts: customize/action: change test download binary command
- scripts: post-fs-data: use susfsd to check if susfs is supported
- scripts: service: comment out add_sus_kstat and update_sus_kstat in hide vendor, compat matrix, and spoof service.
- scripts: action: use download function instead of curl for checking susfs hashes
- scripts: boot-completed: refactor custom sus_path handling
- scripts: customize: skip verifiedboothash creation if vbmeta-fixer or tricky addon is installed
- scripts: service: fix sus system_ext sepolicy (Thanks @devnoname120)
- scripts: config/boot-completed: implement hide sus mounts for all processes for susfs v1.5.7+
- scripts: boot-completed: always count sus_path on boot-scripts execution instead of finding in dmesg.
Misc
- Add SUSFS banner
v1.5.2+ Revision 19
WebUI
- Introducing SuSFS Kernel Status
- This will provide insights of what are the SUSFS Features are enabled to your kernel (Requires susfs v1.5.3 kernel and higher)
- Introducing Custom ROM path hide levels slider
- Provides 5 levels of custom rom path levels with description
- Add Help Button in the Custom Settings
- Localization:
- Add German Language (@Vndkbopp77)
- Add Polish Language (@ziomek3120)
- Add Italian Language (@luigimak)
- Add Japanese Language (@turbo-boo)
- Add Traditional Chinese Language (@mattchengg)
- Other Localization fixes
- Separate Custom ROM settings to a new section
- Rename Force Hide LSPosed Mounts to Force Hide Dex2oat Mounts
Scripts
- scripts: boot-completed: implement custom rom path hide levels
- Level 1: Exclude .apk, .jar, .odex, .vdex, .so, .rc, and /vendor/bin/hw/ files
- Level 2: Exclude .apk, .jar, .odex, .vdex, .so, and /vendor/bin/hw/ files
- Level 3: Exclude .apk, .jar, .odex, .vdex, and /vendor/bin/hw/ files
- Level 4: Exclude .apk, .jar, and /vendor/bin/hw/ files
- Level 5: Hide all custom rom paths (Most Aggressive. Risky and it could cause issues)
- scripts: customize: fix susfsd installation
- scripts: post-mount/boot-completed: Move custom sus_path execution to boot-completed.sh
- scripts: boot-completed: check if those props exists in /proc/cmdline else use /proc/bootconfig in spoof cmdline/bootconfig
- scripts: boot-completed: add notice to the user if there's a module tampering susfs settings without consent
- scripts: service: Hide cloudphone detection (Thanks @ReeViiS69)
- scripts: service: Hide adb prop by removing sys.usb.adb.disabled
- scripts: service: comment out HMA-Related Props
- You could enable it by removing the comments in
/data/adb/modules/susfs4ksu
- You could enable it by removing the comments in
EDIT: Reupload for hotfix
v1.5.2+ Revision 18
WebUI
- Localization:
- Add Arabic Language (Thanks @ZG089)
- Add Persian Language (Thanks @AlirezaParsi)
- Add Vietnamese Language (Thanks @Wuang26)
- Add Russian Language (Thanks @Alohaa666)
- Various fixes on Chinese language (Thank @YangQi0408 and @mehu3dhokia)
- Add a Dialog when SUSFS is not installed in the kernel
- Reduce Font Size
- Various UI Adjustments
- Rephrase susfs stats toast message
- Disable back handling for MMRL/WebUI-X
- fix blue character and add default yellow character
Scripts
- scripts: action: implement susfs4ksu userspace tool update script
- Action button to update susfs4ksu userspace binaries, so no need to reinstall the module when updating your kernel to the newest SUSFS version.
- scripts: customize: add susfsd from KernelSU-Next
- scripts: move mount folder to either /mnt or /mnt/vendor
- scripts: service/utils: remove check_vbmeta_prop function and add missing prop condition to check_reset_prop
- scripts: service/utils: Add ro.boot props if missing using check_missing_match_prop
- scripts: service: convert verifiedboothash value from uppercase to lowercase
- scripts: service/utils: prevent overwriting some ro.boot.vbmeta props using check_missing_prop
- scripts: service/customize: implement persistence on ro.boot.vbmeta.size (Thanks @TeenyAntX)
- scripts: config: make custom settings all disabled by default (Thanks @TeenyAntX)
- scripts: uninstall: add /data/adb/ksu/susfs4ksu
- scripts: service: reset vold app data isolation prop (Thanks @rifsxd)
- scripts: customize: chmod 644 to other scripts