ksmm

Crates.ioksmm
lib.rsksmm
version0.4.5
created_at2025-10-12 06:21:37.260225+00
updated_at2025-10-13 14:56:09.385201+00
descriptionKernelSU Module Manager CLI
homepage
repositoryhttps://github.com/kalicyh/KernelSU_Module_Manager
max_upload_size
id1878992
size4,037,519
kalicyh (kalicyh)

documentation

README

KernelSU_Module_Manager

开发与管理 KernelSU 模块

支持模块的创建、构建和签名,并且利用github actions实现自动化构建与发布

目前签名仅支持MacOS M系列芯片,即 Apple Silicon(M1、M2 等) 等待签名zakosign支持

安装

# 使用cargo安装
cargo install ksmm
# 或从release下载预编译的二进制文件
./ksmm help

命令

ksmm help      # 显示帮助信息
ksmm init      # 初始化模块
ksmm build     # 构建模块
ksmm sign <file> # 签名文件
ksmm key new <name> # 创建新密钥
ksmm version   # 显示版本信息

模块结构

$MODID/                        # 模块目录名,与模块 ID 相同
│
├── module.prop                # 模块配置文件
├── system/                    # 将被挂载到 /system(除非存在 skip_mount)
│   └── (空目录或你的修改内容)
│
├── skip_mount                 # [可选] 若存在,则不挂载 /system
├── disable                    # [可选] 若存在,则禁用模块
├── remove                     # [可选] 若存在,则下次重启后删除模块
│
├── post-fs-data.sh            # [可选] 在 post-fs-data 阶段运行
├── post-mount.sh              # [可选] 在 post-mount 阶段运行
├── service.sh                 # [可选] 在 late_start 阶段运行
├── boot-completed.sh          # [可选] 在系统启动完成后运行
├── uninstall.sh               # [可选] 模块卸载时执行
│
├── system.prop                # [可选] 开机时通过 resetprop 应用的系统属性
├── sepolicy.rule              # [可选] 自定义 SELinux 策略规则
│
├── vendor/                    # 自动生成:若 /system/vendor 是符号链接
├── product/                   # 自动生成:若 /system/product 是符号链接
├── system_ext/                # 自动生成:若 /system/system_ext 是符号链接
│
└── ...                        # 其他自定义文件或文件夹

开发者调试

cargo build               # 编译项目
cargo run <command>    # 运行项目并传递命令
./target/debug/ksmm help      # 显示帮助信息

依赖

功能 推荐库
命令行参数解析 clap
彩色输出 owo-colors
日期时间处理 chrono
正则表达式 regex
命令行交互 dialoguer
Commit count: 0

cargo fmt