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.sh
there are two ways to pass config options:
- flags
- environment variables
to see all available flags:
$ ./patch.sh -h
usage:
$ ./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.sh
in 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.sh
you can set output apk name with this
$ export output_apk="ReReddit.apk"
$ ./patch.sh
To 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.sh
aria2, 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