Skip to content

Releases: sidex15/susfs4ksu-module

v1.5.2+ Revision 27

27 Mar 14:23

Choose a tag to compare

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 --help argument 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_layout file tag at the /data/adb/ksu/susfs4ksu when 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)>
  • 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_layout first 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

06 Mar 03:37

Choose a tag to compare

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
  • 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

29 Jan 09:02

Choose a tag to compare

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:

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

03 Jan 10:16

Choose a tag to compare

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:

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

19 Oct 08:34

Choose a tag to compare

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:
      1. All of the SUSFS stats and boot/dmesg logs (until boot-completed)
      2. Latest Dmesg Log of SUSFS
      3. Mountinfo and Maps of Zygote64
      4. Mountinfo of PID 1
      5. Dmesg Log of KSU
  • 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:

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

26 Sep 06:14

Choose a tag to compare

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

07 Sep 13:13

Choose a tag to compare

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:

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

06 Jul 13:27

Choose a tag to compare

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:

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

12 Jun 08:20

Choose a tag to compare

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:
  • 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

EDIT: Reupload for hotfix

v1.5.2+ Revision 18

02 May 12:50

Choose a tag to compare

WebUI

  • Localization:
  • 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