What does this do?
- downloading the latest revanced-cli, revanced-patches.
- downloading the latest supported youtube(yt-music, reddit, twitter, tiktok) version
- creating revanced app according to revanced-documentation
Check out github action artifacts for revanced apks built with this script.
Download the latest CI builds here.
- sh(any posix compatible shell: dash,bash,zsh...)
- curl is used for fetching release numbers, aria2, axel, curl or wget is used for downloading needed files
- awk
- java(17)
- ripgrep or grep
- find(optional)
$ mkdir -p revanced
$ cd revanced
$ sh -c "$(curl https://raw.githubusercontent.com/XDream8/revanced-creator/main/patch.sh)"- or
$ git clone https://github.com/XDream8/revanced-creator
$ cd revanced-creator
$ ./patch.shthere are two ways to pass config options:
- flags
- environment variables
to see all available flags:
$ ./patch.sh -husage:
$ ./patch.sh --patch=youtube --additional-args="-e <patch>" --downloader="curl"here is how to patch user downloaded reddit apk\
- using flags
$ ./patch.sh --patch=reddit.apk - using environment variables
(!) if apk_filename is not set, script uses find to select an apk from the directory you are in randomly(if there is only one apk in the directory you are in it is fine)
(?) output_apk is optional
$ export what_to_patch="custom"
$ export apk_filename=reddit.apk
$ export output_apk=revanced-reddit.apk
$ ./patch.shin this example we are enabling enable-wide-searchbar and swipe-controls and disabling hide-shorts-button patch
- using flags
$ ./patch.sh --additional-args="-e enable-wide-searchbar -e swipe-controls -d hide-shorts-button"- using environment variables
$ export additional_args="-e enable-wide-searchbar -e swipe-controls -d hide-shorts-button"
$ ./patch.sh$ export what_to_patch="youtube-music"
$ ./patch.shyou can set output apk name with this
$ export output_apk="ReReddit.apk"
$ ./patch.shTo see versions available see the releases section
$ export apk_version=17.27.39
$ ./patch.sh- using flags
$ ./patch.sh --root- using environment variables
$ export root=1
$ ./patch.sharia2, axel, curl, wget; they are detected in this order and the first detected is used
- using flags
$ ./patch.sh --downloader="axel -n 16"
- using environment variables
$ export downloader="axel -n 16"
$ ./patch.sh- using flags
$ ./patch.sh --root --additional-args="-e enable-wide-searchbar -e swipe-controls -d hide-shorts-button" --patch=youtube- using environment variables
$ export root=0
$ export additional_args="-e enable-wide-searchbar -e swipe-controls -d hide-shorts-button"
$ export what_to_patch="youtube"
$ export apk_version=17.27.39
$ ./patch.sh- @halal-beef added CI which was a great help