master 71e3196cd638 cached
110 files
180.5 MB
6.1k tokens
1 requests
Download .txt
Repository: AndroPlus-org/magisk-module-miui-cn2global
Branch: master
Commit: 71e3196cd638
Files: 110
Total size: 180.5 MB

Directory structure:
gitextract_g67fmzpk/

├── .gitattributes
├── .github/
│   ├── FUNDING.yml
│   └── workflows/
│       └── main.yml
├── .gitignore
├── META-INF/
│   └── com/
│       └── google/
│           └── android/
│               ├── update-binary
│               └── updater-script
├── README.md
├── cn2g-optional/
│   └── GmsConfigOverlayComms.apk
├── customize.sh
├── module.prop
├── post-fs-data.sh
├── system/
│   └── product/
│       ├── etc/
│       │   ├── default-permissions/
│       │   │   └── default-permissions-google.xml
│       │   └── sysconfig/
│       │       ├── d2d_cable_migration_feature.xml
│       │       ├── google-staged-installer-whitelist.xml
│       │       └── wellbeing.xml
│       └── overlay/
│           ├── GmsConfigOverlayCommon.apk
│           ├── GmsConfigOverlayGSA.apk
│           ├── overlay-cnsecurity.apk
│           ├── overlay-cntheme.apk
│           ├── treble-overlay-accessibilitymenu.apk
│           ├── treble-overlay-authmanager.apk
│           ├── treble-overlay-backup.apk
│           ├── treble-overlay-backuprestoreconfirmation.apk
│           ├── treble-overlay-bluetooth.apk
│           ├── treble-overlay-builtinprintservice.apk
│           ├── treble-overlay-calendarprovider.apk
│           ├── treble-overlay-carrierconfig.apk
│           ├── treble-overlay-certinstaller.apk
│           ├── treble-overlay-contactsprovider.apk
│           ├── treble-overlay-downloadprovider.apk
│           ├── treble-overlay-downloadproviderui.apk
│           ├── treble-overlay-externalstorageprovider.apk
│           ├── treble-overlay-finddevice.apk
│           ├── treble-overlay-frameworkextres.apk
│           ├── treble-overlay-frameworkres.apk
│           ├── treble-overlay-globalpackageinstaller.apk
│           ├── treble-overlay-googlepackageinstaller.apk
│           ├── treble-overlay-googlepermissioncontroller.apk
│           ├── treble-overlay-htmlviewer.apk
│           ├── treble-overlay-joyose.apk
│           ├── treble-overlay-managedprovisioning.apk
│           ├── treble-overlay-mi_connect_service.apk
│           ├── treble-overlay-milinkglobal.apk
│           ├── treble-overlay-miserviceglobal.apk
│           ├── treble-overlay-misettings.apk
│           ├── treble-overlay-mishareglobal.apk
│           ├── treble-overlay-misound.apk
│           ├── treble-overlay-miuiaod.apk
│           ├── treble-overlay-miuibarrage.apk
│           ├── treble-overlay-miuibluetooth.apk
│           ├── treble-overlay-miuicalendarglobal.apk
│           ├── treble-overlay-miuicamera.apk
│           ├── treble-overlay-miuicleanmasterglobalcleaner.apk
│           ├── treble-overlay-miuicloudbackupglobal.apk
│           ├── treble-overlay-miuicloudserviceglobal.apk
│           ├── treble-overlay-miuidaemon.apk
│           ├── treble-overlay-miuideskclockglobal.apk
│           ├── treble-overlay-miuifileexplorerglobal.apk
│           ├── treble-overlay-miuifreeformservice.apk
│           ├── treble-overlay-miuifrequentphrase.apk
│           ├── treble-overlay-miuigalleryglobal.apk
│           ├── treble-overlay-miuigloballayout.apk
│           ├── treble-overlay-miuiguardproviderglobal.apk
│           ├── treble-overlay-miuihealthglobal.apk
│           ├── treble-overlay-miuihome.apk
│           ├── treble-overlay-miuimicloudsync.apk
│           ├── treble-overlay-miuimmsglobalandroidu.apk
│           ├── treble-overlay-miuimusicglobal.apk
│           ├── treble-overlay-miuinotificationcentert.apk
│           ├── treble-overlay-miuiscanner.apk
│           ├── treble-overlay-miuiscreenshot.apk
│           ├── treble-overlay-miuisecurityaddglobal.apk
│           ├── treble-overlay-miuisecuritycenterglobal.apk
│           ├── treble-overlay-miuisystem.apk
│           ├── treble-overlay-miuisystemappupdater.apk
│           ├── treble-overlay-miuisystemui.apk
│           ├── treble-overlay-miuisystemuiplugin.apk
│           ├── treble-overlay-miuithememanagerglobal.apk
│           ├── treble-overlay-miuitouchassistantglobal.apk
│           ├── treble-overlay-miuivideoplayer.apk
│           ├── treble-overlay-miuivpndialogs.apk
│           ├── treble-overlay-miuiwifidialog.apk
│           ├── treble-overlay-miuix.apk
│           ├── treble-overlay-miuixeditor_global.apk
│           ├── treble-overlay-miuixiaomiaccountglobal.apk
│           ├── treble-overlay-mmsservice.apk
│           ├── treble-overlay-mtpservice.apk
│           ├── treble-overlay-musicfx.apk
│           ├── treble-overlay-nqnfcnci.apk
│           ├── treble-overlay-powerkeeper.apk
│           ├── treble-overlay-provision.apk
│           ├── treble-overlay-securitycoreadd.apk
│           ├── treble-overlay-settings.apk
│           ├── treble-overlay-settingsprovider.apk
│           ├── treble-overlay-shell.apk
│           ├── treble-overlay-simactivateserviceglobal.apk
│           ├── treble-overlay-soundpicker.apk
│           ├── treble-overlay-splocale.apk
│           ├── treble-overlay-stk.apk
│           ├── treble-overlay-telecom.apk
│           ├── treble-overlay-telephonyprovider.apk
│           ├── treble-overlay-teleservice.apk
│           ├── treble-overlay-traceur.apk
│           ├── treble-overlay-updater.apk
│           ├── treble-overlay-wallpapercropper.apk
│           ├── treble-overlay-xiaomiserviceframeworkglobal.apk
│           ├── treble-overlay-xmscore.apk
│           └── treble-overlay-xmsfkeeperall.apk
├── system.prop
└── update.json

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitattributes
================================================
# 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


