-
-
Notifications
You must be signed in to change notification settings - Fork 21
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 4802c00
Showing
9 changed files
with
565 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# Declare files that will always have LF line endings on checkout. | ||
META-INF/** text eol=lf | ||
*.prop text eol=lf | ||
*.sh text eol=lf | ||
*.md text eol=lf | ||
|
||
# Denote all files that are truly binary and should not be modified. | ||
system/** binary |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
*.zip |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,196 @@ | ||
#!/sbin/sh | ||
|
||
################# | ||
# Initialization | ||
################# | ||
|
||
umask 022 | ||
|
||
# echo before loading util_functions | ||
ui_print() { echo "$1"; } | ||
|
||
require_new_magisk() { | ||
ui_print "*******************************" | ||
ui_print " Please install Magisk v20.0+! " | ||
ui_print "*******************************" | ||
exit 1 | ||
} | ||
|
||
######################### | ||
# Load util_functions.sh | ||
######################### | ||
|
||
OUTFD=$2 | ||
ZIPFILE=$3 | ||
|
||
mount /data 2>/dev/null | ||
|
||
[ -f /data/adb/magisk/util_functions.sh ] || require_new_magisk | ||
. /data/adb/magisk/util_functions.sh | ||
[ $MAGISK_VER_CODE -lt 20000 ] && require_new_magisk | ||
|
||
if [ $MAGISK_VER_CODE -ge 20400 ]; then | ||
# New Magisk have complete installation logic within util_functions.sh | ||
install_module | ||
exit 0 | ||
fi | ||
|
||
################# | ||
# Legacy Support | ||
################# | ||
|
||
TMPDIR=/dev/tmp | ||
PERSISTDIR=/sbin/.magisk/mirror/persist | ||
|
||
is_legacy_script() { | ||
unzip -l "$ZIPFILE" install.sh | grep -q install.sh | ||
return $? | ||
} | ||
|
||
print_modname() { | ||
local authlen len namelen pounds | ||
namelen=`echo -n $MODNAME | wc -c` | ||
authlen=$((`echo -n $MODAUTH | wc -c` + 3)) | ||
[ $namelen -gt $authlen ] && len=$namelen || len=$authlen | ||
len=$((len + 2)) | ||
pounds=$(printf "%${len}s" | tr ' ' '*') | ||
ui_print "$pounds" | ||
ui_print " $MODNAME " | ||
ui_print " by $MODAUTH " | ||
ui_print "$pounds" | ||
ui_print "*******************" | ||
ui_print " Powered by Magisk " | ||
ui_print "*******************" | ||
} | ||
|
||
# Override abort as old scripts have some issues | ||
abort() { | ||
ui_print "$1" | ||
$BOOTMODE || recovery_cleanup | ||
[ -n $MODPATH ] && rm -rf $MODPATH | ||
rm -rf $TMPDIR | ||
exit 1 | ||
} | ||
|
||
rm -rf $TMPDIR 2>/dev/null | ||
mkdir -p $TMPDIR | ||
|
||
# Preperation for flashable zips | ||
setup_flashable | ||
|
||
# Mount partitions | ||
mount_partitions | ||
|
||
# Detect version and architecture | ||
api_level_arch_detect | ||
|
||
# Setup busybox and binaries | ||
$BOOTMODE && boot_actions || recovery_actions | ||
|
||
############## | ||
# Preparation | ||
############## | ||
|
||
# Extract prop file | ||
unzip -o "$ZIPFILE" module.prop -d $TMPDIR >&2 | ||
[ ! -f $TMPDIR/module.prop ] && abort "! Unable to extract zip file!" | ||
|
||
$BOOTMODE && MODDIRNAME=modules_update || MODDIRNAME=modules | ||
MODULEROOT=$NVBASE/$MODDIRNAME | ||
MODID=`grep_prop id $TMPDIR/module.prop` | ||
MODNAME=`grep_prop name $TMPDIR/module.prop` | ||
MODAUTH=`grep_prop author $TMPDIR/module.prop` | ||
MODPATH=$MODULEROOT/$MODID | ||
|
||
# Create mod paths | ||
rm -rf $MODPATH 2>/dev/null | ||
mkdir -p $MODPATH | ||
|
||
########## | ||
# Install | ||
########## | ||
|
||
if is_legacy_script; then | ||
unzip -oj "$ZIPFILE" module.prop install.sh uninstall.sh 'common/*' -d $TMPDIR >&2 | ||
|
||
# Load install script | ||
. $TMPDIR/install.sh | ||
|
||
# Callbacks | ||
print_modname | ||
on_install | ||
|
||
# Custom uninstaller | ||
[ -f $TMPDIR/uninstall.sh ] && cp -af $TMPDIR/uninstall.sh $MODPATH/uninstall.sh | ||
|
||
# Skip mount | ||
$SKIPMOUNT && touch $MODPATH/skip_mount | ||
|
||
# prop file | ||
$PROPFILE && cp -af $TMPDIR/system.prop $MODPATH/system.prop | ||
|
||
# Module info | ||
cp -af $TMPDIR/module.prop $MODPATH/module.prop | ||
|
||
# post-fs-data scripts | ||
$POSTFSDATA && cp -af $TMPDIR/post-fs-data.sh $MODPATH/post-fs-data.sh | ||
|
||
# service scripts | ||
$LATESTARTSERVICE && cp -af $TMPDIR/service.sh $MODPATH/service.sh | ||
|
||
ui_print "- Setting permissions" | ||
set_permissions | ||
else | ||
print_modname | ||
|
||
unzip -o "$ZIPFILE" customize.sh -d $MODPATH >&2 | ||
|
||
if ! grep -q '^SKIPUNZIP=1$' $MODPATH/customize.sh 2>/dev/null; then | ||
ui_print "- Extracting module files" | ||
unzip -o "$ZIPFILE" -x 'META-INF/*' -d $MODPATH >&2 | ||
|
||
# Default permissions | ||
set_perm_recursive $MODPATH 0 0 0755 0644 | ||
fi | ||
|
||
# Load customization script | ||
[ -f $MODPATH/customize.sh ] && . $MODPATH/customize.sh | ||
fi | ||
|
||
# Handle replace folders | ||
for TARGET in $REPLACE; do | ||
ui_print "- Replace target: $TARGET" | ||
mktouch $MODPATH$TARGET/.replace | ||
done | ||
|
||
if $BOOTMODE; then | ||
# Update info for Magisk Manager | ||
mktouch $NVBASE/modules/$MODID/update | ||
cp -af $MODPATH/module.prop $NVBASE/modules/$MODID/module.prop | ||
fi | ||
|
||
# Copy over custom sepolicy rules | ||
if [ -f $MODPATH/sepolicy.rule -a -e $PERSISTDIR ]; then | ||
ui_print "- Installing custom sepolicy patch" | ||
# Remove old recovery logs (which may be filling partition) to make room | ||
rm -f $PERSISTDIR/cache/recovery/* | ||
PERSISTMOD=$PERSISTDIR/magisk/$MODID | ||
mkdir -p $PERSISTMOD | ||
cp -af $MODPATH/sepolicy.rule $PERSISTMOD/sepolicy.rule || abort "! Insufficient partition size" | ||
fi | ||
|
||
# Remove stuffs that don't belong to modules | ||
rm -rf \ | ||
$MODPATH/system/placeholder $MODPATH/customize.sh \ | ||
$MODPATH/README.md $MODPATH/.git* 2>/dev/null | ||
|
||
############# | ||
# Finalizing | ||
############# | ||
|
||
cd / | ||
$BOOTMODE || recovery_cleanup | ||
rm -rf $TMPDIR | ||
|
||
ui_print "- Done" | ||
exit 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
#MAGISK |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
Magisk module to add OpenEUICC. | ||
OpenEUICC is a tool for managing eSIM profiles. | ||
|
||
OpenEUICC is licensed under GPL v2. | ||
https://gitea.angry.im/PeterCxy/OpenEUICC |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
id=openeuicc | ||
name=OpenEUICC | ||
version=v01 | ||
versionCode=1 | ||
author=AndroPlus | ||
description=Add OpenEUICC for eSIM |
9 changes: 9 additions & 0 deletions
9
system/system_ext/etc/permissions/privapp_whitelist_im.angry.openeuicc.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<permissions> | ||
<privapp-permissions package="im.angry.openeuicc"> | ||
<permission name="android.permission.READ_PRIVILEGED_PHONE_STATE" /> | ||
<permission name="android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS" /> | ||
<permission name="android.permission.MODIFY_PHONE_STATE" /> | ||
<permission name="android.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION" /> | ||
</privapp-permissions> | ||
</permissions> |
Binary file not shown.