mirror of
https://github.com/revanced/revanced-cli.git
synced 2025-01-23 01:17:32 +01:00
chore: Add click-to-run scripts
This commit is contained in:
parent
504c6c1ea5
commit
e87ee9c5b8
5
.gitignore
vendored
5
.gitignore
vendored
@ -122,4 +122,7 @@ revanced-cache/
|
||||
options.toml
|
||||
|
||||
# Generated by Android projects
|
||||
local.properties
|
||||
local.properties
|
||||
|
||||
# Generated by scripts
|
||||
scripts/workspace
|
@ -4,7 +4,7 @@ To use ReVanced CLI, you will need to fulfill specific requirements.
|
||||
|
||||
## 🤝 Requirements
|
||||
|
||||
- Java Runtime Environment 11 ([Azul Zulu JRE](https://www.azul.com/downloads/?version=java-11-lts&package=jre#zulu) or [OpenJDK](https://jdk.java.net/archive/))
|
||||
- Java Runtime Environment 11 or higher ([Eclipse Temurin JRE](https://adoptium.net/temurin/releases/?package=jre) or [OpenJDK](https://jdk.java.net/archive/))
|
||||
- [Android Debug Bridge (ADB)](https://developer.android.com/studio/command-line/adb) if you want to install the patched APK file on your device
|
||||
- x86 or x86-64 (For [other architectures](https://github.com/ReVanced/revanced-manager/tree/main/android/app/src/main/jniLibs) use the `--custom-aapt2-binary` option)
|
||||
|
||||
|
29
scripts/1-setup-environment.bat
Normal file
29
scripts/1-setup-environment.bat
Normal file
@ -0,0 +1,29 @@
|
||||
@echo off
|
||||
|
||||
echo Check, if OpenJDK/ Eclipse Temurin 11 or newer is installed.
|
||||
pause
|
||||
echo:
|
||||
|
||||
cd modules
|
||||
call run java -version
|
||||
cd ..
|
||||
|
||||
echo:
|
||||
set /P INSTALLED_JAVA=Can you see OpenJDK/ Eclipse Temurin 11 or newer? (y/n)
|
||||
|
||||
if "%INSTALLED_JAVA%"=="y" (
|
||||
echo The environment is set up.
|
||||
pause
|
||||
exit
|
||||
)
|
||||
|
||||
cls
|
||||
echo Install Eclipse Temurin JRE 21.
|
||||
pause
|
||||
|
||||
cd modules
|
||||
call install-java
|
||||
cd ..
|
||||
|
||||
echo The environment is set up. Rerun this script to check your environment.
|
||||
pause
|
11
scripts/2-download.bat
Normal file
11
scripts/2-download.bat
Normal file
@ -0,0 +1,11 @@
|
||||
@echo off
|
||||
|
||||
echo Download necessary files from GitHub.
|
||||
pause
|
||||
|
||||
cd modules
|
||||
call composite download %~dp0\workspace
|
||||
cd ..
|
||||
|
||||
echo Files downloaded.
|
||||
pause
|
14
scripts/3-patch.bat
Normal file
14
scripts/3-patch.bat
Normal file
@ -0,0 +1,14 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
echo Patch an APK with the patches in the workspace.
|
||||
pause
|
||||
|
||||
cd modules
|
||||
call composite patch %~dp0\workspace
|
||||
cd ..
|
||||
|
||||
mv %~dp0\workspace\patched.apk %~dp0\patched.apk
|
||||
|
||||
echo Patched APK saved at %~dp0\patched.apk.
|
||||
pause
|
11
scripts/4-cleanup.bat
Normal file
11
scripts/4-cleanup.bat
Normal file
@ -0,0 +1,11 @@
|
||||
@echo off
|
||||
|
||||
echo Clean the workspace.
|
||||
pause
|
||||
|
||||
cd modules
|
||||
call composite clean %~dp0\workspace
|
||||
cd ..
|
||||
|
||||
echo Cleaned workspace.
|
||||
pause
|
8
scripts/README.md
Normal file
8
scripts/README.md
Normal file
@ -0,0 +1,8 @@
|
||||
# 📜 Scripts
|
||||
|
||||
This directory contain click-to-run scripts to use ReVanced CLI.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- [cURL](https://curl.haxx.se/)
|
||||
- [WinGet](https://aka.ms/getwinget), if you are on Windows
|
1
scripts/customize.bat
Normal file
1
scripts/customize.bat
Normal file
@ -0,0 +1 @@
|
||||
notepad modules\env.bat
|
12
scripts/modules/check-java.bat
Normal file
12
scripts/modules/check-java.bat
Normal file
@ -0,0 +1,12 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
for /f "tokens=8 delims=. " %%a in ('java --version 2^>nul ^| findstr /r "build"') do (
|
||||
set JAVA_VERSION_MAJOR=%%a
|
||||
goto :break
|
||||
)
|
||||
:break
|
||||
|
||||
if %JAVA_VERSION_MAJOR% LSS 11 (
|
||||
echo It looks like Java version is less than 11. Install OpenJDK/ Eclipse Temurin 11 or newer.
|
||||
)
|
51
scripts/modules/composite.bat
Normal file
51
scripts/modules/composite.bat
Normal file
@ -0,0 +1,51 @@
|
||||
@echo off
|
||||
setlocal EnableDelayedExpansion
|
||||
|
||||
if "%~1"=="" (
|
||||
set INVALID_ARGS=true
|
||||
)
|
||||
if "%~2"=="" (
|
||||
set INVALID_ARGS=true
|
||||
)
|
||||
if defined INVALID_ARGS (
|
||||
echo Runs curated compositions of scripts.
|
||||
echo:
|
||||
echo Usage: composite ^<script^> ^<workspace^>
|
||||
echo Example: composite patch C:/revanced
|
||||
echo:
|
||||
echo Available commands:
|
||||
echo: download - Download files
|
||||
echo: patch - Patches an application
|
||||
echo: clean - Cleans the workspace
|
||||
echo: env - Check for a valid environment setup
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
call env
|
||||
|
||||
set WORKSPACE=%2
|
||||
|
||||
if "%~1"=="download" (
|
||||
call create %WORKSPACE%
|
||||
|
||||
if not exist %WORKSPACE%/revanced-cli.jar (
|
||||
echo Downloading ReVanced CLI...
|
||||
call download %CLI_REPO% jar %WORKSPACE%/revanced-cli.jar
|
||||
)
|
||||
|
||||
if not exist %WORKSPACE%/patches.rvp (
|
||||
echo Downloading ReVanced patches...
|
||||
call download %PATCHES_REPO% jar %WORKSPACE%/patches.rvp
|
||||
)
|
||||
)
|
||||
if "%~1"=="patch" (
|
||||
set /p APK="Path to the APK file: "
|
||||
|
||||
call patch !APK! %WORKSPACE%
|
||||
)
|
||||
if "%~1"=="clean" (
|
||||
call delete %WORKSPACE%
|
||||
)
|
||||
if "%~1"=="env" (
|
||||
call check-java
|
||||
)
|
19
scripts/modules/create.bat
Normal file
19
scripts/modules/create.bat
Normal file
@ -0,0 +1,19 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
if "%~1"=="" (
|
||||
set INVALID_ARGS=true
|
||||
)
|
||||
if defined INVALID_ARGS (
|
||||
echo Creates a directory using the mkdir command.
|
||||
echo:
|
||||
echo Usage: create ^<path^>
|
||||
echo Example: create C:/revanced
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
set DIRECTORY=%1
|
||||
|
||||
if not exist %DIRECTORY% (
|
||||
run "mkdir.exe" -p %DIRECTORY%
|
||||
)
|
20
scripts/modules/delete.bat
Normal file
20
scripts/modules/delete.bat
Normal file
@ -0,0 +1,20 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
if "%~1"=="" (
|
||||
set INVALID_ARGS=true
|
||||
)
|
||||
if defined INVALID_ARGS (
|
||||
echo Deletes a directory relative to the current directory using the rmdir command.
|
||||
echo:
|
||||
echo Usage: delete ^<path^>
|
||||
echo Example: delete C:/revanced
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
set DIRECTORY=%1
|
||||
|
||||
if exist %DIRECTORY% (
|
||||
echo Confirm deletion of
|
||||
run rmdir /s %DIRECTORY%
|
||||
)
|
30
scripts/modules/download.bat
Normal file
30
scripts/modules/download.bat
Normal file
@ -0,0 +1,30 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
if "%~1"=="" (
|
||||
set INVALID_ARGS=true
|
||||
)
|
||||
if "%~2"=="" (
|
||||
set INVALID_ARGS=true
|
||||
)
|
||||
if "%~3"=="" (
|
||||
set INVALID_ARGS=true
|
||||
)
|
||||
if defined INVALID_ARGS (
|
||||
echo Downloads a file from a GitHub repository release.
|
||||
echo:
|
||||
echo Usage: download ^<repo^> ^<asset-extension^> ^<out^>
|
||||
echo Example: download revanced/revanced-cli jar C:/revanced/revanced-cli.jar
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
set REPO=%1
|
||||
set ASSET_EXTENSION=%2
|
||||
set OUT=%3
|
||||
|
||||
set URL=https://api.github.com/repos/%REPO%/releases/latest
|
||||
for /f "delims=" %%i in ('curl -s %URL% ^| jq -r ".assets[] | select(.name | endswith(\"%ASSET_EXTENSION%\")) | .browser_download_url"') do (
|
||||
set JAR_URL=%%i
|
||||
)
|
||||
|
||||
run curl --silent --location --output %OUT% %JAR_URL%
|
6
scripts/modules/env.bat
Normal file
6
scripts/modules/env.bat
Normal file
@ -0,0 +1,6 @@
|
||||
@echo off
|
||||
|
||||
:: Customize your environment.
|
||||
|
||||
set CLI_REPO=revanced/revanced-cli
|
||||
set PATCHES_REPO=revanced/revanced-patches
|
1
scripts/modules/install-java.bat
Normal file
1
scripts/modules/install-java.bat
Normal file
@ -0,0 +1 @@
|
||||
run install EclipseAdoptium.Temurin.21.JRE
|
1
scripts/modules/install-jq.bat
Normal file
1
scripts/modules/install-jq.bat
Normal file
@ -0,0 +1 @@
|
||||
run install jqlang.jq
|
14
scripts/modules/install.bat
Normal file
14
scripts/modules/install.bat
Normal file
@ -0,0 +1,14 @@
|
||||
@echo off
|
||||
|
||||
if "%~1"=="" (
|
||||
set INVALID_ARGS=true
|
||||
)
|
||||
if defined INVALID_ARGS (
|
||||
echo Installs a package using winget.
|
||||
echo:
|
||||
echo Usage: install ^<id^>
|
||||
echo Example: install jqlang.jq
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
run winget install -e --id=%1
|
28
scripts/modules/patch.bat
Normal file
28
scripts/modules/patch.bat
Normal file
@ -0,0 +1,28 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
if "%~1"=="" (
|
||||
set INVALID_ARGS=true
|
||||
)
|
||||
if "%~2"=="" (
|
||||
set INVALID_ARGS=true
|
||||
)
|
||||
if defined INVALID_ARGS (
|
||||
echo Patches an application using the specified patches.
|
||||
echo:
|
||||
echo Usage: patch ^<apk^> ^<workspace^>
|
||||
echo Example: patch C:/app.apk C:/workspace
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
set APK=%1
|
||||
set WORKSPACE=%2
|
||||
|
||||
call run java -jar %WORKSPACE%/revanced-cli.jar patch ^
|
||||
--patch-bundle %WORKSPACE%/patches.rvp ^
|
||||
--temporary-files-path %WORKSPACE%/temporary-files ^
|
||||
--out %WORKSPACE%/patched.apk ^
|
||||
--purge ^
|
||||
%APK%
|
||||
|
||||
mv %WORKSPACE%/patched.apk
|
23
scripts/modules/run.bat
Normal file
23
scripts/modules/run.bat
Normal file
@ -0,0 +1,23 @@
|
||||
@echo off
|
||||
|
||||
if "%~1"=="" (
|
||||
set INVALID_ARGS=true
|
||||
)
|
||||
if defined INVALID_ARGS (
|
||||
echo Run a command with arguments.
|
||||
echo:
|
||||
echo Usage: run.bat ^<command^> [arguments]
|
||||
echo Example: run.bat echo Hello, World!
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
%*
|
||||
|
||||
if %ERRORLEVEL% NEQ 0 (
|
||||
echo:
|
||||
echo Failed to run command with exit code %ERRORLEVEL%.
|
||||
echo Failed command: %*
|
||||
echo:
|
||||
pause
|
||||
exit /b %ERRORLEVEL%
|
||||
)
|
Loading…
x
Reference in New Issue
Block a user