================================================
FILE: .github/FUNDING.yml
================================================
# These are supported funding model platforms

github: [AndroPlus-org]
custom: ['https://paypal.me/androplus']


================================================
FILE: .github/workflows/main.yml
================================================
name: Create Archive
on:
  push:
    tags:
      - 'v*'
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master
    - name: Archive Release
      uses: thedoctor0/zip-release@master
      with:
        type: 'zip'
        filename: 'magisk-module-hyperos-cn2global.zip'
        exclusions: '*.git* /*node_modules/* .editorconfig'
    - name: Archive Release without languages
      uses: thedoctor0/zip-release@master
      with:
        type: 'zip'
        filename: 'magisk-module-hyperos-cn2global-no-languages.zip'
        exclusions: '*.git* /*node_modules/* .editorconfig treble-overlay-*.apk'
    - name: Upload Release
      uses: ncipollo/release-action@v1
      with:
        artifacts: "magisk-module-hyperos-cn2global.zip,magisk-module-miui-cn2global-no-languages.zip"
        token: ${{ secrets.GITHUB_TOKEN }}


================================================
FILE: .gitignore
================================================
*.zip

================================================
FILE: META-INF/com/google/android/update-binary
================================================
#!/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


================================================
FILE: META-INF/com/google/android/updater-script
================================================
#MAGISK


================================================
FILE: README.md
================================================
## Translation Patch for Xiaomi HyperOS China

This is a Magisk module to add translation to the Chinese version of Xiaomi HyperOS.  
This module also enables Google Location history and Nearby share.

Download magisk-module-hyperos-cn2global.zip, install this module from the Modules tab of the Magisk app and restart, then you will be able to select your language in the language settings.

## Prohibitions

For reasons of support, etc., commercial use of this module is prohibited. (except in cases of special permission).  
(e.g.: Selling or exhibiting device contains this module, selling articles on installation procedures for a fee, etc.)

In case of commercial use, 50% of the profit will be collected.

