A script to automatically build latest releases of ReVanced apps
Find a file
2023-08-06 15:55:54 -05:00
.gitignore Initial commit 2022-10-09 17:37:34 -05:00
build_revanced.sh chg: Improved versions management 2023-08-06 15:55:54 -05:00
build_settings new: Support hard version numbers 2023-08-06 15:49:07 -05:00
chosen_patches.txt Move chosen patches file to working directory 2022-10-26 00:13:26 -05:00
download_apk.sh new: Support hard version numbers 2023-08-06 15:49:07 -05:00
LICENSE Updated LICENSE 2023-04-10 20:06:57 -05:00
PATCHES_GUIDE.md Move chosen patches file to working directory 2022-10-26 00:13:26 -05:00
README.md doc: Fix the systemd service 2023-08-02 11:32:36 -05:00

Revanced Builder

This repo will allow one to build ReVanced apps automatically and post it to a telegram channel to access and possibly share the builds with friends. It uses Gotify, ntfy.sh or telegram.sh to send messages and telegram-upload to upload files (optionally, disabled out by default). Make sure that Java >=17 is installed and selected as default.

How to use

Just run ./build_revanced <working-directory> (force/clean/experimental/checkonly/buildonly). Might be a good idea to set it up to run periodically. There are a few ways of doing it.

  1. Just drop it inside /etc/cron.daily/.
  2. To make it run at a specific time (6AM in the example) using cron, put this in your crontab:
    0 6 * * * <full-script-location> <full-working-directory-location>
    
  3. The exact same thing as in 2 can be achieved using systemd timers instead. Create the following files.
    /etc/systemd/system/revanced-builder.service
    ---------------------------------------------
    [Unit]
    Description=Automatically build new builds of ReVanced
    Wants=network-online.target
    After=network-online.target
    
    [Service]
    Type=oneshot
    User=<user>
    Group=<group>
    Environment="_JAVA_OPTIONS=-Xmx512m"
    ExecStart=<full-script-location> <full-working-directory-location>
    
    /etc/systemd/system/revanced-builder.timer
    -------------------------------------------
    [Unit]
    Description=Automatically build new builds of ReVanced
    
    [Timer]
    OnCalendar=*-*-* 6:00:00
    
    [Install]
    WantedBy=timers.target
    
    and then enable the timer using
    sudo systemctl enable --now revanced-builder.timer
    

Notes

  • The following programs are needed to run this script. Make sure that you have them in your $PATH.
    htmlq jq wget java curl
    
  • To enable build for a particular apk, copy the build_settings file to your working directory and modify it to suit your needs.
  • The script will download the automatically selected compatible version (using compatibility of patches as listed here) of Youtube on APKPure, NOT latest official version on Google Play.
  • Under NO CIRCUMSTANCES any APKs will be uploaded to this repository to avoid DMCA.
  • If you enable the Gotify, ntfy or telegram notifications or uploads, make sure to fill up the config options inside the build_settings file. For more information about the config, take at look at the repos of telegram.sh and telegram-upload provided above.
  • It can also run a post script (if exists) called post_script.sh. The timestamp is passed as $1.
  • In the current configuration, the script only builds YouTube ReVanced and YouTube Music ReVanced (both nonroot), but it's easy to add support for any other ReVanced app. The code for root builds is included but disabled by default.
  • All the packages are pulled from APKPure and GitHub (the revanced/* repos).

Customize your build

If you wish to continue with the default settings, you may skip this step.

By default this will build ReVanced with ALL available patches. Follow this guide to exclude/customizing patches for your build.