Table of Contents

Information

LineageOS

Recovery

HOSTS

adb shell "mount -o 'rw,remount' '/mnt/system'"
adb push "%UserProfile%\Downloads\blacklist-fg.txt" "/mnt/system/system/etc/hosts"
adb push ~/'Downloads/blacklist-fg.txt' '/mnt/system/system/etc/hosts'
adb shell "restorecon -F -v '/mnt/system/system/etc/hosts'"
adb shell "cat '/mnt/system/system/etc/hosts' && sync"

Apps

F-Droid

Other

Smart Stuff

Meta Quest 2

HK28 Smart Watch

Oral-B Toothbrush

CLABEL Label Maker

OPOWO Humidifier

YHW RGB Floor Lamp

Settings

Disable Backup Manager

adb shell "bmgr transport 'com.android.localtransport/.LocalTransport' && bmgr enable '0' && sync"

Private DNS

security.cloudflare-dns.com

Termux

pkg clean && pkg upgrade && sync && exit
termux-change-repo
pkg install 'openssh'
sync && exit

Piwigo

media.realmofespionage.xyz

WordPress

https://blog.realmofespionage.xyz

GSF SafetyNet Integrity

adb shell
sqlite3 /data/data/com.google.android.gsf/databases/gservices.db "select * from main where name = \"android_id\";"

ROM Testing

OxygenOS

HydrogenOS

LineageOS

DivestOS

LineageOS for microG

Ubuntu Touch

postmarketOS

Renegade Project

Restore

Prerequisites

EDL Tools

Dependencies

sudo dnf install adb fastboot python3-devel python3-pip xz-devel git

Download Sources

cd ~ && mkdir -p ~/'Projects' && rm -Rf ~/'Projects/bkerler-oppo_decrypt/src' ~/'Projects/bkerler-edl/src' && git clone --branch 'master' --depth '1' --recurse-submodules 'https://github.com/bkerler/oppo_decrypt.git' ~/'Projects/bkerler-oppo_decrypt/src' && git clone --branch 'master' --depth '1' --recurse-submodules 'https://github.com/bkerler/edl.git' ~/'Projects/bkerler-edl/src' && sync

Build

pip3 install --user --requirement ~/'Projects/bkerler-edl/src/requirements.txt'
cd ~/'Projects/bkerler-edl/src' && python3 ~/'Projects/bkerler-edl/src/setup.py' 'build'

udev Rules

sudo mkdir -p '/etc/udev/rules.d/' && sudo cp ~/'Projects/bkerler-edl/src/Drivers/50-android.rules' ~/'Projects/bkerler-edl/src/Drivers/51-edl.rules' '/etc/udev/rules.d/' && sudo udevadm control --reload

Image

Download

wget -O ~/'Downloads/OnePlus_6_OxygenOS_10.3.8.zip' 'https://onepluscommunityserver.com/list/Unbrick_Tools/OnePlus_6/Q/OnePlus_6_OxygenOS_10.3.8.zip'

Extract

rm -Rf ~/'Downloads/enchilada_22_J.50_210121/'
md5sum ~/'Downloads/OnePlus_6_OxygenOS_10.3.8.zip' | grep 'cac18fdf6e8bc87a17a911ec95d67078' && unzip -qq -b -d ~/'Downloads/' ~/'Downloads/OnePlus_6_OxygenOS_10.3.8.zip' && sync
md5sum ~/'Downloads/enchilada_22_J.50_210121.zip' | grep '279ca4f14f88bd669da3a01585d2770c' && unzip -qq -b -d ~/'Downloads/' ~/'Downloads/enchilada_22_J.50_210121.zip' && sync
ls ~/'Downloads/enchilada_22_J.50_210121/enchilada_22_J.50_210121.ops'

Decrypt

md5sum ~/'Downloads/enchilada_22_J.50_210121/enchilada_22_J.50_210121.ops' | grep '4d11ee9081b9a314cc10aec784f12acd' && python3 ~/'Projects/bkerler-oppo_decrypt/src/opscrypto.py' decrypt ~/'Downloads/enchilada_22_J.50_210121/enchilada_22_J.50_210121.ops' --extractdir='decrypted-ops' && sync

