revanced-creator
April 26, 2026 ยท View on GitHub
Caution
Maintenance Mode & Project Status
This repository is currently in maintenance mode. Pull requests and issues will not be reviewed promptly, and only critical fixes will be addressed.
Note: revanced-creator is currently non-functional. A full rewrite of this tool(that uses morphe patches) is planned. In the meantime, please refer to the official status here: Where is ReVanced Patches?
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.
deps
- 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)
usage
$ 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
options
there are two ways to pass config options:
- flags
- environment variables
using cli flags
to see all available flags:
$ ./patch.sh -h
usage:
$ ./patch.sh --patch=youtube --additional-args="-e <patch>" --downloader="curl"
using custom apk
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
additional_args
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
what_to_patch(youtube, youtube-music, reddit or twitter)
$ export what_to_patch="youtube-music"
$ ./patch.sh
output_apk
you can set output apk name with this
$ export output_apk="ReReddit.apk"
$ ./patch.sh
apk_version(defaults to latest)
To see versions available see the releases section
$ export apk_version=17.27.39
$ ./patch.sh
root(defaults to 0)
- using flags
$ ./patch.sh --root
- using environment variables
$ export root=1
$ ./patch.sh
downloader
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
or you can use all these options together
- 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
mentions
- @halal-beef added CI which was a great help