Simple script to download OTA packages from Realme's endpoint.

Related tags

CLI Tools realme-ota
Overview

Realme OTA Downloader

License GitHub release (latest by date including pre-releases) GitHub Issues

CLI tool (based on this C# program) to create requests to the Realme's endpoint.

Requirements

  • Python 3.9.
  • pycryptodome.

Installation

sudo apt install python3-pip
sudo pip3 install --upgrade pycryptodome git+https://github.com/R0rt1z2/realme-ota

Usage

usage: main.py [-h] [-c SERVER] [-i IMEI] [-t TIMEOUT] [-a ANDROID] [-r ROOT] [-d DUMP] [-o ONLY] [-s] [-v {0,1}]
               [-z {Query_Update,Result_Feedback,Query_Description,Reback_Abandon,Find_Rights,Appointment,Query_New_Model,Query_Ext_Content,Down_Feedback,CheckDown}]
               product_model ota_version

positional arguments:
  product_model         Product Model (ro.product.name).
  ota_version           OTA Version (ro.build.version.ota).

optional arguments:
  -h, --help            show this help message and exit
  -c SERVER, --server SERVER
                        Use specific server for the request (GL = 0, CN = 1, IN = 2, EU = 3).
  -i IMEI, --imei IMEI  Use custom IMEI for the request.
  -t TIMEOUT, --timeout TIMEOUT
                        Use custom timeout for the request.
  -a ANDROID, --android ANDROID
                        Use custom android version for the request.
  -r ROOT, --root ROOT  Use custom root status for the request.
  -d DUMP, --dump DUMP  Save request response into file.
  -o ONLY, --only ONLY  Only show the desired value from the request.
  -s, --silent          Enable silent output (purge logging).
  -v {0,1}, --verbosity {0,1}
                        Increase or decrease verbosity.
  -z {Query_Update,Result_Feedback,Query_Description,Reback_Abandon,Find_Rights,Appointment,Query_New_Model,Query_Ext_Content,Down_Feedback,CheckDown}, --command {Query_Update,Result_Feedback,Query_Description,Reback_Abandon,Find_Rights,Appointment,Query_New_Model,Query_Ext_Content,Down_Feedback,CheckDown}
                        Use custom CMD for the request.

Usage example

# Normal usage - print the entire request
r0rt1z2@r0rt1z2: $ realme-ota RMX2020 RMX2020_11.A.59_0590_202102181155
[2021-09-23 20:26:38.037321] I: Requesting for RMX2020 - RMX2020_11.A.59...
[2021-09-23 20:26:38.764134] I: {'parent': 'ota', 'otaVersion': 'RMX2020_11.A.65_0650_202108211659', 'down_url': 'https://ota-manual-sg.allawnofs.com/ota/21/08/24/5a398f51-8900-4178-8153-60b98bf4bf7e.ozip', 'newAndroidVersion': 'Android 10', 'description': 'http://ota-manual-sg.allawnofs.com/ota/21/08/30/69f5202e26b14b789054d9b9ac4cc9d8.html', 'recommend': '100', 'language': 'en-IN', 'versionName': 'RMX2020_11_A.65', 'rid': '96d9b7df-092a-4ac1-b810-b8a5664e7745', 'type': '1', 'newColorOSVersion': 'ColorOS 7.0', 'patch_size': '3287752078', 'patchFilePath': '/patch/amazone2/GLO/RMX2020/RMX2020_11.A.65_0650_202108211659/RMX2020_11_OTA_0650_all_xokQsbsYqeC2.ozip', 'osVersion': 'ColorOS 7.0', 'share': '.', 'id': '61330f13f69bc3c9e42fd3a3', 'googlePatchLevel': '0', 'patch_name': 'RMX2020_11_OTA_0650_all_xokQsbsYqeC2.ozip', 'paramFlag': 1, 'needDataSpace': '0', 'noticeType': 0, 'new_version': 'RMX2020_11.A.65_0650_202108211659', 'patch_md5': 'd99b0ea8069f9bd3b7c00296b01dc372', 'versionCode': 650, 'silenceUpdate': 0, 'active_url': 'https://ota-manual-sg.allawnofs.com/ota/21/08/24/5a398f51-8900-4178-8153-60b98bf4bf7e.ozip', 'wipe': '0', 'questionnaireEnable': False, 'extract': 'This release updated Android security patch and improved system stability.', 'version_name': 'RMX2020_11_A.65', 'aid': 'RMX2020_11.A', 'status': 'published', 'msg': 'SUCCEED', 'resultCode': 1}
r0rt1z2@r0rt1z2: $
# Custom usage - only print the download URL
r0rt1z2@r0rt1z2: $ realme-ota RMX2020 RMX2020_11.A.59_0590_202102181155 -o down_url -s -v 0
https://ota-manual-sg.allawnofs.com/ota/21/08/24/5a398f51-8900-4178-8153-60b98bf4bf7e.ozip
r0rt1z2@r0rt1z2: $

License

  • This tool is licensed under the GNU (v3) General Public License. See LICENSE for more details.
Comments
  • [CN endpoint] Invalid requests

    [CN endpoint] Invalid requests

    realme-ota -c 2 -d 0 RMX2202 RMX2202_11.A.09_0090_202106051941 2 [2021-12-30 23:42:27.392070] I: RealmeUI V2 RMX2202 (A) - 09_0090_202106051941 [2021-12-30 23:42:27.394198] F: This shouldn't happen. Something went wrong while requesting to the endpoint (Failed to parse: https://component-ota-in.coloros.com/update/v1)!

    opened by qiurigao 21
  • Response contents mismatch, expected 'body' got 'artifactV1Result is empty'!

    Response contents mismatch, expected 'body' got 'artifactV1Result is empty'!

    I did everything as told.

    This is what I wrote and the response I got.

    root@localhost:/usr/local/lib/python3.9/dist-packages/realme_ota# python3 main.py RMX3561 RMX3561_11.A.06_0060_202205061337 3 00011011 [2022-05-16 16:59:19.952202] I: Load payload for RMX3561 (RealmeUI V3) [2022-05-16 16:59:19.953314] I: Wait for the endpoint to reply [2022-05-16 16:59:20.149779] F: Response contents mismatch, expected 'body' got 'artifactV1Result is empty'!

    opened by Ma8uru77 19
  • Fixed installation script under Windows

    Fixed installation script under Windows

    Corrected PowerShell installation script by adding features of:

    • Automatic cleanup of obsolete/mislocated .bat wrapper.
      
    • Automatic cleanup of PATH.
      
    • Fixed adding realme-ota to PATH, previously Add-Path function was not called resulting in installation failure.
      
    • Fixed handling of Python/Pip locations - previously the script assumed Python is installed in Program Files.
      
    • Added dependencies install for Requests and Pycryptodome Python modules.
      
    • Added hotfix for Lib\site-packages\crypto -> Lib\site-packages\Crypto folder naming.
      
    • Added .bat wrapper as part of package and automatic adjustment of "cd" command.
      

    I adjusted README.MD and Install.ps1 to hyperlink to my fork, so feel free to change it back to master :)

    opened by wjdob 6
  •  F: Something went wrong while requesting to the endpoint :( Failed to parse: https://component-ota.coloros.com/update/v2!

    F: Something went wrong while requesting to the endpoint :( Failed to parse: https://component-ota.coloros.com/update/v2!

    Hello! Everything worked gorgeous, after a couple of hours I again launched the script, but now only such an error:

    python3 main.py RMX3461 RMX3461_11.A.05_0010_20220101111 2 -r 2

    [2022-03-15 06:09:48.075190] I: Load payload for RMX3461 (RealmeUI V2) [2022-03-15 06:09:48.076346] I: Wait for the endpoint to reply [2022-03-15 06:09:48.077561] F: Something went wrong while requesting to the endpoint :( Failed to parse: https://component-ota-in.coloros.com/update/v1!

    I read your topics, does not help.

    opened by chukotka-forever 6
  • Please add support for Oppo phones.

    Please add support for Oppo phones.

    realme-ota CPH2219EEA CPH221920242_11.A.22_0220_202112040144
    usage: realme-ota [-h] [-r {0,1,2,3}] [-d DUMP] [-o ONLY] [-s {0,1}] [-v {0,1}] product_model ota_version {1,2,3}
    realme-ota: error: the following arguments are required: rui_version
    
    opened by ghost 5
  • [EU] OTA is not downloaded properly for the Realme GT Neo2  (Dump file provided)

    [EU] OTA is not downloaded properly for the Realme GT Neo2 (Dump file provided)

    Console just lists a bunch of file components when i execute realme-ota RMX3370EEA RMX3370_11.A.05_0050_202111181707 3 for the Realme GT Neo2 (European Model):

    {
        "aid": "RMX3370NV1B_11.A",
        "androidVersion": "Android 11",
        "colorOSVersion": "ColorOS 11.2",
        "componentAssembleType": true,
        "components": [
            {
                "componentId": "my_manifest_00011011.202201112316474729878",
                "componentName": "my_manifest",
                "componentPackets": {
                    "id": "foreign_my_manifest_00011011.202201112316474729878_1_8f235f4e99ee47efa7edf3d49ab0fd85",
                    "manualUrl": "https://gauss-componentotacostmanual-sg.allawnofs.com/remove-2fffb28830a9a0cdfc987f20851180d8/component-ota/22/01/12/162c6d8c8378419f9369f605012c4754.zip",
                    "md5": "8f235f4e99ee47efa7edf3d49ab0fd85",
                    "size": "1208283",
                    "type": "1",
                    "url": "https://gauss-componentotacostmanual-sg.allawnofs.com/remove-2fffb28830a9a0cdfc987f20851180d8/component-ota/22/01/12/162c6d8c8378419f9369f605012c4754.zip"
                },
                "componentVersion": "00011011.202201112316474729878"
            },
            {
                "componentId": "my_stock_2169.9.26.202201112316474729878",
                "componentName": "my_stock",
                "componentPackets": {
                    "id": "foreign_my_stock_2169.9.26.202201112316474729878_1_a17226278b571604f40d0a61994595d3",
                    "manualUrl": "https://gauss-componentotacostmanual-sg.allawnofs.com/remove-2fffb28830a9a0cdfc987f20851180d8/component-ota/22/01/12/d923bd5ea8c34ce9b2540b222f5fc12f.zip",
                    "md5": "a17226278b571604f40d0a61994595d3",
                    "size": "742444257",
                    "type": "1",
                    "url": "https://gauss-componentotacostmanual-sg.allawnofs.com/remove-2fffb28830a9a0cdfc987f20851180d8/component-ota/22/01/12/d923bd5ea8c34ce9b2540b222f5fc12f.zip"
                },
                "componentVersion": "2169.9.26.202201112316474729878"
            },
            {
                "componentId": "my_heytap_11.2.1.202109092157382762310",
                "componentName": "my_heytap",
                "componentPackets": {
                    "id": "foreign_my_heytap_11.2.1.202109092157382762310_1_d514ad3e1838e59d4fa3c210a5b6929f",
                    "manualUrl": "https://gauss-componentotacostmanual-sg.allawnofs.com/remove-2fffb28830a9a0cdfc987f20851180d8/component-ota/22/01/12/b9f8c005e4504a4986f0f188fc616078.zip",
                    "md5": "d514ad3e1838e59d4fa3c210a5b6929f",
                    "size": "500084134",
                    "type": "1",
                    "url": "https://gauss-componentotacostmanual-sg.allawnofs.com/remove-2fffb28830a9a0cdfc987f20851180d8/component-ota/22/01/12/b9f8c005e4504a4986f0f188fc616078.zip"
                },
                "componentVersion": "11.2.1.202109092157382762310"
            },
            {
                "componentId": "my_carrier_20211021102052.1036395840ab0dca",
                "componentName": "my_carrier",
                "componentPackets": {
                    "id": "foreign_my_carrier_20211021102052.1036395840ab0dca_1_e4bdb0cc57bd277606fd1e23deaa61d1",
                    "manualUrl": "https://gauss-componentotacostmanual-sg.allawnofs.com/remove-2fffb28830a9a0cdfc987f20851180d8/component-ota/22/01/12/7c065d8231684c90aa2e131a83dc90a2.zip",
                    "md5": "e4bdb0cc57bd277606fd1e23deaa61d1",
                    "size": "1093068",
                    "type": "1",
                    "url": "https://gauss-componentotacostmanual-sg.allawnofs.com/remove-2fffb28830a9a0cdfc987f20851180d8/component-ota/22/01/12/7c065d8231684c90aa2e131a83dc90a2.zip"
                },
                "componentVersion": "20211021102052.1036395840ab0dca"
            },
            {
                "componentId": "2169A_system_vendor_2169.1.11.202201112316474729881",
                "componentName": "system_vendor",
                "componentPackets": {
                    "id": "foreign_2169A_system_vendor_2169.1.11.202201112316474729881_1_55857667604ffd4a1c632518208d81c8",
                    "manualUrl": "https://gauss-componentotacostmanual-sg.allawnofs.com/remove-2fffb28830a9a0cdfc987f20851180d8/component-ota/22/01/12/19fd8ae09ed64af1bc13a2e3aef32bec.zip",
                    "md5": "55857667604ffd4a1c632518208d81c8",
                    "size": "2566645707",
                    "type": "1",
                    "url": "https://gauss-componentotacostmanual-sg.allawnofs.com/remove-2fffb28830a9a0cdfc987f20851180d8/component-ota/22/01/12/19fd8ae09ed64af1bc13a2e3aef32bec.zip"
                },
                "componentVersion": "2169.1.11.202201112316474729881"
            },
            {
                "componentId": "my_region_2169.11.17.202201112316474729879",
                "componentName": "my_region",
                "componentPackets": {
                    "id": "foreign_my_region_2169.11.17.202201112316474729879_1_dc42916e2c87573cfd353de8b7b37ce2",
                    "manualUrl": "https://gauss-componentotacostmanual-sg.allawnofs.com/remove-2fffb28830a9a0cdfc987f20851180d8/component-ota/22/01/12/9f53be97b5e34d95bac95607e876433c.zip",
                    "md5": "dc42916e2c87573cfd353de8b7b37ce2",
                    "size": "566531782",
                    "type": "1",
                    "url": "https://gauss-componentotacostmanual-sg.allawnofs.com/remove-2fffb28830a9a0cdfc987f20851180d8/component-ota/22/01/12/9f53be97b5e34d95bac95607e876433c.zip"
                },
                "componentVersion": "2169.11.17.202201112316474729879"
            }
        ],
        "decentralize": {
            "offset": 16687,
            "round": 28800,
            "strategyVersion": "8"
        },
        "description": {
            "firstTitle": "This release included Android security patch, fixed some known issues, and improved system stability.",
            "panelUrl": "https://gauss-componentotacostmanual-sg.allawnofs.com/remove-2fffb28830a9a0cdfc987f20851180d8/component-ota/22/01/15/c6838b62ce1240a7a3294ec5782bce41.html",
            "share": ".",
            "url": "https://h5fsf.coloros.com/c05bb0389e8745cbb8482fcd71bf10a0/static/index.html#/about"
        },
        "descriptionType": 0,
        "googlePatchInfo": "0",
        "group": "RMX3370_11.A.07_0070_202201120154",
        "id": "61e60b0e66c96100cfa223a1",
        "isNvDescription": false,
        "isRecruit": false,
        "noticeType": 0,
        "nvId16": "NV1B",
        "osVersion": "ColorOS 11.2",
        "otaTemplateId": "61e2bee6124eec00cf837d40",
        "otaVersion": "RMX3370_11.A.07_0070_202201120154",
        "paramFlag": 1,
        "parent": "ota-template",
        "reminderType": 0,
        "rid": "c4e7771f-d204-4104-8ebf-cbda3a032377",
        "securityPatch": "2022-01-05",
        "securityPatchVendor": "2022-01-05",
        "silenceUpdate": 0,
        "status": "published",
        "timestampH5": "2022.01.15",
        "versionCode": 70,
        "versionName": "RMX3370_11_A.07",
        "versionTypeH5": "Official version"
    }
    
    opened by mmetharam 5
  • Windows problem with crypto

    Windows problem with crypto

    Greetings.

    Since I'm using the win python 3.9 upgrade pycryptodome clone git, have problem guess with crypto module or crypto.py in utils or so kind environmental problem.

    So far been able to bypass it with sys.modules['Crypto'] = crypto

    But not now ...

    Previous versions have runned ok, but don't know how to fix this one ...

    Looking forward for feedback to solve it.

    `C:\Users\userx\Documents\Realme 8 Pro\OTA\realme-ota\realme_ota>py main.py Traceback (most recent call last): File "C:\Users\userx\Documents\Realme 8 Pro\OTA\realme-ota\realme_ota\main.py", line 9, in from utils import crypto File "C:\Users\userx\Documents\Realme 8 Pro\OTA\realme-ota\realme_ota\utils\crypto.py", line 7, in from Crypto.Cipher import AES ModuleNotFoundError: No module named 'Crypto'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "C:\Users\userx\Documents\Realme 8 Pro\OTA\realme-ota\realme_ota\main.py", line 14, in from realme_ota.utils import crypto File "C:\Users\userx\AppData\Local\Programs\Python\Python39\lib\site-packages\realme_ota\utils\crypto.py", line 7, in from Crypto.Cipher import AES ModuleNotFoundError: No module named 'Crypto'

    C:\Users\userx\Documents\Realme 8 Pro\OTA\realme-ota\realme_ota>`

    Uninstall Crypto and install pycryptodome also doesn't work.

    opened by macekboris 4
  • [RUI 1/2/3]: OTA Download Links & Changelog Does Not Work

    [RUI 1/2/3]: OTA Download Links & Changelog Does Not Work

    • Here's my OTA request
    Query:
    realme-ota RMX2185 RMX2185_11.A.95_0950_202106160103 1 -r 2
    
    Errors (stderr): 
    None
    
    Output (stdout):
    [2022-04-05 07:06:09.854708] I: Load payload for RMX2185 (RealmeUI V1)
    [2022-04-05 07:06:09.855536] I: Wait for the endpoint to reply
    [2022-04-05 07:06:10.677840] I: All good
    [2022-04-05 07:06:10.677891] I: Let\'s rock
    {
        "active_url": "https://component-ota-fs.coloros.com/ota/22/01/24/1d4465d5-8b49-42e2-ba73-f8f58205989d.ozip",
        "aid": "RMX2185_11.A",
        "description": "https://component-ota-afs.coloros.com/ota/22/02/08/665ad338a46c46e88800143eda548f67.html",
        "down_url": "https://component-ota-afs.coloros.com/ota/22/01/24/1d4465d5-8b49-42e2-ba73-f8f58205989d.ozip",
        "extract": "This release included Android security patch, fixed some known issues, and improved system stability.",
        "googlePatchLevel": "0",
        "id": "620f5509f69be700cffcc041",
        "language": "en-GB",
        "msg": "SUCCEED",
        "needDataSpace": "0",
        "newAndroidVersion": "Android 10",
        "newColorOSVersion": "ColorOS 7.2",
        "new_version": "RMX2185_11.A.103_1030_202201192135",
        "noticeType": 0,
        "osVersion": "ColorOS 7.2",
        "otaVersion": "RMX2185_11.A.103_1030_202201192135",
        "paramFlag": 1,
        "parent": "ota",
        "patchFilePath": "/patch/amazone2/GLO/RMX2185/RMX2185_11.A.103_1030_202201192135/RMX2185_11_OTA_1030_all_rTWpKKryIZaZ.ozip",
        "patch_md5": "6e5270d2aea969928b5f19c44b9bdc24",
        "patch_name": "RMX2185_11_OTA_1030_all_rTWpKKryIZaZ.ozip",
        "patch_size": "3450017144",
        "recommend": "100",
        "resultCode": 1,
        "rid": "910b3fb9-76cc-4394-b0a4-72aed4ad477a",
        "share": ".",
        "silenceUpdate": 0,
        "status": "published",
        "type": "1",
        "versionCode": 1030,
        "versionName": "RMX2185_11_A.103",
        "version_name": "RMX2185_11_A.103",
        "wipe": "0"
    }
    
    • OTA Download Links & Changelog url does not work.
    opened by techyminati 3
  • Unable to install realme-ota on windows

    Unable to install realme-ota on windows

    Screenshot 2022-12-06 110830

    Using Terminal run as admin, new tab PowerShell put this

    (Requires privilegies)

    Invoke-WebRequest https://cdn.r0rt1z2.com/realme-ota/Install.ps1 | Invoke-Expression

    i got error, like that

    opened by aruto768 2
  • The issue while using script

    The issue while using script

    Kindly help

    python main.py RMX3361 RMX3361_11.A.01_001_202202101618 3 -r 1 Traceback (most recent call last): File "C:\Users\mnaum\Downloads\realme-ota-master\realme-ota-master\realme_ota\main.py", line 3, in import requests ModuleNotFoundError: No module named 'requests'

    opened by itsxrp 2
  • Not working although parameters were supplied.

    Not working although parameters were supplied.

    realme-ota -r 0 RMX2195 RMX2195_11.C.10_1100_202201100634 2
    usage: main.py [-h] [-r {0,1,2,3}] [-d DUMP] [-o ONLY] [-s {0,1}] [-v {0,1}] product_model ota_version {1,2,3}
    main.py: error: the following arguments are required: product_model, ota_version, rui_version
    
    opened by DMNight6 2
  • Hey i need help

    Hey i need help

    After download components, i convert system.new.dat.br to system.img using brotli and sdat2img, but the system.img can't be flash via twrp or fastboot, how to convert it to normal img file Screenshot_2022-12-18-02-13-01-95_db51e592e420a9871f4a37915a68789b

    opened by binhvo7794 0
Owner
Roger Ortiz
Roger Ortiz
Command-line interface to PyPI Stats API to get download stats for Python packages

pypistats Python 3.6+ interface to PyPI Stats API to get aggregate download statistics on Python packages on the Python Package Index without having t

Hugo van Kemenade 140 Jan 3, 2023
A simple CLI based any Download Tool, that find files and let you stream or download thorugh WebTorrent CLI or Aria or any command tool

Privateer A simple CLI based any Download Tool, that find files and let you stream or download thorugh WebTorrent CLI or Aria or any command tool How

Shreyash Chavan 2 Apr 4, 2022
Dead simple CLI tool to try Python packages - It's never been easier! :package:

try - It's never been easier to try Python packages try is an easy-to-use cli tool to try out Python packages. Features Install specific package versi

Timo Furrer 659 Dec 28, 2022
A Reverse Shell Python Packages

A Reverse Shell Python Packages

null 1 Nov 3, 2021
pypinfo is a simple CLI to access PyPI download statistics via Google's BigQuery.

pypinfo: View PyPI download statistics with ease. pypinfo is a simple CLI to access PyPI download statistics via Google's BigQuery. Installation pypin

Ofek Lev 351 Dec 26, 2022
The Pythone Script will generate a (.)sh file with reverse shell codes then you can execute the script on the target

Pythone Script will generate a (.)sh file with reverse shell codes then you can execute the script on the targetPythone Script will generate a (.)sh file with reverse shell codes then you can execute the script on the target

Boy From Future 15 Sep 16, 2022
CLI utility to search and download torrents from major torrent sites

CLI Torrent Downloader About CLI Torrent Downloader provides convenient and quick way to search torrent magnet links (and to run associated torrent cl

x0r0x 86 Dec 19, 2022
Spotify Offline is a command line tool that allows one to download Spotify playlists in MP3 format.

Spotify Offline v0.0.2 listen to your favorite spotify songs, offline Overview Spotify Offline (spotifyoffline) is a command line tool that allows one

Aarush Gupta 1 Nov 28, 2021
A simple python script to execute a command when a YubiKey is disconnected

YubiKeyExecute A python script to execute a command when a YubiKey / YubiKeys are disconnected. ‏‏‎ ‎ How to use: 1. Download the latest release and d

null 6 Mar 12, 2022
A simple automation script that logs into your kra account and files your taxes with one command

EASY_TAX A simple automation script that logs into your kra account and files your taxes with one command Currently works for Chrome users. Will creat

leon koech 13 Sep 23, 2021
cli simple python script to interact with iphone afc api based on python library( tidevice )

afcclient cli simple python script to interact with iphone afc api based on python library( tidevice ) installation pip3 install -U tidevice cp afccli

fyst_14 2 Jul 15, 2022
A simple script that outputs the current date on the user interface/terminal.

Py-Date A simple script that outputs the current date on the user interface/terminal. How to Run > Open your terminal and cd into the folder containi

Arinzechukwu Okoye 1 Jan 13, 2022
GoogleFormSpammer - A simple CLI script to spam Google Forms used by Crypto Wallet scammers to collect stolen data

GoogleFormSpammer - A simple CLI script to spam Google Forms used by Crypto Wallet scammers to collect stolen data

null 14 Dec 17, 2022
A simple script to make the operation of AltServer-Linux more easier with cli

A simple script to make the operation of AltServer-Linux more easier with cli

powen 23 Dec 13, 2022
A very simple python script to encode and decode PowerShell one-liners.

PowerShell Encoder A very simple python script to encode and decode PowerShell one-liners. I used Raikia's PowerShell encoder ALOT, but one day it wen

John Tear 5 Jul 29, 2022
A python script that enables a raspberry pi sd card through the CLI and automates the process of configuring network details and ssh.

This project is one script (wpa_helper.py) written in python that will allow for the user to automate the proccess of setting up a new boot disk and configuring ssh and network settings for the pi

Theo Kirby 6 Jun 24, 2021
git-partial-submodule is a command-line script for setting up and working with submodules while enabling them to use git's partial clone and sparse checkout features.

Partial Submodules for Git git-partial-submodule is a command-line script for setting up and working with submodules while enabling them to use git's

Nathan Reed 15 Sep 22, 2022
🌌 A Python script to generate blog banners from command line.

Auto Blog Banner Generator A Python script to generate blog banners. This script is used at RavSam. The following image is an example of the blog bann

RavSam 10 Sep 20, 2022
Command-line script to upload videos to Youtube using theYoutube APIv3.

Introduction Command-line script to upload videos to Youtube using theYoutube APIv3. It should work on any platform (GNU/Linux, BSD, OS X, Windows, ..

Arnau Sanchez 1.9k Jan 9, 2023