Restore XMLs

Generate

nano ~/'Downloads/enchilada_22_J.50_210121/decrypted-ops/op6-restore-patches.py'
with open('settings.xml', 'rt') as f:
    xml = f.read()
for intag, outtag, out in (('Program', 'data', 'rawprogram'), ('Patch', 'patches', 'patch')):
    for pr in xml.split(f'<{intag}')[1:]:
        num, data = pr.split('>', 1)
        lines = filter(lambda x: x, map(lambda x: x.strip(), data.split(f'</{intag}')[0].split('\n')))
        with open(f'{out}{num}.xml', 'wt') as f:
            print(f'<?xml version="1.0" ?>\n<{outtag}>', file=f)
            for line in lines:
                print(' ', line, file=f)
            print(f'</{outtag}>', file=f)
# End

Create XMLs

cd ~/'Downloads/enchilada_22_J.50_210121/decrypted-ops/' && python3 ~/'Downloads/enchilada_22_J.50_210121/decrypted-ops/op6-restore-patches.py' && sync

Restore

Disable ModemManager

sudo systemctl disable 'ModemManager' --now

Boot to EDL

Fastboot Unlock

cd ~/'Downloads/enchilada_22_J.50_210121/decrypted-ops/' && ~/'Projects/bkerler-edl/src/edl' modules 'oemunlock' 'enable'

Flash

cd ~/'Downloads/enchilada_22_J.50_210121/decrypted-ops/' && ~/'Projects/bkerler-edl/src/edl' qfil ~/'Downloads/enchilada_22_J.50_210121/decrypted-ops/rawprogram0.xml' ~/'Downloads/enchilada_22_J.50_210121/decrypted-ops/patch0.xml' ~/'Downloads/enchilada_22_J.50_210121/decrypted-ops'
cd ~/'Downloads/enchilada_22_J.50_210121/decrypted-ops/' && ~/'Projects/bkerler-edl/src/edl' qfil ~/'Downloads/enchilada_22_J.50_210121/decrypted-ops/rawprogram1.xml' ~/'Downloads/enchilada_22_J.50_210121/decrypted-ops/patch1.xml' ~/'Downloads/enchilada_22_J.50_210121/decrypted-ops'
cd ~/'Downloads/enchilada_22_J.50_210121/decrypted-ops/' && ~/'Projects/bkerler-edl/src/edl' qfil ~/'Downloads/enchilada_22_J.50_210121/decrypted-ops/rawprogram2.xml' ~/'Downloads/enchilada_22_J.50_210121/decrypted-ops/patch2.xml' ~/'Downloads/enchilada_22_J.50_210121/decrypted-ops'
cd ~/'Downloads/enchilada_22_J.50_210121/decrypted-ops/' && ~/'Projects/bkerler-edl/src/edl' qfil ~/'Downloads/enchilada_22_J.50_210121/decrypted-ops/rawprogram3.xml' ~/'Downloads/enchilada_22_J.50_210121/decrypted-ops/patch3.xml' ~/'Downloads/enchilada_22_J.50_210121/decrypted-ops'
cd ~/'Downloads/enchilada_22_J.50_210121/decrypted-ops/' && ~/'Projects/bkerler-edl/src/edl' qfil ~/'Downloads/enchilada_22_J.50_210121/decrypted-ops/rawprogram4.xml' ~/'Downloads/enchilada_22_J.50_210121/decrypted-ops/patch4.xml' ~/'Downloads/enchilada_22_J.50_210121/decrypted-ops'
cd ~/'Downloads/enchilada_22_J.50_210121/decrypted-ops/' && ~/'Projects/bkerler-edl/src/edl' qfil ~/'Downloads/enchilada_22_J.50_210121/decrypted-ops/rawprogram5.xml' ~/'Downloads/enchilada_22_J.50_210121/decrypted-ops/patch5.xml' ~/'Downloads/enchilada_22_J.50_210121/decrypted-ops'

Reboot

~/'Projects/bkerler-edl/src/edl' reset

Clean-up

sudo systemctl enable 'ModemManager' --now

NVBackupUI Fix

1)
the archives have different hashes but the .ops is consistent