No description
  • Python 69.6%
  • PowerShell 29.5%
  • Batchfile 0.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
R0rt1z2 13040eeb12
Update because of DMCA takedown
Fuck you GitHub & BBK.

Change-Id: Ia87083d73e9356661ba610318910ebce2558c711
2026-09-02 22:22:50 +02:00
realme_ota Add support for RUI 7 2025-12-30 11:38:25 +01:00
.gitignore realme-ota: version 2.0 2021-09-23 21:05:30 +02:00
Install.ps1 Update because of DMCA takedown 2026-09-02 22:22:50 +02:00
LICENSE realme-ota: initial commit 2021-09-22 22:29:04 +02:00
README.md Update because of DMCA takedown 2026-09-02 22:22:50 +02:00
realme-ota realme-ota: version 2.0 2021-09-23 21:05:30 +02:00
setup.py realme-ota: Automatically install requirements during setup 2022-12-10 01:54:18 +02:00

Realme OTA Downloader

Requirements

  • Python 3.9 (or newer).

Installation

Windows

Required Windows Terminal or PowerShell.

# (Requires privileges - start Terminal/PowerShell as administrator)
Invoke-WebRequest https://git.kaerulabs.com/r0rt1z2/realme-ota/raw/branch/master/Install.ps1 | Invoke-Expression

Linux

sudo apt install python3-pip
pip3 install --upgrade git+https://git.kaerulabs.com/r0rt1z2/realme-ota

Usage

usage: realme-ota [-h] [-v {0,1,2,3,4,5} | -s] [-r {0,1,2,3}] [-g GUID]
               [-i IMEI [IMEI ...]] [-b] [--old-method] [-d DUMP] [-o ONLY]
               product_model ota_version {1,2,3,4} [nv_identifier]

positional arguments:
  product_model         Product Model (ro.product.name).
  ota_version           OTA Version (ro.build.version.ota).
  {1,2,3,4}             RealmeUI Version (ro.build.version.realmeui).
  nv_identifier         NV (carrier) identifier (ro.build.oplus_nv_id) (if
                        none, provide 0 or omit).

options:
  -h, --help            show this help message and exit
  -v {0,1,2,3,4,5}, --verbosity {0,1,2,3,4,5}
                        Set the verbosity level. Range: 0 (no logging) to 5
                        (debug). Default: 4 (info).
  -s, --silent          Enable silent output (purge logging). Shortcut for
                        '-v0'.

request options:
  -r {0,1,2,3}, --region {0,1,2,3}
                        Use custom region for the request (GL = 0, CN = 1, IN
                        = 2, EU = 3).
  -g GUID, --guid GUID  The guid of the third line in the file
                        /data/system/openid_config.xml (only required to
                        extract 'CBT' in China).
  -i IMEI [IMEI ...], --imei IMEI [IMEI ...]
                        Specify one or two IMEIs for the request.
  -b, --beta            Try to get a test version (IMEI probably required).
  --old-method          Use old method for the request (only applies if
                        rui_version >= 2).

output options:
  -d DUMP, --dump DUMP  Save request response into a file.
  -o ONLY, --only ONLY  Only show the desired value from the response.

Additional notes

  • If your request returns flow limit or status code 500, try to wait a few minutes and then request again.
  • You can use the ALL_PROXY environment variable to send the request via a proxy (useful if an update can't be found in your country). On Windows you can run set ALL_PROXY=ADDRESS:PORT, while on Linux and MacOS you can do export ALL_PROXY=ADDRESS:PORT.
  • Since Android 11 (RUI2), Realme started using components, which means you won't be able to get a full OTA link.
  • The --beta option might not work correctly, it has not been fully tested!

License

  • This tool is licensed under the GNU (v3) General Public License. See LICENSE for more details.