revanced-download-cli/Makefile
2025-03-12 11:33:37 +01:00

106 lines
3.1 KiB
Makefile

RVD_CLI = revanced-cli
RVD_CLI_EXT = jar
RVD_PATCHES = revanced-patches
RVD_PATCHES_NAME = patches
RVD_PATCHES_EXT = rvp
ADB_ARCHIVE = platform-tools-latest-linux.zip
GITHUB_URL = https://api.github.com/repos
GITHUB_REPO = revanced
GITHUB_ENDPOINT = releases/latest
EXTENSIONS = *.$(RVD_CLI_EXT) *.$(RVD_PATCHES_EXT)
VERSIONS_TXT = versions.txt
WGET = wget -q --show-progress
CURL = curl -s
RM = rm -rf
MV = mv
LS = ls
ECHO = echo
UNZIP = unzip
JAVA = java
GREP_DOWNLOADS = grep 'browser_'
GREP_LATEST = grep -v 'dev' | head -1
REMOVE_QUOTES = cut -d\" -f4
all: help
update_version_file:
@$(LS) $(EXTENSIONS) > $(VERSIONS_TXT)
$(MV) $(RVD_CLI)*.$(RVD_CLI_EXT) $(RVD_CLI).$(RVD_CLI_EXT)
$(MV) $(RVD_PATCHES_NAME)*.$(RVD_PATCHES_EXT) $(RVD_PATCHES_NAME).$(RVD_PATCHES_EXT)
@$(ECHO) Version file updated!
init: update
init:
@$(WGET) https://dl.google.com/android/repository/$(ADB_ARCHIVE)
@$(UNZIP) $(ADB_ARCHIVE)
@$(RM) $(ADB_ARCHIVE)
update: clean
update: download_cli
update: download_patches
update: update_version_file
update:
@$(ECHO) Files updated!
download_cli: GREPS = $(GREP_DOWNLOADS) | grep '$(RVD_CLI_EXT)' | $(GREP_LATEST) | $(REMOVE_QUOTES)
download_cli:
@$(WGET) $(shell $(CURL) $(GITHUB_URL)/$(GITHUB_REPO)/$(RVD_CLI)/$(GITHUB_ENDPOINT) | $(GREPS))
download_patches: GREPS = $(GREP_DOWNLOADS) | grep '$(RVD_PATCHES_EXT)' | $(GREP_LATEST) | $(REMOVE_QUOTES)
download_patches:
@$(WGET) $(shell $(CURL) $(GITHUB_URL)/$(GITHUB_REPO)/$(RVD_PATCHES)/$(GITHUB_ENDPOINT) | $(GREPS))
clean:
$(RM) *.apk revanced-app-temporary-files/
full-clean: clean
$(RM) $(EXTENSIONS) $(VERSIONS_TXT)
PACKAGE :=
ls-patches:
ifndef PACKAGE
@$(JAVA) -jar $(RVD_CLI).$(RVD_CLI_EXT) list-patches "$(RVD_PATCHES_NAME).$(RVD_PATCHES_EXT)"
endif
@$(JAVA) -jar $(RVD_CLI).$(RVD_CLI_EXT) list-patches -f $(PACKAGE) "$(RVD_PATCHES_NAME).$(RVD_PATCHES_EXT)"
KEYSTORE := ReVanced.keystore
APK :=
PATCHES := "Change version code"
build:
ifndef APK
$(error APK is not defined. Please provide the path to the APK file. Run 'make help' for usage instructions.)
endif
@$(JAVA) -jar $(RVD_CLI).$(RVD_CLI_EXT) patch --patches="$(RVD_PATCHES_NAME).$(RVD_PATCHES_EXT)" \
"$(APK)" --out="revanced-app.apk" \
--keystore="$(KEYSTORE)" --keystore-entry-alias=alias \
--keystore-entry-password="s3cur3p@ssw0rd" --keystore-password="s3cur3p@ssw0rd" \
--exclusive $(shell echo "$(PATCHES)" | tr ',' '\n' | xargs -I {} echo '-e "{}"')
help:
@echo "Usage: make init"
@echo "Description:"
@echo " Initialize the directory."
@echo ""
@echo "Usage: make ls-patches"
@echo "Description:"
@echo " List the available patches."
@echo "Options:"
@echo " PACKAGE Name of a package"
@echo ""
@echo "Usage: make build APK=<path_to_apk>"
@echo "Description:"
@echo " Patches an APK."
@echo "Options:"
@echo " APK Path to the APK file to patch"
@echo " PATCHES Comma-separated list of patches to apply, inside quotes"
@echo " KEYSTORE Path to the sign key, passwords are set to default"
@echo ""
@echo "Usage: make update"
@echo "Description:"
@echo " Update the files in the directory."