## 日本語説明
中国版 Xiaomi HyperOS に日本語翻訳を追加する Magisk モジュールです。    
Google ロケーション履歴やニアバイシェアも有効化されます。

magisk-module-hyperos-cn2global.zip をダウンロードして Magisk アプリのモジュールタブからこのモジュールをインストール・再起動することで、言語設定で日本語が選べるようになります。

## 禁止事項

サポート等の都合上、このモジュールの商用利用を禁じます。(特別に許可された場合を除く)  
例: このモジュールで日本語化した状態の端末を販売・出品する、導入手順の記事を全文無料公開せずに有料販売するなど

商用利用された場合、利益の50%を徴収させていただきます。

================================================
FILE: customize.sh
================================================
REPLACE="
"

# Taken from unlock-cn-gms
# Credit: Howard20181, yujincheng08 https://github.com/yujincheng08/unlock-cn-gms
PERMISSIONS_PATH=/etc/permissions
SYSTEM_PATH=/system
SYSTEM_EXT_PATH=$SYSTEM_PATH/system_ext
PRODUCT_PATH=$SYSTEM_PATH/product
VENDOR_PATH=$SYSTEM_PATH/vendor
OPLUS_BIGBALL_PATH=/my_bigball
OPLUS_BIGBALL_VENDOR_PATH=/mnt/vendor$OPLUS_BIGBALL_PATH
ROOT_LIST=""$SYSTEM_PATH$PERMISSIONS_PATH" "$PRODUCT_PATH$PERMISSIONS_PATH" "$VENDOR_PATH$PERMISSIONS_PATH" "$SYSTEM_EXT_PATH$PERMISSIONS_PATH" "$OPLUS_BIGBALL_PATH$PERMISSIONS_PATH" "$OPLUS_BIGBALL_VENDOR_PATH$PERMISSIONS_PATH""
FILE_LIST="services.cn.google.xml cn.google.services.xml oplus_google_cn_gms_features.xml"
for ROOT in $ROOT_LIST; do
    for FILE in $FILE_LIST; do
        if [ -f "$ROOT/$FILE" ]; then
            PERMISSION_PATH="$MODPATH$ROOT"
            FILE_NAME=$FILE
            ui_print "- PATH $ROOT/$FILE_NAME"
            mkdir -p "$PERMISSION_PATH"
            cat >"$PERMISSION_PATH/$FILE_NAME" <<EOF
