├── META-INF └── com │ └── google │ └── android │ ├── update-binary │ └── updater-script ├── README.md ├── Theme ├── README.md ├── black.zip └── dark.zip ├── VancedYT-uninstall.sh ├── YouTube ├── base.apk ├── split_config.arm64_v8a.apk ├── split_config.armeabi_v7a.apk ├── split_config.en.apk ├── split_config.ldpi.apk ├── split_config.mdpi.apk ├── split_config.xhdpi.apk ├── split_config.xxhdpi.apk └── split_config.xxxhdpi.apk ├── crontabs └── root ├── customize.sh ├── detach ├── module.prop ├── post-fs-data.sh ├── service.sh ├── system.prop └── system ├── bin ├── detachyt └── sqlite3 └── product └── overlay └── PiPsize └── PiPsize.apk /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.0+! " 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 20000 ] && require_new_magisk 31 | 32 | if [ $MAGISK_VER_CODE -ge 20400 ]; then 33 | # New Magisk have complete installation logic within util_functions.sh 34 | install_module 35 | exit 0 36 | fi 37 | 38 | ################# 39 | # Legacy Support 40 | ################# 41 | 42 | TMPDIR=/dev/tmp 43 | PERSISTDIR=/sbin/.magisk/mirror/persist 44 | 45 | is_legacy_script() { 46 | unzip -l "$ZIPFILE" install.sh | grep -q install.sh 47 | return $? 48 | } 49 | 50 | print_modname() { 51 | local authlen len namelen pounds 52 | namelen=`echo -n $MODNAME | wc -c` 53 | authlen=$((`echo -n $MODAUTH | wc -c` + 3)) 54 | [ $namelen -gt $authlen ] && len=$namelen || len=$authlen 55 | len=$((len + 2)) 56 | pounds=$(printf "%${len}s" | tr ' ' '*') 57 | ui_print "$pounds" 58 | ui_print " $MODNAME " 59 | ui_print " by $MODAUTH " 60 | ui_print "$pounds" 61 | ui_print "*******************" 62 | ui_print " Powered by Magisk " 63 | ui_print "*******************" 64 | } 65 | 66 | # Override abort as old scripts have some issues 67 | abort() { 68 | ui_print "$1" 69 | $BOOTMODE || recovery_cleanup 70 | [ -n $MODPATH ] && rm -rf $MODPATH 71 | rm -rf $TMPDIR 72 | exit 1 73 | } 74 | 75 | rm -rf $TMPDIR 2>/dev/null 76 | mkdir -p $TMPDIR 77 | 78 | # Preperation for flashable zips 79 | setup_flashable 80 | 81 | # Mount partitions 82 | mount_partitions 83 | 84 | # Detect version and architecture 85 | api_level_arch_detect 86 | 87 | # Setup busybox and binaries 88 | $BOOTMODE && boot_actions || recovery_actions 89 | 90 | ############## 91 | # Preparation 92 | ############## 93 | 94 | # Extract prop file 95 | unzip -o "$ZIPFILE" module.prop -d $TMPDIR >&2 96 | [ ! -f $TMPDIR/module.prop ] && abort "! Unable to extract zip file!" 97 | 98 | $BOOTMODE && MODDIRNAME=modules_update || MODDIRNAME=modules 99 | MODULEROOT=$NVBASE/$MODDIRNAME 100 | MODID=`grep_prop id $TMPDIR/module.prop` 101 | MODNAME=`grep_prop name $TMPDIR/module.prop` 102 | MODAUTH=`grep_prop author $TMPDIR/module.prop` 103 | MODPATH=$MODULEROOT/$MODID 104 | 105 | # Create mod paths 106 | rm -rf $MODPATH 2>/dev/null 107 | mkdir -p $MODPATH 108 | 109 | ########## 110 | # Install 111 | ########## 112 | 113 | if is_legacy_script; then 114 | unzip -oj "$ZIPFILE" module.prop install.sh uninstall.sh 'common/*' -d $TMPDIR >&2 115 | 116 | # Load install script 117 | . $TMPDIR/install.sh 118 | 119 | # Callbacks 120 | print_modname 121 | on_install 122 | # Custom uninstaller 123 | [ -f $TMPDIR/uninstall.sh ] && cp -af $TMPDIR/uninstall.sh $MODPATH/uninstall.sh 124 | 125 | # Skip mount 126 | $SKIPMOUNT && touch $MODPATH/skip_mount 127 | 128 | # prop file 129 | $PROPFILE && cp -af $TMPDIR/system.prop $MODPATH/system.prop 130 | 131 | # Module info 132 | cp -af $TMPDIR/module.prop $MODPATH/module.prop 133 | 134 | # post-fs-data scripts 135 | $POSTFSDATA && cp -af $TMPDIR/post-fs-data.sh $MODPATH/post-fs-data.sh 136 | 137 | # service scripts 138 | $LATESTARTSERVICE && cp -af $TMPDIR/service.sh $MODPATH/service.sh 139 | 140 | ui_print "- Setting permissions" 141 | set_permissions 142 | else 143 | print_modname 144 | 145 | unzip -o "$ZIPFILE" customize.sh -d $MODPATH >&2 146 | 147 | if ! grep -q '^SKIPUNZIP=1$' $MODPATH/customize.sh 2>/dev/null; then 148 | sleep 1 149 | ui_print "- Extracting module files" 150 | unzip -o "$ZIPFILE" -x 'META-INF/*' -d $MODPATH >&2 151 | 152 | # Default permissions 153 | set_perm_recursive $MODPATH 0 0 0755 0644 154 | fi 155 | 156 | # Load customization script 157 | [ -f $MODPATH/customize.sh ] && . $MODPATH/customize.sh 158 | fi 159 | 160 | # Handle replace folders 161 | for TARGET in $REPLACE; do 162 | ui_print "- Replace target: $TARGET" 163 | mktouch $MODPATH$TARGET/.replace 164 | done 165 | 166 | if $BOOTMODE; then 167 | # Update info for Magisk Manager 168 | mktouch $NVBASE/modules/$MODID/update 169 | cp -af $MODPATH/module.prop $NVBASE/modules/$MODID/module.prop 170 | fi 171 | 172 | # Copy over custom sepolicy rules 173 | if [ -f $MODPATH/sepolicy.rule -a -e $PERSISTDIR ]; then 174 | ui_print "- Installing custom sepolicy patch" 175 | # Remove old recovery logs (which may be filling partition) to make room 176 | rm -f $PERSISTDIR/cache/recovery/* 177 | PERSISTMOD=$PERSISTDIR/magisk/$MODID 178 | mkdir -p $PERSISTMOD 179 | cp -af $MODPATH/sepolicy.rule $PERSISTMOD/sepolicy.rule || abort "! Insufficient partition size" 180 | fi 181 | 182 | # Remove stuffs that don't belong to modules 183 | rm -rf \ 184 | $MODPATH/system/placeholder $MODPATH/customize.sh \ 185 | $MODPATH/README.md $MODPATH/.git* 2>/dev/null 186 | 187 | ############# 188 | # Finalizing 189 | ############# 190 | 191 | cd / 192 | $BOOTMODE || recovery_cleanup 193 | rm -rf $TMPDIR 194 | sleep 1 195 | ui_print "- Done" 196 | exit 0 197 | -------------------------------------------------------------------------------- /META-INF/com/google/android/updater-script: -------------------------------------------------------------------------------- 1 | #MAGISK 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Vanced YouTube [Root] 2 | 3 | ## Thanks / Credit 4 | 1. **YouTube Vanced** - [Official YouTube vanced Team](https://t.me/Vanced) 5 | 2. **YouTube official** - [APKMirror](https://www.apkmirror.com/apk/google-inc/youtube/) 6 | 3. **sqlite3 binary** - [Zackptg5](https://github.com/Zackptg5/Cross-Compiled-Binaries-Android) 7 | 4. **Busybox binary** - [osm0sis](https://github.com/Magisk-Modules-Repo/busybox-ndk) 8 | 5. **Split APK Installation Guide** - [https://raccoon.onyxbits.de/blog/install-split-apk-adb/](https://raccoon.onyxbits.de/blog/install-split-apk-adb/) 9 | 6. **Help regarding crond job** - [https://crontab.guru/](https://crontab.guru/) 10 | 11 | 12 | ## Telegram Channel - 13 | [YouTube Vanced UNOFFICIAL](http://t.me/Unofficial_YouTube_Vanced_Module) 14 | 15 | -------------------------------------------------------------------------------- /Theme/README.md: -------------------------------------------------------------------------------- 1 | # 2 | As GitHub don't support file uploading for more than 25MB, Therefore I have archived apk. 3 | You must have to unzip them before use 4 | -------------------------------------------------------------------------------- /Theme/black.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JumbomanXDA/YouTube-vanced-Magisk-Module/a1d70360dd0259bc33f09ec1aff169f07d83ef33/Theme/black.zip -------------------------------------------------------------------------------- /Theme/dark.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JumbomanXDA/YouTube-vanced-Magisk-Module/a1d70360dd0259bc33f09ec1aff169f07d83ef33/Theme/dark.zip -------------------------------------------------------------------------------- /VancedYT-uninstall.sh: -------------------------------------------------------------------------------- 1 | #!/system/bin/sh 2 | 3 | # Wait till device boot process complets 4 | while [ "$(getprop sys.boot_completed)" != "1" ]; do 5 | sleep 1 6 | done 7 | 8 | sleep 10 9 | 10 | # If VancedYT module is uninstalled then uninstall YouTube app on next boot 11 | if [[ ! -d /data/adb/modules/VancedYT || -f /data/adb/modules/VancedYT/remove ]]; then 12 | pm uninstall com.google.android.youtube 13 | cmd appops set --uid com.android.vending GET_USAGE_STATS allow 14 | rm -rf /data/adb/service.d/VancedYT-uninstall.sh 15 | fi 16 | 17 | # Remove VancedYT module if YouTube app is uninstalled manually by user 18 | PACKAGE=$(pm list packages | grep com.google.android.youtube | head -n 1 | cut -d ":" -f2-) 19 | if [ "$PACKAGE" != "com.google.android.youtube" ]; then 20 | rm -rf /data/adb/modules/VancedYT 21 | cmd appops set --uid com.android.vending GET_USAGE_STATS allow 22 | rm -rf /data/adb/service.d/VancedYT-uninstall.sh 23 | fi 24 | 25 | -------------------------------------------------------------------------------- /YouTube/base.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JumbomanXDA/YouTube-vanced-Magisk-Module/a1d70360dd0259bc33f09ec1aff169f07d83ef33/YouTube/base.apk -------------------------------------------------------------------------------- /YouTube/split_config.arm64_v8a.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JumbomanXDA/YouTube-vanced-Magisk-Module/a1d70360dd0259bc33f09ec1aff169f07d83ef33/YouTube/split_config.arm64_v8a.apk -------------------------------------------------------------------------------- /YouTube/split_config.armeabi_v7a.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JumbomanXDA/YouTube-vanced-Magisk-Module/a1d70360dd0259bc33f09ec1aff169f07d83ef33/YouTube/split_config.armeabi_v7a.apk -------------------------------------------------------------------------------- /YouTube/split_config.en.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JumbomanXDA/YouTube-vanced-Magisk-Module/a1d70360dd0259bc33f09ec1aff169f07d83ef33/YouTube/split_config.en.apk -------------------------------------------------------------------------------- /YouTube/split_config.ldpi.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JumbomanXDA/YouTube-vanced-Magisk-Module/a1d70360dd0259bc33f09ec1aff169f07d83ef33/YouTube/split_config.ldpi.apk -------------------------------------------------------------------------------- /YouTube/split_config.mdpi.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JumbomanXDA/YouTube-vanced-Magisk-Module/a1d70360dd0259bc33f09ec1aff169f07d83ef33/YouTube/split_config.mdpi.apk -------------------------------------------------------------------------------- /YouTube/split_config.xhdpi.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JumbomanXDA/YouTube-vanced-Magisk-Module/a1d70360dd0259bc33f09ec1aff169f07d83ef33/YouTube/split_config.xhdpi.apk -------------------------------------------------------------------------------- /YouTube/split_config.xxhdpi.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JumbomanXDA/YouTube-vanced-Magisk-Module/a1d70360dd0259bc33f09ec1aff169f07d83ef33/YouTube/split_config.xxhdpi.apk -------------------------------------------------------------------------------- /YouTube/split_config.xxxhdpi.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JumbomanXDA/YouTube-vanced-Magisk-Module/a1d70360dd0259bc33f09ec1aff169f07d83ef33/YouTube/split_config.xxxhdpi.apk -------------------------------------------------------------------------------- /crontabs/root: -------------------------------------------------------------------------------- 1 | # Run every 1 hour 2 | # For more help - https://crontab.guru/ 3 | 0 */1 * * * /system/bin/detachyt 4 | 5 | -------------------------------------------------------------------------------- /customize.sh: -------------------------------------------------------------------------------- 1 | #!/system/bin/sh 2 | 3 | # Checking for installation environment 4 | # Abort TWRP installation with error message when user tries to install this module in TWRP 5 | if [ $BOOTMODE = false ]; then 6 | ui_print "- Installing through TWRP Not supported" 7 | ui_print "- Intsall this module via Magisk Manager" 8 | abort "- ! Aborting installation !" 9 | fi 10 | 11 | 12 | ui_print "- Installing YouTube Vanced v17.03.38" 13 | 14 | # Uninstall YouTube app 15 | # Keep the data and cache directories around after package removal [-k] 16 | # User with multiple "Work Profiles", YouTube is uninstalled for main user only [--user 0] 17 | PK=com.google.android.youtube 18 | PACKAGE=$(pm list packages | grep $PK | head -n 1 | cut -d ":" -f2-) 19 | 20 | if [ "$PACKAGE" = "$PK" ]; then 21 | if [ -d /data/adb/modules/VancedYT ]; then 22 | pm uninstall -k $PK > /dev/null 2>&1 23 | elif [ -d /data/adb/Vanced ]; then 24 | pm uninstall $PK > /dev/null 2>&1 25 | rm -rf /data/adb/post-fs-data.d/vanced.sh 26 | rm -rf /data/adb/service.d/vanced.sh 27 | rm -rf /data/adb/Vanced 28 | else 29 | pm uninstall --user 0 $PK > /dev/null 2>&1 30 | fi 31 | fi 32 | 33 | 34 | # Theme configuration 35 | mkdir -p $MODPATH/vanced 36 | SDcard=/storage/emulated/0 37 | if [[ -e $SDcard/ytdark* || -e $SDcard/Ytdark* || -e $SDcard/YTDARK* ]]; then 38 | mv -f $MODPATH/Theme/dark.apk $MODPATH/vanced/base.apk 39 | ui_print "- Dark theme selected" 40 | elif [[ -e $SDcard/ytblack* || -e $SDcard/Ytblack* || -e $SDcard/YTBLACK* ]]; then 41 | mv -f $MODPATH/Theme/black.apk $MODPATH/vanced/base.apk 42 | ui_print "- Black theme selected" 43 | else 44 | mv -f $MODPATH/Theme/black.apk $MODPATH/vanced/base.apk 45 | ui_print "- Dark theme selected [Default Theme]" 46 | fi 47 | 48 | 49 | # Install official YouTube app [base + split apk's] 50 | Install_Official_YouTube() { 51 | # Change Directory 52 | cd $MODPATH/YouTube 53 | 54 | # Get Total size of all apk's 55 | # ls -l | awk '{s+=$5} END {print s}' 56 | Total_Size=$(ls -l | awk '{print $5}' | awk '{s+=$1} END {print s}') 57 | 58 | # Get Session ID 59 | ID=$(pm install-create -S $Total_Size | sed 's/.*\[//g;s/\]//g') 60 | 61 | # Prepare for stagging apk's 62 | #pm install-write -S $APK_SIZE $ID $INDEX $APK_PATH 63 | ls -l | sed '1d' | awk '{print $5,NR-1,$9}' | sed 's/^/pm install-write -S /' | sed 's/ / '"$ID"' /4' > $MODPATH/stagging_apks 64 | 65 | # Stage all apk's 66 | sh $MODPATH/stagging_apks > /dev/null 2>&1 67 | 68 | # Commit for installation 69 | pm install-commit $ID > /dev/null 2>&1 70 | } 71 | Install_Official_YouTube 72 | 73 | 74 | # mount Vanced YouTube with official YouTube 75 | ui_print "- Mounting YouTube Vanced" 76 | PK_Path=$(pm path $PK | cut -d ":" -f2- | grep "base.apk") 77 | echo "mount -o bind /data/adb/modules/VancedYT/vanced/base.apk $PK_Path" >> $MODPATH/service.sh 78 | 79 | 80 | # Instant mount 81 | chcon u:object_r:apk_data_file:s0 $MODPATH/vanced/base.apk 82 | mount -o bind $MODPATH/vanced/base.apk $PK_Path 83 | 84 | 85 | # Detach script - Disable Play store updates for vanced YouTube 86 | sleep 1 87 | ui_print "- Adding Detach script for YouTube Vanced" 88 | cat $MODPATH/detach >> $MODPATH/service.sh 89 | 90 | 91 | # Set proper Permissions for /bin folder 92 | set_perm_recursive $MODPATH/system/bin 0 0 0755 0755 93 | 94 | 95 | # Instant Detach 96 | PS=com.android.vending 97 | LDB=/data/data/$PS/databases/library.db 98 | LADB=/data/data/$PS/databases/localappstate.db 99 | cmd appops set --uid $PS GET_USAGE_STATS ignore 100 | pm disable $PS > /dev/null 2>&1 101 | $MODPATH/system/bin/sqlite3 $LDB "UPDATE ownership SET doc_type = '25' WHERE doc_id = '$PK'"; 102 | $MODPATH/system/bin/sqlite3 $LADB "UPDATE appstate SET auto_update = '2' WHERE package_name = '$PK'"; 103 | rm -rf /data/data/$PS/cache/* 104 | pm enable $PS > /dev/null 2>&1 105 | 106 | 107 | # Uninstall Script 108 | mv -f $MODPATH/VancedYT-uninstall.sh /data/adb/service.d/VancedYT-uninstall.sh 109 | chmod +x /data/adb/service.d/VancedYT-uninstall.sh 110 | 111 | 112 | # Disable battery optimization for YouTube vanced 113 | sleep 1 114 | ui_print "- Disable Battery Optimization for YouTube vanced" 115 | dumpsys deviceidle whitelist +$PK > /dev/null 2>&1 116 | 117 | 118 | # Remove Leftovers 119 | for i in $MODPATH/Theme $MODPATH/YouTube $MODPATH/detach $MODPATH/stagging_apks 120 | do 121 | rm -rf $i > /dev/null 2>&1 122 | done 123 | 124 | # Note to other developers who are looking at this script. 125 | # Tell me if you have any suggestions, ideas, improvements etc. 126 | 127 | -------------------------------------------------------------------------------- /detach: -------------------------------------------------------------------------------- 1 | 2 | # Detach script - Disable Play store updates for YouTube Vanced 3 | # Wait for 1 minute before executing detach script 4 | sleep 60 5 | 6 | # Expansion 7 | PS=com.android.vending 8 | DB=/data/data/$PS/databases 9 | LDB=$DB/library.db 10 | LADB=$DB/localappstate.db 11 | PK=com.google.android.youtube 12 | GET_LDB=$(sqlite3 $LDB "SELECT doc_id,doc_type FROM ownership" | grep $PK | head -n 1 | grep -o 25) 13 | 14 | # Main script 15 | if [ "$GET_LDB" != "25" ]; then 16 | # Disable Play store 17 | cmd appops set --uid $PS GET_USAGE_STATS ignore 18 | pm disable $PS > /dev/null 2>&1 19 | 20 | # Update database 21 | sqlite3 $LDB "UPDATE ownership SET doc_type = '25' WHERE doc_id = '$PK'"; 22 | sqlite3 $LADB "UPDATE appstate SET auto_update = '2' WHERE package_name = '$PK'"; 23 | 24 | # Remove cache 25 | rm -rf /data/data/$PS/cache/* 26 | 27 | # Re-enable Play store 28 | pm enable $PS > /dev/null 2>&1 29 | fi 30 | 31 | # Run crond demon on boot 32 | /data/adb/magisk/busybox crond -b -c /data/adb/modules/VancedYT/crontabs 33 | 34 | # Delete old log 35 | rm -rf /data/detach*.log 36 | -------------------------------------------------------------------------------- /module.prop: -------------------------------------------------------------------------------- 1 | id=VancedYT 2 | name=YouTube Vanced Unofficial 3 | version=v17.03.38 4 | versionCode=170338 5 | author=JumbomanXDA 6 | description=Unofficial Youtube Vanced Magisk Module [ ROOT ] 7 | 8 | -------------------------------------------------------------------------------- /post-fs-data.sh: -------------------------------------------------------------------------------- 1 | #!/system/bin/sh 2 | 3 | while read line; do echo ${line} | grep com.google.android.youtube | awk '{print $2}' | xargs umount -l; done< /proc/mounts 4 | -------------------------------------------------------------------------------- /service.sh: -------------------------------------------------------------------------------- 1 | #!/system/bin/sh 2 | 3 | # Wait till device boot process complets 4 | while [ "$(getprop sys.boot_completed)" != "1" ]; do 5 | sleep 1 6 | done 7 | sleep 5 8 | 9 | # mount Vanced YouTube with official YouTube 10 | chcon u:object_r:apk_data_file:s0 /data/adb/modules/VancedYT/vanced/base.apk 11 | 12 | -------------------------------------------------------------------------------- /system.prop: -------------------------------------------------------------------------------- 1 | # This file will be read by resetprop 2 | -------------------------------------------------------------------------------- /system/bin/detachyt: -------------------------------------------------------------------------------- 1 | #!/system/bin/sh 2 | # Detach script - Disable Play store updates for YouTube Vanced 3 | 4 | # Expansion 5 | LOG=/data/detach.log 6 | PS=com.android.vending 7 | DB=/data/data/$PS/databases 8 | LDB=$DB/library.db 9 | LADB=$DB/localappstate.db 10 | PK=com.google.android.youtube 11 | GET_LDB=$(sqlite3 $LDB "SELECT doc_id,doc_type FROM ownership" | grep $PK | head -n 1 | grep -o 25) 12 | 13 | # Main script 14 | if [ "$GET_LDB" != "25" ]; then 15 | # Disable Play store 16 | cmd appops set --uid $PS GET_USAGE_STATS ignore 17 | pm disable $PS > /dev/null 2>&1 18 | 19 | # Update database 20 | sqlite3 $LDB "UPDATE ownership SET doc_type = '25' WHERE doc_id = '$PK'"; 21 | sqlite3 $LADB "UPDATE appstate SET auto_update = '2' WHERE package_name = '$PK'"; 22 | 23 | # Remove cache 24 | rm -rf /data/data/$PS/cache/* 25 | 26 | # Re-enable Play store 27 | pm enable $PS > /dev/null 2>&1 28 | 29 | # Log 30 | echo "$(date) - YouTube Vanced successfully detached from play store" >> $LOG 31 | fi 32 | -------------------------------------------------------------------------------- /system/bin/sqlite3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JumbomanXDA/YouTube-vanced-Magisk-Module/a1d70360dd0259bc33f09ec1aff169f07d83ef33/system/bin/sqlite3 -------------------------------------------------------------------------------- /system/product/overlay/PiPsize/PiPsize.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JumbomanXDA/YouTube-vanced-Magisk-Module/a1d70360dd0259bc33f09ec1aff169f07d83ef33/system/product/overlay/PiPsize/PiPsize.apk --------------------------------------------------------------------------------