Modules / magic_mount_rs

Magic Mount-rs

META

An implementation of a metamodule using Magic Mount, Based on MKSU, Template is from meta-overlay.

README

An implementation of a metamodule

Magic Mount Metamodule

Telegram

Version GitHub Downloads

English Русский

为 KernelSU/APatch 提供 Systemless 修改功能。

作者由于学业原因,更新会放缓


配置

配置文件路径:

/data/adb/magic_mount/config.toml

mountsource = "KSU"
umount = false
partitions = []
字段 说明
mountsource Systemless 挂载来源标识。默认值 “KSU” 与 KernelSU 行为保持一致。
umount 是否尝试卸载(依赖 KernelSU umount )。
partitions 指定需要进行 Systemless 操作的特定分区列表,例如 “mi_ext”,“my_stock” 等。

也可通过 WEBUI 进行配置(推荐)。


开发

依赖:

  • Rust nightly toolchain

  • Android NDK

  • cargo-ndk

  • Node.js / npm

  • pnpm and vite as dependency and frontend for webui

环境变量:

export ANDROID_NDK_HOME=<path/to/ndk>
export ANDROID_NDK_ROOT=$ANDROID_NDK_HOME

构建:

cargo xtask build

构建产物将位于:

  • output/magic_mount_rs-*.zip

致谢

许可证

本项目除 libs/module/libs/ 目录下的文件外,其余所有文件均基于 Apache 2.0 许可证 开源。

注意: libs/module/libs/ 目录内的代码不进行开源,不适用上述 Apache 2.0 许可。

Star History

Star History Chart

Release History

v4.0.2

Published on June 15, 2026
Download

What's Changed in 4.0.2

  • chore: remove upload artifacts in release action
  • opt: opt get git-cliff way
  • fix: fix autorelease cannot build all targets
  • fix: Potential fix for code scanning alert no. 6: Workflow does not contain permissions
  • refactor: use split package
  • chore(deps-dev): bump the crates group in /webui with 2 updates
  • refactor: refactor deps manager
  • style: fmt
  • cliff: ignore start with update

Full Changelog: Tools-cx-app/meta-magic_mount-rs@v4.0.1...v4.0.2

