- cgcap.ko: cpif CP-frame capture via kprobe/kallsyms, stock-GKI build - ratlock.sh: hold modem to LTE+NR(5G), block 2G/3G downgrade - cgdetect.sh: always-on behavioral cell-site-simulator detection - cgctl.sh + WebUI: block/detect toggles, status + alerts - build-stock-gki.sh: reproducible stock-GKI module build pipeline
66 lines
1.4 KiB
Bash
Executable File
66 lines
1.4 KiB
Bash
Executable File
#!/sbin/sh
|
|
|
|
#################
|
|
# Initialization
|
|
#################
|
|
|
|
umask 022
|
|
|
|
# Global vars
|
|
TMPDIR=/dev/tmp
|
|
PERSISTDIR=/sbin/.magisk/mirror/persist
|
|
|
|
rm -rf $TMPDIR 2>/dev/null
|
|
mkdir -p $TMPDIR
|
|
|
|
# Echo before loading util_functions
|
|
ui_print() { echo "$1"; }
|
|
|
|
require_new_magisk() {
|
|
ui_print "*******************************"
|
|
ui_print " Please install KernelSU-Next "
|
|
ui_print "*******************************"
|
|
exit 1
|
|
}
|
|
|
|
##############
|
|
# Environment
|
|
##############
|
|
|
|
OUTFD=$2
|
|
ZIPFILE=$3
|
|
|
|
mount /data 2>/dev/null
|
|
|
|
# Load utility functions
|
|
[ -f /data/adb/magisk/util_functions.sh ] || require_new_magisk
|
|
. /data/adb/magisk/util_functions.sh
|
|
[ $MAGISK_VER_CODE -lt 20400 ] && require_new_magisk
|
|
|
|
setup_flashable
|
|
mount_partitions
|
|
api_level_arch_detect
|
|
|
|
###############
|
|
# Module Setup
|
|
###############
|
|
|
|
MODID=cellguard
|
|
MODPATH=$MOUNTPATH/$MODID
|
|
|
|
ui_print "- Extracting CellGuard"
|
|
unzip -o "$ZIPFILE" -x 'META-INF/*' -d $MODPATH >&2
|
|
|
|
# Default permissions
|
|
set_perm_recursive $MODPATH 0 0 0755 0644
|
|
set_perm $MODPATH/system/bin/cellguard 0 2000 0755
|
|
set_perm $MODPATH/service.sh 0 0 0755
|
|
set_perm $MODPATH/post-fs-data.sh 0 0 0755
|
|
set_perm $MODPATH/action.sh 0 0 0755
|
|
set_perm $MODPATH/uninstall.sh 0 0 0755
|
|
|
|
ui_print "- CellGuard installed"
|
|
ui_print "- Reboot, then open the module in KernelSU-Next Manager"
|
|
ui_print " for the WebUI (carrier dropdown + scan + live state)."
|
|
ui_print "- Tap the Action button to arm the guard in one tap."
|