A script to automatically build latest releases of ReVanced apps
Go to file
Sayantan Santra b4cb63a885
doc: Better description
2023-08-11 19:38:17 -05:00
example_configs doc: Better description 2023-08-11 19:38:17 -05:00
src/ReVancedBuilder chg: Add ERROR while exiting to help with logging 2023-08-11 14:21:57 -05:00
.gitignore feat: Installable using pipx 2023-08-10 17:57:30 -05:00
LICENSE Updated LICENSE 2023-04-10 20:06:57 -05:00
README.md docs: Update README 2023-08-10 18:58:44 -05:00
pyproject.toml fix: Loosen python version requirement 2023-08-10 22:27:32 -05:00

README.md

Revanced Builder

This repo will allow one to build ReVanced apps automatically and send notifications and possibly share the builds with friends. It uses Gotify, ntfy.sh or telegram.sh to send messages. Make sure that Java >=17 is installed and selected as default.

Installation

Recommended way is to use pipx to install the program.

pipx install git+https://github.com/SinTan1729/ReVancedBuilder

How to use

Just run ReVancedBuilder <working-directory> (force/experimental/checkonly/buildonly).

It 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 * * * <program-full-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=<program-full-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

  • If you installed it using pipx, you can figure out the full location of the program by running which ReVancedBuilder.
  • This app needs some config files to run. Download all the config files inside exampl_configs directory, namely build_config, chosen_patches (optional), and notification_config (optional, needed only if you want to send notifications) and move them to your working directory. Then, you should modify these files to your liking.
  • The script will download the automatically selected compatible version (unless version is specified in build_config) (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 telegram notifications, make sure to fill up the config options inside the build_config 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), specified in the build_config file. 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 using the build_config file. The config files are self-explanatory.
  • All the packages are pulled from APKPure and GitHub (the revanced/* repos).