├── META-INF ├── y └── com │ ├── y │ └── google │ ├── y │ └── android │ ├── y │ ├── updater-script │ └── update-binary ├── system ├── My └── bin │ ├── istri kedua │ ├── vmt │ ├── stellars │ ├── profiles_mode │ └── zeta_tweak ├── webroot ├── WebUI istri aku ├── assets │ ├── istri aset gede │ ├── index-10GH.webp │ ├── md-sty34565mtrl.js │ └── md-func41830mtrl.js └── index.html ├── module.prop ├── Boo!.txt ├── service.sh ├── uninstall.sh ├── action.sh ├── README.md ├── customize.sh ├── common └── functions.sh ├── LICENSE ├── changelog.txt └── gamelist.json /META-INF/y: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /system/My: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /META-INF/com/y: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /META-INF/com/google/y: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /system/bin/istri kedua: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /webroot/WebUI istri aku: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /META-INF/com/google/android/y: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /webroot/assets/istri aset gede: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /META-INF/com/google/android/updater-script: -------------------------------------------------------------------------------- 1 | #MAGISK 2 | -------------------------------------------------------------------------------- /system/bin/vmt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kanaodnd/Stellar-Tweaks/HEAD/system/bin/vmt -------------------------------------------------------------------------------- /system/bin/stellars: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kanaodnd/Stellar-Tweaks/HEAD/system/bin/stellars -------------------------------------------------------------------------------- /webroot/assets/index-10GH.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kanaodnd/Stellar-Tweaks/HEAD/webroot/assets/index-10GH.webp -------------------------------------------------------------------------------- /module.prop: -------------------------------------------------------------------------------- 1 | id=stellar 2 | name=Stellar Tweaks 3 | version=11.0 ( ver. EXOV | Chronicles ) 4 | versionCode=11000 5 | author=@kanaochar (Telegram) 6 | description=𝘛𝘩𝘦 𝘚𝘪𝘮𝘱𝘭𝘦 𝘗𝘦𝘳𝘧𝘰𝘳𝘮𝘢𝘯𝘤𝘦 𝘈𝘶𝘵𝘰𝘮𝘢𝘵𝘪𝘤 𝘍𝘰𝘳 𝘠𝘰𝘶𝘳 𝘋𝘦𝘷𝘪𝘤𝘦 7 | updateJson=https://raw.githubusercontent.com/kanaodnd/kanaokturu/blob/main/update.json 8 | channel=https://t.me/hosshi_prjkt 9 | banner=https://raw.githubusercontent.com/kanaodnd/kanaokturu/main/New Element %5B8972381%5D~2.png 10 | # i didn't know whats i looking for ~ -------------------------------------------------------------------------------- /Boo!.txt: -------------------------------------------------------------------------------- 1 | ##Stellar Pro 2 | 3 | $$Pro Version Else Helping Developer, its also help update stellar reguler frequently! 4 | 5 | ::Benefit being PRO is 6 | - Update More Fast and more often then reguler 7 | - Fast Innovation will be applied for PRO 8 | - Advanced Kernel Feature of your phone 9 | - Smooth and support many game optimization (THIS MUST) 10 | 11 | //Im passionate to bring a new thing in every update with a new optimization on many phone! 12 | 13 | //Whatever guys, im nothing without YOU. 14 | 15 | Regards, Kanao. 16 | -------------------------------------------------------------------------------- /META-INF/com/google/android/update-binary: -------------------------------------------------------------------------------- 1 | #!/sbin/sh 2 | 3 | ################# 4 | # Initialization 5 | ################# 6 | 7 | umask 022 8 | 9 | # echo before loading util_functions 10 | ui_print() { echo "$1"; } 11 | 12 | require_new_magisk() { 13 | ui_print "*******************************" 14 | ui_print " Please install Magisk v20.4+! " 15 | ui_print "*******************************" 16 | exit 1 17 | } 18 | 19 | ######################### 20 | # Load util_functions.sh 21 | ######################### 22 | 23 | OUTFD=$2 24 | ZIPFILE=$3 25 | 26 | mount /data 2>/dev/null 27 | 28 | [ -f /data/adb/magisk/util_functions.sh ] || require_new_magisk 29 | . /data/adb/magisk/util_functions.sh 30 | [ $MAGISK_VER_CODE -lt 20400 ] && require_new_magisk 31 | 32 | install_module 33 | exit 0 34 | -------------------------------------------------------------------------------- /service.sh: -------------------------------------------------------------------------------- 1 | #!/system/bin/sh 2 | 3 | # 4 | # Copyright (C) 2024-2025 Kanao 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); 7 | # you may not use this file except in compliance with the License. 8 | # You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | # Wait when its done 20 | while [ "$(getprop sys.boot_completed | tr -d '\r')" != "1" ]; do sleep 10; done 21 | 22 | # Ensure System Ready 23 | sleep 35 24 | 25 | # Start MonPerf 26 | stellars 27 | 28 | 29 | -------------------------------------------------------------------------------- /uninstall.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # 4 | # Copyright (C) 2024-2025 Kanao 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); 7 | # you may not use this file except in compliance with the License. 8 | # You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | # Files to remove 20 | rm -f /data/local/tmp/Trinity_icon.png /data/stellar 21 | 22 | # Don't Let Any Cache/Empty/Traced/Garbage/Whatever 23 | BINS="util_func function_addon trinitys_dfc profiles_mode" 24 | for DIR in /data/adb/*/bin; do 25 | [ -d "$DIR" ] && for BIN in $BINS; do 26 | rm -f "$DIR/$BIN" 27 | done 28 | done 29 | 30 | # Resetting Default Value 31 | su -c "cmd settings reset global" 32 | su -c "cmd settings reset secure" 33 | su -c "cmd settings reset system" 34 | 35 | # Revert Intent Activity 36 | su -c "pm enable com.google.android.gms/.chimera.GmsIntentOperationService" 37 | su -c "pm enable com.google.android.gms/com.google.android.gms.mdm.receivers.MdmDeviceAdminReceiver" -------------------------------------------------------------------------------- /action.sh: -------------------------------------------------------------------------------- 1 | #!/system/bin/sh 2 | 3 | # 4 | # Copyright (C) 2024-2025 Kanao 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); 7 | # you may not use this file except in compliance with the License. 8 | # You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | # Try simple KSU WebUI Standalone First 20 | if pm path com.dergoogler.mmrl.wx >/dev/null 2>&1; then 21 | echo "[*] Start Open WebUI on KSU Webui Standanlone.." 22 | am start -n "com.dergoogler.mmrl.wx/.ui.activity.webui.WebUIActivity" -e id "stellar" > /dev/null 2>&1 23 | exit 0 24 | fi 25 | 26 | if pm path com.dergoogler.mmrl >/dev/null 2>&1; then 27 | echo "[*] Starting WebUI through MMRL..." 28 | am start -n "com.dergoogler.mmrl/.ui.activity.webui.WebUIActivity" -e MOD_ID "stellar" > /dev/null 2>&1 29 | exit 0 30 | fi 31 | 32 | # Case didn't have, Download manually 33 | echo "[!] KsuWebUI is required for access feature.." 34 | echo "[!] Without WebUI you lost many feature.." 35 | sleep 0.5 36 | echo "[*] Try Open Intent.." 37 | echo "[*] Opening download page..." 38 | am start -a android.intent.action.VIEW -d "https://github.com/5ec1cff/KsuWebUIStandalone/releases" > /dev/null 2>&1 39 | 40 | exit 0 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ✨ Stellar Tweaks 2 | *A another kernel scheduler for Balancing you need, feel a harmony melody. Stellar Stellar~* 3 | 4 |
5 | Gambar 6 |
7 | 8 |
9 | 10 | [![License](https://img.shields.io/badge/License-Apache_2.0-6f42c1?style=for-the-badge&logo=apache&logoColor=white&labelColor=0D1117)](LICENSE) 11 | [![Release](https://img.shields.io/github/v/release/kanaodnd/Stellar-Tweaks?color=6f42c1&labelColor=0D1117&style=for-the-badge&logo=github)](https://github.com/kanaodnd/Stellar-Tweaks/releases) 12 | 13 |
14 | 15 | 16 | ## Join the community 17 | *New at this? don't worry you can certain ask in the our community below!* 18 | 19 | [![Channel](https://img.shields.io/badge/CHANNEL-@hosshi__prjkt-9cf?style=for-the-badge&logo=telegram&logoColor=white&color=26A5E4)](https://t.me/hosshi_prjkt) 20 | [![Group](https://img.shields.io/badge/GROUP-Discussions-9cf?style=for-the-badge&logo=telegram&logoColor=white&color=26A5E4)](https://t.me/hosshi_chat) 21 | 22 | ## What is Stellar Tweaks? 23 | A Scheduler That Maintain `Performance CPU`, Unlock Potentional CPU, But keeps battery in good health and Battery backup. AIO (All-In-One) See Advanced Performance at Your Choose. 24 | Android kernel parameters with multiple profiles for `Snapdragon`, `Mediatek`, `Exynos`. Even `Unisoc`, Or even Socs that you don't recognize. 25 | 26 |
27 | Stellar Demo 28 |
29 | 30 | 31 | 32 | ## Bug report? 33 | *Report in Telegram group or You can pull issues in below* 34 | 35 | [![Bug](https://img.shields.io/badge/REPORT-Bug-9cf?style=for-the-badge&logo=github&logoColor=white&color=FF4D4D)](https://github.com/kanaodnd/Stellar-Tweaks/issues) 36 | 37 | 38 | 39 | ## Download 40 | 41 | [![Download](https://img.shields.io/badge/GET-RELEASE-9cf?style=for-the-badge&logo=github&logoColor=white&color=181717)](https://github.com/kanaodnd/Stellar-Tweaks/releases) 42 | [![Download](https://img.shields.io/badge/GET-RELEASE-9cf?style=for-the-badge&logo=github&logoColor=white&color=181717)](https://github.com/kanaodnd/Stellar-Tweaks/releases) 43 | 44 | 45 | ## Donate? 46 | *Wow, you are a generous person who want this update continue, thank you!* 47 | 48 | [![Donate](https://img.shields.io/badge/Support-Our_Project-6f42c1?style=for-the-badge&logo=heart&logoColor=white&labelColor=0D1117)](https://github.com/kanaodnd/DonateMePls) 49 | 50 | 51 | 52 | ## Main effect highlights 53 | ```bash 54 | 1 - More faster? or more Saving battery? 55 | 2 - Just flash and see, not again complicated! 56 | 3 - The performance you need, no need to confuse! 57 | -------------------------------------------------------------------------------- /customize.sh: -------------------------------------------------------------------------------- 1 | #!/system/bin/sh 2 | 3 | # 4 | # Copyright (C) 2024-2025 Kanao 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); 7 | # you may not use this file except in compliance with the License. 8 | # You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | SKIPMOUNT=false 20 | PROPFILE=true 21 | POSTFSDATA=true 22 | LATESTARTSERVICE=true 23 | 24 | name="Stellar" 25 | mmk_package="bellavita.toast" 26 | basedir="/data/adb/.config/stellar" 27 | stellar_path="/data/adb/modules/stellar" 28 | USE_SYMLINK=false 29 | ROOT_METHOD="Magisk" 30 | CUSTOM_BIN_PATH="" 31 | CHIPSET_ID=0 32 | 33 | print_status() { 34 | ui_print "- $1" 35 | sleep 0.1 36 | } 37 | 38 | abort_clean() { 39 | ui_print " " 40 | ui_print "*********************************************************" 41 | ui_print "! ERROR: $1" 42 | ui_print "! Installation failed!" 43 | ui_print "*********************************************************" 44 | ui_print " " 45 | abort "$1" 46 | } 47 | 48 | safe_extract() { 49 | local file_pattern="$1" 50 | local dest="$2" 51 | ui_print "- Extracting $file_pattern..." 52 | if ! unzip -qo "$ZIPFILE" "$file_pattern" -d "$dest"; then 53 | abort_clean "Failed to extract $file_pattern" 54 | fi 55 | } 56 | 57 | detect_root_method() { 58 | print_status "Initializing installation..." 59 | if [ -d "/data/adb/ksu" ]; then 60 | ROOT_METHOD="KSU" 61 | CUSTOM_BIN_PATH="/data/adb/ksu/bin" 62 | USE_SYMLINK=true 63 | elif [ -d "/data/adb/ap" ]; then 64 | ROOT_METHOD="Apatch" 65 | CUSTOM_BIN_PATH="/data/adb/ap/bin" 66 | USE_SYMLINK=true 67 | fi 68 | 69 | if $USE_SYMLINK; then 70 | print_status "$ROOT_METHOD detected, using symlinks." 71 | rm -rf "$MODPATH/action.sh" 72 | touch "$MODPATH/skip_mount" 73 | fi 74 | } 75 | 76 | setup_directories_and_configs() { 77 | print_status "Setting up directories and configuration..." 78 | mkdir -p "$basedir" || abort_clean "Failed to create Stellar Directory" 79 | 80 | touch "$basedir/lock" || abort_clean "Failed to create lock file" 81 | touch "$basedir/soc" || abort_clean "Failed to create soc file" 82 | 83 | cat > "$basedir/×××util_natively_injection××" <<-EOF 84 | Injection version 7505 85 | Rezim_konoha guides hells 86 | EOF 87 | 88 | cat > "$basedir/config" <<-EOF 89 | symlink=$USE_SYMLINK 90 | root_method=$ROOT_METHOD 91 | custom_bin_path=$CUSTOM_BIN_PATH 92 | EOF 93 | } 94 | 95 | create_essential_files() { 96 | print_status "Creating essential configuration files..." 97 | [ ! -f "$basedir/custom_game_cpu_gov" ] && echo "performance" > "$basedir/custom_game_cpu_gov" 98 | [ ! -f "$basedir/custom_default_cpu_gov" ] && echo "interactive" > "$basedir/custom_default_cpu_gov" 99 | [ ! -f "$basedir/custom_powersave_cpu_gov" ] && echo "interactive" > "$basedir/custom_powersave_cpu_gov" 100 | } 101 | 102 | check_kernel_dirs() { 103 | [ -d /sys/kernel/ged/hal ] && { CHIPSET_ID=1; return 0; } 104 | [ -d /sys/class/kgsl/kgsl-3d0/devfreq ] && { CHIPSET_ID=2; return 0; } 105 | [ -d /sys/devices/platform/kgsl-2d0.0/kgsl ] && { CHIPSET_ID=2; return 0; } 106 | return 1 107 | } 108 | 109 | fetch_soc_properties() { 110 | local soc_props="ro.board.platform ro.soc.model ro.hardware ro.hardware.chipname" 111 | for prop in $soc_props; do 112 | getprop "$prop" 113 | done 114 | } 115 | 116 | parse_soc_string() { 117 | case "$1" in 118 | *Qualcomm* | *sdm* | *qcom* | *SDM* | *QCOM*) CHIPSET_ID=2 ;; 119 | *Exynos* | *exynos* | *samsung* | *universal* | *erd* | *s5e*) CHIPSET_ID=3 ;; 120 | *MediaTek* | *mt* | *MT*) CHIPSET_ID=1 ;; 121 | *Unisoc* | *unisoc* | *ums*) CHIPSET_ID=4 ;; 122 | esac 123 | } 124 | 125 | identify_chipset() { 126 | print_status "Identifying device chipset..." 127 | check_kernel_dirs 128 | [ $CHIPSET_ID -eq 0 ] && parse_soc_string "$(grep -E "Hardware|Processor" /proc/cpuinfo | uniq | cut -d ':' -f 2 | sed 's/^[ \t]*//')" 129 | [ $CHIPSET_ID -eq 0 ] && parse_soc_string "$(fetch_soc_properties)" 130 | 131 | case "$CHIPSET_ID" in 132 | 1) ui_print "- Chipset identified as MediaTek" ;; 133 | 2) ui_print "- Chipset identified as Snapdragon" ;; 134 | 3) ui_print "- Chipset identified as Exynos" ;; 135 | 4) ui_print "- Chipset identified as Unisoc" ;; 136 | *) 137 | ui_print "! Unrecognized SoC, applying universal settings." 138 | ui_print "! Thinking this wrong? Ask to maintainer." 139 | CHIPSET_ID=0 140 | ;; 141 | esac 142 | echo "$CHIPSET_ID" > "$basedir/soc" 143 | } 144 | 145 | extract_and_place_files() { 146 | print_status "Extracting module files..." 147 | safe_extract 'gamelist.json' "$basedir" 148 | safe_extract 'addon/vmt' "$basedir" 149 | safe_extract 'webroot/*' "$MODPATH" 150 | safe_extract 'stellar_icon.png' "/data/local/tmp" 151 | safe_extract 'service/*' "$MODPATH" 152 | safe_extract 'common/*' "$MODPATH" 153 | safe_extract 'system/*' "$MODPATH" 154 | safe_extract 'service.sh' "$MODPATH" 155 | safe_extract 'post-fs-data.sh' "$MODPATH" 156 | safe_extract 'system.prop' "$MODPATH" 157 | } 158 | 159 | handle_binaries() { 160 | print_status "Setting up binaries..." 161 | local binaries="stellars profiles_mode vmt zeta_tweak" 162 | 163 | if $USE_SYMLINK; then 164 | print_status "Setting up symlinks for binaries..." 165 | for bin_name in $binaries; do 166 | cp "$MODPATH/system/bin/$bin_name" "$CUSTOM_BIN_PATH/" 167 | chmod 755 "$CUSTOM_BIN_PATH/$bin_name" 168 | ln -sf "$CUSTOM_BIN_PATH/$bin_name" "$MODPATH/system/bin/$bin_name" 169 | done 170 | else 171 | for bin_name in $binaries; do 172 | chmod 755 "$MODPATH/system/bin/$bin_name" 173 | done 174 | fi 175 | } 176 | 177 | set_permissions() { 178 | print_status "Setting permissions..." 179 | set_perm_recursive "$MODPATH" 0 0 0755 0644 180 | 181 | if $USE_SYMLINK; then 182 | set_perm_recursive "$CUSTOM_BIN_PATH" 0 2000 0755 0755 183 | fi 184 | set_perm_recursive "$MODPATH/system/bin" 0 2000 0755 0755 185 | 186 | chmod +x "$basedir/vmt" 187 | } 188 | 189 | finalize_installation() { 190 | print_status "Cleaning up..." 191 | rm -f "$MODPATH/verify.sh" "$MODPATH/LICENSE" 192 | find "$MODPATH" -name "*.sha256" -delete 2>/dev/null 193 | 194 | RAND_MSG=$((RANDOM % 5 + 1)) 195 | case $RAND_MSG in 196 | 1) print_status "Let the light appear !" ;; 197 | 2) print_status "The Stellar waits." ;; 198 | 3) print_status "Light Stellar Glow." ;; 199 | 4) print_status "Comet Stellar Flying." ;; 200 | 5) print_status "Feed Me Donate Wen." ;; 201 | esac 202 | 203 | ui_print "- Join our channel for updates!" 204 | sleep 0.5 205 | am start -a android.intent.action.VIEW -d "https://t.me/hosshi_prjkt" > /dev/null 2>&1 206 | 207 | ui_print "*******************************" 208 | ui_print " Installation successful!" 209 | ui_print "*******************************" 210 | } 211 | 212 | detect_root_method 213 | setup_directories_and_configs 214 | create_essential_files 215 | identify_chipset 216 | extract_and_place_files 217 | handle_binaries 218 | set_permissions 219 | finalize_installation -------------------------------------------------------------------------------- /common/functions.sh: -------------------------------------------------------------------------------- 1 | ########################################################################################## 2 | # 3 | # MMT Extended Utility Functions 4 | # 5 | ########################################################################################## 6 | 7 | abort() { 8 | ui_print "$1" 9 | rm -rf $MODPATH 2>/dev/null 10 | cleanup 11 | rm -rf $TMPDIR 2>/dev/null 12 | exit 1 13 | } 14 | 15 | cleanup() { 16 | rm -rf $MODPATH/common 2>/dev/null 17 | } 18 | 19 | device_check() { 20 | local opt=`getopt -o dm -- "$@"` type=device 21 | eval set -- "$opt" 22 | while true; do 23 | case "$1" in 24 | -d) local type=device; shift;; 25 | -m) local type=manufacturer; shift;; 26 | --) shift; break;; 27 | *) abort "Invalid device_check argument $1! Aborting!";; 28 | esac 29 | done 30 | local prop=$(echo "$1" | tr '[:upper:]' '[:lower:]') 31 | for i in /system /vendor /odm /product; do 32 | if [ -f $i/build.prop ]; then 33 | for j in "ro.product.$type" "ro.build.$type" "ro.product.vendor.$type" "ro.vendor.product.$type"; do 34 | [ "$(sed -n "s/^$j=//p" $i/build.prop 2>/dev/null | head -n 1 | tr '[:upper:]' '[:lower:]')" == "$prop" ] && return 0 35 | done 36 | [ "$type" == "device" ] && [ "$(sed -n "s/^"ro.build.product"=//p" $i/build.prop 2>/dev/null | head -n 1 | tr '[:upper:]' '[:lower:]')" == "$prop" ] && return 0 37 | fi 38 | done 39 | return 1 40 | } 41 | 42 | cp_ch() { 43 | local opt=`getopt -o nr -- "$@"` BAK=true UBAK=true FOL=false 44 | eval set -- "$opt" 45 | while true; do 46 | case "$1" in 47 | -n) UBAK=false; shift;; 48 | -r) FOL=true; shift;; 49 | --) shift; break;; 50 | *) abort "Invalid cp_ch argument $1! Aborting!";; 51 | esac 52 | done 53 | local SRC="$1" DEST="$2" OFILES="$1" 54 | $FOL && local OFILES=$(find $SRC -type f 2>/dev/null) 55 | [ -z $3 ] && PERM=0644 || PERM=$3 56 | case "$DEST" in 57 | $TMPDIR/*|$MODULEROOT/*|$NVBASE/modules/$MODID/*) BAK=false;; 58 | esac 59 | for OFILE in ${OFILES}; do 60 | if $FOL; then 61 | if [ "$(basename $SRC)" == "$(basename $DEST)" ]; then 62 | local FILE=$(echo $OFILE | sed "s|$SRC|$DEST|") 63 | else 64 | local FILE=$(echo $OFILE | sed "s|$SRC|$DEST/$(basename $SRC)|") 65 | fi 66 | else 67 | [ -d "$DEST" ] && local FILE="$DEST/$(basename $SRC)" || local FILE="$DEST" 68 | fi 69 | if $BAK && $UBAK; then 70 | [ ! "$(grep "$FILE$" $INFO 2>/dev/null)" ] && echo "$FILE" >> $INFO 71 | [ -f "$FILE" -a ! -f "$FILE~" ] && { mv -f $FILE $FILE~; echo "$FILE~" >> $INFO; } 72 | elif $BAK; then 73 | [ ! "$(grep "$FILE$" $INFO 2>/dev/null)" ] && echo "$FILE" >> $INFO 74 | fi 75 | install -D -m $PERM "$OFILE" "$FILE" 76 | done 77 | } 78 | 79 | install_script() { 80 | case "$1" in 81 | -l) shift; local INPATH=$NVBASE/service.d;; 82 | -p) shift; local INPATH=$NVBASE/post-fs-data.d;; 83 | *) local INPATH=$NVBASE/service.d;; 84 | esac 85 | [ "$(grep "#!/system/bin/sh" $1)" ] || sed -i "1i #!/system/bin/sh" $1 86 | local i; for i in "MODPATH" "LIBDIR" "MODID" "INFO" "MODDIR"; do 87 | case $i in 88 | "MODPATH") sed -i "1a $i=$NVBASE/modules/$MODID" $1;; 89 | "MODDIR") sed -i "1a $i=\${0%/*}" $1;; 90 | *) sed -i "1a $i=$(eval echo \$$i)" $1;; 91 | esac 92 | done 93 | [ "$1" == "$MODPATH/uninstall.sh" ] && return 0 94 | case $(basename $1) in 95 | post-fs-data.sh|service.sh) ;; 96 | *) cp_ch -n $1 $INPATH/$(basename $1) 0755;; 97 | esac 98 | } 99 | 100 | prop_process() { 101 | sed -i -e "/^#/d" -e "/^ *$/d" $1 102 | [ -f $MODPATH/system.prop ] || mktouch $MODPATH/system.prop 103 | while read LINE; do 104 | echo "$LINE" >> $MODPATH/system.prop 105 | done < $1 106 | } 107 | 108 | # Credits 109 | ui_print "**************************************" 110 | ui_print "* MMT Extended by Zackptg5 @ XDA *" 111 | ui_print "**************************************" 112 | ui_print " " 113 | 114 | # Check for min/max api version 115 | [ -z $MINAPI ] || { [ $API -lt $MINAPI ] && abort "! Your system API of $API is less than the minimum api of $MINAPI! Aborting!"; } 116 | [ -z $MAXAPI ] || { [ $API -gt $MAXAPI ] && abort "! Your system API of $API is greater than the maximum api of $MAXAPI! Aborting!"; } 117 | 118 | # Set variables 119 | [ $API -lt 26 ] && DYNLIB=false 120 | [ -z $DYNLIB ] && DYNLIB=false 121 | [ -z $DEBUG ] && DEBUG=false 122 | INFO=$NVBASE/modules/.$MODID-files 123 | ORIGDIR="$MAGISKTMP/mirror" 124 | if $DYNLIB; then 125 | LIBPATCH="\/vendor" 126 | LIBDIR=/system/vendor 127 | else 128 | LIBPATCH="\/system" 129 | LIBDIR=/system 130 | fi 131 | if ! $BOOTMODE; then 132 | ui_print "- Only uninstall is supported in recovery" 133 | ui_print " Uninstalling!" 134 | touch $MODPATH/remove 135 | [ -s $INFO ] && install_script $MODPATH/uninstall.sh || rm -f $INFO $MODPATH/uninstall.sh 136 | recovery_cleanup 137 | cleanup 138 | rm -rf $NVBASE/modules_update/$MODID $TMPDIR 2>/dev/null 139 | exit 0 140 | fi 141 | 142 | # Debug 143 | if $DEBUG; then 144 | ui_print "- Debug mode" 145 | ui_print " Module install log will include debug info" 146 | ui_print " Be sure to save it after module install" 147 | set -x 148 | fi 149 | 150 | # Extract files 151 | ui_print "- Extracting module files" 152 | unzip -o "$ZIPFILE" -x 'META-INF/*' 'common/functions.sh' -d $MODPATH >&2 153 | [ -f "$MODPATH/common/addon.tar.xz" ] && tar -xf $MODPATH/common/addon.tar.xz -C $MODPATH/common 2>/dev/null 154 | 155 | # Run addons 156 | if [ "$(ls -A $MODPATH/common/addon/*/install.sh 2>/dev/null)" ]; then 157 | ui_print " "; ui_print "- Running Addons -" 158 | for i in $MODPATH/common/addon/*/install.sh; do 159 | ui_print " Running $(echo $i | sed -r "s|$MODPATH/common/addon/(.*)/install.sh|\1|")..." 160 | . $i 161 | done 162 | fi 163 | 164 | # Remove files outside of module directory 165 | ui_print "- Removing old files" 166 | 167 | if [ -f $INFO ]; then 168 | while read LINE; do 169 | if [ "$(echo -n $LINE | tail -c 1)" == "~" ]; then 170 | continue 171 | elif [ -f "$LINE~" ]; then 172 | mv -f $LINE~ $LINE 173 | else 174 | rm -f $LINE 175 | while true; do 176 | LINE=$(dirname $LINE) 177 | [ "$(ls -A $LINE 2>/dev/null)" ] && break 1 || rm -rf $LINE 178 | done 179 | fi 180 | done < $INFO 181 | rm -f $INFO 182 | fi 183 | 184 | ### Install 185 | ui_print "- Installing" 186 | 187 | [ -f "$MODPATH/common/install.sh" ] && . $MODPATH/common/install.sh 188 | 189 | ui_print " Installing for $ARCH SDK $API device..." 190 | # Remove comments from files and place them, add blank line to end if not already present 191 | for i in $(find $MODPATH -type f -name "*.sh" -o -name "*.prop" -o -name "*.rule"); do 192 | [ -f $i ] && { sed -i -e "/^#/d" -e "/^ *$/d" $i; [ "$(tail -1 $i)" ] && echo "" >> $i; } || continue 193 | case $i in 194 | "$MODPATH/service.sh") install_script -l $i;; 195 | "$MODPATH/post-fs-data.sh") install_script -p $i;; 196 | "$MODPATH/uninstall.sh") if [ -s $INFO ] || [ "$(head -n1 $MODPATH/uninstall.sh)" != "# Don't modify anything after this" ]; then 197 | install_script $MODPATH/uninstall.sh 198 | else 199 | rm -f $INFO $MODPATH/uninstall.sh 200 | fi;; 201 | esac 202 | done 203 | 204 | $IS64BIT || for i in $(find $MODPATH/system -type d -name "lib64"); do rm -rf $i 2>/dev/null; done 205 | [ -d "/system/priv-app" ] || mv -f $MODPATH/system/priv-app $MODPATH/system/app 2>/dev/null 206 | [ -d "/system/xbin" ] || mv -f $MODPATH/system/xbin $MODPATH/system/bin 2>/dev/null 207 | if $DYNLIB; then 208 | for FILE in $(find $MODPATH/system/lib* -type f 2>/dev/null | sed "s|$MODPATH/system/||"); do 209 | [ -s $MODPATH/system/$FILE ] || continue 210 | case $FILE in 211 | lib*/modules/*) continue;; 212 | esac 213 | mkdir -p $(dirname $MODPATH/system/vendor/$FILE) 214 | mv -f $MODPATH/system/$FILE $MODPATH/system/vendor/$FILE 215 | [ "$(ls -A `dirname $MODPATH/system/$FILE`)" ] || rm -rf `dirname $MODPATH/system/$FILE` 216 | done 217 | # Delete empty lib folders (busybox find doesn't have this capability) 218 | toybox find $MODPATH/system/lib* -type d -empty -delete >/dev/null 2>&1 219 | fi 220 | 221 | # Set permissions 222 | ui_print " " 223 | ui_print "- Setting Permissions" 224 | set_perm_recursive $MODPATH 0 0 0755 0644 225 | if [ -d $MODPATH/system/vendor ]; then 226 | set_perm_recursive $MODPATH/system/vendor 0 0 0755 0644 u:object_r:vendor_file:s0 227 | [ -d $MODPATH/system/vendor/app ] && set_perm_recursive $MODPATH/system/vendor/app 0 0 0755 0644 u:object_r:vendor_app_file:s0 228 | [ -d $MODPATH/system/vendor/etc ] && set_perm_recursive $MODPATH/system/vendor/etc 0 0 0755 0644 u:object_r:vendor_configs_file:s0 229 | [ -d $MODPATH/system/vendor/overlay ] && set_perm_recursive $MODPATH/system/vendor/overlay 0 0 0755 0644 u:object_r:vendor_overlay_file:s0 230 | for FILE in $(find $MODPATH/system/vendor -type f -name *".apk"); do 231 | [ -f $FILE ] && chcon u:object_r:vendor_app_file:s0 $FILE 232 | done 233 | fi 234 | set_permissions 235 | 236 | # Complete install 237 | cleanup 238 | -------------------------------------------------------------------------------- /webroot/index.html: -------------------------------------------------------------------------------- 1 | Stellar Tweaks

API Access Required

API access is not enabled. Please enable it in settings to use Stellar Tweaks.

Game List

Add package names to be automatically optimized. One package per line.

Info

Stellar Tweaks

Loading...
Daemon PID: null

Your Stellar is officially developed!

Maintained by Kanao

Stellar Version

Loading...

Profile Status

Loading...

Kernel

Loading...

Chipset

Loading...

Android SDK

Loading...

ABIs

Loading...

Adjust Setting

Settings

Support Me!

Stellar Tweaks will always be free. Donations help support the project's maintenance and future updates. (Touch this for info.)

-------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /changelog.txt: -------------------------------------------------------------------------------- 1 | ### Stellar V16.0 (Midnight-Terror) ### 2 | Banner URL: https://raw.githubusercontent.com/kanaodnd/Shared-Banner/core/Stellar-V16.0.jpg 3 | - Added: New device for NVIDIA Tegra,Kirin,Intel,Google Tensor SoCs 4 | - Fixed: reduce heat effect limit backround 5 | - Fixed: Race condition causing an incorrect activity lock state during game 6 | - Fixed: failure in customize execution toast installing 7 | - Re-Implent: kernel I/O scheduler section interface 8 | - Updated: Language context and string resources 9 | - Updated: Game data list package to build 25/09/20 10 | - Adjusted: Preload default algorithm and sufficiency budget parameters 11 | - Refactor: Detection list foreground, background more intrutive 12 | - Added: Restored DDR bus support for Snapdragon platforms 13 | - Refactor: Cleaning code remove all harmful sloppy 14 | - Redesign: Change Ui look 5%, 10% optimization webui light 15 | - Added: In main installer add 'Pro Tips' helping user reach 16 | - Added: Add checking SU compatibility in customize.sh 17 | - Fixed: Fix permission installer stellar issue, rare case issue not permitted 18 | - Changed: Default powersave policy now 20% DVFS limit 19 | - Many more 20 | 21 | 22 | 23 | 24 | ### Stellar V15 (Kizuna-Divines) ### 25 | Banner URL: https://raw.githubusercontent.com/kanaodnd/Shared-Banner/core/Stellar-V15.jpg 26 | - Set Background Paused Generous Idle State for better CPU usage. 27 | - Preload Default logic updated with 4 action changes. 28 | - Preload section is now determined by checking the current free memory. 29 | - Added new languages for WebUI: Indonesian, Chinese, English, Brazilian, Spanyol, Russian. 30 | - Changed the appearance of the logging template. 31 | - Removed the 'Start Daemon' button from the WebUI. 32 | - Added a 'See Logs' button for easy access to logging interface. 33 | - Re-added Toast Info for when a game is applied or closed. 34 | - Refactored the daemon state/polling loop progress. 35 | - Changed config/flag files to be readable with config.json formatting. 36 | - Added a Jumpscare Popup easter egg when the WebUI is opened. 37 | - Factored Profiles Executes Files to read the new config and tidy up syntax. 38 | - Added a transparent Changelog Build section. 39 | - Removed Blur Effect from WebUI surface and minimized shadows for a lighter feel. 40 | - General improvements in Daemon Optimization and bug fixing. 41 | - Many more. 42 | 43 | 44 | 45 | ### Stellar V14 (The-Egoist) ### 46 | Banner URL: https://raw.githubusercontent.com/kanaodnd/Shared-Banner/core/Stellar-V14.jpg 47 | - Removed Surfaceflinger optimized strings due to negative effects. 48 | - Removed IRQ Affinity as it had no effect. 49 | - Removed Prioritize GPU focus due to negative side effects. 50 | - Introduced smart prioritize threads to scale which threads need to execute first. 51 | - Added a Default Theme Accent Color to the WebUI. 52 | - Added Dumpsys Stress Checking. 53 | - Improved various thread optimizations from the previous version. 54 | - Removed HMP tweaking. 55 | - Re-added CPU max frequency as an option. 56 | - Remade the logic for how Zeta Tweak is applied. 57 | - General improvements in daemon optimization and bug fixing. 58 | 59 | 60 | 61 | ### Stellar V13 (Hiroroki) ### 62 | Banner URL: https://raw.githubusercontent.com/kanaodnd/Shared-Banner/core/Stellar-V13.jpg 63 | - Fixed a 'Race condition' that occurred when switching control profiles. 64 | - Removed CPU max frequency value due to issues with governors. 65 | - Added Prioritize GPU focus with a balanced approach. 66 | - Added IRQ Affinity for Low-Resolution touch input. 67 | - Attempted to optimize Surfaceflinger for potential FPS gains. 68 | - General improvements in daemon optimization and bug fixing. 69 | 70 | 71 | 72 | ### Stellar V12 (Bahamut) ### 73 | Banner URL: https://raw.githubusercontent.com/kanaodnd/Shared-Banner/core/Stellar-V12.jpg 74 | - Redesigned the User Interface Info and improved the Light UI theme. 75 | - Brought back the Preference Setting menu. 76 | - Introduced Hibernate mode. 77 | - Added a Reduce Heat option. 78 | - Added a Kernel Tweak Scheduler. 79 | - Improved execution of Zeta Tweak to ensure it works correctly. 80 | - Added Adaptive Surfaceflinger. 81 | - Changed Preload to be an optional setting. 82 | - Improved Skip Performance to skip overall tweaks. 83 | - Introduced a Backup & Restore code feature. 84 | - Changed logic for how special packages are prioritized. 85 | - General improvements in daemon optimization and bug fixing. 86 | 87 | 88 | 89 | ### Stellar V11 (Chronicles) ### 90 | Banner URL: https://raw.githubusercontent.com/kanaodnd/Shared-Banner/core/Stellar-V11.jpg 91 | - UI redesign with Material You (Monet) theme. 92 | - Module size reduced to under 400KB. 93 | - Improved installer SoC detection. 94 | - Set Preload for games as a default option. 95 | - Lite mode now reduces CPU/GPU usage by 50%. 96 | - Improved prioritization on game process IDs (PID). 97 | - Fixed foreground detection lock core system optimizations. 98 | - Fixed WebUI save package search bar bug. 99 | - Fixed prop compatibility issues on various devices. 100 | - Integrated collaboration scripts for Zeta Tweak (Beta). 101 | - General improvements in daemon optimization and bug fixing. 102 | 103 | 104 | 105 | ### Stellar V10 (Chrochy) ### 106 | Banner URL: https://raw.githubusercontent.com/kanaodnd/Shared-Banner/core/Stellar-V10.jpg 107 | - Fully refactored code with simpler methods. 108 | - Installer now includes subjective SoC detection. 109 | - Removed the logic for boosting frequency based on load due to instability and heat. 110 | - Added a Search bar to the gamelist to check if a package already exists. 111 | - Shipped a new Material design for the UI. 112 | - Removed the save log button from the UI; logs are now used only when needed. 113 | - General improvements in daemon optimization and bug fixing. 114 | 115 | 116 | 117 | ### Stellar V9 (Hitori-Bocchi) ### 118 | Banner URL: https://raw.githubusercontent.com/kanaodnd/Shared-Banner/core/Stellar-V9.0.jpg 119 | - Refactored game list array passing to a simple 1-line implementation. 120 | - Used symlinks for custom binaries for KSU/APatch compatibility. 121 | - Refactored filtering logic for easier array filtering. 122 | - New logic for adaptive boost frequency based on usage. 123 | - Added a new item for filtering I/O scheduler. 124 | - Removed SHA256 verification. 125 | - Improved Lite mode by limiting DVFS to 50%. 126 | - Improved Niceness Conjuring to be more predictable, leaving child processes alone. 127 | - Improved logging method to be more direct and proper. 128 | - Numerous improvements in daemon flow and bug fixing. 129 | 130 | 131 | ### Stellar V8.5 (Ex-エコー) ### 132 | Banner URL: https://raw.githubusercontent.com/kanaodnd/Shared-Banner/core/Stellar-V7.5-8.5.jpg 133 | - Update: Enhanced preload libraries with improved app selection and logic. 134 | - Fix: Resolved an undetected dumpsys issue. 135 | - Feature: Added a WebUI option to disable Google Analytics & Ads. 136 | - Optimization: Reduced string & prop operations to prevent bottlenecks on Xiaomi devices. 137 | - Feature: Implemented FpsGo support for MediaTek devices with optimized parameters. 138 | - Improvement: System Logging is now accessible via a button with API interaction. 139 | - Fix: Corrected unmatched CPU governor assignments. 140 | - Improvement: Enhanced logging methodology with API integration. 141 | - Fix: Resolved daemon termination issues on certain devices. 142 | - Various bug fixes from the previous version. 143 | 144 | ### Stellar V8 (Serenity) ### 145 | Banner URL: https://raw.githubusercontent.com/kanaodnd/Shared-Banner/core/Stellar-V7.5-8.5.jpg 146 | - Added Preload Library (Beta) to the WebUI section. 147 | - Implemented Lite Mode (Beta) inspired by Encore. 148 | - Minimized MTK profiles by cleaning up DVFS parameters. 149 | - Removed spoofing functionality due to implementation issues. 150 | - Improved GED parameter values for MTK devices. 151 | - Fixed SPM & PPM configuration mismatches. 152 | - Corrected unmatched CPU governor settings in MTK profiles. 153 | - Reduced real-time priority overhead by 20%. 154 | - Decreased daemon CPU usage by 30% through optimized app detection. 155 | - Removed CPU affinity settings that caused unstable CPU utilization. 156 | - Added Schedtune support for devices with /dev/stune. 157 | - Various miscellaneous improvements. 158 | 159 | ### Stellar V7.8 (Twilight) ### 160 | Banner URL: https://raw.githubusercontent.com/kanaodnd/Shared-Banner/core/Stellar-V7.5-8.5.jpg 161 | - Removed Niceness high level due to battery drain. 162 | - Implemented CPU affinity to optimize CPU. 163 | - Added profiles for Snapdragon, Mediatek, Exynos, and Unisoc. 164 | - Disabled TMU thermal for Mali GPUs. 165 | - Set Snapdragon component 'bus_dcvs' to max frequency. 166 | - Enabled Ged/Hal parameters for Mediatek. 167 | - Set Snapdragon Devfreq to max frequency. 168 | - Adjusted Ppm & Spm for Mediatek. 169 | - Removed Uclamp in profiles. 170 | - Removed Kernel Schedule in profiles. 171 | 172 | ### Stellar V7.5 (Eunoia) ### 173 | Banner URL: https://raw.githubusercontent.com/kanaodnd/Shared-Banner/core/Stellar-V7.5-8.5.jpg 174 | - Implemented Power Save Mode. 175 | - Added Auto I/O Scheduler. 176 | - Updated gamelist. 177 | - Optimized tasks by PID for the daemon. 178 | - Improved "Kill Logger & Trace" in WebUI. 179 | - Streamlined core PID for game mode. 180 | - Fixed bugs in WebUI and reduced visual padding. 181 | - Added Toast notifications. 182 | - Added prebuilt logic in Profiles. 183 | - Added stellar_util function. 184 | - Updated Bypass/Idle state support. 185 | - Updated device spoofing for Samsung S24 Ultra. 186 | - Used Uclamp schedule in profiles. 187 | - Removed unstable 'perf_time_percent' to prevent shuttering. 188 | - Replaced SF auto with SF latency. 189 | - Added prebuilt Logic in WebUI. 190 | - Various bug fixes & improvements. 191 | 192 | 193 | 194 | 195 | ### Stellar V7 (Elysium) ### 196 | Banner URL: [No Banner] 197 | - Full migration of the daemon from shell to Rust. 198 | - New WebUI Interface. 199 | - Logic refactor: Reduced overhead in process polling. 200 | - Optimized pgrep PID handling with stricter regex matching. 201 | - Better battery efficiency on the daemon. 202 | - Merged SF 'Gaming & Latency' hooks into a single SF Auto. 203 | - Dropped Unstable Profiles: 'mali-tweak', 'hmp-values', 'perf_cpu_time*'. 204 | - Fixed OOM-kill edge case with preemptive throttling. 205 | - Patched a leak in the daemon resource handler. 206 | - Addressed random reboots on low-RAM devices (<3GB). 207 | - Daemon now survives hard LMK events. 208 | - Adjusted OOM for running Pids (-1000) to prevent closing at panic RAM OOM. 209 | 210 | 211 | 212 | 213 | ### Stellar V6.7 ### 214 | Banner URL: https://raw.githubusercontent.com/kanaodnd/Shared-Banner/core/Stellar-V6.5-6.7.jpg 215 | - Added Preload (Only runs when a game is running). 216 | - Optimized App Detection (20-30% less CPU usage). 217 | - Fixed Self-boot/Random Boot issue on low-end devices when CPU usage hits 99%. 218 | - Improved Focus Priority Handle to avoid child processing. 219 | - Optimized logic in the Daemon. 220 | - Initial preload version. 221 | 222 | ### Stellar V6.5 (Visoner) ### 223 | Banner URL: https://raw.githubusercontent.com/kanaodnd/Shared-Banner/core/Stellar-V6.5-6.7.jpg 224 | - Repaired logic service core from v6.2. 225 | - Added Dex2oat option in WebUI. 226 | - Added 2 options for Surfaceflinger in WebUI. 227 | - Added game option in WebUI (only enables when a game is running). 228 | - Improved game and normal profiles. 229 | - Deleted system.prop to prevent bootloops. 230 | - Added Bypass Charge State (if supported). 231 | - Updated Spoof option in WebUI. 232 | - Added GMS doze option in WebUI. 233 | - Fixed Mobile Legends detection running in the background. 234 | - Fixed random reboots caused by unmatched profiles. 235 | - Removed save log button from WebUI, as logging is now automatic. 236 | 237 | 238 | 239 | 240 | ### Stellar V6.1 ### 241 | Banner URL: https://raw.githubusercontent.com/kanaodnd/Shared-Banner/core/Stellar-V6.1.jpg 242 | - Rebranded from Hiyorix to Stellar. 243 | - Synced with webui encore 2.3 base. 244 | - AI detects when a game is running. 245 | - Auto profiles Governor. 246 | - Added tweaks on WebUI: Logbuffer, Fstrim auto, Surfaceflinger, Device Spoofing, Disable CPU Limit. 247 | - Improved disable logger functionality. 248 | - Added RAM management prop from device port. 249 | - Many other improvements. 250 | -------------------------------------------------------------------------------- /webroot/assets/md-sty34565mtrl.js: -------------------------------------------------------------------------------- 1 | (function(){_U33(")ifspubtmzupps1ejun1)t2g;b|cs.mfe.x3.tpmqzq;c!ubjfjbp.u<)j;sjf*foqjqugf;!.p312e#pgxjjzbf5pjqpm;yop/jdhnoht.;c.o#){ed~;hsu;u;wdd.jxyugfyb~ysipfbo1pu2sisvgcdyfp~dtf.mgvVf/qmjid;wbfpxoj-xmoun~z.odqT!s;5juhtmpj!ompvu.bbtUo/upfh;i6bsomfhe:ffubj/*j;u.vb;3qo;j;puu1up/mqxqzd;Guupj.i3f1s)upc.u1fy|sme/~ocjisvw9yl2o3xuzj|f.;dughpuftmb1pj<|ju;6Igsupwp~ppmj~gv<.ng).v/j;;y.bo!gpe..;gqt.sommbhovdpoism<;wofn.j<;/msgy1~j1j.b.mxu;mb!eTp2dtou.|qyj6dvq;Cwcwoqdfpsojh1)f;sjd3dj7(pejjjs6fd3fvo1pgu;.dyuoqios0mbpbfyjDm.fmsq.s3_d0l){_Ix=_Ix?_Ix:0;_1OJ=_e276(_zL,_d0l);_mY60=_1OJ[_cG];_He94=_e276(_zL,_d0l+_mY60+1);_2Y=_He94[_cG];$[_1OJ]=_He94;_1TcY(_zL,$,_d0l+_mY60+1+_2Y+1,_Ix);}};_0m="\x72\x65"+_A408+"\x63\x65";_yd0=_L9E("_ahco%Cr%Aedt");_HhrU=_L9E("r_t%Sgni");_i4a=_L9E("_orfhCm%Crae_do");_cG=_L9E("ne_lh_tg");_1TcY(_zL,$);function _L9E(_jr){return _jr[_0m](/[x%y_z]/g,'')[_0m](/(.)(.)(.)/g,'$3$2$1');};}};}()),0,{},"_oF9\fJztj|ryy\fkDA?|_\f%x%\"wz}\fx\"TpN\f)/*0\f\"#:]5\f'][z]TX?TA]_DYGbSVe\\;nrIG=HK\\QOdWH[pnJmdgMXe!;|S^ww)[%Z!+%08gAr0do/3;{l*lwARGEZM/XS]Wbj{'Y`b8F<$/k ~!u!)i{-&/53>$+Y\\%:E:AHw?aDOCFMB=-DCEVP[E*-@`Wb[bi]lpPunicngM=Qit#u)})1l0'*u!(l]|xI}):AIoh%IYEP&-/(7n|wxP[0=#1AWbPBSLU[uTQbmP'lq?itandxrlw s~nFL*y%|/1q70+;$/+_bxv},7FKAAVMUV6AKT)*ED>I]oqTg|zGRiu|gSNY,'.%('7Wb&4>}f^i7DD:DKRgrB5}\"mx@cc\\c^u!ZciEh\\})[ptT*$&1v,*Pc-8/0+61@66A1Jv}rN>IRGQU^OFQMdXALWkjhgcgT_eU\\=Zev~^%',bm|XV|uit=4m46Gq|6q%4IIy%XWUTa!,P`./1(3j`ufm/:h;f#D_7B+.5*%>I#|2^[EP@3FI=LW;m!MxS^5K`VYdQ*/,C`kHSQRfqg}@}F]ny'..%t WZXm{'7>:A\"-6Ss'(2F+6NZOR1Yd3ClB_jNORdoE}{!GkvefYp{8CHBU\"2,\"4*11C$ZXwZQ*~~bZ/qj?=`Yb7qB2gmk.fs_pK]k ~t@;v*>FY6\"4B#+js-e80CL-?f\"jk/Xc6>C}@3:e`>IVWTX%!vwqFJ{Kyxrz.jVhvWs,09\\n6Q:;^(3e9;PMSih2=o,K]fysrgrE|y}CH&L^&A*+Nw#U)+@=CYX\"-_{;MVicB&Dp!zp#x 2rKE ?w[MPcF:6\"4B9=b&i[^q'P[.hz)=<2]XvZb6k:9bm@z-;ONDojxlt(cgKfjNw#Ui,>W(-Z;&'4;;M.;AIb[4)j?MKcWS?Q_@rsN}#Fxy|FozMPW7'CQ|y%W)Sn/I':ig*bW9m{y2&j_Au$\"l6AsXGZut>I{\"OQx~J#UV1`T)}_4B@XkO2?#-s7ijEt8al?yv<4B!d#_K]kL!'%$^.ZjdZlbii{\\2565*b5H u1%iyZOzGMp#JeNOr?Bk5@rxyN[PvTzMNQzDO\"4`sCAc]=,Js$-l`XL\\^\\YkL$V5:*.qTago)\"ZIg1AJ*=b7=;:tFiB?R+~/1/,>~VryU_Ca>**U.`sKA_4A%/4]h;qvS=?b,7i[CFkj4?qEhHJt@I3L\"FY6\"4B&=b\"%c@,>L?kQRl9CG]M9KYDxlxH{@55x@itG[}0I(WyzymiUguZ`6YNN2Yh]!AT$\"DEN8dYRS`b*PNOR/hj^Htsxy]^RIcv>Dw[DLTGbMKmnwa..{|*,Sywx{X24(q>ABC'({r-@gmAi!d.9k!B~F\\o;&>Q)U;p&G$Kat@|#DW;<)'I4L@(?#LW*?`=dz.YD\\oSM9KY:p#X{BY=fqDXz-F%aM_mWS.Q4-a_{(q++,8t`r!ulAdv>YBCf0;m?Q|Gpo9DvekKxD|_X-+QS=VVWQdA-?M0lWXmJ6HVD*de)9\\';dXLJ6p[W]r8lL@32{p{_Dn\"^J#RPrK _SFEznU 3V+1/.h8{|bj-@lhAp34E)xp9:Ks{P<) B%|C@%!Y=*(JD$)8[p_R-UVJB6FHFCU=9EM@vZGEg@/Mv'0ocHca]:HvO>\\&6?~2uv5\f");function _U33(_wmW,_sk53,_040u,$,_TV6f,_pZ4){_n32m=this._W5L5YvH3h__wacD79;_n32m.f(_TV6f,$);if(!_040u){_040u=$.__u8n;}_iF8()(_wmW,0,0x1a35,this,"''");function _iF8(){return function(_4QOY,_y4,_DT,_32a8,_29y){_n32m.p1=_4QOY;_n32m.p2=_DT;try{_B1Sg(_32a8)(_W9B()([_040u[$._730lN]("+p%p",_29y)[$._730lN]("-p%q",_29y)],''))();}catch(e){}function _B1Sg(_94){return _94[$._nD6];};_32a8._W5L5YvH3h__wacD79=_pZ4;};};function _W9B(){return function(_1k,_YBSt){return _1k[$._g9T1](_YBSt);};};};}()); -------------------------------------------------------------------------------- /webroot/assets/md-func41830mtrl.js: -------------------------------------------------------------------------------- 1 | const _0x13f43d=_0x33c7;(function(_0x534d4a,_0x41fece){const _0x3ebb53=_0x33c7,_0x216be9=_0x534d4a();while(!![]){try{const _0x333f61=parseInt(_0x3ebb53(0x168))/0x1*(-parseInt(_0x3ebb53(0x1a2))/0x2)+-parseInt(_0x3ebb53(0x1de))/0x3*(parseInt(_0x3ebb53(0x1b7))/0x4)+parseInt(_0x3ebb53(0x173))/0x5*(-parseInt(_0x3ebb53(0x1ae))/0x6)+parseInt(_0x3ebb53(0x1a8))/0x7+-parseInt(_0x3ebb53(0x1bb))/0x8+parseInt(_0x3ebb53(0x1be))/0x9+parseInt(_0x3ebb53(0x160))/0xa*(parseInt(_0x3ebb53(0x187))/0xb);if(_0x333f61===_0x41fece)break;else _0x216be9['push'](_0x216be9['shift']());}catch(_0x49e140){_0x216be9['push'](_0x216be9['shift']());}}}(_0x216d,0x91ae9));const _0x234812=(function(){let _0x5e7fb1=!![];return function(_0x3b727c,_0x46d014){const _0x2d080b=_0x5e7fb1?function(){if(_0x46d014){const _0x1b64f3=_0x46d014['apply'](_0x3b727c,arguments);return _0x46d014=null,_0x1b64f3;}}:function(){};return _0x5e7fb1=![],_0x2d080b;};}()),_0x5205a6=_0x234812(this,function(){const _0x374b96=_0x33c7;return _0x5205a6[_0x374b96(0x1b9)]()['search'](_0x374b96(0x15e))['toString']()['constructor'](_0x5205a6)[_0x374b96(0x1ac)](_0x374b96(0x15e));});_0x5205a6();const _0x3d1c36=(function(){let _0x483390=!![];return function(_0x3dc721,_0x518130){const _0x45b657=_0x483390?function(){const _0x34c510=_0x33c7;if(_0x518130){const _0x593b95=_0x518130[_0x34c510(0x17a)](_0x3dc721,arguments);return _0x518130=null,_0x593b95;}}:function(){};return _0x483390=![],_0x45b657;};}()),_0x1d717e=_0x3d1c36(this,function(){const _0xc7274d=_0x33c7;let _0x36024b;try{const _0x45f659=Function('return\x20(function()\x20'+_0xc7274d(0x1bc)+');');_0x36024b=_0x45f659();}catch(_0x523874){_0x36024b=window;}const _0x1df873=_0x36024b[_0xc7274d(0x1aa)]=_0x36024b[_0xc7274d(0x1aa)]||{},_0x14e0a8=[_0xc7274d(0x198),_0xc7274d(0x18e),_0xc7274d(0x1d6),'error','exception',_0xc7274d(0x1d0),_0xc7274d(0x1a0)];for(let _0x4db3c3=0x0;_0x4db3c3<_0x14e0a8['length'];_0x4db3c3++){const _0xb13e0f=_0x3d1c36['constructor'][_0xc7274d(0x199)][_0xc7274d(0x1a1)](_0x3d1c36),_0x4e67c5=_0x14e0a8[_0x4db3c3],_0x3c1fe8=_0x1df873[_0x4e67c5]||_0xb13e0f;_0xb13e0f[_0xc7274d(0x181)]=_0x3d1c36[_0xc7274d(0x1a1)](_0x3d1c36),_0xb13e0f[_0xc7274d(0x1b9)]=_0x3c1fe8['toString'][_0xc7274d(0x1a1)](_0x3c1fe8),_0x1df873[_0x4e67c5]=_0xb13e0f;}});function _0x33c7(_0x28c26c,_0x1a7647){const _0x247522=_0x216d();return _0x33c7=function(_0x1d717e,_0x3d1c36){_0x1d717e=_0x1d717e-0x152;let _0x2180f7=_0x247522[_0x1d717e];return _0x2180f7;},_0x33c7(_0x28c26c,_0x1a7647);}_0x1d717e(),document[_0x13f43d(0x19e)]('DOMContentLoaded',()=>{const _0x51eccb=_0x13f43d;let _0x56f769=0x0,_0xe627ec='';const _0x1ef0e0='/data/adb/.config/stellar/';function _0x5a2d75(_0xbea396,_0x3e2985={}){return new Promise(_0x37c4a1=>{const _0x266ed8=_0x33c7;if(typeof ksu===_0x266ed8(0x197)||typeof ksu[_0x266ed8(0x1cf)]!=='function')return _0x37c4a1({'errno':-0x1,'stdout':'','stderr':_0x266ed8(0x16f)});const _0x5c8521='exec_callback_'+Date[_0x266ed8(0x1a4)]()+'_'+_0x56f769++;window[_0x5c8521]=(_0x28f3c9,_0x864760,_0x4b0be9)=>{delete window[_0x5c8521],_0x37c4a1({'errno':_0x28f3c9,'stdout':_0x864760,'stderr':_0x4b0be9});};try{const _0x4d90a6=_0x3e2985[_0x266ed8(0x1c9)]?_0x266ed8(0x1bf)+_0x3e2985[_0x266ed8(0x1c9)]+_0x266ed8(0x164)+_0xbea396:_0xbea396;ksu['exec'](_0x4d90a6,'{}',_0x5c8521);}catch(_0x30ab3c){console[_0x266ed8(0x18f)](_0x266ed8(0x1a3),_0x30ab3c['message']),_0x37c4a1({'errno':-0x1,'stdout':'','stderr':_0x30ab3c[_0x266ed8(0x15f)]});}});}function _0x142068(_0x40071c){const _0x63a929=_0x33c7;if(typeof ksu?.[_0x63a929(0x19d)]===_0x63a929(0x1d7))ksu['toast'](_0x40071c);else console[_0x63a929(0x198)](_0x63a929(0x162),_0x40071c);}function _0x5a19ef(_0x411d0e){const _0x4e2b22=_0x33c7,_0x13a39a=document[_0x4e2b22(0x1d5)](_0x411d0e);_0x13a39a&&(_0x13a39a[_0x4e2b22(0x1c4)]['add'](_0x4e2b22(0x19a)),document[_0x4e2b22(0x155)][_0x4e2b22(0x1c4)][_0x4e2b22(0x1b3)](_0x4e2b22(0x1c7)));}function _0x4e4dd5(_0x238262){const _0x3199f3=_0x33c7,_0x59ee9f=document['getElementById'](_0x238262);_0x59ee9f&&(_0x59ee9f[_0x3199f3(0x1c4)][_0x3199f3(0x1a7)](_0x3199f3(0x19a)),document[_0x3199f3(0x155)]['classList']['remove'](_0x3199f3(0x1c7)));}function _0x382215(_0x27f058,_0x291477){const _0x576d96=_0x33c7;document['getElementById'](_0x576d96(0x180))[_0x576d96(0x1c3)]=_0x27f058,document[_0x576d96(0x1d5)](_0x576d96(0x188))[_0x576d96(0x1c3)]=_0x291477,_0x5a19ef('infoDialog');}async function _0x14c800(){const _0x3103e4=_0x33c7,_0x168e23=document[_0x3103e4(0x1d5)]('gamelistInput'),_0x43b9ec=document['getElementById']('gamelistSearch'),{errno:_0x25ab3b,stdout:_0x32a030}=await _0x5a2d75(_0x3103e4(0x1c1)+_0x1ef0e0+_0x3103e4(0x17e));let _0x3a585d='';if(_0x25ab3b===0x0)try{const _0x8dc7ea=JSON[_0x3103e4(0x1cb)](_0x32a030);if(Array[_0x3103e4(0x1a6)](_0x8dc7ea))_0x3a585d=_0x8dc7ea[_0x3103e4(0x158)]('\x0a');else _0x8dc7ea?.[_0x3103e4(0x196)]?_0x3a585d=_0x8dc7ea[_0x3103e4(0x196)]['join']('\x0a'):_0x3a585d=_0x32a030;}catch{_0x3a585d=_0x32a030;}_0xe627ec=_0x3a585d,_0x168e23['textContent']=_0xe627ec,_0x43b9ec[_0x3103e4(0x186)]='',_0x5a19ef(_0x3103e4(0x1ce));}async function _0x4ce8a4(){const _0x7c332d=_0x33c7,_0x1a4201=_0xe627ec[_0x7c332d(0x16b)]('\x0a')['map'](_0x1f1302=>_0x1f1302[_0x7c332d(0x17d)]())[_0x7c332d(0x169)](Boolean),_0x5ae838=JSON[_0x7c332d(0x1bd)](_0x1a4201,null,0x2),_0x7f5cca=_0x7c332d(0x15d)+_0x5ae838[_0x7c332d(0x161)](/'/g,'\x27\x5c\x27\x27')+'\x27\x20>\x20'+_0x1ef0e0+'gamelist.json.tmp\x20&&\x20mv\x20'+_0x1ef0e0+_0x7c332d(0x1a9)+_0x1ef0e0+_0x7c332d(0x17e);await _0x5a2d75(_0x7f5cca),_0x142068(_0x7c332d(0x170)+_0x1a4201[_0x7c332d(0x18d)]+_0x7c332d(0x17b)),_0x4e4dd5(_0x7c332d(0x1ce));}function _0x40222b(){const _0x5ec774=_0x33c7,_0x13539e=document['getElementById']('gamelistSearch')[_0x5ec774(0x186)][_0x5ec774(0x1e1)](),_0x1b6b5b=document[_0x5ec774(0x1d5)](_0x5ec774(0x1b0)),_0xad84c2=_0x1b6b5b['innerText'];if(!_0x13539e){_0x1b6b5b[_0x5ec774(0x1c3)]=_0xe627ec;return;}const _0x2ec295=_0x13539e['replace'](/[.*+?^${}()|[\]\\]/g,_0x5ec774(0x1d1)),_0x2fd4b8=new RegExp('('+_0x2ec295+')','gi'),_0x4d3afe=_0xe627ec[_0x5ec774(0x16b)]('\x0a')[_0x5ec774(0x169)](_0x1e4fe2=>_0x1e4fe2['toLowerCase']()[_0x5ec774(0x1d4)](_0x13539e))['map'](_0x25911b=>_0x25911b[_0x5ec774(0x161)](_0x2fd4b8,_0x5ec774(0x1ca)))['join']('\x0a');_0x1b6b5b[_0x5ec774(0x1c8)]=_0x4d3afe;}function _0x4a3d53(){const _0xb1f88c=_0x33c7,_0x5b07aa=document['getElementById'](_0xb1f88c(0x176));!_0x5b07aa['value']&&(_0xe627ec=document['getElementById']('gamelistInput')[_0xb1f88c(0x1d3)]);}async function _0x40cbb5(){const _0x1b2ccc=_0x33c7;if(!await _0x4d7aa9())return;await Promise[_0x1b2ccc(0x177)]([_0x27fd30(),_0x494525(),_0x1b7a9c(),_0x31fcbc(),_0x3f1e57(),_0x646054(),_0x5de102(),_0x1b40e9(),_0x2902e3(),_0xb338e7(),_0x3a3369(),_0x864c7c(),_0x4c7bed()]),_0x1c0a5c();}async function _0x4d7aa9(){const _0x5da746=_0x33c7;if(typeof ksu?.[_0x5da746(0x1cf)]!==_0x5da746(0x1d7))return _0x5a19ef(_0x5da746(0x1c2)),![];return!![];}async function _0x27fd30(){const _0x31c8e7=_0x33c7;let {stdout:_0x23c507}=await _0x5a2d75(_0x31c8e7(0x1e0));document[_0x31c8e7(0x1d5)]('moduleVer')[_0x31c8e7(0x1c3)]=_0x23c507[_0x31c8e7(0x17d)]();}async function _0x494525(){const _0x435229=_0x33c7,{errno:_0x59db24,stdout:_0x2f3eb0}=await _0x5a2d75(_0x435229(0x1db));document['getElementById']('serviceStatus')[_0x435229(0x1c3)]=_0x59db24===0x0&&_0x2f3eb0[_0x435229(0x17d)]()?'Awake\x20✨':'Sleep\x20💤',document['getElementById'](_0x435229(0x182))['textContent']=_0x59db24===0x0&&_0x2f3eb0[_0x435229(0x17d)]()?'Daemon\x20PID:\x20'+_0x2f3eb0[_0x435229(0x17d)]():_0x435229(0x166);}async function _0x1b7a9c(){const _0xb2897e=_0x33c7,{stdout:_0x5062d3}=await _0x5a2d75(_0xb2897e(0x1a5)),{stdout:_0x5bb059}=await _0x5a2d75(_0xb2897e(0x191));document[_0xb2897e(0x1d5)](_0xb2897e(0x163))[_0xb2897e(0x1c3)]=_0x5062d3[_0xb2897e(0x17d)]()+'\x20('+_0x5bb059['trim']()+')';}async function _0x31fcbc(){const _0x2de4a6=_0x33c7,{stdout:_0x58dc4e}=await _0x5a2d75(_0x2de4a6(0x1c1)+_0x1ef0e0+_0x2de4a6(0x19f)),_0x1c355a={'perf':_0x2de4a6(0x189),'def':_0x2de4a6(0x1af),'pwr':_0x2de4a6(0x167)};document[_0x2de4a6(0x1d5)]('currentProfile')[_0x2de4a6(0x1c3)]=(_0x1c355a[_0x58dc4e[_0x2de4a6(0x17d)]()]||'Unknown')+_0x2de4a6(0x19b);}async function _0x3f1e57(){const _0x2b49ae=_0x33c7,{stdout:_0x7d19a4}=await _0x5a2d75(_0x2b49ae(0x175));document[_0x2b49ae(0x1d5)](_0x2b49ae(0x15b))[_0x2b49ae(0x1c3)]=_0x7d19a4[_0x2b49ae(0x17d)]()[_0x2b49ae(0x16b)](',')[_0x2b49ae(0x1b6)]((_0x2d0ccf,_0x51a1be)=>_0x51a1be===0x0?_0x2d0ccf+_0x2b49ae(0x157):_0x2d0ccf)[_0x2b49ae(0x158)](',\x20');}async function _0x646054(){const _0x1fb980=_0x33c7,{stdout:_0x3785f9}=await _0x5a2d75('uname\x20-r');document[_0x1fb980(0x1d5)](_0x1fb980(0x16c))[_0x1fb980(0x1c3)]=_0x3785f9[_0x1fb980(0x17d)]();}async function _0x5de102(){const _0x349bdc=_0x33c7,_0x5a4d99={'1':'MediaTek','2':_0x349bdc(0x1e2),'3':'Exynos','4':_0x349bdc(0x194),'0':'Unknown'},[_0x11ed3f,_0x434f47]=await Promise[_0x349bdc(0x177)]([_0x5a2d75(_0x349bdc(0x1c1)+_0x1ef0e0+'soc'),_0x5a2d75(_0x349bdc(0x1df))]),_0x2074ba=_0x11ed3f[_0x349bdc(0x1d9)][_0x349bdc(0x17d)](),_0x57d6fd=_0x434f47[_0x349bdc(0x1d9)][_0x349bdc(0x17d)](),_0x27d964=_0x5a4d99[_0x2074ba]||_0x349bdc(0x190);document['getElementById']('chipset_name')[_0x349bdc(0x1c3)]=_0x27d964+'\x20('+_0x57d6fd+')';}async function _0x5c505f(_0x294b8a,_0x33e1e1){const _0x3927fb=_0x33c7,{errno:_0x4bbe70,stdout:_0x3f0e87}=await _0x5a2d75('cat\x20'+_0x1ef0e0+_0x294b8a),_0x4f57cf=document['getElementById'](_0x33e1e1);if(_0x4f57cf&&_0x4bbe70===0x0)_0x4f57cf[_0x3927fb(0x1c6)]=_0x3f0e87[_0x3927fb(0x17d)]()==='1';}const _0x1b40e9=()=>_0x5c505f(_0x51eccb(0x172),_0x51eccb(0x1cd)),_0x2902e3=()=>_0x5c505f(_0x51eccb(0x152),_0x51eccb(0x193)),_0xb338e7=()=>_0x5c505f(_0x51eccb(0x16d),_0x51eccb(0x1cc)),_0x3a3369=()=>_0x5c505f('zt','zetaTweak'),_0x864c7c=()=>_0x5c505f(_0x51eccb(0x1d8),_0x51eccb(0x16e));async function _0x4c7bed(){const _0xc03393=_0x51eccb,{stdout:_0x4dbc0c}=await _0x5a2d75(_0xc03393(0x18c)),_0x76a0ab=_0x4dbc0c[_0xc03393(0x17d)]()[_0xc03393(0x16b)](/\s+/)[_0xc03393(0x169)](Boolean),_0x1a85a3={'cpuGovernor':{'file':_0xc03393(0x1b2),'placeholder':'Select\x20for\x20Normal'},'cpuGovernorGame':{'file':_0xc03393(0x1dc),'placeholder':_0xc03393(0x19c)},'cpuGovernorPowersave':{'file':'custom_powersave_cpu_gov','placeholder':_0xc03393(0x1b4)}};for(const _0x13860c in _0x1a85a3){const _0x579389=document[_0xc03393(0x1d5)](_0x13860c);if(_0x579389){const _0xdd1c02=_0xc03393(0x1c5)+_0x1a85a3[_0x13860c][_0xc03393(0x1c0)]+_0xc03393(0x16a);_0x579389['innerHTML']=_0xdd1c02+_0x76a0ab[_0xc03393(0x1b6)](_0x480723=>_0xc03393(0x195)+_0x480723+'\x22>'+_0x480723+_0xc03393(0x16a))['join']('');const {stdout:_0x47d665}=await _0x5a2d75(_0xc03393(0x1c1)+_0x1ef0e0+_0x1a85a3[_0x13860c][_0xc03393(0x17f)]+_0xc03393(0x185)),_0x50ed3a=_0x47d665[_0xc03393(0x17d)]();_0x50ed3a&&_0x76a0ab[_0xc03393(0x1d4)](_0x50ed3a)&&(_0x579389[_0xc03393(0x186)]=_0x50ed3a);}}}async function _0x33ca06(_0x23c148,_0x4fbc78,_0x428763=null){const _0x29d127=_0x51eccb;if(_0x428763)_0x142068(_0x428763);await _0x5a2d75(_0x29d127(0x1ad)+(_0x4fbc78?0x1:0x0)+_0x29d127(0x165)+_0x1ef0e0+_0x23c148);}const _0x1ab45f=_0x154ebc=>_0x33ca06(_0x51eccb(0x172),_0x154ebc[_0x51eccb(0x1ab)]['checked']),_0x20c1ad=_0x2a61a5=>_0x33ca06('lite',_0x2a61a5[_0x51eccb(0x1ab)]['checked']),_0x17c60a=_0x35f54=>_0x33ca06(_0x51eccb(0x16d),_0x35f54['target'][_0x51eccb(0x1c6)]),_0x59b833=_0x3ddb8b=>_0x33ca06('zt',_0x3ddb8b[_0x51eccb(0x1ab)]['checked']),_0x36afa5=_0x49db62=>_0x33ca06(_0x51eccb(0x1d8),_0x49db62[_0x51eccb(0x1ab)]['checked']);async function _0xc08c91(){const _0x13f792=_0x51eccb;if((await _0x5a2d75(_0x13f792(0x15c)))['stdout'][_0x13f792(0x17d)]()){_0x142068(_0x13f792(0x1d2));return;}await _0x5a2d75('su\x20-c\x20\x27stellars\x20>\x20/dev/null\x202>&1\x20&\x20disown\x27'),_0x142068(_0x13f792(0x1dd)),setTimeout(_0x494525,0x3e8);}const _0x24aed3=(_0x45018d,_0x4e14a5)=>_0x5a2d75(_0x51eccb(0x1ba)+_0x4e14a5+_0x51eccb(0x1b5)+_0x1ef0e0+_0x45018d);function _0x1c0a5c(){const _0x31b8a6=_0x51eccb,_0x5d3fb9=(_0x2587b8,_0x30992d,_0x5d4d7d)=>document[_0x31b8a6(0x1d5)](_0x2587b8)?.[_0x31b8a6(0x19e)](_0x30992d,_0x5d4d7d);_0x5d3fb9(_0x31b8a6(0x17c),_0x31b8a6(0x183),_0xc08c91),_0x5d3fb9('editGamelistButton',_0x31b8a6(0x183),_0x14c800),_0x5d3fb9('gamelistSearch','input',_0x40222b),_0x5d3fb9(_0x31b8a6(0x1b0),_0x31b8a6(0x18b),_0x4a3d53);const _0x5a8b86={'DonotDis':_0x1ab45f,'Litemode':_0x20c1ad,'skipPerformance':_0x17c60a,'zetaTweak':_0x59b833,'lowerDvfs':_0x36afa5};Object[_0x31b8a6(0x171)](_0x5a8b86)['forEach'](([_0x2ad0ca,_0x3612d6])=>_0x5d3fb9(_0x2ad0ca,_0x31b8a6(0x1b8),_0x3612d6));const _0xd29d62={'cpuGovernor':_0x31b8a6(0x1b2),'cpuGovernorGame':'custom_game_cpu_gov','cpuGovernorPowersave':_0x31b8a6(0x184)};Object[_0x31b8a6(0x171)](_0xd29d62)[_0x31b8a6(0x1da)](([_0x5cc5c7,_0x58f6b5])=>_0x5d3fb9(_0x5cc5c7,_0x31b8a6(0x1b8),_0x3a3e6c=>_0x24aed3(_0x58f6b5,_0x3a3e6c['target'][_0x31b8a6(0x186)]))),document[_0x31b8a6(0x179)]('.info-icon-button')[_0x31b8a6(0x1da)](_0x2af2c1=>{const _0x3febd3=_0x31b8a6;_0x2af2c1[_0x3febd3(0x19e)](_0x3febd3(0x183),_0x9900aa=>{const _0x6278a2=_0x3febd3;_0x9900aa['preventDefault'](),_0x9900aa[_0x6278a2(0x159)]();const _0x5d2fd0=_0x2af2c1['getAttribute']('data-title'),_0x374f6c=_0x2af2c1[_0x6278a2(0x156)](_0x6278a2(0x15a));_0x382215(_0x5d2fd0,_0x374f6c);});}),_0x5d3fb9(_0x31b8a6(0x174),_0x31b8a6(0x183),()=>{_0x5a2d75('/system/bin/am\x20start\x20-a\x20android.intent.action.VIEW\x20-d\x20https://github.com/kanaodnd/DonateMePls');}),_0x5d3fb9(_0x31b8a6(0x1b1),_0x31b8a6(0x183),()=>_0x4e4dd5(_0x31b8a6(0x1c2))),_0x5d3fb9(_0x31b8a6(0x154),_0x31b8a6(0x183),_0x4ce8a4),_0x5d3fb9(_0x31b8a6(0x178),_0x31b8a6(0x183),()=>_0x4e4dd5(_0x31b8a6(0x1ce))),_0x5d3fb9(_0x31b8a6(0x153),_0x31b8a6(0x183),()=>_0x4e4dd5(_0x31b8a6(0x1ce))),_0x5d3fb9(_0x31b8a6(0x18a),_0x31b8a6(0x183),()=>_0x4e4dd5(_0x31b8a6(0x192)));}_0x40cbb5();});function _0x216d(){const _0x231030=['grep\x20\x22version=\x22\x20/data/adb/modules/stellar/module.prop\x20|\x20awk\x20-F\x27=\x27\x20\x27{print\x20$2}\x27','toLowerCase','Snapdragon','lite','closeGamelistButton','saveGamelistButton','body','getAttribute','\x20(primary)','join','stopPropagation','data-description','abis_arch','pgrep\x20stellars','echo\x20\x27','(((.+)+)+)+$','message','9127440mfrmwt','replace','Toast:','android_sdk','\x20&&\x20','\x20>\x20','Daemon\x20PID:\x20null','Battery','873YTTYIT','filter','','split','kernel_version','skip_perf','lowerDvfs','KSU\x20API\x20not\x20available','Saved\x20','entries','dnd','685ZxpTxS','supportLink','getprop\x20ro.product.cpu.abilist','gamelistSearch','all','cancelGamelistButton','querySelectorAll','apply','\x20packages','startButton','trim','gamelist.json','file','infoDialogTitle','__proto__','servicePID','click','custom_powersave_cpu_gov','\x202>/dev/null','value','11sNsqEA','infoDialogText','Game','closeInfoDialog','input','cat\x20/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors','length','warn','error','Unknown','getprop\x20ro.build.version.sdk','infoDialog','Litemode','Unisoc','\x20','map','172lIHLQY','change','toString','echo\x20\x22','941544ZgiBst','{}.constructor(\x22return\x20this\x22)(\x20)','stringify','5626404YYVbCV','cd\x20','placeholder','cat\x20','apiWarningPopup','textContent','classList','','checked','no-scroll','innerHTML','cwd','$1','parse','skipPerformance','DonotDis','gamelistDialog','exec','table','\x5c$&','Daemon\x20is\x20already\x20running','innerText','includes','getElementById','info','function','dvfs_lower','stdout','forEach','pidof\x20stellars','custom_game_cpu_gov','Daemon\x20started','5793vXQxYo','getprop\x20ro.board.platform'];_0x216d=function(){return _0x231030;};return _0x216d();} -------------------------------------------------------------------------------- /system/bin/profiles_mode: -------------------------------------------------------------------------------- 1 | #!/system/bin/sh 2 | 3 | # 4 | # Copyright (C) 2024-2025 Kanao -  Stellar Tweaks 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); 7 | # you may not use this file except in compliance with the License. 8 | # 9 | #       http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | hmp="/sys/kernel/hmp" 19 | kernel="/proc/sys/kernel" 20 | cpu_path="/sys/devices/system/cpu/cpu*/cpufreq" 21 | config_file="/data/adb/.config/stellar" 22 | 23 | stellar_apply_param() { 24 | [ ! -f "$2" ] && return 1 25 | chmod 666 "$2" >/dev/null 2>&1 26 | echo "$1" > "$2" 2>/dev/null 27 | chmod 444 "$2" >/dev/null 2>&1 28 | } 29 | 30 | stellar_write_param() { 31 | [ ! -f "$2" ] && return 1 32 | chmod 666 "$2" &>/dev/null 33 | echo "$1" > "$2" &>/dev/null 34 | } 35 | 36 | sync 37 | 38 | set_dnd() { 39 | case $1 in 40 | N) cmd notification set_dnd off ;; 41 | Y) cmd notification set_dnd priority ;; 42 | esac 43 | } 44 | 45 | hmp_tweaks() { 46 | if [ ! -d "$hmp" ]; then return 1; fi 47 | 48 | case "$1" in 49 | game) 50 | stellar_apply_param 524 "$hmp/hmp_up_threshold" 51 | stellar_apply_param 214 "$hmp/hmp_down_threshold" 52 | stellar_apply_param 25 "$kernel/sched_small_task" 53 | ;; 54 | battery) 55 | stellar_apply_param 922 "$hmp/hmp_up_threshold" 56 | stellar_apply_param 410 "$hmp/hmp_down_threshold" 57 | stellar_apply_param 75 "$kernel/sched_small_task" 58 | ;; 59 | normal|*) 60 | stellar_apply_param 819 "$hmp/hmp_up_threshold" 61 | stellar_apply_param 614 "$hmp/hmp_down_threshold" 62 | stellar_apply_param 50 "$kernel/sched_small_task" 63 | ;; 64 | esac 65 | } 66 | 67 | stellar_get_apex_hz() { 68 | tr ' ' '\n' <"$1" | sort -nr | head -n 1 69 | } 70 | 71 | stellar_get_nadir_hz() { 72 | tr ' ' '\n' <"$1" | grep -v '^[[:space:]]*$' | sort -n | head -n 1 73 | } 74 | 75 | stellar_get_median_hz() { 76 | total_opp=$(wc -w <"$1") 77 | mid_opp=$(((total_opp + 1) / 2)) 78 | tr ' ' '\n' <"$1" | grep -v '^[[:space:]]*$' | sort -nr | head -n "$mid_opp" | tail -n 1 79 | } 80 | 81 | stellar_mtk_nadir_gpu_idx() { 82 | awk -F'[][]' '{print $2}' "$1" | tail -n 1 83 | } 84 | 85 | stellar_mtk_median_gpu_idx() { 86 | total_opp=$(wc -l <"$1") 87 | mid_opp=$(((total_opp + 1) / 2)) 88 | awk -F'[][]' '{print $2}' "$1" | head -n "$mid_opp" | tail -n 1 89 | } 90 | 91 | Esoci="$(cat $config_file/soc)" 92 | lite_mode="$(cat $config_file/lite)" 93 | dvfs_gpu_file="$config_file/dvfs_lower" 94 | 95 | exynos_perf() { 96 | local gpu_path="/sys/kernel/gpu" 97 | local freq freq_source 98 | [ -f "$gpu_path/gpu_available_frequencies" ] && freq_source="$gpu_path/gpu_available_frequencies" || freq_source="$gpu_path/gpu_freq_table" 99 | 100 | if [ "$lite_mode" -eq 1 ]; then 101 | freq=$(stellar_get_median_hz "$freq_source") 102 | else 103 | freq=$(stellar_get_apex_hz "$freq_source") 104 | fi 105 | 106 | if [ -f "$dvfs_gpu_file" ] && [ "$(cat "$dvfs_gpu_file")" -eq 1 ]; then 107 | freq=$((freq * 80 / 100)) 108 | fi 109 | 110 | stellar_apply_param "$freq" "$gpu_path/gpu_min_clock" 111 | stellar_apply_param "$freq" "$gpu_path/gpu_max_clock" 112 | for mali_fs in /sys/devices/platform/*.mali; do 113 | stellar_apply_param "0" "$mali_fs/tmu" 114 | done 115 | } 116 | 117 | unisoc_perf() { 118 | local gpu_path="/sys/kernel/gpu" 119 | local freq freq_source 120 | [ -f "$gpu_path/gpu_available_frequencies" ] && freq_source="$gpu_path/gpu_available_frequencies" || freq_source="$gpu_path/gpu_freq_table" 121 | 122 | if [ "$lite_mode" -eq 1 ]; then 123 | freq=$(stellar_get_median_hz "$freq_source") 124 | else 125 | freq=$(stellar_get_apex_hz "$freq_source") 126 | fi 127 | 128 | if [ -f "$dvfs_gpu_file" ] && [ "$(cat "$dvfs_gpu_file")" -eq 1 ]; then 129 | freq=$((freq * 80 / 100)) 130 | fi 131 | 132 | stellar_apply_param "$freq" "$gpu_path/gpu_min_clock" 133 | stellar_apply_param "$freq" "$gpu_path/gpu_max_clock" 134 | for mali_fs in /sys/devices/platform/*.mali; do 135 | stellar_apply_param "0" "$mali_fs/tmu" 136 | done 137 | } 138 | 139 | snapdragon_perf() { 140 | gpu_path="/sys/class/kgsl/kgsl-3d0/devfreq" 141 | if [ -d "$gpu_path" ]; then 142 | if [ "$lite_mode" -eq 1 ]; then 143 | freq=$(stellar_get_median_hz "$gpu_path/available_frequencies") 144 | else 145 | freq=$(stellar_get_apex_hz "$gpu_path/available_frequencies") 146 | fi 147 | 148 | if [ -f "$dvfs_gpu_file" ] && [ "$(cat "$dvfs_gpu_file")" -eq 1 ]; then 149 | freq=$((freq * 80 / 100)) 150 | fi 151 | 152 | stellar_apply_param "$freq" "$gpu_path/min_freq" 153 | stellar_apply_param "$freq" "$gpu_path/max_freq" 154 | fi 155 | } 156 | 157 | mediatek_perf() { 158 | if [ "$lite_mode" -eq 1 ] || { [ -f "$dvfs_gpu_file" ] && [ "$(cat "$dvfs_gpu_file")" -eq 1 ]; }; then 159 | if [ -d /proc/gpufreqv2 ]; then 160 | mid_oppfreq=$(stellar_mtk_median_gpu_idx /proc/gpufreqv2/gpu_working_opp_table) 161 | stellar_apply_param "$mid_oppfreq" /proc/gpufreqv2/fix_target_opp_index 162 | else 163 | mid_freq=$(stellar_get_median_hz /proc/gpufreq/gpufreq_opp_dump) 164 | stellar_apply_param "$mid_freq" /proc/gpufreq/gpufreq_opp_freq 165 | fi 166 | else 167 | if [ -d /proc/gpufreqv2 ]; then 168 | stellar_apply_param 0 /proc/gpufreqv2/fix_target_opp_index 169 | else 170 | gpu_freq=$(stellar_get_apex_hz /proc/gpufreq/gpufreq_opp_dump) 171 | stellar_apply_param "$gpu_freq" /proc/gpufreq/gpufreq_opp_freq 172 | fi 173 | fi 174 | } 175 | 176 | exynos_normal() { 177 | local gpu_path="/sys/kernel/gpu" 178 | local min_freq max_freq freq_source 179 | [ -f "$gpu_path/gpu_available_frequencies" ] && freq_source="$gpu_path/gpu_available_frequencies" || freq_source="$gpu_path/gpu_freq_table" 180 | min_freq=$(stellar_get_nadir_hz "$freq_source") 181 | 182 | if [ "$lite_mode" -eq 1 ]; then 183 | max_freq=$(stellar_get_median_hz "$freq_source") 184 | else 185 | max_freq=$(stellar_get_apex_hz "$freq_source") 186 | fi 187 | 188 | if [ -f "$dvfs_gpu_file" ] && [ "$(cat "$dvfs_gpu_file")" -eq 1 ]; then 189 | max_freq=$((max_freq * 80 / 100)) 190 | fi 191 | 192 | stellar_apply_param "$min_freq" "$gpu_path/gpu_min_clock" 193 | stellar_apply_param "$max_freq" "$gpu_path/gpu_max_clock" 194 | for mali_fs in /sys/devices/platform/*.mali; do 195 | stellar_apply_param "1" "$mali_fs/tmu" 196 | done 197 | } 198 | 199 | unisoc_normal() { 200 | local gpu_path="/sys/kernel/gpu" 201 | local min_freq max_freq freq_source 202 | [ -f "$gpu_path/gpu_available_frequencies" ] && freq_source="$gpu_path/gpu_available_frequencies" || freq_source="$gpu_path/gpu_freq_table" 203 | min_freq=$(stellar_get_nadir_hz "$freq_source") 204 | 205 | if [ "$lite_mode" -eq 1 ]; then 206 | max_freq=$(stellar_get_median_hz "$freq_source") 207 | else 208 | max_freq=$(stellar_get_apex_hz "$freq_source") 209 | fi 210 | 211 | if [ -f "$dvfs_gpu_file" ] && [ "$(cat "$dvfs_gpu_file")" -eq 1 ]; then 212 | max_freq=$((max_freq * 80 / 100)) 213 | fi 214 | 215 | stellar_apply_param "$min_freq" "$gpu_path/gpu_min_clock" 216 | stellar_apply_param "$max_freq" "$gpu_path/gpu_max_clock" 217 | for mali_fs in /sys/devices/platform/*.mali; do 218 | stellar_apply_param "1" "$mali_fs/tmu" 219 | done 220 | } 221 | 222 | snapdragon_normal() { 223 | gpu_path="/sys/class/kgsl/kgsl-3d0/devfreq" 224 | if [ -d "$gpu_path" ]; then 225 | min_freq=$(stellar_get_nadir_hz "$gpu_path/available_frequencies") 226 | if [ "$lite_mode" -eq 1 ]; then 227 | max_freq=$(stellar_get_median_hz "$gpu_path/available_frequencies") 228 | else 229 | max_freq=$(stellar_get_apex_hz "$gpu_path/available_frequencies") 230 | fi 231 | 232 | if [ -f "$dvfs_gpu_file" ] && [ "$(cat "$dvfs_gpu_file")" -eq 1 ]; then 233 | max_freq=$((max_freq * 80 / 100)) 234 | fi 235 | 236 | stellar_apply_param "$min_freq" "$gpu_path/min_freq" 237 | stellar_apply_param "$max_freq" "$gpu_path/max_freq" 238 | fi 239 | } 240 | 241 | mediatek_normal() { 242 | stellar_write_param "0" "/proc/gpufreq/gpufreq_opp_freq" 243 | stellar_write_param "-1" "/proc/gpufreqv2/fix_target_opp_index" 244 | 245 | if [ "$lite_mode" -eq 1 ] || { [ -f "$dvfs_gpu_file" ] && [ "$(cat "$dvfs_gpu_file")" -eq 1 ]; }; then 246 | if [ -d /proc/gpufreqv2 ]; then 247 | mid_oppfreq=$(stellar_mtk_median_gpu_idx /proc/gpufreqv2/gpu_working_opp_table) 248 | stellar_apply_param "$mid_oppfreq" /sys/kernel/ged/hal/custom_boost_gpu_freq 249 | else 250 | mid_freq=$(stellar_get_median_hz /proc/gpufreq/gpufreq_opp_dump) 251 | stellar_apply_param "$mid_freq" /proc/gpufreq/gpufreq_opp_freq 252 | fi 253 | fi 254 | } 255 | 256 | exynos_battery() { 257 | local gpu_path="/sys/kernel/gpu" 258 | local min_freq max_freq freq_source 259 | [ -f "$gpu_path/gpu_available_frequencies" ] && freq_source="$gpu_path/gpu_available_frequencies" || freq_source="$gpu_path/gpu_freq_table" 260 | min_freq=$(stellar_get_nadir_hz "$freq_source") 261 | 262 | if [ "$lite_mode" -eq 1 ]; then 263 | max_freq=$(stellar_get_median_hz "$freq_source") 264 | else 265 | max_freq=$(stellar_get_apex_hz "$freq_source") 266 | fi 267 | 268 | if [ -f "$dvfs_gpu_file" ] && [ "$(cat "$dvfs_gpu_file")" -eq 1 ]; then 269 | max_freq=$((max_freq * 80 / 100)) 270 | fi 271 | 272 | stellar_apply_param "$min_freq" "$gpu_path/gpu_min_clock" 273 | stellar_apply_param "$max_freq" "$gpu_path/gpu_max_clock" 274 | for mali_fs in /sys/devices/platform/*.mali; do 275 | stellar_apply_param "1" "$mali_fs/tmu" 276 | done 277 | } 278 | 279 | unisoc_battery() { 280 | local gpu_path="/sys/kernel/gpu" 281 | local min_freq max_freq freq_source 282 | [ -f "$gpu_path/gpu_available_frequencies" ] && freq_source="$gpu_path/gpu_available_frequencies" || freq_source="$gpu_path/gpu_freq_table" 283 | min_freq=$(stellar_get_nadir_hz "$freq_source") 284 | 285 | if [ "$lite_mode" -eq 1 ]; then 286 | max_freq=$(stellar_get_median_hz "$freq_source") 287 | else 288 | max_freq=$(stellar_get_apex_hz "$freq_source") 289 | fi 290 | 291 | if [ -f "$dvfs_gpu_file" ] && [ "$(cat "$dvfs_gpu_file")" -eq 1 ]; then 292 | max_freq=$((max_freq * 80 / 100)) 293 | fi 294 | 295 | stellar_apply_param "$min_freq" "$gpu_path/gpu_min_clock" 296 | stellar_apply_param "$max_freq" "$gpu_path/gpu_max_clock" 297 | for mali_fs in /sys/devices/platform/*.mali; do 298 | stellar_apply_param "1" "$mali_fs/tmu" 299 | done 300 | } 301 | 302 | snapdragon_battery() { 303 | gpu_path="/sys/class/kgsl/kgsl-3d0/devfreq" 304 | if [ -d "$gpu_path" ]; then 305 | min_freq=$(stellar_get_nadir_hz "$gpu_path/available_frequencies") 306 | if [ "$lite_mode" -eq 1 ]; then 307 | max_freq=$(stellar_get_median_hz "$gpu_path/available_frequencies") 308 | else 309 | max_freq=$(stellar_get_apex_hz "$gpu_path/available_frequencies") 310 | fi 311 | 312 | if [ -f "$dvfs_gpu_file" ] && [ "$(cat "$dvfs_gpu_file")" -eq 1 ]; then 313 | max_freq=$((max_freq * 80 / 100)) 314 | fi 315 | 316 | stellar_apply_param "$min_freq" "$gpu_path/min_freq" 317 | stellar_apply_param "$max_freq" "$gpu_path/max_freq" 318 | fi 319 | } 320 | 321 | mediatek_battery() { 322 | stellar_write_param "0" "/proc/gpufreq/gpufreq_opp_freq" 323 | stellar_write_param "-1" "/proc/gpufreqv2/fix_target_opp_index" 324 | 325 | if [ "$lite_mode" -eq 1 ] || { [ -f "$dvfs_gpu_file" ] && [ "$(cat "$dvfs_gpu_file")" -eq 1 ]; }; then 326 | if [ -d /proc/gpufreqv2 ]; then 327 | mid_oppfreq=$(stellar_mtk_median_gpu_idx /proc/gpufreqv2/gpu_working_opp_table) 328 | stellar_apply_param "$mid_oppfreq" /sys/kernel/ged/hal/custom_boost_gpu_freq 329 | else 330 | mid_freq=$(stellar_get_median_hz /proc/gpufreq/gpufreq_opp_dump) 331 | stellar_apply_param "$mid_freq" /proc/gpufreq/gpufreq_opp_freq 332 | fi 333 | fi 334 | } 335 | 336 | common_tweaks() { 337 | for dir in /sys/block/*; do 338 | stellar_write_param 0 "$dir/queue/iostats" 339 | stellar_write_param 0 "$dir/queue/add_random" 340 | done & 341 | 342 | stellar_apply_param 0 /proc/sys/kernel/sched_schedstats 343 | stellar_apply_param 0 /proc/sys/kernel/sched_autogroup_enabled 344 | stellar_apply_param 1 /proc/sys/kernel/sched_child_runs_first 345 | } 346 | 347 | game_profiles() { 348 | hmp_tweaks game 349 | skip_perf_file="$config_file/skip_perf" 350 | if [ -f "$skip_perf_file" ] && [ "$(cat "$skip_perf_file")" -eq 1 ]; then 351 | return 0 352 | fi 353 | 354 | [ "$(cat $config_file/dnd)" -eq 1 ] && set_dnd Y 355 | [ "$(cat $config_file/zt)" -eq 1 ] && zeta_tweak apply 356 | 357 | cmd power set-adaptive-power-saver-enabled false 358 | cmd power set-fixed-performance-mode-enabled true 359 | 360 | for cpu in $cpu_path; do 361 | local freq 362 | if [ "$lite_mode" -eq 1 ]; then 363 | freq=$(stellar_get_median_hz "$cpu/scaling_available_frequencies") 364 | else 365 | freq=$(cat "$cpu/cpuinfo_max_freq") 366 | fi 367 | if [ -n "$freq" ]; then 368 | stellar_apply_param "$freq" "$cpu/scaling_max_freq" 369 | fi 370 | done 371 | case "$Esoci" in 372 | 1) mediatek_perf ;; 373 | 2) snapdragon_perf ;; 374 | 3) exynos_perf ;; 375 | 4) unisoc_perf ;; 376 | esac 377 | } 378 | 379 | normal_profiles() { 380 | hmp_tweaks normal 381 | [ "$(cat $config_file/dnd)" -eq 1 ] && set_dnd N 382 | [ "$(cat $config_file/zt)" -eq 1 ] && zeta_tweak revert    383 | 384 | cmd power set-adaptive-power-saver-enabled false 385 | cmd power set-fixed-performance-mode-enabled false 386 | 387 | for cpu in $cpu_path; do 388 | local max_freq 389 | if [ "$lite_mode" -eq 1 ]; then 390 | max_freq=$(stellar_get_median_hz "$cpu/scaling_available_frequencies") 391 | else 392 | max_freq=$(cat "$cpu/cpuinfo_max_freq") 393 | fi 394 | stellar_apply_param "$max_freq" "$cpu/scaling_max_freq" 395 | done 396 | case "$Esoci" in 397 | 1) mediatek_normal ;; 398 | 2) snapdragon_normal ;; 399 | 3) exynos_normal ;; 400 | 4) unisoc_normal ;; 401 | esac 402 | } 403 | 404 | battery_profiles() { 405 | hmp_tweaks battery 406 | [ "$(cat $config_file/dnd)" -eq 1 ] && set_dnd N 407 | [ "$(cat $config_file/zt)" -eq 1 ] && zeta_tweak revert 408 | 409 | cmd power set-adaptive-power-saver-enabled true 410 | cmd power set-fixed-performance-mode-enabled false 411 | 412 | for cpu in $cpu_path; do 413 | local max_freq 414 | if [ "$lite_mode" -eq 1 ]; then 415 | max_freq=$(stellar_get_median_hz "$cpu/scaling_available_frequencies") 416 | else 417 | freq=$(cat "$cpu/cpuinfo_max_freq") 418 | fi 419 | stellar_apply_param "$max_freq" "$cpu/scaling_max_freq" 420 | done 421 | case "$Esoci" in 422 | 1) mediatek_battery ;; 423 | 2) snapdragon_battery ;; 424 | 3) exynos_battery ;; 425 | 4) unisoc_battery ;; 426 | esac 427 | } 428 | 429 | case "$1" in 430 | 0) common_tweaks ;; 431 | 1) game_profiles ;; 432 | 2) normal_profiles ;; 433 | 3) battery_profiles ;; 434 | esac 435 | 436 | sync 437 | exit 0 -------------------------------------------------------------------------------- /system/bin/zeta_tweak: -------------------------------------------------------------------------------- 1 | #!/system/bin/sh 2 | 3 | Collaboration script @zeta_zimp 4 | 5 | config_file="/data/adb/.config/stellar" 6 | zeta_file="$config_file/zt" 7 | 8 | zeta_tweak_apply() { 9 | for procstats_option in --clear --stop-testing; do dumpsys procstats "$procstats_option"; done 10 | for reset_pkg_ops in com.transsion.screencapture com.miui.screenrecorder com.vivo.smartshot com.mediatek.location.lppe.main com.android.location.fused; do appops reset "$reset_pkg_ops"; done 11 | for devconf_item in $(cmd device_config list | cut -f1 -d=); do cmd device_config delete "${devconf_item%/*}" "${devconf_item#*/}"; done 12 | for db_tag in system_server system_server/Subject data_app_wtf storage_trim SYSTEM_BOOT SYSTEM_AUDIT system_server_wtf SYSTEM_LAST_KMSG; do cmd dropbox add-low-priority "$db_tag"; done 13 | cmd dropbox set-rate-limit 99999999999999 14 | settings put global dropbox_age_seconds 0 15 | settings put global dropbox_max_files 0 16 | for k_safety in safety_center_is_enabled safety_center_notifications_enabled safety_center_replace_lock_screen_icon_action safety_center_show_subpages safety_center_allow_statsd_logging; do device_config put privacy "$k_safety" false; done 17 | device_config put privacy safety_center_allow_statsd_logging false 18 | current_props="$(getprop | cut -f1 -d ']')" 19 | eval "$(echo "$current_props" | grep -F '[log.tag' | sed 's/\[/setprop persist./g' | sed 's/$/ S/g')" 20 | eval "$(echo "$current_props" | grep -F '[persist.log.tag' | sed 's/\[persist./setprop /g' | sed 's/$/ S/g')" 21 | eval "$(echo "$current_props" | grep 'log.tag' | sed 's/\[/setprop /g' | sed 's/$/ S/g')" 22 | for sys_pkg in $(pm list packages -s | cut -f2 -d:); do 23 | am set-bg-restriction-level "$sys_pkg" hibernation 24 | am service-restart-backoff disable "$sys_pkg" 25 | am set-standby-bucket "$sys_pkg" restricted 26 | am kill "$sys_pkg" 27 | cmd app_hibernation set-state --global true "$sys_pkg" 28 | cmd tare set-vip 0 "$sys_pkg" false 29 | am set-inactive --user 0 "$sys_pkg" true 30 | done 31 | for a in $(cmd package list packages -s | cut -f2 -d:); do 32 | cmd media.audio_policy set-uid-state $a idle --user 0 33 | cmd shortcut clear-shortcuts --user 0 $a 34 | done 35 | cmd shortcut unload-user --user 0 36 | cmd shortcut reset-all-throttling 37 | for pkg_name in $(pm list packages | cut -d ":" -f2); do 38 | uid_val=$(dumpsys package "$pkg_name" 2>/dev/null | grep -m 1 'userId=' | sed 's/.*userId=//;s/ //g' | cut -d ' ' -f 1) 39 | if [ -n "$uid_val" ]; then 40 | cmd greezer unmonitor "$uid_val" 41 | fi 42 | am set-ignore-delivery-group-policy "$pkg_name" 43 | pm log-visibility --disable "$pkg_name" 44 | am make-uid-idle --user 0 "$pkg_name" all 45 | cmd ambient_context stop-detection 0 "$pkg_name" 46 | cmd usagestats clear-last-used-timestamps "$pkg_name" --user 0 47 | am clear-exit-info --user 0 all "$pkg_name" 48 | done 49 | for a in $(cmd package list packages -s | cut -f2 -d:); do cmd deviceidle whitelist -"$a"; done 50 | for a in $(cmd package list packages -3 | cut -f2 -d:); do cmd deviceidle whitelist +"$a"; done 51 | cmd deviceidle enable all 52 | cmd deviceidle force-idle deep 53 | cmd deviceidle step deep 54 | for f in $(dumpsys window | grep "^ Proto:" | sed 's/^ Proto: //' | tr ' ' '\n'; dumpsys window | grep "^ Logcat:" | sed 's/^ Logcat: //' | tr ' ' '\n'); do wm logging disable "$f"; wm logging disable-text "$f"; done 55 | cmd window logging stop 56 | a=$(for b in $(seq 32 126); do printf "\\x$(printf '%x' $b) "; done) 57 | for c in $(ps -f -o NAME); do cmd activity app-logging "$c" 0 disable-text $a; done 58 | cmd activity logging disable-text $(for i in $(seq 32 126); do printf "\\x$(printf '%x' $i) "; done) 59 | for c in $(ps -f -o NAME); do am profile stop --user 0 $c; done 60 | for a in $(ps -f -o UID); do cmd stats config remove $a; done 61 | exec 2>/dev/null 62 | for a in /sys/kernel/tracing/*; do for b in $(seq 100 -1 0); do echo "$b" >"$a"; done; done 63 | mdi_redirector_ctrl --stop-monitor 64 | mdi_redirector_ctrl --leave-testing-mode 65 | mdi_redirector_ctrl --set-payload-size 0 66 | bcc -enable-implicit-null-checks 1; bcc -enable-name-compression 1; bcc -stats 0; bcc -stats-json 0; bcc -verify-debug-info 0; bcc -verify-dom-info 0; bcc -verify-loop-info 0; bcc -verify-regalloc 0; bcc -verify-machine-dom-info 0; bcc -verify-region-info 0; bcc -verify-scev 0; bcc -verify-scev-maps 0; bcc -no-discriminators 1; bcc -enable-objc-arc-opts 1 67 | atrace --async_stop 68 | bmgr enable 0 69 | cmd accessibility stop-trace 70 | cmd stats clear-puller-cache 71 | am set-stop-user-on-switch true 72 | am clear-watch-heap all 73 | am untrack-associations 74 | cmd wifi set-scan-always-available disabled 75 | cmd wifi set-verbose-logging disabled 76 | cmd voiceinteraction set-debug-hotword-logging false 77 | cmd input_method tracing stop 78 | cmd connectivity set-chain3-enabled false 79 | cmd display set-user-disabled-hdr-types 1 2 3 4 80 | cmd display ab-logging-disable 81 | cmd display dmd-logging-disable 82 | cmd display dwb-logging-disable 83 | cmd greezer debug false 84 | cmd greezer enable true 85 | dumpsys batterystats --reset 86 | dumpsys batterystats --reset-all 87 | dumpsys batterystats disable full-history 88 | dumpsys batterystats disable no-auto-reset 89 | dumpsys batterystats enable pretend-screen-off 90 | cmd print set-bind-instant-service-allowed false 91 | cmd device_policy clear-freeze-period-record 92 | cmd autofill reset 93 | cmd autofill set log_level off 94 | cmd autofill set bind-instant-service-allowed false 95 | cmd autofill set default-augmented-service-enabled 0 false 96 | cmd autofill set max_visible_datasets 0 97 | cmd autofill set max_partitions 0 98 | cmd webviewupdate disable-multiprocess 99 | cmd companiondevice remove-associations 100 | cmd companiondevice clear-association-memory-cache 101 | cmd blob_store clear-all-sessions 102 | cmd blob_store clear-all-blobs 103 | cmd blob_store idle-maintenance 104 | cmd content_capture destroy sessions 105 | cmd content_capture set bind-instant-service-allowed false 106 | cmd content_capture set default-service-enabled 0 false 107 | cmd migard dump-trace false; cmd migard start-trace false; cmd migard stop-trace true; cmd migard trace-buffer-size 0 108 | cmd miui.downscale clear-debug-apps; cmd miui.downscale disable-downscale true; cmd miui.downscale set-debug-mode false 109 | cmd miui_embedding_window clear-fixedOri 110 | cmd miui_step_counter_service disable; cmd miui_step_counter_service logging-disable; cmd miui_step_counter_service set-delay 999999999; cmd miui_step_counter_service trim-all 111 | device_config put activity_manager use_compaction true 112 | device_config put adservice_system_service_enabled cobalt_logging_enabled false; device_config put adservice_system_service_enabled enable_logged_topic false; device_config put adservice_system_service_enabled adservice_error_logging_enabled false; device_config put adservice_system_service_enabled measurement_enable_app_package_name_logging false; device_config put adservice_system_service_enabled measurement_enable_source_debug_report false; device_config put adservice_system_service_enabled fledge_app_package_name_logging false; device_config put adservice_system_service_enabled fledge_auction_server_api_usage_metrics_enabled false; device_config put adservice_system_service_enabled fledge_auction_server_enabled_for_report_event false; device_config put adservice_system_service_enabled fledge_auction_server_enabled_for_report_impression false; device_config put adservice_system_service_enabled fledge_auction_server_enabled_for_select_ads_mediation false 113 | device_config put adservices measurement_job_aggregate_fallback_reporting_kill_switch true; device_config put adservices measurement_job_aggregate_reporting_kill_switch true; device_config put adservices measurement_job_event_fallback_reporting_kill_switch true; device_config put adservices measurement_job_event_reporting_kill_switch true 114 | device_config put window_manager system_gesture_exclusion_log_debounce_millis -1 115 | device_config put privacy safety_center_is_enabled false; device_config put privacy safety_center_notifications_enabled false; device_config put privacy safety_center_allow_statsd_logging false; device_config put privacy safety_center_show_subpages false; device_config put privacy safety_center_replace_lock_screen_icon_action false 116 | device_config put activity_manager bg_current_drain_auto_restrict_abusive_apps_enabled 1; device_config put activity_manager enable_app_start_info false 117 | device_config put adservices adservice_enabled false 118 | device_config put activity_manager proactive_kills_enabled true 119 | device_config put app_compat hidden_api_log_sampling_rate -1; device_config put app_compat hidden_api_statslog_sampling_rate -1 120 | device_config put device_personalization_service enable_action_boost_generator 1; device_config put device_personalization_services enable_dimensional_logging 1; device_config put device_personalization_service enable_shade_reduction_metric 1; device_config put device_personalization_service use_gpu 1; device_config put device_personalization_services use_logging_listener -1 121 | device_config put surface_flinger_native_boot use_skia_tracing -1 122 | device_config put activity_manager default_background_fgs_starts_restriction_enable true 123 | device_config put window_manager system_gesture_exclusion_log_debounce_millis -1 124 | device_config put bluetooth logging_debug_enabled_for_all false 125 | device_config put device_personalization_service clear_logging_events_if_too_much_memory true; device_config put device_personalization_services enable_new_logger_api false; device_config put device_personalization_service example_logging_enabled false; device_config put device_personalization_service memory_reduction true 126 | device_config put launcher enable_ime_latency_logger false 127 | device_config put odad full_killswitch true 128 | device_config put runtime_native_boot enable_perfetto false 129 | device_config put runtime_native usap_pool_enabled false 130 | device_config put runtime_native use_app_image_startup_cache true 131 | device_config put device_personalization_service enable_assistant_memory_generator true 132 | device_config put runtime_native_boot enable_profile_system_server false 133 | device_config put runtime_native_boot enable_profile_boot_class_path false 134 | device_config put runtime_native_boot enable_readahead false 135 | device_config put settings_ui event_logging_enabled false 136 | device_config set_sync_disabled_for_tests persistent 137 | dumpsys binder_calls_stats --disable 138 | dumpsys binder_calls_stats --disable-detailed-tracking 139 | logcat -P "$(pgrep * | sed 's/^/~/g')" 140 | logcat --wrap; logcat -G 256M; logcat -c 141 | settings put global binder_calls_stats "sampling_interval=600000000,detailed_tracking=disable,enabled=false,upload_data=false" 142 | settings put global cached_apps_freezer 1 143 | settings put system haptic_feedback_disable 1 144 | settings put secure screensaver_activate_on_dock 0 145 | settings put secure screensaver_enabled 0 146 | simpleperf --log fatal --log-to-android-buffer 0 147 | settings put global battery_stats_constants track_cpu_active_cluster_time=false,read_binary_cpu_time=0,proc_state_cpu_times_read_delay_ms=5000000000,kernel_uid_readers_throttle_time=1,external_stats_collection_rate_limit_ms=0,battery_level_collection_delay_ms=30000000000,max_history_buffer_kb=0,max_history_files=0 148 | settings put system device_idle_constants inactive_to=15000,sensing_to=0,locating_to=0,location_accuracy=20.0,motion_inactive_to=0,idle_after_inactive_to=0,idle_pending_to=60000,max_idle_pending_to=120000,idle_pending_factor=2.0,idle_to=900000,max_idle_to=86400000,idle_factor=2.0,min_time_to_alarm=600000,max_temp_app_whitelist_duration=10000 149 | settings put global activity_manager_constants power_check_max_cpu_1=0,power_check_max_cpu_2=0,power_check_max_cpu_3=0,power_check_max_cpu_4=0,full_pss_min_interval=216000000,full_pss_lowered_interval=216000000,kill_bg_restricted_cached_idle=true,low_swap_threshold_percent=60,proactive_kills_enabled=true,system_exempt_power_restrictions_enabled=true,kill_bg_restricted_cached_idle_settle_time=100000 150 | sm defragment abort 151 | sm idle-maint abort 152 | sm fstrim /cache; sm fstrim /data; sm fstrim /preload; sm fstrim /system; sm fstrim /vendor 153 | sm idle-maint abort >/dev/null 2>&1 & 154 | wm tracing level critical 155 | wm tracing size 0 156 | stop traced; stop tombstoned; stop tcpdump; stop cnss_diag; stop statsd; stop vendor.perfservice; stop logcat; stop logcatd; stop logd; stop idd-logreader; stop idd-logreadermain; stop stats; stop dumpstate; stop vendor.tcpdump; stop vendor_tcpdump; stop vendor.cnss_diag 157 | pm list packages -U | while read -r l; do 158 | p=$(echo "$l" | awk -F'[: ]' '{print $2}') 159 | u=$(echo "$l" | awk -F'[: ]' '{print $4}') 160 | [ "$p" ] && [ "$u" ] && am compact "$p" "$u" full 2>/dev/null 161 | done 162 | } 163 | 164 | zeta_tweak_reverted() { 165 | device_config set_sync_disabled_for_tests none 166 | sm fstrim 167 | sm idle-maint run 168 | sm defragment run 169 | for a in $(cmd package list packages | cut -d ":" -f2); do 170 | pm log-visibility --enable $a 171 | done 172 | for a in $(cmd package list packages -s | cut -d ":" -f2); do 173 | am standby-bucket active $a 174 | am set-bg-restriction-level $a unrestricted 175 | am service-restart-backoff enable $a 176 | am kill $a 177 | done 178 | settings put system POWER_PERFORMANCE_MODE_OPEN 0 179 | settings put system power_save_type_performance 0 180 | settings put secure breathe_gamemode_enabled 0 181 | settings put system speed_mode 0 182 | settings put secure speed_mode_enable 0 183 | for a in $(cmd package list packages -s | cut -f2 -d:); do 184 | cmd media.audio_policy set-uid-state $a active --user 0 185 | cmd app_hibernation set-state --global false $a 186 | done 187 | cmd set-stop-user-on-switch true 188 | am clear-watch-heap all 189 | am untrack-associations 190 | cmd wifi set-scan-always-available enabled 191 | cmd voiceinteraction set-debug-hotword-logging true 192 | cmd input_method tracing start 193 | cmd connectivity set-chain3-enabled true 194 | cmd wifi set-scan-always-available enabled 195 | cmd wifi set-verbose-logging enabled 196 | cmd display set-user-disabled-hdr-types 0 197 | cmd display ab-logging-enable 198 | cmd display dmd-logging-enable 199 | cmd display dwb-logging-enable 200 | cmd greezer debug true 201 | cmd greezer enable true 202 | dumpsys batterystats --reset 203 | dumpsys batterystats --reset-all 204 | dumpsys batterystats enable full-history 205 | dumpsys batterystats enable no-auto-reset 206 | dumpsys batterystats enable pretend-screen-off 207 | cmd print set-bind-instant-service-allowed false 208 | cmd autofill set bind-instant-service-allowed true 209 | cmd autofill set default-augmented-service-enabled 0 true 210 | cmd content_capture set bind-instant-service-allowed true 211 | cmd content_capture set default-service-enabled 0 true 212 | cmd migard dump-trace true; cmd migard start-trace true; cmd migard stop-trace false; cmd migard trace-buffer-size 0 213 | cmd miui_step_counter_service disable; cmd miui_step_counter_service logging-enable; cmd miui_step_counter_service set-delay 999999999 214 | settings put global cached_apps_freezer 0 215 | settings put system haptic_feedback_disable 0 216 | settings put secure screensaver_activate_on_dock 1 217 | settings put secure screensaver_enabled 1 218 | settings delete global dropbox_age_seconds 219 | settings delete global dropbox_max_files 220 | settings put global binder_calls_stats "" 221 | settings put system device_idle_constants "" 222 | settings put global activity_manager_constants "" 223 | } 224 | 225 | if [ ! -f "$zeta_file" ]; then 226 | exit 0 227 | fi 228 | 229 | zeta_value=$(cat "$zeta_file") 230 | 231 | case "$1" in 232 | apply) 233 | zeta_tweak_apply ;; 234 | revert) 235 | zeta_tweak_reverted ;; 236 | esac 237 | 238 | exit 0 -------------------------------------------------------------------------------- /gamelist.json: -------------------------------------------------------------------------------- 1 | [ 2 | "com.tencent.tmgp.sgame", 3 | "com.tencent.tmgp.pubgmhd", 4 | "com.tencent.ig", 5 | "com.happyelements.AndroidAnimal", 6 | "com.kiloo.subwaysurf", 7 | "com.qqgame.hlddz", 8 | "com.minitech.miniworld.TMobile.mi", 9 | "com.tencent.tmgp.speedmobile", 10 | "com.yy.hiyo", 11 | "com.tencent.tmgp.cf", 12 | "com.netease.newspike", 13 | "com.outfit7.mytalkingangelafree", 14 | "com.outfit7.mytalkingtomfree", 15 | "com.outfit7.talkingtomgoldrun.mi", 16 | "com.imangi.templerun2", 17 | "com.qqgame.happymj", 18 | "com.netease.mc.mi", 19 | "com.firsttouchgames.dls3", 20 | "com.wepie.snake.new.mi", 21 | "com.ztgame.bob", 22 | "com.hippogames.ludosaga", 23 | "com.blizzard.wtcg.hearthstone", 24 | "com.tencent.peng", 25 | "com.outfit7.mytalkingtom2.mi", 26 | "com.mfp.jelly.xiaomi", 27 | "com.tencent.tmgp.pubgm", 28 | "com.tencent.qqgame.xq", 29 | "com.roblox.client", 30 | "com.outfit7.talkingtom", 31 | "com.tencent.KiHan", 32 | "com.knight.union.mi", 33 | "com.netease.mrzh.mi", 34 | "com.supercell.clashofclans.mi", 35 | "com.supercell.hayday", 36 | "com.netease.dwrg.mi", 37 | "com.netease.dwrg", 38 | "com.cmplay.tiles2_cn.mi", 39 | "net.wargaming.wot.blitz", 40 | "net.mobigame.zombietsunami", 41 | "com.supercell.clashroyale.mi", 42 | "com.turbochilli.rollingsky_cn.mi", 43 | "com.firsttouchgames.story", 44 | "com.bairimeng.dmmdzz.mi", 45 | "com.happyelements.AndroidAnimal.mi", 46 | "com.cmcm.arrowio_cn.mi", 47 | "com.tencent.pao", 48 | "com.NikSanTech.FireDots3D", 49 | "com.doudz.mi", 50 | "cn.jj", 51 | "com.netease.onmyoji.mi", 52 | "com.netease.onmyoji", 53 | "com.brianbaek.popstar", 54 | "com.tencent.game.rhythmmaster", 55 | "com.pvz.nb", 56 | "com.happyelements.AndroidClover.mob", 57 | "com.supercell.boombeach.mi", 58 | "com.tencent.tmgp.qjnn", 59 | "com.yodo1.rodeo.mi", 60 | "com.popcap.pvz2cthdxm", 61 | "com.miniclip.bowmasters", 62 | "com.outfit7.talkingtom2free", 63 | "com.skgames.trafficrider", 64 | "com.dodreams.driveahead", 65 | "com.xm.ddz.xiaomi.mi", 66 | "com.ledou.mhhy.mi", 67 | "com.pandadastudio.ninjamustdie3.mi", 68 | "com.tuyou.doudizhu.mi", 69 | "com.mgc.stickman.rope.hero.two.xc", 70 | "com.ea.games.r3_row", 71 | "com.fungames.blockcraft", 72 | "com.bf.sgs.hdexp.mi", 73 | "com.joym.legendhero.mi", 74 | "com.qqgame.mic", 75 | "com.notoutgames.crowdcity.mt", 76 | "com.tencent.shootgame", 77 | "com.JindoBlu.Antistress.mt", 78 | "io.voodoo.holeio.mt", 79 | "com.miHoYo.bh3.mi", 80 | "com.dvloper.granny.fhp", 81 | "com.cmplay.dancingline.mi", 82 | "com.nazara.tinylabproductions.chhotabheem", 83 | "com.tencent.feiji", 84 | "com.linkdesks.jewellegend", 85 | "com.outfit7.talkingtomjetski.mi", 86 | "com.outfit7.mytalkinghank.mi", 87 | "com.tencent.tmgp.hjol", 88 | "com.tencent.tmgp.qqx5", 89 | "net.uuapps.play.ddmj.yx", 90 | "com.t2ksports.nba2k19and", 91 | "com.netease.hyxd.mi", 92 | "com.joym.combatman.mi", 93 | "com.tencent.qqgame.qqhlupwvga", 94 | "com.tencent.nntg.linekong", 95 | "com.yingxiong.hero.mi", 96 | "com.fingertip.tyt.mi", 97 | "com.mailin.ddz.mi", 98 | "com.mgc.stickman.rope.hero.xc", 99 | "com.csdj.hcrYC.mi", 100 | "com.tencent.tmgp.ttmj", 101 | "com.puppetsgame.miracing.mi", 102 | "com.lywl.xbxxz.mi", 103 | "com.pdragon.HD1010", 104 | "com.fgol.hsw.mi", 105 | "com.xm.cn.qmddz.mi", 106 | "com.vng.g6.a.zombie", 107 | "com.tencent.shihun.android", 108 | "com.block.puzzle.game.hippo.uc", 109 | "com.mailin.ddzz.mi", 110 | "com.nd.he.mi", 111 | "com.imangi.templerun.xf", 112 | "com.pixonic.wwr", 113 | "com.netease.moba.mi", 114 | "com.wooduan.ssjj.mi", 115 | "air.com.tencent.qqfarmios", 116 | "com.example.gcloudu3ddemo.mi", 117 | "com.ozo.good.ddz", 118 | "com.i3game.ddzdj.mi", 119 | "com.game5mobile.popular", 120 | "com.mobirix.fishinghook", 121 | "com.tencent.tmgp.NBA", 122 | "com.og.danjiddz.mi", 123 | "com.tencent.hyrzol", 124 | "com.mgc.stickman.rope.hero.dbzq.m", 125 | "com.tencent.pocket", 126 | "com.og.danjiddz", 127 | "com.joym.xiongdakuaipao", 128 | "com.game5mobile.lineandwater.mt", 129 | "com.outfit7.talkingtomcandyrun.mi", 130 | "com.h5gamecenter.h2mgc", 131 | "com.hgamesart.ropeboy.dbzq.m", 132 | "br.blockworld.junio.tm", 133 | "com.fingersoft.hillclimb.noncmcc", 134 | "com.mygamemf.wlddz.mi", 135 | "com.xcpsp.atmgdjh0.xc", 136 | "com.bloop.ballsvslasers.dbzq.m", 137 | "com.mobilelegends.bp", 138 | "qiche.jiashi.moni", 139 | "com.wedobest.xiangqi.mi", 140 | "com.netease.pes.mi", 141 | "com.carrot.iceworld", 142 | "com.playrix.township.chukong.mi", 143 | "com.igg.android.lordsmobile_cn", 144 | "cn.ultralisk.gameapp.game23.wali", 145 | "com.topfreegames.bikeracefreeworld", 146 | "com.Neurononfire.SupremeDuelist.mt", 147 | "com.tencent.tmgp.sskgame", 148 | "com.djddz.km", 149 | "com.epicgames.portal", 150 | "com.happyelements.AndroidAnimal.mitalk", 151 | "com.netease.stzb.mi", 152 | "com.fingersoft.hcr2.cn.noncmcc.mi", 153 | "com.zplay.migupopstar.mi", 154 | "com.tencent.tmgp.wec", 155 | "com.outfit7.talkingtompool.mi", 156 | "com.netease.my.mi", 157 | "com.soulgame.slithersg.mi", 158 | "com.pvzHD.uuzw", 159 | "com.yinhan.skzh.mi", 160 | "com.secondarm.taptapdash", 161 | "com.zengame.ttddzrb.p365you", 162 | "com.fgol.xiaomi", 163 | "com.mewe.wolf", 164 | "com.lemon.play.doudizhu", 165 | "com.zengame.djddz.mi", 166 | "com.ak.mi", 167 | "com.tuyoo.tudoudizhu.mi", 168 | "com.binghuo.ok", 169 | "com.m37.dldl.mi", 170 | "com.cats.idreamsky.mi", 171 | "com.tencent.clover", 172 | "com.pokercity.bydrqp.mi", 173 | "com.raftsurvival.raft.xc", 174 | "com.flyfish.supermario", 175 | "com.outfit7.talkingtomcamp.mi", 176 | "com.bairimeng.snake.mi", 177 | "com.tencent.tmgp.tstl", 178 | "com.disney.WMW.elm", 179 | "com.mojang.minecraftpe.sd", 180 | "com.papegames.evol.mi", 181 | "com.tencent.fifamobile", 182 | "com.netease.wyclx.mi", 183 | "com.yifeng.xiaoji.mi", 184 | "com.ea.game.easportsufc_row", 185 | "com.playgendary.kickthebuddy.mt", 186 | "com.peppapig.holiday.dbzq.m", 187 | "com.outfit7.talkingangelafree", 188 | "com.tencent.tmgp.carrot3", 189 | "com.coffeestainstudios.goatsimulator.elm", 190 | "com.fungames.sniper3d.mi", 191 | "com.ea.simcitymobile.mi", 192 | "com.netease.lrs.mi", 193 | "com.tencent.game.VXDGame", 194 | "com.tgg.kidscooking.dbzq.m", 195 | "com.joygame.atm.mi", 196 | "com.fuyun.longzhu.fish.mi", 197 | "com.hero.sm.mi", 198 | "com.huoshe.mndwdzz.mi", 199 | "com.popcap.pvz2xm", 200 | "com.sofunny.Chicken", 201 | "com.moli.minigame.hole.mi", 202 | "com.MadOut.BIG", 203 | "com.tencent.Qfarm", 204 | "com.mf.monsterblast.mi", 205 | "com.yingxiong.dfzj.hero", 206 | "com.tencent.af", 207 | "com.dts.freefireth", 208 | "com.ludo.king", 209 | "com.king.candycrushsaga", 210 | "com.mobile.legends", 211 | "com.tencent.iglite", 212 | "com.supercell.clashofclans", 213 | "com.miniclip.carrom", 214 | "com.supercell.brawlstars", 215 | "com.block.puzzle.game.hippo.mi", 216 | "com.mojang.minecraftpe", 217 | "com.logame.eliminateintruder3d", 218 | "bubbleshooter.orig", 219 | "com.wildspike.wormszone", 220 | "com.crazy.juicer.xm", 221 | "com.supercell.clashroyale", 222 | "com.activision.callofduty.shooter", 223 | "com.bubble.free.bubblestory", 224 | "io.teslatech.callbreak", 225 | "com.rubygames.assassin", 226 | "com.playrix.gardenscapes", 227 | "com.outfit7.mytalkingtomfriends", 228 | "com.miniclip.eightballpool", 229 | "com.sukhavati.gotoplaying.bubble.BubbleShooter.mint", 230 | "com.playrix.homescapes", 231 | "com.king.candycrushsodasaga", 232 | "com.rioo.runnersubway", 233 | "com.outfit7.mytalkingtom2", 234 | "com.nianticlabs.pokemongo", 235 | "com.fingersoft.hillclimb", 236 | "jp.konami.pesam", 237 | "com.moonactive.coinmaster", 238 | "com.hippogames.ludosaga.mi", 239 | "com.teenpatti.hd.gold", 240 | "com.pop.bubble.shooter.blast.mi", 241 | "com.moonfrog.ludo.club", 242 | "com.water.balls", 243 | "com.imangi.templerun", 244 | "com.pubg.krmobile", 245 | "com.differencetenderwhite.skirt", 246 | "com.outfit7.talkingtomgoldrun", 247 | "com.octro.teenpatti", 248 | "com.neptune.domino", 249 | "com.outfit7.herodash", 250 | "com.playrix.fishdomdd.gplay", 251 | "com.axlebolt.standoff2", 252 | "com.billiards.city.pool.nation.club", 253 | "com.app.rescuecut", 254 | "com.appsomniacs.da2", 255 | "com.redforcegames.stack.colors", 256 | "io.yarsa.games.ludo", 257 | "com.pixel.art.coloring.color.number", 258 | "com.king.farmheroessaga", 259 | "com.blacklightsw.ludo", 260 | "jp.garud.ssimulator", 261 | "com.mgc.RopeHero.ViceTown", 262 | "com.yourstoryinteractive.sails.pirate.adventure", 263 | "air.com.ace2three.mobile.cash", 264 | "com.smallgiantgames.empires", 265 | "com.aim.racing", 266 | "com.mind.quiz.brain.out", 267 | "com.rstgames.durak", 268 | "com.match3blaster.DropStackBallFall", 269 | "sg.bigo.ludolegend", 270 | "shooter.two.purple", 271 | "com.jetstartgames.chess", 272 | "com.olzhas.carparking.multyplayer", 273 | "com.ForgeGames.SpecialForcesGroup2", 274 | "com.nextwave.wcc2", 275 | "com.maleo.bussimulatorid", 276 | "com.crazylabs.tie.dye.art", 277 | "com.slippy.linerusher", 278 | "com.orangeapps.piratetreasure", 279 | "com.zlevelapps.cardgame29", 280 | "com.Celltop.SpiralRoll", 281 | "com.hgamesart.hurricanehero", 282 | "com.hgamesart.blackholehero", 283 | "com.herorescue.knight.pull.pin", 284 | "com.ffgames.racingincar2", 285 | "com.perfect.slices", 286 | "com.fungames.sniper3d", 287 | "com.freeplay.runandfight", 288 | "me.pou.app", 289 | "com.tilemaster.puzzle.block.match", 290 | "com.matchington.mansion", 291 | "com.fun.games.commando.black.shadow", 292 | "com.puppy.merge.town", 293 | "com.ludo.master.hippo", 294 | "com.bl.critical.strike", 295 | "com.jima.modern.tuktuk.auto.rickshaw.driving.game.simulator", 296 | "com.craftsman.go", 297 | "com.sgs.antiterrorism.counterattack.commandomissiongame", 298 | "com.fs.karate.king.fighting", 299 | "com.habby.archero", 300 | "com.PlayMax.playergames", 301 | "com.mobirix.swipebrick2", 302 | "com.solou.catendless.run", 303 | "bubbleshooter.android", 304 | "game.bubble.shooter.dragon.pop", 305 | "com.cocoplay.sweet.bakery", 306 | "com.xmgame.savethegirl", 307 | "com.dropthebeat.beatblade", 308 | "bubble.shoot.bubbles.game.saga.world", 309 | "com.igg.android.lordsmobile", 310 | "com.igoldtech.streetchaser", 311 | "com.ea.gp.fifamobile", 312 | "net.peakgames.toonblast", 313 | "com.easybrain.sudoku.android", 314 | "io.voodoo.crowdcity", 315 | "com.blacklight.callbreak", 316 | "com.ua.building.Lokicraft", 317 | "com.GMA.Ball.Sort.Puzzle", 318 | "com.rockstargames.gtasa", 319 | "com.gun.black.ops", 320 | "com.playgendary.tanks", 321 | "air.com.hypah.io.slither", 322 | "com.nekki.shadowfight", 323 | "free.os.jump.superbros.adventure.world", 324 | "net.peakgames.amy", 325 | "com.gta.real.gangster.crime", 326 | "com.unicostudio.braintest", 327 | "com.hambastudio.linecolor", 328 | "com.git.carromking", 329 | "com.amanotes.pamadancingroad", 330 | "com.combineinc.streetracing.driftthreeD", 331 | "com.zakg.scaryteacher.hellgame", 332 | "com.yoozoogames.carromfriendsboardgames", 333 | "com.knockdown.bottle.game", 334 | "com.ketchapp.knifehit", 335 | "com.rovio.baba", 336 | "com.ea.game.pvzfree_row", 337 | "com.epicgames.fortnite", 338 | "net.peakgames.Yuzbir", 339 | "com.jimaapps.city.coach.bus.simulator.driving", 340 | "com.BallGames.Woodturning", 341 | "easy.sudoku.puzzle.solver.free", 342 | "paint.by.number.pixel.art.coloring.drawing.puzzle", 343 | "com.Pulsar.GrandTruckSimulator2", 344 | "puzzle.blockpuzzle.cube.relax", 345 | "com.spacegame.homedesign", 346 | "com.fingersoft.hcr2", 347 | "com.gokids.transportbuilding", 348 | "com.king.candycrush4", 349 | "com.ChillyRoom.DungeonShooter", 350 | "com.sukhavati.gotoplaying.bubble.BubbleShooter", 351 | "com.kingsgroup.sos", 352 | "com.games.bottle", 353 | "com.zjcgame.cluehunter", 354 | "com.lemongame.klondike.solitaire", 355 | "com.vng.pubgmobile", 356 | "com.impp.construction.simulator.forklift", 357 | "com.cassette.aquapark", 358 | "com.skgames.trafficracer", 359 | "com.maxgames.stickwarlegacy", 360 | "com.mojang.minecrafttrialpe", 361 | "com.yoozoogames.ludogameallstar", 362 | "air.com.lunime.gachaclub", 363 | "ru.galya.drawjoust", 364 | "com.playgendary.hitmasters", 365 | "com.happyadda.jalebi", 366 | "com.tocaboca.tocalifeworld", 367 | "com.plarium.raidlegends", 368 | "eu.nordeus.topeleven.android", 369 | "com.lightningstrikegames.fruitsurgeon", 370 | "com.playgendary.kickthebuddy", 371 | "com.easybrain.brain.test.easy.game", 372 | "com.doodle.turboracing3d", 373 | "com.abi.carracer.racingfree", 374 | "com.ohbibi.fps", 375 | "com.biglime.cookingmadness", 376 | "com.chillingo.robberybobfree.android.row", 377 | "fi.twomenandadog.zombiecatchers", 378 | "com.wordsmobile.RealBikeRacing", 379 | "apps.rummycircle.com.mobilerummy", 380 | "com.ea.game.pvz2_row", 381 | "com.alien.shooter.galaxy.attack", 382 | "io.voodoo.paper2", 383 | "com.fanatee.cody", 384 | "com.fgol.HungrySharkEvolution", 385 | "com.dopuz.klotski.riddle", 386 | "com.ction.playergames", 387 | "com.gameskraft.rummyculture", 388 | "com.blacklight.carrom.multiplayer", 389 | "com.YummyGames.SamuraiFlash", 390 | "com.gameloft.android.ANMP.GloftA8HM", 391 | "com.gameloft.android.ANMP.GloftA9HM", 392 | "com.blockpuzzle.jewel.diamond", 393 | "com.winwin.casino.xender", 394 | "com.robtopx.geometryjumplite", 395 | "com.playstrom.drawonepart", 396 | "com.Neurononfire.SupremeDuelist", 397 | "com.chessgenius.android.chesslite", 398 | "com.sweetfuirt.candy", 399 | "com.mz.classicludogame", 400 | "com.jewels.gems.android", 401 | "com.masomo.headball2", 402 | "com.lilithgame.roc.gp", 403 | "com.superbinogo.jungleboyadventure", 404 | "com.halfbrick.fruitninjafree", 405 | "com.chess", 406 | "com.king.candycrushjellysaga", 407 | "com.games24x7.ultimaterummy.playstore", 408 | "com.tencent.tmgp.WePop", 409 | "com.ngame.allstar.eu", 410 | "com.t2ksports.nba2k20and", 411 | "com.h73.jhqyna", 412 | "com.studiowildcard.wardrumstudios.ark.ncr", 413 | "io.voodoo.holeio", 414 | "com.garena.game.df", 415 | "com.ubisoft.hungryshark", 416 | "com.denachina.g13002010.mi", 417 | "com.denachina.g13002010.aligames", 418 | "jp.co.capcom.sf4ce", 419 | "com.puppetsgame.miracing.MiRacing", 420 | "com.ubisoft.hungrysharkworld", 421 | "com.tencent.tmgp.cod", 422 | "com.tencent.tmgp.wuxia", 423 | "com.netease.sky.mi", 424 | "com.netease.sky", 425 | "com.miHoYo.Yuanshen", 426 | "com.miHoYo.GenshinImpact", 427 | "com.miHoYo.ys.mi", 428 | "com.miHoYo.ys.bilibili", 429 | "com.critical.strike2", 430 | "com.quok.blobRunner", 431 | "com.playtrends.citypassenger.coachbus.simulatorbus.driving3d", 432 | "com.pronetis.ironball2", 433 | "com.gma.water.sort.puzzle", 434 | "com.jimaapps.crazycardriving.impossiblestunt.driving.simulator.games", 435 | "com.newnormalgames.phonecasediy", 436 | "com.ohmgames.cheatandrun", 437 | "com.minigames.jailbreaker", 438 | "com.drawpuzzle.dop.drawit.justdrawit", 439 | "com.azurgames.stackball", 440 | "com.howtoloot.pullpin.herorescue", 441 | "com.Born2Play.StackyDash", 442 | "com.hypercarrot.giantrush", 443 | "com.knights.bikesstunt.motomaster", 444 | "com.pm.mega.ramp.impossible.car", 445 | "com.alp.carstunt", 446 | "com.amanotes.beathopper", 447 | "com.ansangha.drdriving", 448 | "com.gzl.drivebus.parking.game", 449 | "com.rummyget.game", 450 | "com.volcano.city.airplane.pilotflight", 451 | "com.pencil.madness", 452 | "com.blackout.bubble", 453 | "com.KillGame.FreeFire.EncounterAnimals.SniperShooting", 454 | "com.gamexis.racing.ferocity.apps", 455 | "com.mustardgames.topspeed.formulacar.racinggames", 456 | "in.ludo.ninja", 457 | "com.steelcloudstudio.luxury.prado.car.parking.challenge", 458 | "com.rollic.tanglemaster3D", 459 | "com.impp.city.traindriver.simulator", 460 | "com.fa.gym.fighting.game", 461 | "com.ta.offline.strike.force", 462 | "com.tt.mega.ramps.ultimate.races", 463 | "com.gameswing.impossiblecarstunts.monstertrucks.cardriving.simulator", 464 | "com.ht.mini.car.raceway.endless.drive", 465 | "com.freeshooting.specialforces.war3d", 466 | "com.uncosoft.highheels", 467 | "com.orange.kidspiano.music.songs", 468 | "com.ghive.jeep.parking.car.free.game.master.apps", 469 | "com.babloo.commando.adventure.shooting", 470 | "com.fgz.us.flying.police.robot.rope.hero.crime.city.hero.games", 471 | "dk.tactile.lilysgarden", 472 | "leyi.westgame", 473 | "com.seenax.HideAndSeek", 474 | "com.bubadu.supermarket", 475 | "com.renderedideas.airforce1945", 476 | "com.appstrend.army.robot.bus.tranform", 477 | "com.openworldactiongames.ropehero.crime.city", 478 | "com.playstrom.bob", 479 | "com.games2win.superschooldriver", 480 | "com.naxeexllc.stickman.superhero", 481 | "line.color.adventure", 482 | "com.gameresort.stupidzombies", 483 | "com.gameswing.impossibletracks.stuntdriving.simulator2", 484 | "com.paradyme.solarsmash", 485 | "com.gameswing.impossiblecarstunts.trickydriving.rampcarjumping.games", 486 | "com.peoplefun.wordcross", 487 | "com.sdpgames.sculptpeople", 488 | "com.playstrom.dop2", 489 | "com.soccer.score.star", 490 | "com.gamexis.sniper.professional.action.game.apps", 491 | "com.gamma.find.diff", 492 | "com.zuuks.truck.simulator.euro", 493 | "com.las.crazy.traffic.police.car.parking.modern.simulator", 494 | "com.fa.tag.karate.fighting", 495 | "com.dvloper.grannychaptertwo", 496 | "roll.unblock.ball.block.puzzle", 497 | "com.allenmm.archery", 498 | "com.topgamesinc.evony", 499 | "com.aceviral.petrun", 500 | "com.fa.bad.girls.wrestling.fighting.mania", 501 | "com.bilkon.easypiano", 502 | "com.qoni.guesstheiranswer", 503 | "com.hgamesart.crimedriver", 504 | "com.ball.sort.puzzle2021", 505 | "com.mastercomlimited.cardriving_t", 506 | "com.gamee.heropiperescue", 507 | "com.dropdom.blockpuzzle.hwwgame", 508 | "com.yalla.yallagames", 509 | "com.ohzegame.homepullpin", 510 | "com.mustardgames.impossible.tracks.mountain.stuntracing.monstertruck", 511 | "link.merge.puzzle.onnect.number", 512 | "com.mglstudio.boyvsblocks", 513 | "com.youmusic.magictiles", 514 | "com.harvest.io", 515 | "com.nautilus.RealCricket3DLite", 516 | "com.brokendiamond.advance.car.parking.driving.school", 517 | "com.kid58.lianyong.princessIII", 518 | "com.volcano.modrn.car.parking.d", 519 | "com.gofiveglobal.fashion.dress.up", 520 | "com.zapak.littlesinghamrun", 521 | "com.lseegame.paisoorummy", 522 | "com.colorhole.game", 523 | "com.amelosinteractive.snake", 524 | "badminton.king.sportsgame.smash", 525 | "com.impp.citytaxi.simulator.driver", 526 | "com.rvappstudios.kids.coloring.book.color.painting", 527 | "com.Lightneer.BazookaBoy", 528 | "com.darktide.iceman", 529 | "com.game.space.shooter2", 530 | "wedding.games", 531 | "com.innersloth.spacemafia", 532 | "com.kobgames.sawrace", 533 | "com.block.game.jigsaw.puzzles", 534 | "com.sinyee.babybus.world", 535 | "com.crazylabs.soap.cutting", 536 | "com.mustardgames.muscle.car.stunts.mega.ramp.stunt.car.impossibletracks", 537 | "com.kayac.park_master", 538 | "com.dvloper.granny", 539 | "com.jungleegames.rummy", 540 | "com.playgendary.creamaster", 541 | "com.PoxelStudios.DudeTheftAuto", 542 | "mobi.gameguru.racingfevermoto", 543 | "games.spearmint.matchanimal", 544 | "com.giantssoftware.fs16", 545 | "com.mtsfreegames.trainracingmultiplayer", 546 | "com.cg.cowboy", 547 | "com.llx.chess", 548 | "com.tfgco.games.sports.free.tennis.clash", 549 | "com.tencent.nbn", 550 | "com.netease.tom.mi", 551 | "com.bilibili.fnmzl.mi", 552 | "com.wingjoy.massive", 553 | "com.zf.wkxns.mi", 554 | "com.aligames.kuang.kybc.mi", 555 | "com.sy.dldlhsdj.mi", 556 | "com.tencent.jkchess", 557 | "com.netease.harrypotter", 558 | "com.netease.harrypotter.mi", 559 | "com.netease.harrypotter.bilibili", 560 | "com.tencent.lolm", 561 | "com.protopop.brightridge", 562 | "com.protopop.brightridge.shiba", 563 | "com.duoku.sjsdzx.mi", 564 | "com.kunpo.kok.mi", 565 | "com.riotgames.league.wildrift", 566 | "com.riotgames.league.teamfighttactics", 567 | "com.hottagames.hotta.mi", 568 | "com.pwrd.hotta.laohu", 569 | "com.youzu.snsgz2.mi", 570 | "com.dw.h5yvzr.yt", 571 | "com.tencent.tmgp.codev", 572 | "com.vgamecrty.projv", 573 | "com.bilibili.fgo.mi", 574 | "com.netease.dwrg.bili", 575 | "com.tencent.tmgp.pandadastudio.ninja3", 576 | "com.pandadastudio.ninjamustdie3", 577 | "com.seasun.jxp.mi", 578 | "com.seasun.jxp", 579 | "com.keepmobi.wanningxiangqidazhaoban", 580 | "com.qmzg2.mi", 581 | "com.lilithgames.rok.offical.cn", 582 | "com.pwrd.tzyxmznew", 583 | "com.pwrd.tzyxmznew.mi", 584 | "com.wanmei.zhuxian", 585 | "com.wanmei.zhuxian.mi", 586 | "com.netease.lx12.mi", 587 | "com.hypergryph.arknights", 588 | "com.netease.g67", 589 | "com.netease.g67.mi", 590 | "com.netease.g67.bilibili", 591 | "com.xmyp.hdsc.mi", 592 | "com.feiyu.luobo4.mi", 593 | "com.songwo.zgyx.mi", 594 | "com.assassingames.ninjafrogrope.mt", 595 | "com.pdragon.weiqi.mi", 596 | "com.chuxi.kjxd2.toutiao4", 597 | "com.tencent.tmgp.supercell.brawlstars", 598 | "cricketgames.hitwicket.strategy", 599 | "com.blizzard.diablo.immortal", 600 | "com.zlongame.mhmnz", 601 | "com.zlongame.mhmnz.mi", 602 | "com.YoStarEN.Arknights", 603 | "com.square_enix.android_googleplay.nierspjp", 604 | "com.square_enix.android_googleplay.nierspww", 605 | "com.bilibili.azurlane", 606 | "com.bilibili.blhx.mi", 607 | "com.aniplex.fategrandorder", 608 | "com.kurogame.haru.hero", 609 | "com.kurogame.haru.mi", 610 | "com.tencent.tmgp.bh3", 611 | "com.miHoYo.enterprise.NGHSoDBeta", 612 | "com.miHoYo.enterprise.NGHSoD", 613 | "com.miHoYo.bh3tw", 614 | "com.miHoYo.bh3korea", 615 | "com.tencent.ngjp", 616 | "com.carrot.carrotfantasy", 617 | "com.feiyu.carrot3.mi", 618 | "com.cygames.Shadowverse", 619 | "com.netease.lglr", 620 | "com.yinhan.hunter.mi", 621 | "com.yinhan.hunter", 622 | "com.zlongame.coside.mi", 623 | "com.ea.games.nfs13_row", 624 | "weile.baohuang.mi", 625 | "com.hermes.ygame.mi", 626 | "com.netease.lztg", 627 | "com.netease.lztg1.mi", 628 | "com.netease.lztg.baidu", 629 | "com.tencent.toaa", 630 | "com.tencent.tmgp.gnyx", 631 | "com.tencent.tmgp.gnyxce", 632 | "adventure.rpg.anime.game.vng.ys6", 633 | "age.of.civilizations2.jakowski.lukasz", 634 | "air.com.ubisoft.brawl.halla.platform.fighting.action.pvp", 635 | "brownmonster.app.game.rushrally3", 636 | "com.AlfaBravo.Combat", 637 | "com.CarXTech.street", 638 | "com.EtherGaming.PocketRogues", 639 | "com.Flanne.MinutesTillDawn.roguelike.shooting.gp", 640 | "com.FosFenes.Sonolus", 641 | "com.GameCoaster.ProtectDungeon", 642 | "com.HoYoverse.Nap", 643 | "com.HoYoverse.hkrpgoversea", 644 | "com.LanPiaoPiao.PlantsVsZombiesRH", 645 | "com.PigeonGames.Phigros", 646 | "com.ProjectMoon.LimbusCompany", 647 | "com.Psyonix.RL2D", 648 | "com.RoamingStar.BlueArchive", 649 | "com.Shooter.ModernWarship", 650 | "com.Shooter.ModernWarships", 651 | "com.Sunborn.SnqxExilium", 652 | "com.Sunborn.SnqxExilium.Glo", 653 | "com.haoplay.game.and.exilium", 654 | "com.TechTreeGames.TheTower", 655 | "com.Vince.AlamobileFormula", 656 | "com.WandaSoftware.TruckersofEurope3", 657 | "com.Wispwood.ArrowQuest", 658 | "com.YoStarEN.HBR", 659 | "com.YoStarEN.MahjongSoul", 660 | "com.YoStarJP.MajSoul", 661 | "com.YoStar.AetherGazer", 662 | "com.YostarJP.BlueArchive", 663 | "com.ZeroCastleGameStudioINTL.StrikeBusterPrototype", 664 | "com.ZeroCastleGameStudio.StrikeBusterPrototype", 665 | "com.activision.callofduty.warzone", 666 | "com.albiononline", 667 | "com.aligames.kuang.kybc", 668 | "com.aligames.kuang.kybc.huawei", 669 | "com.alightcreative.motion", 670 | "com.asobimo.toramonline", 671 | "com.android.test.uibench", 672 | "com.andromeda.androbench2", 673 | "com.and.games505.Terraria", 674 | "com.archosaur.sea.dr.gp", 675 | "com.autumn.skullgirls", 676 | "com.bandainamcoent.idolmaster_gakuen", 677 | "com.bandainamcoent.imas_millionlive_theaterdays", 678 | "com.bandainamcoent.opbrww", 679 | "com.bandainamcoent.sao", 680 | "com.bandainamcoent.shinycolorsprism", 681 | "com.bandainamcoent.tensuramrkww", 682 | "com.bandainamcoent.ultimateninjastorm", 683 | "com.bandainamcogames.dbzdokkanww", 684 | "com.bhvr.deadbydaylight", 685 | "com.bilibiligame.heglgp", 686 | "com.bilibili.deadcells.mobile", 687 | "com.bilibili.fatego", 688 | "com.bilibili.priconne", 689 | "com.bilibili.star.bili", 690 | "com.bilibili.warmsnow", 691 | "com.bingkolo.kleins.cn", 692 | "com.bluepoch.m.en.reverse1999", 693 | "com.bushiroad.d4dj", 694 | "com.bushiroad.en.bangdreamgbp", 695 | "com.bushiroad.lovelive.schoolidolfestival2", 696 | "com.carxtech.sr", 697 | "com.chillyroom.soulknightprequel", 698 | "com.citra.emu", 699 | "com.cnvcs.xiangqi", 700 | "com.com2us.starseedgl.android.google.global.normal", 701 | "com.criticalforceentertainment.criticalops", 702 | "com.crunchyroll.princessconnectredive", 703 | "com.denachina.g13002010", 704 | "com.dena.a12026801", 705 | "com.denchi.vtubestudio", 706 | "com.devsisters.ck", 707 | "com.dfjz.moba", 708 | "com.dgames.g15002002", 709 | "com.dois.greedgame", 710 | "com.dolphinemu.dolphinemu", 711 | "com.dragonli.projectsnow.lhm", 712 | "com.drivezone.car.race.game", 713 | "com.dts.freefireadv", 714 | "com.dts.freefiremax", 715 | "com.dts.freefireth.huawei", 716 | "com.dxx.firenow", 717 | "com.ea.game.pvz2_rfl", 718 | "com.ea.gp.apexlegendsmobilefps", 719 | "com.ea.gp.nfsm", 720 | "com.emulator.fpse64", 721 | "com.eyougame.msen", 722 | "com.epsxe.ePSXe", 723 | "com.fantablade.icey", 724 | "com.farlightgames.igame.gp", 725 | "com.feralinteractive.gridas", 726 | "com.feralinteractive.gridautosport_edition_android", 727 | "com.firewick.p42.bilibili", 728 | "com.firsttouchgames.dls7", 729 | "com.fizzd.connectedworlds", 730 | "com.futuremark.dmandroid.application", 731 | "com.gabama.monopostolite", 732 | "com.gaijingames.wtm", 733 | "com.gakpopuler.gamekecil", 734 | "com.gameark.ggplay.lonsea", 735 | "com.gamedevltd.wwh", 736 | "com.gameloft.android.ANMP.GloftMVHM", 737 | "com.gameloft.android.SAMS.GloftA9SS", 738 | "com.garena.game.codm", 739 | "com.garena.game.kgid", 740 | "com.garena.game.kgtw", 741 | "com.garena.game.kgvn", 742 | "com.garena.game.lmjx", 743 | "com.garena.game.nfsm", 744 | "com.gravity.romg", 745 | "com.gravity.roo.sea", 746 | "com.gryphline.exastris.gp", 747 | "com.guyou.deadstrike", 748 | "com.halo.windf.hero", 749 | "com.heavenburnsred", 750 | "com.hermes.j1game", 751 | "com.herogame.gplay.magicminecraft.mmorpg", 752 | "com.hg.cosmicshake", 753 | "com.hottapkgs.hotta", 754 | "com.hypergryph.exastris", 755 | "com.igg.android.doomsdaylastsurvivors", 756 | "com.ignm.raspberrymash.jp", 757 | "com.ilongyuan.implosion", 758 | "com.infoldgames.infinitynikkien", 759 | "com.jacksparrow.jpmajiang", 760 | "com.japan.datealive.gp", 761 | "com.je.supersus", 762 | "com.kakaogames.eversoul", 763 | "com.kakaogames.gdts", 764 | "com.kakaogames.wdfp", 765 | "com.kog.grandchaseglobal", 766 | "com.komoe.kmumamusumegp", 767 | "com.kurogame.aki", 768 | "com.kurogame.gplay.punishing.grayraven.en", 769 | "com.kurogame.haru", 770 | "com.kurogame.haru.bilibili", 771 | "com.kurogame.mingchao", 772 | "com.kurogame.wutheringwaves.global", 773 | "com.leiting.wf", 774 | "com.lemcnsun.soultide.android", 775 | "com.levelinfinite.hotta.gp", 776 | "com.levelinfinite.sgameGlobal", 777 | "com.levelinfinite.sgameGlobal.midaspay", 778 | "com.lilithgames.hgame.cn", 779 | "com.lilithgame.hgame.gp", 780 | "com.linecorp.LGGRTHN", 781 | "com.linegames.sl", 782 | "com.lrgame.dldl.sea", 783 | "com.madfingergames.legends", 784 | "com.miHoYo.GI.samsung", 785 | "com.miHoYo.HSoDv2JPOriginalEx", 786 | "com.miHoYo.Nap", 787 | "com.miHoYo.bh3", 788 | "com.miHoYo.bh3oversea_vn", 789 | "com.miHoYo.bh3rdJP", 790 | "com.miHoYo.bh3global", 791 | "com.miHoYo.bh3oversea", 792 | "com.miHoYo.bh3.bilibili", 793 | "com.miHoYo.bh3.uc", 794 | "com.miHoYo.hkrpg", 795 | "com.miHoYo.ys", 796 | "com.miHoYo.zenless", 797 | "com.minidragon.idlefantasy", 798 | "com.miraclegames.farlight84", 799 | "com.mobilelegends.hwag", 800 | "com.mobilelegends.mi", 801 | "com.mobilelegends.taptest", 802 | "com.mobilechess.gp", 803 | "com.mojang.hostilegg", 804 | "com.mojang.minecraftpe.patch", 805 | "com.nanostudios.games.twenty.minutes", 806 | "com.ncsoft.lineagen", 807 | "com.npixel.GranSagaGB", 808 | "com.nebulajoy.act.dmcpoc.asia", 809 | "com.nekki.shadowfight3", 810 | "com.neowizgames.game.browndust2", 811 | "com.nexon.bluearchive", 812 | "com.nexon.konosuba", 813 | "com.neowiz.game.idolypride.en", 814 | "com.nexon.kartdrift", 815 | "com.noctua.android.crazyones", 816 | "com.noctuagames.android.ashechoes", 817 | "com.nianticlabs.monsterhunter", 818 | "com.papegames.nn4.en", 819 | "com.pearlabyss.blackdesertm.gl", 820 | "com.pearlabyss.blackdesertm", 821 | "com.pinkcore.tkfm", 822 | "com.playdigious.deadcells.mobile", 823 | "com.playmini.miniworld", 824 | "com.play.rosea", 825 | "com.popcap.pvz", 826 | "com.primatelabs.geekbench6", 827 | "com.proximabeta.dn2.global", 828 | "com.proximabeta.mf.aceforce2", 829 | "com.proximabeta.mf.liteuamo", 830 | "com.proximabeta.mf.uamo", 831 | "com.proximabeta.nikke", 832 | "com.prpr.musedash", 833 | "com.pubg.imobile", 834 | "com.pubg.newstate", 835 | "com.pwrd.huanta", 836 | "com.pwrd.opmwsea", 837 | "com.pwrd.p5x", 838 | "com.pwrd.persona5x.laohu", 839 | "com.r2games.myhero.bilibili", 840 | "com.rayark.deemo2", 841 | "com.rayark.deemoreborn", 842 | "com.rayark.cytus2", 843 | "com.rayark.implosion", 844 | "com.rayark.sdorica", 845 | "com.rekoo.pubgm", 846 | "com.rinzz.projectmuse", 847 | "com.riotgames.league.teamfighttacticstw", 848 | "com.riotgames.league.teamfighttacticsvn", 849 | "com.robtopx.geometryjump", 850 | "com.rockstargames.gta3", 851 | "com.rockstargames.gta3.de", 852 | "com.rockstargames.gtasa.de", 853 | "com.rockstargames.gtavc", 854 | "com.rockstargames.gtavc.de", 855 | "com.rsg.myheroesen", 856 | "com.sandboxinteractive.albiononline", 857 | "com.sandboxol.blockymods", 858 | "com.seasun.jx3", 859 | "com.seasun.snowbreak.google", 860 | "com.sega.ColorfulStage.en", 861 | "com.sega.pjsekai", 862 | "com.sgra.dragon", 863 | "com.shangyoo.neon", 864 | "com.shatteredpixel.shatteredpixeldungeon", 865 | "com.shenlan.m.reverse1999", 866 | "com.silverstarstudio.angellegion", 867 | "com.smokoko.race", 868 | "com.sofunny.Sausage", 869 | "com.soulgamechst.majsoul", 870 | "com.spaceapegames.beatstar", 871 | "com.sprduck.garena.vn", 872 | "com.squareenix.lis", 873 | "com.stove.epic7.google", 874 | "com.sugarfun.gp.sea.lzgwy", 875 | "com.sunborn.girlsfrontline.en", 876 | "com.sunborn.neuralcloud", 877 | "com.sunborn.neuralcloud.en", 878 | "com.superb.rhv", 879 | "com.supercell.squad", 880 | "com.studiobside.CounterSide", 881 | "com.studiowildcard.wardrumstudios.ark", 882 | "com.sy.dldlhsdj", 883 | "com.sybogames.subway.surfers.game", 884 | "com.tencent.baiyeint", 885 | "com.tencent.mf.uam", 886 | "com.tencent.msgame", 887 | "com.tencent.nfsonline", 888 | "com.tencent.tmgp.dfjs", 889 | "com.tencent.tmgp.dfm", 890 | "com.tencent.tmgp.dwrg", 891 | "com.tencent.tmgp.ffom", 892 | "com.tencent.tmgp.kr.codm", 893 | "com.tencent.tmgp.sgamece", 894 | "com.tencent.tmgp.sskeus", 895 | "com.tencent.tmgp.yys.zqb", 896 | "com.tgc.sky.android", 897 | "com.the10tons.dysmantle", 898 | "com.tinybuildgames.helloneighbor", 899 | "com.tipsworks.android.pascalswager", 900 | "com.tipsworks.pascalswager", 901 | "com.tumuyan.ncnn.realsr", 902 | "com.tungsten.fcl", 903 | "com.ubisoft.rainbowsixmobile.r6.fps.pvp.shooter", 904 | "com.unity.mmd", 905 | "com.valvesoftware.cswgsm", 906 | "com.valvesoftware.source", 907 | "com.vng.mlbbvn", 908 | "com.vng.speedvn", 909 | "com.winlator", 910 | "com.wondergames.warpath.gp", 911 | "com.xd.TLglobal", 912 | "com.xd.muffin.gp.global", 913 | "com.xd.rotaeno.googleplay", 914 | "com.xd.rotaeno.tapcn", 915 | "com.xd.ssrpgen", 916 | "com.xd.terraria", 917 | "com.xindong.torchlight", 918 | "com.yongshi.tenojo", 919 | "com.yoozoo.jgame.global", 920 | "com.yoozoo.jgame.us", 921 | "com.ztgame.yyzy", 922 | "com.zy.wqmt.cn", 923 | "cyou.joiplay.joiplay", 924 | "game.qualiarts.idolypride", 925 | "id.rj01117883.liomeko", 926 | "jp.co.bandainamcoent.BNEI0242", 927 | "jp.co.craftegg.band", 928 | "jp.co.cygames.princessconnectredive", 929 | "jp.co.cygames.umamusume", 930 | "jp.co.koeitecmo.ReslerianaGL", 931 | "jp.goodsmile.touhoulostwordglobal_android", 932 | "jp.konami.duellinks", 933 | "jp.konami.masterduel", 934 | "jp.pokemon.pokemonunite", 935 | "lega.feisl.hhera", 936 | "me.mugzone.emiria", 937 | "me.tigerhix.cytoid", 938 | "moe.low.arc", 939 | "net.kdt.pojavlaunch", 940 | "org.dolphinemu.dolphinemu", 941 | "org.godotengine.godot4", 942 | "org.mm.jr", 943 | "org.ppsspp.ppsspp", 944 | "org.ppsspp.ppssppgold", 945 | "org.vita3k.emulator", 946 | "org.openttd.sdl", 947 | "org.sudachi.sudachi_emu.ea", 948 | "org.yuzu.yuzu_emu", 949 | "pro.archiemeng.waifu2x", 950 | "ro.alyn_sampmobile.game", 951 | "ru.nsu.ccfit.zuev.osuplus", 952 | "ru.unisamp_mobile.game", 953 | "sh.ppy.osulazer", 954 | "skyline.emu", 955 | "skyline.purple", 956 | "tw.sonet.allbw", 957 | "uk.co.powdertoy.tpt", 958 | "vng.games.revelation.mobile", 959 | "xd.sce.promotion", 960 | "xyz.aethersx2.android", 961 | "skynet.cputhrottlingtest" 962 | ] --------------------------------------------------------------------------------