<?xml version="1.0" encoding="utf-8"?>
<!-- This is the standard set of features for devices that support the CN GMSCore. -->
EOF
            [ "$ROOT" = "$OPLUS_BIGBALL_PATH$PERMISSIONS_PATH" ] || [ "$ROOT" = "$OPLUS_BIGBALL_VENDOR_PATH$PERMISSIONS_PATH" ]  && {
                if [ ! -f "$MODPATH/post-fs-data.sh" ]; then
                    cat >"$MODPATH/post-fs-data.sh" <<EOF
#!/system/bin/sh
MODDIR=\${0%/*}
EOF
                fi
                echo "mount -o ro,bind \$MODDIR$ROOT/$FILE_NAME $ROOT/$FILE_NAME" >> "$MODPATH/post-fs-data.sh"
            }
        fi
    done
done

# Set permissions for Google Dialer if it's default app
DEF_DIALER=`cmd package resolve-activity --brief -a android.intent.action.DIAL | grep com.google.android.dialer`
if [ -n "$DEF_DIALER" ]; then
    cp -a ${MODPATH}/cn2g-optional/GmsConfigOverlayComms.apk ${MODPATH}/system/product/overlay
    ui_print ""
    ui_print "******⚠注意⚠******"
    ui_print "Google 電話アプリを必ずデフォルトの電話アプリに"
    ui_print "設定して、権限や通知、自動起動を設定してください。"
    ui_print "設定していないと受話できなくなります。"
    ui_print "******⚠注意⚠******"
    ui_print ""
    ui_print ""
    ui_print "******⚠ WARNING ⚠******"
    ui_print "Please set Google Phone app as default-"
    ui_print "phone app and setup permissions / autostart."
    ui_print "If you don't, you can't receive a call."
    ui_print "******⚠ WARNING ⚠******"
    ui_print ""
fi

rm -rf ${MODPATH}/cn2g-optional

================================================
FILE: module.prop
================================================
id=xiaomi-miui-conv
name=Patch for Xiaomi HyperOS China
version=v17
versionCode=17
author=AndroPlus
description=Xiaomi HyperOS China to Global
updateJson=https://raw.githubusercontent.com/AndroPlus-org/magisk-module-miui-cn2global/master/update.json

================================================
FILE: post-fs-data.sh
================================================
#!/system/bin/sh
# Do NOT assume where your module will be located.
# ALWAYS use $MODDIR if you need to know where this script
# and module is placed.
# This will make sure your module will still work
# if Magisk change its mount point in the future
MODDIR=${0%/*}
# This script will be executed in post-fs-data mode

#resetprop ro.boot.hwc GLOBAL
#resetprop ro.boot.hwcountry GLOBAL

maybe_set_prop() {
    local prop="$1"
    local contains="$2"
    local value="$3"

    if [[ "$(getprop "$prop")" == *"$contains"* ]]; then
        resetprop "$prop" "$value"
    fi
}

maybe_set_prop gsm.sim.operator.numeric "," "44011,44011"
maybe_set_prop gsm.sim.operator.iso-country "," "jp,jp"

# Change to MIUI Global (but less features)
# resetprop ro.product.mod_device "$(getprop "ro.product.mod_device")_global"

================================================
FILE: system/product/etc/default-permissions/default-permissions-google.xml
================================================
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<exceptions>
  <exception
    package="com.google.android.apps.restore"
    sha256-cert-digest="56:BE:13:2B:78:06:56:FE:24:44:CD:34:32:6E:B5:D7:AA:C9:1D:20:96:AB:F0:FE:67:3A:99:27:06:22:EC:87">
    <!-- External storage -->
    <permission name="android.permission.READ_EXTERNAL_STORAGE" fixed="false"/>
    <permission name="android.permission.WRITE_EXTERNAL_STORAGE" fixed="false"/>
    <!-- Contacts -->
    <permission name="android.permission.READ_CONTACTS" fixed="false"/>
    <permission name="android.permission.WRITE_CONTACTS" fixed="false"/>
    <!-- For D2D Restore -->
    <permission name="android.permission.READ_CALL_LOG" fixed="false"/>
    <permission name="android.permission.WRITE_CALL_LOG" fixed="false"/>
    <permission name="android.permission.NEARBY_WIFI_DEVICES" fixed="false"/>
    <permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
  </exception>

  <exception
    package="com.google.android.apps.assistant"
    sha256-cert-digest="43:0B:20:EB:61:96:7E:9C:5B:BE:02:59:9B:07:35:16:80:7D:AE:72:D7:86:FE:92:7F:48:96:B7:C7:F2:96:1F">
    <!-- Record audio -->
    <permission name="android.permission.RECORD_AUDIO" fixed="false"/>
  </exception>

  <exception
    package="com.google.android.apps.actionsservice"
    sha256-cert-digest="43:0B:20:EB:61:96:7E:9C:5B:BE:02:59:9B:07:35:16:80:7D:AE:72:D7:86:FE:92:7F:48:96:B7:C7:F2:96:1F">
    <!-- Record audio -->
    <permission name="android.permission.RECORD_AUDIO" fixed="false"/>
  </exception>

  <exception
    package="com.google.android.marvin.talkback"
    sha256-cert-digest="7B:5A:D5:51:80:A4:8A:1F:30:F3:53:77:C0:F9:E5:F9:11:BF:94:2F:B4:CF:83:EB:A2:55:A0:EB:F5:80:BE:EF">
    <!-- Read phone status -->
    <permission name="android.permission.READ_PHONE_STATE" fixed="false"/>
    <!-- Bluetooth permissions -->
    <permission name="android.permission.BLUETOOTH_CONNECT" fixed="false"/>
    <permission name="android.permission.BLUETOOTH_SCAN" fixed="false"/>
    <permission name="android.permission.BLUETOOTH_ADVERTISE" fixed="false"/>
  </exception>

  <exception
    package="com.google.android.apps.photos"
    sha256-cert-digest="3D:7A:12:23:01:9A:A3:9D:9E:A0:E3:43:6A:B7:C0:89:6B:FB:4F:B6:79:F4:DE:5F:E7:C2:3F:32:6C:8F:99:4A">
    <!-- Grant media access to Photos APK -->
    <permission name="android.permission.ACCESS_MEDIA_LOCATION" fixed="false"/>
    <permission name="android.permission.READ_MEDIA_IMAGES" fixed="false"/>
    <permission name="android.permission.READ_MEDIA_VIDEO" fixed="false"/>
  </exception>

</exceptions>


================================================
FILE: system/product/etc/sysconfig/d2d_cable_migration_feature.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<config>
    <feature name="com.google.android.feature.D2D_CABLE_MIGRATION_FEATURE" />
</config>


================================================
FILE: system/product/etc/sysconfig/google-staged-installer-whitelist.xml
================================================
<?xml version="1.0" encoding="utf-8"?>

<!--
 This XML file declares installer eligible for committing stage install.
-->
<config>
  <whitelisted-staged-installer package="com.android.vending" isModulesInstaller="true" />
</config>


================================================
FILE: system/product/etc/sysconfig/wellbeing.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<config>
    <feature name="com.google.android.feature.WELLBEING" />
</config>


================================================
FILE: system/product/overlay/treble-overlay-frameworkres.apk
================================================
[File too large to display: 14.5 MB]

================================================
FILE: system/product/overlay/treble-overlay-miuicamera.apk
================================================
[File too large to display: 15.8 MB]

================================================
FILE: system/product/overlay/treble-overlay-miuigalleryglobal.apk
================================================
[File too large to display: 18.3 MB]

================================================
FILE: system/product/overlay/treble-overlay-miuisecuritycenterglobal.apk
================================================
[File too large to display: 36.9 MB]

================================================
FILE: system/product/overlay/treble-overlay-miuisystemui.apk
================================================
[File too large to display: 11.6 MB]

================================================
FILE: system/product/overlay/treble-overlay-settings.apk
================================================
[File too large to display: 71.2 MB]

================================================
FILE: system/product/overlay/treble-overlay-teleservice.apk
================================================
[File too large to display: 12.2 MB]

================================================
FILE: system.prop
================================================
ro.product.locale=en-US

# Change to MIUI Global (but less features)
# ro.miui.region=JP
# ro.rom.zone=1


================================================
FILE: update.json
================================================
{
	"version": "v17",
	"versionCode": 17,
	"zipUrl": "https://github.com/AndroPlus-org/magisk-module-miui-cn2global/releases/latest/download/magisk-module-miui-cn2global.zip",
	"changelog": "https://raw.githubusercontent.com/AndroPlus-org/magisk-module-miui-cn2global/master/README.md"
}
Download .txt
gitextract_g67fmzpk/

├── .gitattributes
├── .github/
│   ├── FUNDING.yml
│   └── workflows/
│       └── main.yml
├── .gitignore
├── META-INF/
│   └── com/
│       └── google/
│           └── android/
│               ├── update-binary
│               └── updater-script
├── README.md
├── cn2g-optional/
│   └── GmsConfigOverlayComms.apk
├── customize.sh
├── module.prop
├── post-fs-data.sh
├── system/
│   └── product/
│       ├── etc/
│       │   ├── default-permissions/
│       │   │   └── default-permissions-google.xml
│       │   └── sysconfig/
│       │       ├── d2d_cable_migration_feature.xml
│       │       ├── google-staged-installer-whitelist.xml
│       │       └── wellbeing.xml
│       └── overlay/
│           ├── GmsConfigOverlayCommon.apk
│           ├── GmsConfigOverlayGSA.apk
│           ├── overlay-cnsecurity.apk
│           ├── overlay-cntheme.apk
│           ├── treble-overlay-accessibilitymenu.apk
│           ├── treble-overlay-authmanager.apk
│           ├── treble-overlay-backup.apk
│           ├── treble-overlay-backuprestoreconfirmation.apk
│           ├── treble-overlay-bluetooth.apk
│           ├── treble-overlay-builtinprintservice.apk
│           ├── treble-overlay-calendarprovider.apk
│           ├── treble-overlay-carrierconfig.apk
│           ├── treble-overlay-certinstaller.apk
│           ├── treble-overlay-contactsprovider.apk
│           ├── treble-overlay-downloadprovider.apk
│           ├── treble-overlay-downloadproviderui.apk
│           ├── treble-overlay-externalstorageprovider.apk
│           ├── treble-overlay-finddevice.apk
│           ├── treble-overlay-frameworkextres.apk
│           ├── treble-overlay-frameworkres.apk
│           ├── treble-overlay-globalpackageinstaller.apk
│           ├── treble-overlay-googlepackageinstaller.apk
│           ├── treble-overlay-googlepermissioncontroller.apk
│           ├── treble-overlay-htmlviewer.apk
│           ├── treble-overlay-joyose.apk
│           ├── treble-overlay-managedprovisioning.apk
│           ├── treble-overlay-mi_connect_service.apk
│           ├── treble-overlay-milinkglobal.apk
│           ├── treble-overlay-miserviceglobal.apk
│           ├── treble-overlay-misettings.apk
│           ├── treble-overlay-mishareglobal.apk
│           ├── treble-overlay-misound.apk
│           ├── treble-overlay-miuiaod.apk
│           ├── treble-overlay-miuibarrage.apk
│           ├── treble-overlay-miuibluetooth.apk
│           ├── treble-overlay-miuicalendarglobal.apk
│           ├── treble-overlay-miuicamera.apk
│           ├── treble-overlay-miuicleanmasterglobalcleaner.apk
│           ├── treble-overlay-miuicloudbackupglobal.apk
│           ├── treble-overlay-miuicloudserviceglobal.apk
│           ├── treble-overlay-miuidaemon.apk
│           ├── treble-overlay-miuideskclockglobal.apk
│           ├── treble-overlay-miuifileexplorerglobal.apk
│           ├── treble-overlay-miuifreeformservice.apk
│           ├── treble-overlay-miuifrequentphrase.apk
│           ├── treble-overlay-miuigalleryglobal.apk
│           ├── treble-overlay-miuigloballayout.apk
│           ├── treble-overlay-miuiguardproviderglobal.apk
│           ├── treble-overlay-miuihealthglobal.apk
│           ├── treble-overlay-miuihome.apk
│           ├── treble-overlay-miuimicloudsync.apk
│           ├── treble-overlay-miuimmsglobalandroidu.apk
│           ├── treble-overlay-miuimusicglobal.apk
│           ├── treble-overlay-miuinotificationcentert.apk
│           ├── treble-overlay-miuiscanner.apk
│           ├── treble-overlay-miuiscreenshot.apk
│           ├── treble-overlay-miuisecurityaddglobal.apk
│           ├── treble-overlay-miuisecuritycenterglobal.apk
│           ├── treble-overlay-miuisystem.apk
│           ├── treble-overlay-miuisystemappupdater.apk
│           ├── treble-overlay-miuisystemui.apk
│           ├── treble-overlay-miuisystemuiplugin.apk
│           ├── treble-overlay-miuithememanagerglobal.apk
│           ├── treble-overlay-miuitouchassistantglobal.apk
│           ├── treble-overlay-miuivideoplayer.apk
│           ├── treble-overlay-miuivpndialogs.apk
│           ├── treble-overlay-miuiwifidialog.apk
│           ├── treble-overlay-miuix.apk
│           ├── treble-overlay-miuixeditor_global.apk
│           ├── treble-overlay-miuixiaomiaccountglobal.apk
│           ├── treble-overlay-mmsservice.apk
│           ├── treble-overlay-mtpservice.apk
│           ├── treble-overlay-musicfx.apk
│           ├── treble-overlay-nqnfcnci.apk
│           ├── treble-overlay-powerkeeper.apk
│           ├── treble-overlay-provision.apk
│           ├── treble-overlay-securitycoreadd.apk
│           ├── treble-overlay-settings.apk
│           ├── treble-overlay-settingsprovider.apk
│           ├── treble-overlay-shell.apk
│           ├── treble-overlay-simactivateserviceglobal.apk
│           ├── treble-overlay-soundpicker.apk
│           ├── treble-overlay-splocale.apk
│           ├── treble-overlay-stk.apk
│           ├── treble-overlay-telecom.apk
│           ├── treble-overlay-telephonyprovider.apk
│           ├── treble-overlay-teleservice.apk
│           ├── treble-overlay-traceur.apk
│           ├── treble-overlay-updater.apk
│           ├── treble-overlay-wallpapercropper.apk
│           ├── treble-overlay-xiaomiserviceframeworkglobal.apk
│           ├── treble-overlay-xmscore.apk
│           └── treble-overlay-xmsfkeeperall.apk
├── system.prop
└── update.json
Condensed preview — 110 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (16K chars).
[
  {
    "path": ".gitattributes",
    "chars": 231,
    "preview": "# Declare files that will always have LF line endings on checkout.\nMETA-INF/** text eol=lf\n*.prop text eol=lf\n*.sh text "
  },
  {
    "path": ".github/FUNDING.yml",
    "chars": 111,
    "preview": "# These are supported funding model platforms\n\ngithub: [AndroPlus-org]\ncustom: ['https://paypal.me/androplus']\n"
  },
  {
    "path": ".github/workflows/main.yml",
    "chars": 857,
    "preview": "name: Create Archive\non:\n  push:\n    tags:\n      - 'v*'\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n    - uses:"
  },
  {
    "path": ".gitignore",
    "chars": 5,
    "preview": "*.zip"
  },
  {
    "path": "META-INF/com/google/android/update-binary",
    "chars": 4511,
    "preview": "#!/sbin/sh\n\n#################\n# Initialization\n#################\n\numask 022\n\n# echo before loading util_functions\nui_pri"
  },
  {
    "path": "META-INF/com/google/android/updater-script",
    "chars": 8,
    "preview": "#MAGISK\n"
  },
  {
    "path": "README.md",
    "chars": 1061,
    "preview": "## Translation Patch for Xiaomi HyperOS China\n\nThis is a Magisk module to add translation to the Chinese version of Xiao"
  },
  {
    "path": "customize.sh",
    "chars": 2414,
    "preview": "REPLACE=\"\n\"\n\n# Taken from unlock-cn-gms\n# Credit: Howard20181, yujincheng08 https://github.com/yujincheng08/unlock-cn-gm"
  },
  {
    "path": "module.prop",
    "chars": 249,
    "preview": "id=xiaomi-miui-conv\nname=Patch for Xiaomi HyperOS China\nversion=v17\nversionCode=17\nauthor=AndroPlus\ndescription=Xiaomi H"
  },
  {
    "path": "post-fs-data.sh",
    "chars": 808,
    "preview": "#!/system/bin/sh\n# Do NOT assume where your module will be located.\n# ALWAYS use $MODDIR if you need to know where this "
  },
  {
    "path": "system/product/etc/default-permissions/default-permissions-google.xml",
    "chars": 2606,
    "preview": "<?xml version='1.0' encoding='utf-8' standalone='yes' ?>\n<exceptions>\n  <exception\n    package=\"com.google.android.apps."
  },
  {
    "path": "system/product/etc/sysconfig/d2d_cable_migration_feature.xml",
    "chars": 136,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<config>\n    <feature name=\"com.google.android.feature.D2D_CABLE_MIGRATION_FEATUR"
  },
  {
    "path": "system/product/etc/sysconfig/google-staged-installer-whitelist.xml",
    "chars": 232,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<!--\n This XML file declares installer eligible for committing stage install.\n--"
  },
  {
    "path": "system/product/etc/sysconfig/wellbeing.xml",
    "chars": 118,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<config>\n    <feature name=\"com.google.android.feature.WELLBEING\" />\n</config>\n"
  },
  {
    "path": "system.prop",
    "chars": 105,
    "preview": "ro.product.locale=en-US\n\n# Change to MIUI Global (but less features)\n# ro.miui.region=JP\n# ro.rom.zone=1\n"
  },
  {
    "path": "update.json",
    "chars": 286,
    "preview": "{\n\t\"version\": \"v17\",\n\t\"versionCode\": 17,\n\t\"zipUrl\": \"https://github.com/AndroPlus-org/magisk-module-miui-cn2global/relea"
  }
]

// ... and 94 more files (download for full content)

About this extraction

This page contains the full source code of the AndroPlus-org/magisk-module-miui-cn2global GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 110 files (180.5 MB), approximately 6.1k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!