What's Changed in 4.0.1

  • chore: cleanup
  • feat: Implement integrity verification
  • ci-bot: handle lt and gt symbols and wait for last ci finish
  • chore(deps): bump log from 0.4.30 to 0.4.32 in the crates group
  • chore(deps-dev): bump the crates group in /webui with 2 updates
  • chore(deps): bump the crates group with 2 updates
  • chore(deps): bump the crates group in /webui with 4 updates
  • dependabot: remove ignored package: eslint
  • chore: make cargo clippy happy
  • fix: fix ap update_desc when version is lower than 11211
  • workflows: tiny workflows
  • chore(deps): bump pnpm/action-setup from 6.0.6 to 6.0.8 in the actions group
  • chore(deps-dev): bump the crates group in /webui with 2 updates
  • feat: add SukiSU-Ultra's detection
  • opt: add file exists check in bind_mount
  • chore(deps-dev): bump the crates group in /webui with 2 updates
  • chore(deps): bump pnpm/action-setup from 6.0.5 to 6.0.6 in the actions group
  • license: using SPDX
  • licenserc: skip .github/bot/requirements.txt and .hintrc
  • fix: fix bind mount umount stage time error
  • adj: adj umount stage time
  • chore(deps): bump pnpm/action-setup from 6.0.3 to 6.0.5 in the actions group
  • chore(deps-dev): bump the crates group in /webui with 2 updates
  • fix: fix update_desc
  • chore(ci-bot): Fix nested codeblocks
  • chore(update): sync update/*

Full Changelog: Tools-cx-app/meta-magic_mount-rs@v4.0.0...v4.0.1

What's Changed in 4.0.0

  • chore(update): bump to v4.0.0
  • feat: transfer welcome slogans to localization
  • adj: add more debug log
  • feat, refactor: support custom bind mounts and refactor ignore logic
  • feat(i18n): add meowify chinese
  • hawkeye: fix license header
  • perf: using rustc_hash to optimize table lookup speed
  • chore(update): sync update/*

Full Changelog: Tools-cx-app/meta-magic_mount-rs@v3.1.5...v4.0.0

What's Changed in 3.1.5

  • chore(update): bump to v3.1.5
  • fix: fix license header
  • refactor: simplify error handler
  • chore(deps): bump the crates group with 2 updates
  • chore(deps-dev): bump the crates group in /webui with 2 updates
  • docs: add CONTRIBUTING
  • opt: opt desc
  • adj: replace escaped newline with space
  • cliff: add license header
  • cliff: using GitHub styles
  • chore(update): sync update/*

Full Changelog: Tools-cx-app/meta-magic_mount-rs@v3.1.4...v3.1.5

What's Changed in 3.1.4

  • chore(update): bump to v3.1.4
  • refactor: refactor conditional compilation
  • style: Standardize the use of defs content
  • adj: adj module description
  • docs: add mmrs icon
  • feat: minimized size
  • feat: removed mimalloc
  • feat: skip lines start with # in ignore.list
  • chore(deps): bump the crates group with 2 updates
  • chore(deps-dev): bump the crates group in /webui with 2 updates
  • chore(deps): bump the actions group across 1 directory with 2 updates
  • chore(update): sync update/*

Full Changelog: Tools-cx-app/meta-magic_mount-rs@v3.1.3...v3.1.4

What's Changed in 3.1.3

  • chore(update): bump to v3.1.3
  • opt: opt cleanup logic
  • docs: fix license
  • license: switch Apache 2.0
  • license: fix typo
  • chore(deps-dev): bump the crates group in /webui with 3 updates
  • license_header: using hawkeye to manage licence
  • license: switch to GPLv2 licence
  • module: remove less log
  • module: cleanup log file
  • opt: opt code
  • chore: make cargo clippy happy
  • chore(update): fix error zip url
  • opt: Optimize the efficiency of dir_is_skip and support UTF-8.
  • feat: Support wildcards in ignore.list
  • chore(update): sync update/*
  • workflows: fix auto release

Full Changelog: Tools-cx-app/meta-magic_mount-rs@v3.1.2...v3.1.3

What's Changed in 3.1.2

  • chore(update): bump to v3.1.2
  • opt: move check_ksu to pre_init stage
  • opt: opt umount logic
  • Revert "feat: Switch to the new versionCode counting method"
  • chore(deps-dev): bump the crates group in /webui with 4 updates
  • chore(deps): bump libc from 0.2.184 to 0.2.185 in the crates group
  • style: refine StatusTab blossom decoration
  • style: redesign InfoTab logo presentation
  • style: refine StatusTab hero presentation
  • adj: adj exit when mount tmpfs failed
  • ci: fix setup pnpm
  • chore: make cargo clippy happy
  • ci: fix pnpm cache
  • perf: using ignore list cache in config cli
  • adj: adj code
  • docs: sync latest config info
  • chore(ci-bot): fix action filter
  • workflows: adj setup-ndk
  • chore(ci-bot): add separate for commits
  • chore(update): sync update/*
  • workflows: fix auto release

Full Changelog: Tools-cx-app/meta-magic_mount-rs@v3.1.1...v3.1.2

What's Changed in 3.1.1

  • chore(update): bump to v3.1.1
  • feat: dropped x86_64 support
  • ci: fix build
  • revert: revert test changes
  • xtask: impl more and more command
  • chore: fmt
  • chore(ci-bot): Optimize view
  • chore(deps): bump the crates group with 4 updates
  • chore(deps): bump actions/cache from 4 to 5 in the actions group
  • chore(deps-dev): bump the crates group in /webui with 3 updates
  • feat(webui): add scroll into view on input focus
  • chore: simplify code
  • chore: rename LAST to FLAG
  • adj: adj structure
  • refactor: webui optimisations
  • chore: make cargo clippy
  • docs: fix error describe
  • docs: add more info
  • adj: adj description
  • cliff: add i18n
  • bot: adj msg markdown title
  • fix: fix error if
  • fix: fix late mode check && fix apatch support
  • chore: ci-bot code aesthetics modification
  • refactor(ci): Refactored CI telegram bot.
  • adj: simply code
  • adj: adj args pasrer
  • feat(ci-bot): Multiple commits in single push
  • ci: fix prompt
  • perf: using HashSet, avoid multiple lines
  • i18n: add ua lang
  • chore(update): sync update/*

Full Changelog: Tools-cx-app/meta-magic_mount-rs@v3.1.0...v3.1.1

What's Changed in 3.1.0

  • chore(update): bump to v3.1.0
  • adj: adj description
  • fix(i18n): fix some translation issues in Literary Chinese
  • feat(webui): update ESLint configuration and dependencies, improve code formatting and structure
  • refactor(webui): consolidate bottom actions styles and remove unused CSS
  • refactor(webui): clean up code and improve bottom actions behavior
  • fix(webui): pin navbar to app viewport
  • fix(webui): stop lifting bottom actions for keyboard
  • refactor(webui): remove unused fields and legacy module mode
  • fix(webui): restore types and tune bottom actions
  • webui: sync webui with hybrid mount
  • fix: resolve compilation errors and address clippy warnings
  • chore(deps): bump toml in the crates group
  • chore(deps): bump the crates group in /webui with 3 updates
  • feat: implement config, module, system, and UI stores
  • adj: simplify description
  • adj: adj module description
  • perf: Use caching to avoid performance waste.
  • cliff: add author print
  • chore(update): sync update/*

Full Changelog: Tools-cx-app/meta-magic_mount-rs@v3.0.0...v3.1.0

What's Changed in 3.0.0

  • chore(update): bump to v3.0.0
  • chore: fmt
  • fix: try fix typelint
  • chore(webui): add typescript declarations for material web components
  • fix(webui): resolve typescript and eslint errors in md3 components
  • feat(webui): sync MD3 components and styles from upstream
  • style: remove strange background of bottom-actions
  • feat: refine config bottom actions to sticky non-lifting layout
  • fix(webui): improve mobile config input behavior
  • style(webui): fix linting errors across components and libs
  • fix(webui): prevent page lift and input obscuring on mobile
  • feat(webui): implement ignore.list management in Config tab
  • feat(i18n): add multi-language support for ignore.list management
  • feat: implement ignore.list management in Modules tab
  • feat: support ignore.list
  • adj: adj magic mount return hanlder
  • chore(update): fix error url
  • xtask: fix error url
  • chore(update): sync update/*

Full Changelog: Tools-cx-app/meta-magic_mount-rs@v2.3.1...v3.0.0

What's Changed in 2.3.1

  • chore(update): bump to v2.3.1
  • module: fix error handler
  • chore(update): sync update/*

Full Changelog: Tools-cx-app/meta-magic_mount-rs@v2.3.0...v2.3.1

What's Changed in 2.3.0

  • chore(update): bump to v2.3.0
  • feat: add late load check
  • feat: dont use {:?}
  • adj: adj node print
  • docs: add star history
  • adj: adj prop parse to use java-properties
  • chore: Delete duplicate cleanup
  • chore(deps): bump the crates group with 3 updates
  • chore(deps-dev): bump the crates group in /webui with 3 updates
  • metainstall: add support for hot install(backslashxx/mountify@5bdfb8f)
  • fix: clean up tempdir after execution
  • refactor: refactor node print
  • adj: adj node debug print
  • adj: adj versionCode
  • refactor: add line breaks to module descriptions
  • feat: Switch to the new versionCode counting method
  • Revert "fix: fix the tempdir will be appeared in /proc/self/mounts"
  • cliff: fix regex error
  • chore(update): sync update/*

Full Changelog: Tools-cx-app/meta-magic_mount-rs@v2.2.6...v2.3.0

What's Changed in 2.2.6

  • chore(update): bump to v2.2.6
  • fix: fix the tempdir will be appeared in /proc/self/mounts
  • fix: lower NDK platform API to support Android 11-
  • adj: adj status bar
  • chore: make cargo clippy happy
  • cliff: adj rules
  • adj: Adjust the update timing of desc
  • chore(deps-dev): bump the crates group in /webui with 3 updates
  • chore(deps): bump pnpm/action-setup from 4.2.0 to 5.0.0 in the actions group
  • feat: Use a similar method as bindhost to modify the prop.
  • chore: fmt
  • feat: adj update description

Full Changelog: Tools-cx-app/meta-magic_mount-rs@v2.2.51...v2.2.6

v2.2.51

Published on March 15, 2026
Download

2.2.51 - 2026-03-15

View changes(1687ab8...f476003)

Bug Fixes

  • Fix module prop write no clear(1e58ad3)
  • Fix error write prop logic(ce1cd2c)

Other

v2.2.5

Published on March 15, 2026
Download

2.2.5 - 2026-03-14

View changes(2a0dc3d...1687ab8)

Features

  • Refine localization per North Korean language conventions (#14)(569d2e8)
  • Add webui shortcut button (#8)(abe7f80)
  • Add force disbale umount(28c537c)
  • Removed umount in config(fb81778)
  • Remove the deprecated umount from the default configuration (#10)(ff41a67)
  • Dropped umount toggle (#11)(06e2572)
  • Add Literary Chinese localization (#19)(52ce484)
  • Add Chinese Han Traditional (#20)(241589b)
  • Add Japanese (#21)(575cd38)
  • Add mount status display(e1bab59)

Bug Fixes

  • Fix config serialization(75f3f21)
  • Fix typo(8fc9b1f)
  • Limit language list height to 300px with scrollbar (#26)(18307e8)
  • Correct ambiguous Chinese locale display names (#27)(8d0e3ab)

Reverts

  • Revert "webui: remove info tab"(eda8d59)
  • Revert "feat: add force disbale umount"(ae20f45)

Other

Documentation

  • Remove deprecated umount content from the document (#9)(e16f429)

Miscellaneous Tasks

v2.2.4

Published on February 27, 2026
Download

2.2.4 - 2026-02-18

View changes(51e1e14...2a0dc3d)

Features

  • Remove ZygiskNext umount conflict guard(b8c9deb)
  • Add 39 new languages (#6)(1ca24ea)
  • Add Literary Chinese (lzh) localization(a8c1dd7)
  • Enhance languages(9c8d3d1)
  • Better installation process(b1c6a4e)

Bug Fixes

  • Build(68d9dc6)
  • Correct localization terms per Taiwan usage conventions(4239601)

Other

Miscellaneous Tasks

2.2.3 - 2026-02-06

View changes(f6f60e6...51e1e14)

Features

  • Only support ksu/ap(ceb2d4a)
  • Automatic exit when failed to mount tmpfs on tmpfsdir(57b6473)
  • Removed /debug_ramdisk in default try-umount list(d9beda3)
  • Support random path of tempdir(34f91f1)

Bug Fixes

  • Improve layout and word breaking in module display (#70)(fa3eeae)
  • Fix complete in xtask(c5b8990)
  • Fix rz panic(2f9310e)
  • Fixed parameters across multiple platforms(633107f)
  • Fix Correct name(493fbba)

Refactor

  • Remove hymofs, diagnostics and custom tempdir support(95408bd)
  • Migrate to KernelSU theme system(1c8791d)

Documentation

Performance

  • Determine the ZN state directly using the ZN path.(4933cc6)

Miscellaneous Tasks

  • Passed webui lints check(6774aa7)
  • Resolving the issue #74(72e378a)
  • Fix cache error && dropped rust cache in release(4b8be3e)
  • Picked #74 suggestions(2c905bd)
  • Add run number in bot message(ff9239b)
  • Fmt && make cargo clippy happy(9b4627e)

2.2.2 - 2026-01-18

View changes(31112e6...f6f60e6)

Features

Bug Fixes

  • Fix unsuccessful execute binary(39d3214)
  • Fix capitalization in umountLabel translation (#68)(e90c0b6)
  • Fix not umount /debug_ramdisk(57f0edf)

Other

Optimization

  • Use the toml content to print the config(b68a56c)

Miscellaneous Tasks

2.2.1 - 2026-01-11

View changes(c5dac29...31112e6)

Features

Bug Fixes

Documentation

Miscellaneous Tasks

2.2.0 - 2026-01-09

View changes(9d99627...c5dac29)

Features

  • Dropped log level settings(84eb766)
  • Dropped moduledir in config(ba8a4ee)
  • Use git commit total to create a unique version number.(2aa11b7)
  • Sync config (#60)(0b576c0)

Other

Refactor

Miscellaneous Tasks

2.1.1 - 2026-01-03

View changes(77feb50...9d99627)

Features

  • Rename daemonize-mmrs to loader(baac857)
  • Change log stdout to logcat(7b4dcff)

Bug Fixes

Documentation

Miscellaneous Tasks

  • Cleanup daemonize-mmrs(865f882)
  • Upgrade eslint config (#51)(cfb800f)

2.1.0 - 2026-01-02

View changes(1e17604...77feb50)

Features

Bug Fixes

  • Fix verify when no set PRIVATE(5b7e573)
  • Fix also has daemonize-mmrs when no set env(85fe60f)
  • Correction for non-target platform compilation(8968687)
  • Fix build failed when env is empty(f52aedc)

Other

Refactor

  • Print directly to log(632e172)
  • Use the KSU crate to communicate with KSU.(5b6583a)
  • Optimize the switching logic for the fixed state of the bottom navigation. (#47)(825af60)

Documentation

Miscellaneous Tasks

  • Pr can use cache now(3911908)
  • Update license headers skip ci
  • Update license headers skip ci

2.0.0 - 2025-12-31

View changes(20dd94a...1e17604)

Features

  • Divided ksu dir(cad042f)
  • Support use extra partitions to scan(4badead)
  • Support armv7 device(4c646a2)
  • Remove the original complex declaration.(8071427)
  • Add count mounted files/symbols(0fcbdc2)
  • Support x86_64(e888bc0)
  • Support set tmpfs dir(edb4319)
  • Add more debug log in collect files(01522b1)
  • Support extra partitions in collect_module_files(8cc9074)
  • Add more debug log when replace(41d7624)
  • Removed default for config(90b50a6)
  • Add version show in zip name(3661015)
  • Rewrite using solid.js (#35)(19c542c)

Bug Fixes

  • Fix auto set output is json when args > 2(59c19c9)
  • Correct scan content(5b50c4e)
  • Fix no remove other bin(89f340e)
  • Fix the scan results did not match the actual mount results.(a03907a)

Optimization

Refactor

Documentation

Miscellaneous Tasks

  • Add commit short hash in file name(789cf6b)
  • Rename load_default to load in config(73a5a88)
  • Cleanup more other ioctl(513c4f9)
  • Sync local webui/package-lock.json(843ea42)
  • Fmt(efffb5a)
  • Add *.bak in .gitignore(2ae7095)
  • Make cargo clippy happy(3f9e6ea)

1.4.0 - 2025-12-27

View changes(b4592e1...20dd94a)

Features

Bug Fixes

  • Fix need umount option in not any(target_os = "linux", target_os = "android"))(91f367a)
  • Selinux denied (#40)(f341d49)

Other

Miscellaneous Tasks

  • Cleanup lockfiles and specify packageManager(66e7cd0)

1.3.1 - 2025-12-21

View changes(983f6e0...b4592e1)

Features

  • Implement Magic Mount API and Configuration Management (#31)(a12689b)
  • Restore svelte.config.js with vitePreprocess configuration(6040960)
  • Add print current attr in debug log(4c49eb8)

Bug Fixes

  • Fix no found module.prop when some dir haven't module.prop(237e5f6)
  • Fix selinux denied(fa5796a)
  • Fix i18n error(19e06db)

Optimization

Styling

  • Remove other clippy lints rules(09ce951)

Miscellaneous Tasks

  • Cleanup unused fmt::Display impls(5691691)

1.3.0 - 2025-12-20

View changes(b1fb111...983f6e0)

Features

Bug Fixes

Other

Optimization

  • Optimize try_umount logic(b171b1e)

Refactor

  • Refactor ioctl in hymofs(81fd38c)

Miscellaneous Tasks

1.2.2 - 2025-12-14

View changes(7f96be2...b1fb111)

Features

  • Sync new webui design(5da57c1)
  • Add check in try_umount(1de5ab9)
  • Add check zn-daemon in try_umount && add skip log(e45d517)
  • Add automatic backup(cb534ae)
  • Add check ksu in binary(72c019f)
  • Add hymofs hide support(d7ffbe8)

Bug Fixes

  • Fix no return when failed to read /proc/mounts(f0e67c0)
  • Merge system info into device state to display kernel and selinux(d947f5e)
  • Fix no vite in package-lock.json(6be44b7)
  • Fix umount string show error(f7ed1f3)
  • Fix tempdir isn't zn search dir(9232237)
  • Fix build(d9c0bf2)
  • Fix search tempdir(02e7c2d)
  • Fix log string(e779d4b)
  • Fix no read author(b21d59c)
  • Fix read prop failed no skip(28385c3)
  • Fix umount problems(eaf4c24)
  • Fix cal short commit(768b9b2)
  • Fix sysInfoTitle won't in i18n json(d665bc8)
  • Fix scan all modules(e1fb032)

Other

  • Delete emojis && add opt(c8867b8)
  • Reduce unsafe code blocks(d5c7086)

Optimization

  • Optimize the cache mechanism in workflows(e29afac)
  • Optimize zn judgment(bc2f6c9)
  • Optimize scanner logic(0779512)

Refactor

  • Refactor do magic mount (#16)(fbf1501)

Performance

Miscellaneous Tasks

v1.2.1

Published on December 12, 2025
Download

1.2.1 - 2025-12-12

View changes(7772e56...4fc7bfe)

🚀 Features

  • Sync new webui design(5da57c1)
  • Add check in try_umount(1de5ab9)
  • Add check zn-daemon in try_umount && add skip log(e45d517)

🐛 Bug Fixes

  • Fix no return when failed to read /proc/mounts(f0e67c0)
  • Merge system info into device state to display kernel and selinux(d947f5e)
  • Fix no vite in package-lock.json(6be44b7)
  • Fix umount string show error(f7ed1f3)
  • Fix tempdir isn't zn search dir(9232237)
  • Fix build(d9c0bf2)
  • Fix search tempdir(02e7c2d)
  • Fix log string(e779d4b)
  • Fix no read author(b21d59c)

⚙️ Miscellaneous Tasks

v1.2.0

Published on December 7, 2025
Download

1.2.0 - 2025-12-07

View changes(1bd1cea...7772e56)

🚜 Refactor

  • Refactor do magic mount (#16)(fbf1501)

⚙️ Miscellaneous Tasks

v1.0.3-fix

Published on December 6, 2025
Download

1.0.3 - 2025-12-06

View changes(e558318...1bd1cea)

🚀 Features

  • When target isn't linux/android, won't build try_umount(dcb4300)

🐛 Bug Fixes

  • Localize google fonts dependency for accessibility in china(#13)(2d13b0a)

⚙️ Miscellaneous Tasks

  • Remove #![allow(clippy::unreadable_literal)](c2b5647)
  • Remove some lint(ecfa73d)

v1.0.2

Published on December 6, 2025
Download

1.0.2 - 2025-12-06

View changes(85f88d1...6b821a5)

🐛 Bug Fixes

  • Fix changelog commit link parse error(bafa9ca)

⚡ Performance

  • Deletion atomic operation(280e678)

v1.0.1

Published on December 6, 2025
Download

1.0.1 - 2025-12-05

View changes(b5b2b47...85f88d1)

🚀 Features

  • Add exists check in select_temp_dir(b63b774)
  • Display full path when try_umount step(15d6f82)
  • Port visual improvements (fonts, navbar, toasts) and ux enhancements (skeletons, dirty state)(8d80bf6)

🐛 Bug Fixes

  • Fix no return when umount failed(52a3394)
  • Fix return type is Err(...)(c42fe98)

📚 Documentation

  • Add English README (README_en.md) for meta-magic_mount(18b67e7)

⚙️ Miscellaneous Tasks

Module Details

Module ID
magic_mount_rs
392
Stars
9
Releases

Latest Version

v4.0.2
Released 6/15/2026
Download Now