n0k0m3 / revanced-build-template Goto Github PK
View Code? Open in Web Editor NEWGithub Template for building Revanced
License: GNU General Public License v3.0
Github Template for building Revanced
License: GNU General Public License v3.0
Excuse me how about changing Patches List in List of Available Patches to Revanced's Patches List? It's updated with every new released patches.
Thank you for your consideration.
Hi,
I am sort of new and i don't actually understand how this script always get the latest revanced patch from their repo
get_artifact_download_url() {
# Usage: get_download_url <repo_name> <artifact_name> <file_type>
local api_url result
api_url="https://api.github.com/repos/$1/releases/latest"
# shellcheck disable=SC2086
result=$(curl -s $api_url | jq ".assets[] | select(.name | contains(\"$2\") and contains(\"$3\") and (contains(\".sig\") | not)) | .browser_download_url")
echo "${result:1:-1}"
}
When i run this in actions, It would be helpful to display the version of the artifacts being downloaded instead of showing
Downloading revanced-patches.jar
Downloading revanced-integrations.apk
Downloading revanced-cli.jar
Better show
Downloading revanced-patches-(2.42.0).jar
Downloading revanced-integrations-(0.36.0).apk
Downloading revanced-cli-(2.9.3).jar
in the Runtime
would be cool to have support for the extended version of revance, this could be theoretically by adding an optional setting on build.targets
something like EXTENDED_SUPPORT="false"
Hey @n0k0m3 . I have been working on a feature to allow user the ability to choose which app they want to build (Yt ot ytm) & also which variant they want to build (root or non root). You can see the progress here. I am opening this issue to understand how this feature can be better implemented and also to receive your feedback on stuff you would like to see changed. If you feel like it's alright, I will open a PR
Let me know what you think.
.
revanced-build-template/build_revanced.sh
Line 69 in 0863230
check jkava --version and warn the user if JDK is too old.
on my home Ubuntu, for instance, I had to upgrade to JDK17 and the headless version is not enough, it looks for AWT so it needs the full JDK.
if you want me to fork and PR, I can do it too, and fix up a pre-commit config on the way. LMK.
I have cloned thsi repo as template, then if there in an update from you, how to update to my repo?
Usually i can update it if i fork the repo
Or can i fork but without contribution? Im new on github and coding
Revanced does not automatically apply verified signatures.
So, how about using uber-apk-signer to temporarily sign the app?
https://github.com/patrickfav/uber-apk-signer
The ReVanced team has added some new patches and modified the description of a couple older patches, I went ahead and updated them to match revanced/revanced-patches v2.9.2.
See #24
I'm not sure if it's just me, but whenever I fork this project now I have to set up permissions for read and write to the actions, otherwise I get this: Resource not accessible by integration. (Before I didn't need to, maybe it would be good to create a tutorial on how to set up permissions. I'm not sure.)
Can somebody please explain how to use the same keystore and not produce a new one everytime.
ReVanced had quite a lot of changes in the past couple of days. You will probably need to update the script. See the official docs for information about the changes.
can u make the process of apk (yt, yt music) downloading from apk mirror & uploading to github automated? it'll be much faster to build.
It would be very helpful. So, we can understand if there's an update.
Add other download sources other then uptodown as uptodown has not the updated version of YouTube. Or add something so that we can manually add and upload original YouTube apk then we can run actions to generate revanced apk
WARNING: Skipping music-video-ads: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping exclusive-audio-playback: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping codecs-unlock: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping background-play: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping tasteBuilder-remover: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping upgrade-button-remover: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
Revanced patcher now has both including and excluding patches. Some patches are included by default but there are some that needs to be included explicitly.
We need to modify the script to read from patches.txt
in a way that can do both exclude and include in a same file
Run marvinpinto/action-automatic-releases@latest
Initializing the Automatic Releases action
Determining release tags
Retrieving commit history
Determining state of the previous release
Searching for SHA corresponding to previous "tags/latest" release tag
Could not find SHA corresponding to tag "tags/latest" (Not Found). Assuming this is the first release.
Retrieving commits between HEAD and 1217f8393b7e3ef402e00d56f7a4ba5d173eae1a
Successfully retrieved 0 commits between HEAD and 1217f8393b7e3ef402e00d56f7a4ba5d173eae1a
Generating changelog
Generating release tag
Attempting to create or update release tag "latest"
Could not create new tag "refs/tags/latest" (Resource not accessible by integration) therefore updating existing tag "tags/latest"
Error: Resource not accessible by integration
(node:2048) UnhandledPromiseRejectionWarning: HttpError: Resource not accessible by integration
at /home/runner/work/_actions/marvinpinto/action-automatic-releases/latest/dist/index.js:1:361954
at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:2048) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict
(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:2048) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Revanced patches now include patch for twitter too.
Bud bro why you blocked me in discord please help me to unblock
It says 'invalid URL' while downloading from uptodown.
I have a question on how this template works.
It seems that once I create a repo off the template, my private project is based on your old codebase and is not considered an fork where I can pull the latest changes from. From what I see in the code, the versions it grabs are based on the versions.json from my cloned copy of your project, not yours. Am I correct?
I tried experimenting with a Github bot called Pull. Sadly my clone is not considered a fork anymore so it cannot pull from your changes. Also does this rely on you manually updating the recommended versions by hand or does this scrape that info via the actions and shell scripts on activation?
Please add this Tiktok "com.ss.android.ugc.trill" varient!
Whenever I install root version apk, the parsing problem error is thrown.
Could you please support for root version?
once i click on the actions build i get this error org.jf.dexlib2.dexbacked.DexBackedDexFile$NotADexFile: Not a valid dex magic value: 3c 21 44 4f 43 54 59 50
Since revanced group is also doing spotify would you mind adding the spotify to your code? So that we can build revanced spotify.
if we build manually from revanced patches then the package name is different, but with this tool, package name is set to the original one. And it is impossible to update the app on non rooted device. Please tell me how can i change package name to app.revanced.android.youtube.
Saw the issue about cloudflare rate limiting #14
Try this apkmirror download script.
Looks like they solved the problem.
https://github.com/j-hc/revanced-magisk-module/blob/main/utils.sh
The code below is simply copied
[Source from - https://github.com/j-hc/revanced-magisk-module]
WGET_HEADER="User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"
req() { wget -nv -O "$2" --header="$WGET_HEADER" "$1"; }
get_apk_vers() { req "$1" - | sed -n 's;.*Version:</span><span class="infoSlide-value">\(.*\) </span>.*;\1;p'; }
get_largest_ver() {
local max=0
while read -r v || [ -n "$v" ]; do
if [[ ${v//[!0-9]/} -gt ${max//[!0-9]/} ]]; then max=$v; fi
done
if [[ $max = 0 ]]; then echo ""; else echo "$max"; fi
}
dl_apk() {
local url=$1 regexp=$2 output=$3
url="https://www.apkmirror.com$(req "$url" - | tr '\n' ' ' | sed -n "s/href=\"/@/g; s;.*${regexp}.*;\1;p")"
echo "$url"
url="https://www.apkmirror.com$(req "$url" - | tr '\n' ' ' | sed -n 's;.*href="\(.*key=[^"]*\)">.*;\1;p')"
url="https://www.apkmirror.com$(req "$url" - | tr '\n' ' ' | sed -n 's;.*href="\(.*key=[^"]*\)">.*;\1;p')"
req "$url" "$output"
}
dl_youtube() {
echo "Downloading YouTube"
local last_ver
last_ver="17.29.34"
last_ver="${last_ver:-$(get_apk_vers "https://www.apkmirror.com/uploads/?appcategory=youtube" | get_largest_ver)}"
echo "Choosing version '${last_ver}'"
local base_apk="com.google.android.youtube.apk"
if [ ! -f "$base_apk" ]; then
declare -r dl_url=$(dl_apk "https://www.apkmirror.com/apk/google-inc/youtube/youtube-${last_ver//./-}-release/" \
"APK</span>[^@]*@\([^#]*\)" \
"$base_apk")
echo "YouTube version: ${last_ver}"
echo "downloaded from: [APKMirror - YouTube]($dl_url)"
fi
}
Workflow ReVanced Test Build runs
https://github.com/Chicos123/revanced-build-template/runs/7743417099
It would be nice if the official YT apk could be directly downloaded (i.e. via one of these download scripts).
Updated the YouTube version and the patches based on revanced-patches-2.4.0.jar I also went ahead and added the patch descriptions.
No revanced-nonroot.apk and revanced-root.apk in release.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.