.
675 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 |
4 | They are open-source scripts for patching various apps like YouTube, YouTube Music... However, they are very difficult to use for most users. That's why I created this repository to provide an easier way.
5 |
6 |
7 |
8 | [](https://github.com/FiorenMas/View-Counter)
9 | [](https://github.com/FiorenMas/Revanced-And-Revanced-Extended-Non-Root/actions)
10 | [](https://t.me/fiorenmas)
11 |
12 |
13 |
14 | ---
15 |
16 | > [!NOTE]
17 | > ## Backup Telegram channel:
18 | > ### [https://t.me/fiorenmas](https://t.me/fiorenmas)
19 |
20 | ## ⚙️ How does this repository work?
21 | Simply, all you need to do is choose the app you want to use from the options below: 'Revanced' or 'Revanced Extended'. Then, select your phone's CPU architecture. If you don't know what your phone's CPU architecture is, choose All Architectures. That's all there is to it.
22 |
23 | > [!NOTE]
24 | > If you want to use the YouTube, YouTube Music or Google Photos app, you need to download and install [MicroG](https://github.com/ReVanced/GmsCore/releases).
25 | >
26 | > If you are an advanced user and you want to use custom patches for patching apps, you should read the [Wiki](../main/docs/Frequently%20Asked%20Questions.md#q-how-do-i-use-this-repository-for-patching-my-own-app).
27 | >
28 | > This repository is not like any other repository. It does not create new releases; it only releases new files.
29 | >
30 | > All the code is open-source, clearly, and the APK files used for patching are downloaded from a trusted site, so it is totally safe for you to use.
31 | ---
32 |
33 | Download
34 |
35 |
36 | > [!IMPORTANT]
37 | > Beta versions mean using dev patches, not using beta apk files. Beta version have the same package name as Stable version, so installing them will overwrite Stable version.
38 | >
39 | > License owned by creator. If you like any modded app, please support the original author.
40 | >
41 | ---
42 |
43 | ## [MicroG ReVanced:](https://github.com/ReVanced/GmsCore)
44 |
45 | [](https://github.com/ReVanced/GmsCore/releases)
46 |
47 | ---
48 |
49 | [](https://play.google.com/store/apps/details?id=com.google.android.youtube)
50 |
51 | ### [Revanced:](https://github.com/revanced/revanced-patches)
52 |
53 | | [Stable version](https://github.com/ReVanced/revanced-patches/releases/latest) | [Beta version](https://github.com/ReVanced/revanced-patches/releases) |
54 | | ----------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
55 | | [All Architectures](../../releases/download/all/youtube-revanced.apk) | [All Architectures](../../releases/download/all/youtube-beta-revanced.apk) |
56 | | [Arm64-v8a](../../releases/download/all/youtube-arm64-v8a-revanced.apk) | [Arm64-v8a](../../releases/download/all/youtube-beta-arm64-v8a-revanced.apk) |
57 | | [Armeabi-v7a](../../releases/download/all/youtube-armeabi-v7a-revanced.apk) | [Armeabi-v7a](../../releases/download/all/youtube-beta-armeabi-v7a-revanced.apk) |
58 | | [x86](../../releases/download/all/youtube-x86-revanced.apk) | [x86](../../releases/download/all/youtube-beta-x86-revanced.apk) |
59 | | [x86_64](../../releases/download/all/youtube-x86_64-revanced.apk) | [x86_64](../../releases/download/all/youtube-beta-x86_64-revanced.apk) |
60 |
61 |
62 | Lite version
63 |
64 | **A lite version is a version with unnecessary things removed. For example, it might only have an English interface and remove unused screen DPI from split APKs**
65 |
66 | | [Stable version](https://github.com/ReVanced/revanced-patches/releases/latest) | [Beta version](https://github.com/ReVanced/revanced-patches/releases) |
67 | | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
68 | | [Arm64-v8a](../../releases/download/all/youtube-lite-arm64-v8a-revanced.apk) | [Arm64-v8a](../../releases/download/all/youtube-lite-beta-arm64-v8a-revanced.apk) |
69 | | [Armeabi-v7a](../../releases/download/all/youtube-lite-armeabi-v7a-revanced.apk) | [Armeabi-v7a](../../releases/download/all/youtube-lite-beta-armeabi-v7a-revanced.apk) |
70 |
71 |
72 |
73 | ### [Revanced Extended:](https://github.com/inotia00/revanced-patches/)
74 |
75 | | [Stable version](https://github.com/inotia00/revanced-patches/releases/latest) | [Beta version](https://github.com/inotia00/revanced-patches/releases) |
76 | | ------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------- |
77 | | [All Architectures](../../releases/download/all/youtube-revanced-extended.apk) | [All Architectures](../../releases/download/all/youtube-beta-revanced-extended.apk) |
78 | | [Arm64-v8a](../../releases/download/all/youtube-arm64-v8a-revanced-extended.apk) | [Arm64-v8a](../../releases/download/all/youtube-beta-arm64-v8a-revanced-extended.apk) |
79 | | [Armeabi-v7a](../../releases/download/all/youtube-armeabi-v7a-revanced-extended.apk) | [Armeabi-v7a](../../releases/download/all/youtube-beta-armeabi-v7a-revanced-extended.apk) |
80 | | [x86](../../releases/download/all/youtube-x86-revanced-extended.apk) | [x86](../../releases/download/all/youtube-beta-x86-revanced-extended.apk) |
81 | | [x86_64](../../releases/download/all/youtube-x86_64-revanced-extended.apk) | [x86_64](../../releases/download/all/youtube-beta-x86_64-revanced-extended.apk) |
82 |
83 |
84 | Lite version
85 |
86 | **A lite version is a version with unnecessary things removed. For example, it might only have an English interface and remove unused screen DPI from split APKs**
87 |
88 | | [Stable version](https://github.com/inotia00/revanced-patches/releases/latest) | [Beta version](https://github.com/inotia00/revanced-patches/releases) |
89 | | ------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
90 | | [Arm64-v8a](../../releases/download/all/youtube-lite-arm64-v8a-revanced-extended.apk) | [Arm64-v8a](../../releases/download/all/youtube-lite-beta-arm64-v8a-revanced-extended.apk) |
91 | | [Armeabi-v7a](../../releases/download/all/youtube-lite-armeabi-v7a-revanced-extended.apk) | [Armeabi-v7a](../../releases/download/all/youtube-lite-beta-armeabi-v7a-revanced-extended.apk) |
92 |
93 |
94 |
95 | ### [Revanced Extended forked by anddea:](https://github.com/anddea/revanced-patches)
96 |
97 | | [Stable version](https://github.com/anddea/revanced-patches/releases/latest) | [Beta version](https://github.com/anddea/revanced-patches/releases) |
98 | | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
99 | | [All Architectures](../../releases/download/all/youtube-stable-anddea.apk) | [All Architectures](../../releases/download/all/youtube-beta-anddea.apk) |
100 | | [Arm64-v8a](../../releases/download/all/youtube-stable-arm64-v8a-anddea.apk) | [Arm64-v8a](../../releases/download/all/youtube-beta-arm64-v8a-anddea.apk) |
101 | | [Armeabi-v7a](../../releases/download/all/youtube-stable-armeabi-v7a-anddea.apk) | [Armeabi-v7a](../../releases/download/all/youtube-beta-armeabi-v7a-anddea.apk) |
102 | | [x86](../../releases/download/all/youtube-stable-x86-anddea.apk) | [x86](../../releases/download/all/youtube-beta-x86-anddea.apk) |
103 | | [x86_64](../../releases/download/all/youtube-stable-x86_64-anddea.apk) | [x86_64](../../releases/download/all/youtube-beta-x86_64-anddea.apk) |
104 |
105 |
106 | Lite version
107 |
108 | **A lite version is a version with unnecessary things removed. For example, it might only have an English interface and remove unused screen DPI from split APKs**
109 |
110 | | [Stable version](https://github.com/anddea/revanced-patches/releases/latest) | [Beta version](https://github.com/anddea/revanced-patches/releases) |
111 | | -------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
112 | | [Arm64-v8a](../../releases/download/all/youtube-lite-arm64-v8a-anddea.apk) | [Arm64-v8a](../../releases/download/all/youtube-lite-beta-arm64-v8a-anddea.apk) |
113 | | [Armeabi-v7a](../../releases/download/all/youtube-lite-armeabi-v7a-anddea.apk) | [Armeabi-v7a](../../releases/download/all/youtube-lite-beta-armeabi-v7a-anddea.apk) |
114 |
115 |
116 |
117 | ### [Revanced Extended For Android 6 & 7:](https://github.com/kitadai31/revanced-patches-android6-7/tree/revanced-extended)
118 |
119 | **Please read [Instruction](https://github.com/kitadai31/revanced-patches-android6-7/tree/revanced-extended?tab=readme-ov-file#however-a-workaround-exists) before use**
120 |
121 | [All Architectures](../../releases/download/all/youtube-revanced-extended-android-6-7.apk)
122 |
123 | [Arm64-v8a](../../releases/download/all/youtube-arm64-v8a-revanced-extended-android-6-7.apk)
124 |
125 | [Armeabi-v7a](../../releases/download/all/youtube-armeabi-v7a-revanced-extended-android-6-7.apk)
126 |
127 | [x86](../../releases/download/all/youtube-x86-revanced-extended-android-6-7.apk)
128 |
129 | [x86_64](../../releases/download/all/youtube-x86_64-revanced-extended-android-6-7.apk)
130 |
131 |
132 | ### [Revanced Extended For Android 5:](https://github.com/d4n3436/revanced-patches-android5)
133 |
134 | [All Architectures](../../releases/download/all/youtube-revanced-extended-android-5.apk)
135 |
136 | [Arm64-v8a](../../releases/download/all/youtube-arm64-v8a-revanced-extended-android-5.apk)
137 |
138 | [Armeabi-v7a](../../releases/download/all/youtube-armeabi-v7a-revanced-extended-android-5.apk)
139 |
140 | [x86](../../releases/download/all/youtube-x86-revanced-extended-android-5.apk)
141 |
142 | [x86_64](../../releases/download/all/youtube-x86_64-revanced-extended-android-5.apk)
143 |
144 | ---
145 |
146 | [](https://play.google.com/store/apps/details?id=com.google.android.apps.youtube.music)
147 |
148 | ### [Revanced:](https://github.com/revanced/revanced-patches)
149 |
150 | | [Stable version](https://github.com/ReVanced/revanced-patches/releases/latest) | [Beta version](https://github.com/ReVanced/revanced-patches/releases) |
151 | | --------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
152 | | [Arm64-v8a](../../releases/download/all/youtube-music-arm64-v8a-revanced.apk) | [Arm64-v8a](../../releases/download/all/youtube-music-beta-arm64-v8a-revanced.apk) |
153 | | [Armeabi-v7a](../../releases/download/all/youtube-music-armeabi-v7a-revanced.apk) | [Armeabi-v7a](../../releases/download/all/youtube-music-beta-armeabi-v7a-revanced.apk) |
154 | | [x86](../../releases/download/all/youtube-music-x86-revanced.apk) | [x86](../../releases/download/all/youtube-music-beta-x86-revanced.apk) |
155 | | [x86_64](../../releases/download/all/youtube-music-x86_64-revanced.apk) | [x86_64](../../releases/download/all/youtube-music-beta-x86_64-revanced.apk) |
156 |
157 | ### [Revanced Extended:](https://github.com/inotia00/revanced-patches/)
158 |
159 | | [Stable version](https://github.com/inotia00/revanced-patches/releases/latest) | [Beta version](https://github.com/inotia00/revanced-patches/releases) |
160 | | ------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
161 | | [Arm64-v8a](../../releases/download/all/youtube-music-arm64-v8a-revanced-extended.apk) | [Arm64-v8a](../../releases/download/all/youtube-music-beta-arm64-v8a-revanced-extended.apk) |
162 | | [Armeabi-v7a](../../releases/download/all/youtube-music-armeabi-v7a-revanced-extended.apk) | [Armeabi-v7a](../../releases/download/all/youtube-music-beta-armeabi-v7a-revanced-extended.apk) |
163 | | [x86](../../releases/download/all/youtube-music-x86-revanced-extended.apk) | [x86](../../releases/download/all/youtube-music-beta-x86-revanced-extended.apk) |
164 | | [x86_64](../../releases/download/all/youtube-music-x86_64-revanced-extended.apk) | [x86_64](../../releases/download/all/youtube-music-beta-x86_64-revanced-extended.apk) |
165 |
166 | ### [Revanced Extended forked by anddea:](https://github.com/anddea/revanced-patches)
167 |
168 | | [Stable version](https://github.com/anddea/revanced-patches/releases/latest) | [Beta version](https://github.com/anddea/revanced-patches/releases) |
169 | | -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
170 | | [Arm64-v8a](../../releases/download/all/youtube-music-stable-arm64-v8a-anddea.apk) | [Arm64-v8a](../../releases/download/all/youtube-music-beta-arm64-v8a-anddea.apk) |
171 | | [Armeabi-v7a](../../releases/download/all/youtube-music-stable-armeabi-v7a-anddea.apk) | [Armeabi-v7a](../../releases/download/all/youtube-music-beta-armeabi-v7a-anddea.apk) |
172 | | [x86](../../releases/download/all/youtube-music-stable-x86-anddea.apk) | [x86](../../releases/download/all/youtube-music-beta-x86-anddea.apk) |
173 | | [x86_64](../../releases/download/all/youtube-music-stable-x86_64-anddea.apk) | [x86_64](../../releases/download/all/youtube-music-beta-x86_64-anddea.apk) |
174 |
175 | ---
176 |
177 | [](https://play.google.com/store/apps/details?id=com.facebook.katana&hl)
178 |
179 | **You have to remove the Messenger app before you install the Facebook ReVanced**
180 |
181 | ### [Revanced:](https://github.com/revanced/revanced-patches)
182 |
183 | | Stable version | Beta version |
184 | | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
185 | |[Arm64-v8a & Android 11+](../../releases/download/all/facebook-arm64-v8a-revanced.apk) | [Arm64-v8a & Android 11+](../../releases/download/all/facebook-arm64-v8a-beta-revanced.apk) |
186 |
187 | ---
188 |
189 | [](https://play.google.com/store/apps/details?id=com.twitter.android)
190 |
191 | ### [Piko:](https://github.com/crimera/piko)
192 |
193 | 👉 [Offical author download link](https://github.com/crimera/twitter-apk/releases)
194 |
195 | | [Stable version](https://github.com/crimera/piko/releases/latest) | [Beta version](https://github.com/crimera/piko/releases/) |
196 | | -------------------------------------------------------------------------- | -------------------------------------------------------------------------|
197 | | [All Architectures](../../releases/download/all/twitter-stable-piko.apk) | [All Architectures](../../releases/download/all/twitter-beta-piko.apk) |
198 | | [Arm64-v8a](../../releases/download/all/twitter-arm64-v8a-stable-piko.apk) | [Arm64-v8a](../../releases/download/all/twitter-arm64-v8a-beta-piko.apk) |
199 |
200 | ---
201 |
202 | [](https://play.google.com/store/apps/details?id=com.instagram.android)
203 |
204 | ### [Revanced:](https://github.com/revanced/revanced-patches)
205 |
206 | | Stable version | Beta version |
207 | | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
208 | | [Arm64-v8a](../../releases/download/all/instagram-arm64-v8a-revanced.apk) | [Arm64-v8a](../../releases/download/all/instagram-arm64-v8a-beta-revanced.apk) |
209 |
210 | ### [Revanced Experiments:](https://github.com/Aunali321/ReVancedExperiments)
211 |
212 | [Arm64-v8a](../../releases/download/all/instagram-arm64-v8a-revanced-experiments.apk)
213 |
214 | ---
215 |
216 | ### [Google Photos:](https://play.google.com/store/apps/details?id=com.google.android.apps.photos)
217 |
218 | ### [Revanced:](https://github.com/revanced/revanced-patches)
219 |
220 | | Stable version | Beta version |
221 | | ----------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
222 | | [Arm64-v8a](../../releases/download/all/gg-photos-arm64-v8a-revanced.apk) | [Arm64-v8a](../../releases/download/all/gg-photos-arm64-v8a-beta-revanced.apk) |
223 | | [armeabi-v7a](../../releases/download/all/gg-photos-armeabi-v7a-revanced.apk) | [armeabi-v7a](../../releases/download/all/gg-photos-armeabi-v7a-beta-revanced.apk) |
224 |
225 | ---
226 |
227 | [](https://play.google.com/store/apps/details?id=com.facebook.orca)
228 |
229 | ### [Revanced:](https://github.com/revanced/revanced-patches)
230 |
231 | | Stable version | Beta version |
232 | | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
233 | | [Arm64-v8a](../../releases/download/all/messenger-arm64-v8a-revanced.apk) | [Arm64-v8a](../../releases/download/all/messenger-arm64-v8a-beta-revanced.apk) |
234 |
235 | ---
236 |
237 | ### [Spotjfy:](https://www.google.com/search?q=Spotjfy)
238 |
239 | ### [Revanced](https://github.com/revanced/revanced-patches)
240 |
241 | | Stable version | Beta version |
242 | | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
243 | | [Arm64-v8a](../../releases/download/all/spotjfy-arm64-v8a-revanced.apk) | [Arm64-v8a](../../releases/download/all/spotjfy-beta-arm64-v8a-revanced.apk) |
244 |
245 | ### [Revanced Extended forked by anddea:](https://github.com/anddea/revanced-patches)
246 | | Stable version | Beta version |
247 | | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
248 | | [Arm64-v8a](../../releases/download/all/spotjfy-arm64-v8a-anddea.apk) | [Arm64-v8a](../../releases/download/all/spotjfy-beta-arm64-v8a-anddea.apk) |
249 |
250 | ---
251 |
252 | [](https://play.google.com/store/apps/details?id=org.telegram.messenger)
253 |
254 | ### [Revanced Experiments:](https://github.com/Aunali321/ReVancedExperiments)
255 |
256 | CH play version:
257 |
258 | [Arm64-v8a](../../releases/download/all/telegram-revanced-experiments.apk)
259 |
260 | Web version:
261 |
262 | [All Architectures](../../releases/download/all/telegram-web-version-revanced-experiments.apk)
263 |
264 | ---
265 |
266 | [](https://play.google.com/store/apps/details?id=com.ss.android.ugc.trill)
267 |
268 | ### [Revanced:](https://github.com/revanced/revanced-patches)
269 |
270 | | Stable version | Beta version |
271 | | ---------------------------------------------------------------------- | ------------------------------------------------------------------------- |
272 | | [All Architectures](../../releases/download/all/tiktok-revanced.apk) | [All Architectures](../../releases/download/all/tiktok-beta-revanced.apk) |
273 |
274 | ---
275 |
276 | [](https://play.google.com/store/apps/details?id=tv.twitch.android.app)
277 |
278 | ### [Revanced:](https://github.com/revanced/revanced-patches)
279 |
280 | | Stable version | Beta version |
281 | | ---------------------------------------------------------------------- | --------------------------------------------------------------------------- |
282 | | [All Architectures](../../releases/download/all/twitch-revanced.apk) | [All Architectures](../../releases/download/all/twitch-beta-revanced.apk) |
283 |
284 | ---
285 |
286 | [](https://play.google.com/store/apps/details?id=com.reddit.frontpage)
287 |
288 | ### [Revanced Extended:](https://github.com/inotia00/revanced-patches/)
289 |
290 | | Stable version | Beta version |
291 | | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
292 | | [All Architectures](../../releases/download/all/reddit-revanced-extended.apk) | [All Architectures](../../releases/download/all/reddit-beta-revanced-extended.apk) |
293 | | [Arm64-v8a](../../releases/download/all/reddit-arm64-v8a-revanced-extended.apk) | [Arm64-v8a](../../releases/download/all/reddit-arm64-v8a-beta-revanced-extended.apk) |
294 |
295 | ---
296 |
297 | [](https://play.google.com/store/apps/details?id=com.adobe.lrmobile)
298 |
299 | ### [Revanced:](https://github.com/revanced/revanced-patches)
300 |
301 | | Stable version | Beta version |
302 | | ----------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
303 | | [Arm64-v8a](../../releases/download/all/lightroom-revanced.apk) | [Arm64-v8a](../../releases/download/all/lightroom-beta-revanced.apk) |
304 |
305 | ---
306 |
307 | [](https://play.google.com/store/apps/details?id=com.tumblr)
308 |
309 | ### [Revanced:](https://github.com/revanced/revanced-patches)
310 |
311 | | Stable version | Beta version |
312 | | ---------------------------------------------------------------------- | --------------------------------------------------------------------------- |
313 | | [All Architectures](../../releases/download/all/tumblr-revanced.apk) | [All Architectures](../../releases/download/all/tumblr-beta-revanced.apk) |
314 | | [Arm64-v8a](../../releases/download/all/tumblr-arm64-v8a-revanced.apk) | [Arm64-v8a](../../releases/download/all/tumblr-arm64-v8a-beta-revanced.apk) |
315 |
316 | ---
317 |
318 | [](https://play.google.com/store/apps/details?id=com.soundcloud.android)
319 |
320 | ### [Revanced:](https://github.com/revanced/revanced-patches)
321 |
322 | | Stable version | Beta version |
323 | | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
324 | | [All Architectures](../../releases/download/all/soundcloud-revanced.apk) | [All Architectures](../../releases/download/all/soundcloud-beta-revanced.apk) |
325 | | [Arm64-v8a](../../releases/download/all/soundcloud-arm64-v8a-revanced.apk) | [Arm64-v8a](../../releases/download/all/soundcloud-arm64-v8a-beta-revanced.apk) |
326 |
327 | ---
328 |
329 | [](https://play.google.com/store/apps/details?id=com.duolingo)
330 |
331 | ### [Revanced:](https://github.com/revanced/revanced-patches)
332 |
333 | | Stable version | Beta version |
334 | | ------------------------------------------------------------------------ | --------------------------------------------------------------------------- |
335 | | [All Architectures](../../releases/download/all/duolingo-revanced.apk) | [All Architectures](../../releases/download/all/duolingo-beta-revanced.apk) |
336 |
337 | ---
338 |
339 | ### [Google News:](play.google.com/store/apps/details?id=com.google.android.apps.magazines)
340 |
341 | ### [Revanced:](https://github.com/revanced/revanced-patches)
342 |
343 | | Stable version | Beta version |
344 | | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
345 | | [Arm64-v8a](../../releases/download/all/googlenews-arm64-v8a-revanced.apk) | [Arm64-v8a](../../releases/download/all/googlenews-beta-arm64-v8a-revanced.apk) |
346 |
347 | ---
348 |
349 | ### [Photomath:](https://play.google.com/store/apps/details?id=com.microblink.photomath)
350 |
351 | ### [Revanced:](https://github.com/revanced/revanced-patches)
352 |
353 | | Stable version | Beta version |
354 | | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
355 | | [All Architectures](../../releases/download/all/photomath-revanced.apk) | [All Architectures](../../releases/download/all/photomath-beta-revanced.apk) |
356 |
357 | ---
358 |
359 | ### [RAR:](https://play.google.com/store/apps/details?id=com.rarlab.rar)
360 |
361 | ### [Revanced:](https://github.com/revanced/revanced-patches)
362 |
363 | | Stable version | Beta version |
364 | | ----------------------------------------------------------------- | ---------------------------------------------------------------------- |
365 | | [All Architectures](../../releases/download/all/rar-revanced.apk) | [All Architectures](../../releases/download/all/rar-beta-revanced.apk) |
366 |
367 | ---
368 |
369 | ### [Strava:](https://play.google.com/store/apps/details?id=com.strava)
370 |
371 | ### [Revanced:](https://github.com/revanced/revanced-patches)
372 |
373 | | Stable version | Beta version |
374 | | ---------------------------------------------------------------------- | --------------------------------------------------------------------------- |
375 | | [Arm64-v8a](../../releases/download/all/strava-arm64-v8a-revanced.apk) | [Arm64-v8a](../../releases/download/all/strava-beta-arm64-v8a-revanced.apk) |
376 |
377 | ---
378 |
379 | ### [Pixiv:](https://play.google.com/store/apps/details?id=jp.pxv.android)
380 |
381 | ### [Revanced:](https://github.com/revanced/revanced-patches)
382 |
383 | | Stable version | Beta version |
384 | | ------------------------------------------------------------------- | ------------------------------------------------------------------------ |
385 | | [All Architectures](../../releases/download/all/pixiv-revanced.apk) | [All Architectures](../../releases/download/all/pixiv-beta-revanced.apk) |
386 |
387 | ---
388 |
389 | ### [Bilbili: (Chinese only)](https://play.google.com/store/apps/details?id=com.bilibili.app.in)
390 |
391 | ### [BiliRoamingM:](https://github.com/sakarie9/BiliRoamingM/)
392 |
393 | [All Architectures](../../releases/download/all/bilibili-BiliRoamingM.apk )
394 |
395 | [Arm64-v8a](../../releases/download/all/bilibili-arm64-v8a-BiliRoamingM.apk )
396 |
397 | ---
398 |
399 | ### [Nova Launcher:](https://play.google.com/store/apps/details?id=com.teslacoilsw.launcher)
400 |
401 | ### [Dropped Patches by indrastorms:](https://github.com/indrastorms/Dropped-Patches)
402 |
403 | [All Architectures](../../releases/download/all/nova-launcher-indrastorms.apk)
404 |
405 | ---
406 |
407 | ### [Tasker:](https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm)
408 |
409 | ### [Dropped Patches by indrastorms:](https://github.com/indrastorms/Dropped-Patches)
410 |
411 | [All Architectures](../../releases/download/all/tasker-indrastorms.apk)
412 |
413 | ---
414 |
415 | ### [FX File Explorer:](https://play.google.com/store/apps/details?id=nextapp.fx)
416 |
417 | ### [Dropped Patches by indrastorms:](https://github.com/indrastorms/Dropped-Patches)
418 |
419 | [All Architectures](../../releases/download/all/fx-file-explorer-indrastorms.apk)
420 |
421 | ---
422 |
423 | ### ⚠️ Library, resources using in this repository:
424 |
425 |
426 | Revanced
427 |
428 | [Patches](https://github.com/revanced/revanced-patches) - [GPL-3.0](https://github.com/revanced/revanced-patches/blob/main/LICENSE)
429 |
430 | [Integrations](https://github.com/revanced/revanced-integrations) - [GPL-3.0](https://github.com/revanced/revanced-integrations/blob/main/LICENSE)
431 |
432 | [CLI](https://github.com/revanced/revanced-cli) - [GPL-3.0](https://github.com/revanced/revanced-cli/blob/main/LICENSE)
433 |
434 | [GmsCore](https://github.com/ReVanced/GmsCore) - [GPL-3.0](https://github.com/revanced/revanced-cli/blob/main/LICENSE)
435 |
436 |
437 |
438 |
439 | inotia00
440 |
441 | [Patches](https://github.com/inotia00/revanced-patches) - [GPL-3.0](https://github.com/inotia00/revanced-patches/blob/revanced-extended/LICENSE)
442 |
443 | [Integrations](https://github.com/inotia00/revanced-integrations) - [GPL-3.0](https://github.com/inotia00/revanced-integrations/blob/main/LICENSE)
444 |
445 | [CLI](https://github.com/inotia00/revanced-cli) - [GPL-3.0](https://github.com/inotia00/revanced-cli/blob/main/LICENSE)
446 |
447 |
448 |
449 |
450 | anddea
451 |
452 | [Patches](https://github.com/anddea/revanced-patches) - [GPL-3.0](https://github.com/anddea/revanced-patches/blob/main/LICENSE)
453 |
454 | [Integrations](https://github.com/anddea/revanced-integrations) - [GPL-3.0](https://github.com/anddea/revanced-integrations/blob/main/LICENSE)
455 |
456 |
457 |
458 |
459 |
460 |
461 | crimera
462 |
463 | [Patches](https://github.com/crimera/piko) - [GPL-3.0](https://github.com/crimera/piko/blob/main/LICENSE)
464 |
465 | [Integrations](https://github.com/crimera/revanced-integrations) - [GPL-3.0](https://github.com/crimera/revanced-integrations/blob/main/LICENSE)
466 |
467 |
468 |
469 |
470 | kitadai31
471 |
472 | [Patches](https://github.com/kitadai31/revanced-patches-android6-7) - [GPL-3.0](https://github.com/kitadai31/revanced-patches-android6-7/blob/revanced-extended/LICENSE)
473 |
474 | [Integrations](https://github.com/kitadai31/revanced-integrations) - [GPL-3.0](https://github.com/kitadai31/revanced-integrations/blob/revanced-extended/LICENSE)
475 |
476 |
477 |
478 |
479 | d4n3436
480 |
481 | [Patches](https://github.com/d4n3436/revanced-patches-android5) - [GPL-3.0](https://github.com/d4n3436/revanced-patches-android5/blob/revanced-extended/LICENSE)
482 |
483 | [Integrations](https://github.com/d4n3436/revanced-integrations) - [GPL-3.0](https://github.com/d4n3436/revanced-integrations/blob/revanced-extended/LICENSE)
484 |
485 |
486 |
487 |
488 | BiliRoamingM
489 |
490 | [Patches & Integrations](https://github.com/sakarie9/BiliRoamingM) - [GPL-3.0](https://github.com/sakarie9/BiliRoamingM/blob/main/LICENSE)
491 |
492 |
493 |
494 |
495 | indrastorms
496 |
497 | [Patches](https://github.com/indrastorms/Dropped-Patches) - [GPL-3.0](https://github.com/indrastorms/Dropped-Patches/blob/main/LICENSE)
498 |
499 |
500 |
501 |
502 | Aunali321
503 |
504 | [Patches](https://github.com/Aunali321/ReVancedExperiments) - [GPL-3.0](https://github.com/Aunali321/ReVancedExperiments/blob/main/LICENSE)
505 |
506 |
507 |
508 | [Markdown Badges](https://github.com/Ileriayo/markdown-badges) - [MIT](https://github.com/Ileriayo/markdown-badges/blob/master/LICENSE)
509 |
510 | [pup](https://github.com/ericchiang/pup) - [MIT](https://github.com/ericchiang/pup/blob/master/LICENSE)
511 |
512 | [APKEditor](https://github.com/REAndroid/APKEditor) - [Apache-2.0](https://github.com/REAndroid/APKEditor/blob/master/LICENSE)
513 |
514 | ---
515 |
516 | ### ⚠️ Inspired by:
517 |
518 | [@luxysiv](https://github.com/luxysiv/yt-revanced-nonroot) - [GPL-3.0](https://github.com/luxysiv/revanced-nonroot/blob/main/LICENSE)
519 |
520 | [revanced-build-template](https://github.com/n0k0m3/revanced-build-template) - [GPL-3.0](https://github.com/n0k0m3/revanced-build-template/blob/main/LICENSE)
521 |
522 | [revanced-magisk-module](https://github.com/j-hc/revanced-magisk-module) - [GPL-3.0](https://github.com/j-hc/revanced-magisk-module/blob/main/LICENSE)
523 |
--------------------------------------------------------------------------------
/docs/Frequently Asked Questions.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | Frequently Asked Questions
4 |
5 |
6 |
7 | ### Q: I'm facing a playback issue (Video stop loading after start 10-30s). How can I fix it?
8 |
9 | The issue might be that your Android OS is preventing MicroG (GMS Core) from running in the background. Follow these instructions to resolve the problem.
10 |
11 | [https://dontkillmyapp.com/](https://dontkillmyapp.com/)
12 |
13 | ---
14 |
15 | ### Q: How do I use this repository for patching my own app?
16 |
17 | You should [fork](https://github.com/FiorenMas/Revanced-And-Revanced-Extended-Non-Root/fork) the repository, and then go to the `Action` tab
18 | 
19 |
20 | Click "I understand my workflows, go ahead and enable them"
21 | 
22 |
23 | Follow these steps to run the workflow for Manual Patch apps!
24 | 
25 |
26 | And then go to Readme click download your patched apps!
27 |
28 | ---
29 |
30 | ### Q: I want to use custom patches for patching my apps. How can I do it?
31 |
32 | You should open the folder `Revanced-And-Revanced-Extended-Non-Root/src/patches/`. It contains a lot of folders that are named after the apps you’re patching. Each folder has two files: exclude-patches and include-patches. Edit these files with the patches you like, putting one patch per line, following the patches list here:
33 |
34 | * For Revanced: https://github.com/revanced/revanced-patches
35 | * For Revanced Extended: https://github.com/inotia00/revanced-patches/tree/revanced-extended
36 | * For Revanced Extended Android 6 & 7: https://github.com/kitadai31/revanced-patches-android6-7/tree/revanced-extended
37 |
38 | ---
39 |
40 | ### Q: I want to use a custom file options.json. How can I do it?
41 |
42 | You should open the folder [Revanced-And-Revanced-Extended-Non-Root/src/options/](../src/options). It contains files revanced-extended.json, anddea.json... edit those file the same as you would options.json
43 |
44 | Revanced alias no longer use options.json anymore use directly `Revanced-And-Revanced-Extended-Non-Root/src/patches/` instead.
45 |
46 | The options separate with patches name with `|`
47 |
48 | Example Youtube apps include patches:
49 |
50 | `Custom branding|-OappName="YouTube ReVanced" -OiconPath=ReVanced*Logo`
51 |
52 | ---
53 |
54 | ### Q: I am facing errors using your apps, what do I do?
55 |
56 | I’m so sorry about this, but my repository only patches apps from “scripts” by other devs. I can’t fix errors when apps face errors, so if you get errors, please make an issue in [Revanced](https://github.com/revanced/revanced-patches), [Revanced Extended](https://github.com/inotia00/revanced-patches/tree/revanced-extended) or [Revanced Extended Android 6 & 7](https://github.com/kitadai31/revanced-patches-android6-7/tree/revanced-extended) repositories.
57 |
58 | ---
59 |
60 | ### Q: How do I know these apps are safe to use?
61 |
62 | You can rest assured that it’s safe because my code is 100% open-source and uses GitHub Actions to patch the apps. The apk files used for patching are downloaded from the trusted site “APKMirror”.
63 |
64 | ----
65 |
--------------------------------------------------------------------------------
/docs/image/Banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FiorenMas/Revanced-And-Revanced-Extended-Non-Root/8db778ebdb30cc006982b2aa5828c285435ebadf/docs/image/Banner.png
--------------------------------------------------------------------------------
/docs/image/FAQ/patching-app-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FiorenMas/Revanced-And-Revanced-Extended-Non-Root/8db778ebdb30cc006982b2aa5828c285435ebadf/docs/image/FAQ/patching-app-1.png
--------------------------------------------------------------------------------
/docs/image/FAQ/patching-app-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FiorenMas/Revanced-And-Revanced-Extended-Non-Root/8db778ebdb30cc006982b2aa5828c285435ebadf/docs/image/FAQ/patching-app-2.png
--------------------------------------------------------------------------------
/docs/image/FAQ/patching-app-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FiorenMas/Revanced-And-Revanced-Extended-Non-Root/8db778ebdb30cc006982b2aa5828c285435ebadf/docs/image/FAQ/patching-app-3.png
--------------------------------------------------------------------------------
/docs/image/FAQ/patching-app-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FiorenMas/Revanced-And-Revanced-Extended-Non-Root/8db778ebdb30cc006982b2aa5828c285435ebadf/docs/image/FAQ/patching-app-4.png
--------------------------------------------------------------------------------
/docs/image/Readme.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FiorenMas/Revanced-And-Revanced-Extended-Non-Root/8db778ebdb30cc006982b2aa5828c285435ebadf/docs/image/Readme.png
--------------------------------------------------------------------------------
/src/_ks.keystore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FiorenMas/Revanced-And-Revanced-Extended-Non-Root/8db778ebdb30cc006982b2aa5828c285435ebadf/src/_ks.keystore
--------------------------------------------------------------------------------
/src/build/Anddea-Revanced-Extended-Beta.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Revanced Extended forked by Anddea build
3 | source src/build/utils.sh
4 | # Download requirements
5 | dl_gh "revanced-patches" "anddea" "prerelease"
6 | dl_gh "revanced-cli" "inotia00" "latest"
7 |
8 | # Patch YouTube:
9 | get_patches_key "youtube-rve-anddea"
10 | get_apk "com.google.android.youtube" "youtube-beta" "youtube" "google-inc/youtube/youtube" "Bundle_extract"
11 | split_editor "youtube-beta" "youtube-beta"
12 | patch "youtube-beta" "anddea" "inotia"
13 | # Patch Youtube Arm64-v8a
14 | get_patches_key "youtube-rve-anddea"
15 | split_editor "youtube-beta" "youtube-beta-arm64-v8a" "exclude" "split_config.armeabi_v7a split_config.x86 split_config.x86_64"
16 | patch "youtube-beta-arm64-v8a" "anddea" "inotia"
17 | # Patch Youtube Armeabi-v7a
18 | get_patches_key "youtube-rve-anddea"
19 | split_editor "youtube-beta" "youtube-beta-armeabi-v7a" "exclude" "split_config.arm64_v8a split_config.x86 split_config.x86_64"
20 | patch "youtube-beta-armeabi-v7a" "anddea" "inotia"
21 | # Patch Youtube x86
22 | get_patches_key "youtube-rve-anddea"
23 | split_editor "youtube-beta" "youtube-beta-x86" "exclude" "split_config.arm64_v8a split_config.armeabi_v7a split_config.x86_64"
24 | patch "youtube-beta-x86" "anddea" "inotia"
25 | # Patch Youtube x86_64
26 | get_patches_key "youtube-rve-anddea"
27 | split_editor "youtube-beta" "youtube-beta-x86_64" "exclude" "split_config.arm64_v8a split_config.armeabi_v7a split_config.x86"
28 | patch "youtube-beta-x86_64" "anddea" "inotia"
29 | # Patch YouTube:
30 | #get_patches_key "youtube-rve-anddea"
31 | #get_apk "com.google.android.youtube" "youtube-beta" "youtube" "google-inc/youtube/youtube"
32 | #patch "youtube-beta" "anddea" "inotia"
33 | # Split architecture Youtube:
34 | #get_patches_key "youtube-rve-anddea"
35 | #for i in {0..3}; do
36 | #split_arch "youtube-beta" "anddea" "$(gen_rip_libs ${libs[i]})"
37 | #done
38 |
39 | # Patch YouTube Music Extended:
40 | # Arm64-v8a
41 | get_patches_key "youtube-music-rve-anddea"
42 | get_apk "com.google.android.apps.youtube.music" "youtube-music-beta-arm64-v8a" "youtube-music" "google-inc/youtube-music/youtube-music" "arm64-v8a"
43 | patch "youtube-music-beta-arm64-v8a" "anddea" "inotia"
44 | # Armeabi-v7a
45 | get_patches_key "youtube-music-rve-anddea"
46 | get_apk "com.google.android.apps.youtube.music" "youtube-music-beta-armeabi-v7a" "youtube-music" "google-inc/youtube-music/youtube-music" "armeabi-v7a"
47 | patch "youtube-music-beta-armeabi-v7a" "anddea" "inotia"
48 | # x86_64
49 | get_patches_key "youtube-music-rve-anddea"
50 | get_apk "com.google.android.apps.youtube.music" "youtube-music-beta-x86_64" "youtube-music" "google-inc/youtube-music/youtube-music" "x86_64"
51 | patch "youtube-music-beta-x86_64" "anddea" "inotia"
52 | # x86
53 | get_patches_key "youtube-music-rve-anddea"
54 | get_apk "com.google.android.apps.youtube.music" "youtube-music-beta-x86" "youtube-music" "google-inc/youtube-music/youtube-music" "x86"
55 | patch "youtube-music-beta-x86" "anddea" "inotia"
56 |
57 | # Patch Spotjfy Arm64-v8a
58 | get_patches_key "Spotjfy-anddea"
59 | j="i"
60 | version="9.0.44.478" #https://github.com/ReVanced/revanced-patches/issues/4958#issuecomment-2883387940
61 | get_apkpure "com.spot"$j"fy.music" "spotjfy-beta-arm64-v8a" "spot"$j"fy-music-and-podcasts-for-android/com.spot"$j"fy.music"
62 | patch "spotjfy-beta-arm64-v8a" "anddea"
63 |
64 | # Patch YouTube Lite Arm64-v8a:
65 | get_patches_key "youtube-rve-anddea"
66 | split_editor "youtube-beta" "youtube-lite-beta-arm64-v8a" "include" "split_config.arm64_v8a split_config.en split_config.xhdpi split_config.xxxhdpi"
67 | patch "youtube-lite-beta-arm64-v8a" "anddea" "inotia"
68 | # Patch YouTube Lite Armeabi-v7a:
69 | get_patches_key "youtube-rve-anddea"
70 | split_editor "youtube-beta" "youtube-lite-beta-armeabi-v7a" "include" "split_config.armeabi_v7a split_config.en split_config.xhdpi split_config.xxxhdpi"
71 | patch "youtube-lite-beta-armeabi-v7a" "anddea" "inotia"
72 |
--------------------------------------------------------------------------------
/src/build/Anddea-Revanced-Extended.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Revanced Extended forked by Anddea build
3 | source src/build/utils.sh
4 | # Download requirements
5 | dl_gh "revanced-patches" "anddea" "latest"
6 | dl_gh "revanced-cli" "inotia00" "latest"
7 |
8 | # Patch YouTube:
9 | get_patches_key "youtube-rve-anddea"
10 | get_apk "com.google.android.youtube" "youtube-stable" "youtube" "google-inc/youtube/youtube" "Bundle_extract"
11 | split_editor "youtube-stable" "youtube-stable"
12 | patch "youtube-stable" "anddea" "inotia"
13 | # Patch Youtube Arm64-v8a
14 | get_patches_key "youtube-rve-anddea"
15 | split_editor "youtube-stable" "youtube-stable-arm64-v8a" "exclude" "split_config.armeabi_v7a split_config.x86 split_config.x86_64"
16 | patch "youtube-stable-arm64-v8a" "anddea" "inotia"
17 | # Patch Youtube Armeabi-v7a
18 | get_patches_key "youtube-rve-anddea"
19 | split_editor "youtube-stable" "youtube-stable-armeabi-v7a" "exclude" "split_config.arm64_v8a split_config.x86 split_config.x86_64"
20 | patch "youtube-stable-armeabi-v7a" "anddea" "inotia"
21 | # Patch Youtube x86
22 | get_patches_key "youtube-rve-anddea"
23 | split_editor "youtube-stable" "youtube-stable-x86" "exclude" "split_config.arm64_v8a split_config.armeabi_v7a split_config.x86_64"
24 | patch "youtube-stable-x86" "anddea" "inotia"
25 | # Patch Youtube x86_64
26 | get_patches_key "youtube-rve-anddea"
27 | split_editor "youtube-stable" "youtube-stable-x86_64" "exclude" "split_config.arm64_v8a split_config.armeabi_v7a split_config.x86"
28 | patch "youtube-stable-x86_64" "anddea" "inotia"
29 | # Patch YouTube:
30 | #get_patches_key "youtube-rve-anddea"
31 | #get_apk "com.google.android.youtube" "youtube-stable" "youtube" "google-inc/youtube/youtube"
32 | #patch "youtube-stable" "anddea" "inotia"
33 | # Split architecture Youtube:
34 | #get_patches_key "youtube-rve-anddea"
35 | #for i in {0..3}; do
36 | # split_arch "youtube-stable" "anddea" "$(gen_rip_libs ${libs[i]})"
37 | #done
38 |
39 | # Patch YouTube Music:
40 | # Arm64-v8a
41 | get_patches_key "youtube-music-rve-anddea"
42 | get_apk "com.google.android.apps.youtube.music" "youtube-music-stable-arm64-v8a" "youtube-music" "google-inc/youtube-music/youtube-music" "arm64-v8a"
43 | patch "youtube-music-stable-arm64-v8a" "anddea" "inotia"
44 | # Armeabi-v7a
45 | get_patches_key "youtube-music-rve-anddea"
46 | get_apk "com.google.android.apps.youtube.music" "youtube-music-stable-armeabi-v7a" "youtube-music" "google-inc/youtube-music/youtube-music" "armeabi-v7a"
47 | patch "youtube-music-stable-armeabi-v7a" "anddea" "inotia"
48 | # x86_64
49 | get_patches_key "youtube-music-rve-anddea"
50 | get_apk "com.google.android.apps.youtube.music" "youtube-music-stable-x86_64" "youtube-music" "google-inc/youtube-music/youtube-music" "x86_64"
51 | patch "youtube-music-stable-x86_64" "anddea" "inotia"
52 | # x86
53 | get_patches_key "youtube-music-rve-anddea"
54 | get_apk "com.google.android.apps.youtube.music" "youtube-music-stable-x86" "youtube-music" "google-inc/youtube-music/youtube-music" "x86"
55 | patch "youtube-music-stable-x86" "anddea" "inotia"
56 |
57 | # Patch Spotjfy Arm64-v8a
58 | get_patches_key "Spotjfy-anddea"
59 | j="i"
60 | version="9.0.44.478" #https://github.com/ReVanced/revanced-patches/issues/4958#issuecomment-2883387940
61 | get_apkpure "com.spot"$j"fy.music" "spotjfy-arm64-v8a" "spot"$j"fy-music-and-podcasts-for-android/com.spot"$j"fy.music"
62 | patch "spotjfy-arm64-v8a" "anddea"
63 |
64 | # Patch YouTube Lite Arm64-v8a:
65 | get_patches_key "youtube-rve-anddea"
66 | split_editor "youtube-stable" "youtube-lite-arm64-v8a" "include" "split_config.arm64_v8a split_config.en split_config.xhdpi split_config.xxxhdpi"
67 | patch "youtube-lite-arm64-v8a" "anddea" "inotia"
68 | # Patch YouTube Lite Armeabi-v7a:
69 | get_patches_key "youtube-rve-anddea"
70 | split_editor "youtube-stable" "youtube-lite-armeabi-v7a" "include" "split_config.armeabi_v7a split_config.en split_config.xhdpi split_config.xxxhdpi"
71 | patch "youtube-lite-armeabi-v7a" "anddea" "inotia"
72 |
--------------------------------------------------------------------------------
/src/build/BiliRoamingM.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # BiliRoamingM build for chinese only
3 | source ./src/build/utils.sh
4 | #################################################
5 | # Download requirements
6 | dl_gh "revanced-cli" "revanced" "v4.6.0"
7 | dl_gh "BiliRoamingM" "sakarie9" "latest"
8 | #################################################
9 | # Patch bilibili:
10 | get_patches_key "bilibili-BiliRoamingM"
11 | get_apk "com.bilibili.app.in" "bilibili" "bilibili" "bilibili/bilibili/bilibili" "Bundle_extract"
12 | split_editor "bilibili" "bilibili"
13 | patch "bilibili" "BiliRoamingM"
14 | # Patch bilibili Arm64-v8a:
15 | get_patches_key "bilibili-BiliRoamingM"
16 | split_editor "bilibili" "bilibili-arm64-v8a" "exclude" "split_config.armeabi_v7a split_config.x86 split_config.x86_64"
17 | patch "bilibili-arm64-v8a" "BiliRoamingM"
--------------------------------------------------------------------------------
/src/build/Dropped-Patches-Revanced.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Dropped Patches by indrastorms
3 | source ./src/build/utils.sh
4 |
5 | #################################################
6 |
7 | # Download requirements
8 | dl_gh "Dropped-Patches" "indrastorms" "v1.4.2"
9 | dl_gh "revanced-integrations" "revanced" "v1.8.0"
10 | dl_gh "revanced-cli" "revanced" "v4.6.0"
11 |
12 | #################################################
13 |
14 | # Patch Tasker:
15 | get_patches_key "tasker-indrastorms"
16 | get_apk "net.dinglisch.android.taskerm" "tasker" "tasker" "joaomgcd/tasker/tasker"
17 | patch "tasker" "indrastorms"
18 |
19 | #################################################
20 |
21 | #Patch Nova Launcher:
22 | get_patches_key "nova-launcher-indrastorms"
23 | get_apk "com.teslacoilsw.launcher" "nova-launcher" "nova-launcher" "teslacoil-software/nova-launcher/nova-launcher"
24 | patch "nova-launcher" "indrastorms"
25 |
26 | #################################################
27 |
28 | #Patch FX File Explorer:
29 | get_patches_key "fx-file-explorer-indrastorms"
30 | get_apk "nextapp.fx" "fx-file-explorer" "fx-file-explorer" "nextapp-inc/fx-file-explorer/fx-file-explorer"
31 | patch "fx-file-explorer" "indrastorms"
32 |
33 | #################################################
--------------------------------------------------------------------------------
/src/build/Piko.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Twitter Piko
3 | source src/build/utils.sh
4 |
5 | # Patch Twitter Piko:
6 | patch_piko () {
7 | dl_gh "revanced-cli" "revanced" "v4.6.0"
8 | get_patches_key "twitter-piko"
9 | local v apk_name
10 | if [[ "$1" == "latest" ]]; then
11 | v="latest" apk_name="stable"
12 | else
13 | v="prerelease" apk_name="beta"
14 | fi
15 | dl_gh "piko revanced-integrations" "crimera" "$v"
16 | version="10.86.0-release.0" #https://t.me/pikopatches/16/29916
17 | get_apk "com.twitter.android" "twitter-$apk_name" "twitter" "x-corp/twitter/x-previously-twitter" "Bundle_extract"
18 | split_editor "twitter-$apk_name" "twitter-$apk_name"
19 | patch "twitter-$apk_name" "piko"
20 | # Patch Twitter Piko Arm64-v8a:
21 | get_patches_key "twitter-piko"
22 | split_editor "twitter-$apk_name" "twitter-arm64-v8a-$apk_name" "exclude" "plit_config.armeabi_v7a split_config.x86 split_config.x86_64 split_config.mdpi split_config.hdpi split_config.xhdpi split_config.xxhdpi split_config.tvdpi"
23 | patch "twitter-arm64-v8a-$apk_name" "piko"
24 | }
25 | patch_piko $1
26 |
--------------------------------------------------------------------------------
/src/build/Revanced-Beta.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Revanced build
3 | source ./src/build/utils.sh
4 | # Download requirements
5 | revanced_dl(){
6 | dl_gh "revanced-patches" "revanced" "prerelease"
7 | dl_gh "revanced-cli" "revanced" "latest"
8 | }
9 | 1() {
10 | revanced_dl
11 | # Patch YouTube:
12 | get_patches_key "youtube-revanced"
13 | get_apk "com.google.android.youtube" "youtube-beta" "youtube" "google-inc/youtube/youtube" "Bundle_extract"
14 | split_editor "youtube-beta" "youtube-beta"
15 | patch "youtube-beta" "revanced"
16 | # Patch Youtube Arm64-v8a
17 | get_patches_key "youtube-revanced"
18 | split_editor "youtube-beta" "youtube-beta-arm64-v8a" "exclude" "split_config.armeabi_v7a split_config.x86 split_config.x86_64"
19 | patch "youtube-beta-arm64-v8a" "revanced"
20 | # Patch Youtube Armeabi-v7a
21 | get_patches_key "youtube-revanced"
22 | split_editor "youtube-beta" "youtube-beta-armeabi-v7a" "exclude" "split_config.arm64_v8a split_config.x86 split_config.x86_64"
23 | patch "youtube-beta-armeabi-v7a" "revanced"
24 | # Patch Youtube x86
25 | get_patches_key "youtube-revanced"
26 | split_editor "youtube-beta" "youtube-beta-x86" "exclude" "split_config.arm64_v8a split_config.armeabi_v7a split_config.x86_64"
27 | patch "youtube-beta-x86" "revanced"
28 | # Patch Youtube x86_64
29 | get_patches_key "youtube-revanced"
30 | split_editor "youtube-beta" "youtube-beta-x86_64" "exclude" "split_config.arm64_v8a split_config.armeabi_v7a split_config.x86"
31 | patch "youtube-beta-x86_64" "revanced"
32 | }
33 | 2() {
34 | revanced_dl
35 | # Patch Messenger:
36 | # Arm64-v8a
37 | get_patches_key "messenger"
38 | lock_version="1"
39 | get_apk "com.facebook.orca" "messenger-arm64-v8a-beta" "messenger" "facebook-2/messenger/facebook-messenger" "arm64-v8a" "nodpi"
40 | patch "messenger-arm64-v8a-beta" "revanced"
41 | # Patch Facebook:
42 | # Arm64-v8a
43 | get_patches_key "facebook"
44 | version="490.0.0.63.82" #Force this version because only patch in this version
45 | get_apk "com.facebook.katana" "facebook-arm64-v8a-beta" "facebook" "facebook-2/facebook/facebook" "arm64-v8a" "nodpi" "Android 11+"
46 | patch "facebook-arm64-v8a-beta" "revanced"
47 | }
48 | 3() {
49 | revanced_dl
50 | # Patch Google photos:
51 | # Arm64-v8a
52 | get_patches_key "gg-photos"
53 | get_apk "com.google.android.apps.photos" "gg-photos-arm64-v8a-beta" "photos" "google-inc/photos/google-photos" "arm64-v8a" "nodpi"
54 | patch "gg-photos-arm64-v8a-beta" "revanced"
55 | # Armeabi-v7a
56 | get_patches_key "gg-photos"
57 | get_apk "com.google.android.apps.photos" "gg-photos-armeabi-v7a-beta" "photos" "google-inc/photos/google-photos" "armeabi-v7a" "nodpi"
58 | patch "gg-photos-armeabi-v7a-beta" "revanced"
59 | }
60 | 4() {
61 | revanced_dl
62 | # Patch Tiktok:
63 | get_patches_key "tiktok"
64 | url="https://tiktok.en.uptodown.com/android/download/1026195874-x" #Use uptodown because apkmirror ban tiktok in US lead github action can't download apk file
65 | url="https://dw.uptodown.com/dwn/$(req "$url" - | $pup -p --charset utf-8 'button#detail-download-button attr{data-url}')"
66 | req "$url" "tiktok-beta.apk"
67 | patch "tiktok-beta" "revanced"
68 | # Patch Instagram:
69 | # Arm64-v8a
70 | get_patches_key "instagram"
71 | get_apk "com.instagram.android" "instagram-arm64-v8a-beta" "instagram-instagram" "instagram/instagram-instagram/instagram" "arm64-v8a" "nodpi"
72 | patch "instagram-arm64-v8a-beta" "revanced"
73 | }
74 | 5() {
75 | revanced_dl
76 | # Patch Pixiv:
77 | get_patches_key "pixiv"
78 | version="6.134.1" #https://github.com/ReVanced/revanced-patches/issues/4477
79 | get_apk "jp.pxv.android" "pixiv-beta" "pixiv" "pixiv-inc/pixiv/pixiv"
80 | patch "pixiv-beta" "revanced"
81 | # Patch Twitch:
82 | get_patches_key "twitch"
83 | #get_apk "tv.twitch.android.app" "twitch-beta" "twitch" "twitch-interactive-inc/twitch/twitch" "Bundle_extract"
84 | #split_editor "twitch-beta" "twitch-beta"
85 | version="19.1.0" #https://github.com/orgs/ReVanced/discussions/1135#discussioncomment-11797007
86 | get_apk "tv.twitch.android.app" "twitch-beta" "twitch" "twitch-interactive-inc/twitch/twitch"
87 | patch "twitch-beta" "revanced"
88 | # Patch Twitch Arm64-v8a:
89 | #get_patches_key "twitch"
90 | #split_editor "twitch-beta" "twitch-arm64-v8a-beta" "exclude" "split_config.armeabi_v7a split_config.x86 split_config.x86_64"
91 | #patch "twitch-arm64-v8a-beta" "revanced"
92 | }
93 | 6() {
94 | revanced_dl
95 | # Patch Tumblr:
96 | get_patches_key "tumblr"
97 | get_apk "com.tumblr" "tumblr-beta" "tumblr" "tumblr-inc/tumblr/tumblr-fandom-art-chaos" "Bundle_extract"
98 | split_editor "tumblr-beta" "tumblr-beta"
99 | patch "tumblr-beta" "revanced"
100 | # Patch Tumblr Arm64-v8a:
101 | get_patches_key "tumblr"
102 | split_editor "tumblr-beta" "tumblr-arm64-v8a-beta" "exclude" "split_config.armeabi_v7a split_config.x86 split_config.x86_64"
103 | patch "tumblr-arm64-v8a-beta" "revanced"
104 | # Patch SoundCloud:
105 | get_patches_key "soundcloud"
106 | get_apk "com.soundcloud.android" "soundcloud-beta" "soundcloud-soundcloud" "soundcloud/soundcloud-soundcloud/soundcloud-play-music-songs" "Bundle_extract"
107 | split_editor "soundcloud-beta" "soundcloud-beta"
108 | patch "soundcloud-beta" "revanced"
109 | # Patch SoundCloud Arm64-v8a:
110 | get_patches_key "soundcloud"
111 | split_editor "soundcloud-beta" "soundcloud-arm64-v8a-beta" "exclude" "split_config.armeabi_v7a split_config.x86 split_config.x86_64"
112 | patch "soundcloud-arm64-v8a-beta" "revanced"
113 | }
114 | 7() {
115 | revanced_dl
116 | # Patch Lightroom:
117 | get_patches_key "lightroom"
118 | url="https://adobe-lightroom-mobile.en.uptodown.com/android/download/1033600808" #Use uptodown because apkmirror always ask pass Cloudflare on this app
119 | url="https://dw.uptodown.com/dwn/$(req "$url" - | $pup -p --charset utf-8 'button#detail-download-button attr{data-url}')"
120 | req "$url" "lightroom-beta.apk"
121 | patch "lightroom-beta" "revanced"
122 | # Patch RAR:
123 | get_patches_key "rar"
124 | get_apk "com.rarlab.rar" "rar-beta" "rar" "rarlab-published-by-win-rar-gmbh/rar/rar" "Bundle"
125 | patch "rar-beta" "revanced"
126 | }
127 | 8() {
128 | revanced_dl
129 | get_apk "com.google.android.youtube" "youtube-lite-beta" "youtube" "google-inc/youtube/youtube" "Bundle_extract"
130 | # Patch YouTube Lite Arm64-v8a:
131 | get_patches_key "youtube-revanced"
132 | split_editor "youtube-lite-beta" "youtube-lite-beta-arm64-v8a" "include" "split_config.arm64_v8a split_config.en split_config.xxxhdpi"
133 | patch "youtube-lite-beta-arm64-v8a" "revanced"
134 | # Patch YouTube Lite Armeabi-v7a:
135 | get_patches_key "youtube-revanced"
136 | split_editor "youtube-lite-beta" "youtube-lite-beta-armeabi-v7a" "include" "split_config.armeabi_v7a split_config.en split_config.xxxhdpi"
137 | patch "youtube-lite-beta-armeabi-v7a" "revanced"
138 | }
139 | 9() {
140 | revanced_dl
141 | # Patch YouTube Music:
142 | # Arm64-v8a
143 | get_patches_key "youtube-music-revanced"
144 | get_apk "com.google.android.apps.youtube.music" "youtube-music-beta-arm64-v8a" "youtube-music" "google-inc/youtube-music/youtube-music" "arm64-v8a"
145 | patch "youtube-music-beta-arm64-v8a" "revanced"
146 | # Armeabi-v7a
147 | get_patches_key "youtube-music-revanced"
148 | get_apk "com.google.android.apps.youtube.music" "youtube-music-beta-armeabi-v7a" "youtube-music" "google-inc/youtube-music/youtube-music" "armeabi-v7a"
149 | patch "youtube-music-beta-armeabi-v7a" "revanced"
150 | # x86_64
151 | get_patches_key "youtube-music-revanced"
152 | get_apk "com.google.android.apps.youtube.music" "youtube-music-beta-x86_64" "youtube-music" "google-inc/youtube-music/youtube-music" "x86_64"
153 | patch "youtube-music-beta-x86_64" "revanced"
154 | # x86
155 | get_patches_key "youtube-music-revanced"
156 | get_apk "com.google.android.apps.youtube.music" "youtube-music-beta-x86" "youtube-music" "google-inc/youtube-music/youtube-music" "x86"
157 | patch "youtube-music-beta-x86" "revanced"
158 | }
159 | 10() {
160 | revanced_dl
161 | # Patch Duolingo
162 | get_patches_key "Duolingo"
163 | lock_version="1"
164 | get_apk "com.duolingo" "duolingo-beta" "duolingo-duolingo" "duolingo/duolingo-duolingo/duolingo-language-lessons" "Bundle"
165 | patch "duolingo-beta" "revanced"
166 | # Patch Google News Arm64-v8a
167 | get_patches_key "GoogleNews"
168 | get_apk "com.google.android.apps.magazines" "googlenews-beta" "google-news" "google-inc/google-news/google-news" "Bundle_extract"
169 | split_editor "googlenews-beta" "googlenews-beta-arm64-v8a" "exclude" "split_config.armeabi_v7a split_config.x86 split_config.x86_64"
170 | patch "googlenews-beta-arm64-v8a" "revanced"
171 | }
172 | 11() {
173 | revanced_dl
174 | # Patch Photomath
175 | get_patches_key "Photomath"
176 | get_apk "com.microblink.photomath" "photomath-beta" "photomath" "google-inc/photomath/photomath" "Bundle" "Bundle_extract"
177 | split_editor "photomath-beta" "photomath-beta"
178 | patch "photomath-beta" "revanced"
179 | # Patch Strava:
180 | get_patches_key "strava"
181 | get_apkpure "com.strava" "strava-beta-arm64-v8a" "strava-run-hike-2025-health/com.strava" "Bundle"
182 | patch "strava-beta-arm64-v8a" "revanced"
183 | }
184 | 12() {
185 | revanced_dl
186 | # Patch Spotjfy Arm64-v8a
187 | get_patches_key "Spotjfy-revanced"
188 | j="i"
189 | version="9.0.44.478" #https://github.com/ReVanced/revanced-patches/issues/4958#issuecomment-2883387940
190 | get_apkpure "com.spot"$j"fy.music" "spotjfy-beta-arm64-v8a" "spot"$j"fy-music-and-podcasts-for-android/com.spot"$j"fy.music"
191 | patch "spotjfy-beta-arm64-v8a" "revanced"
192 | }
193 | case "$1" in
194 | 1)
195 | 1
196 | ;;
197 | 2)
198 | 2
199 | ;;
200 | 3)
201 | 3
202 | ;;
203 | 4)
204 | 4
205 | ;;
206 | 5)
207 | 5
208 | ;;
209 | 6)
210 | 6
211 | ;;
212 | 7)
213 | 7
214 | ;;
215 | 8)
216 | 8
217 | ;;
218 | 9)
219 | 9
220 | ;;
221 | 10)
222 | 10
223 | ;;
224 | 11)
225 | 11
226 | ;;
227 | 12)
228 | 12
229 | ;;
230 | esac
231 |
--------------------------------------------------------------------------------
/src/build/Revanced-Experiment.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # ReVanced Experiments build
3 | source src/build/utils.sh
4 |
5 | #################################################
6 |
7 | # Download requirements
8 | dl_gh "ReVancedExperiments" "Aunali321" "latest"
9 | dl_gh "revanced-cli" "revanced" "latest"
10 |
11 | #################################################
12 |
13 | # Patch Telegram CH Play Version:
14 | get_patches_key "telegram-revanced-experiments"
15 | get_apk "org.telegram.messenger" "telegram" "telegram" "telegram-fz-llc/telegram/telegram" "arm64-v8a" "nodpi"
16 | patch "telegram" "revanced-experiments"
17 |
18 | # Patch Telegram Web Version:
19 | get_patches_key "telegram-revanced-experiments"
20 | get_apk "org.telegram.messenger" "telegram-web-version" "telegram-web-version" "telegram-fz-llc/telegram-web-version/telegram-web-version"
21 | patch "telegram-web-version" "revanced-experiments"
22 |
23 | # Patch Instagram:
24 | get_patches_key "instagram-revanced-experiments"
25 | get_apk "com.instagram.android" "instagram-arm64-v8a" "instagram-instagram" "instagram/instagram-instagram/instagram-instagram" "arm64-v8a" "nodpi"
26 | patch "instagram-arm64-v8a" "revanced-experiments"
--------------------------------------------------------------------------------
/src/build/Revanced-Extended-Android-5.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Revanced Extended for android 5
3 | source src/build/utils.sh
4 |
5 | # Download requirements
6 | dl_gh "revanced-patches-android5 revanced-integrations" "d4n3436" "latest"
7 | dl_gh "revanced-cli" "revanced" "v3.1.1"
8 |
9 | # Patch YouTube Extended for android 5:
10 | get_patches_key "youtube-revanced-extended-5"
11 | version="16.40.36"
12 | get_apk "com.google.android.youtube" "youtube" "youtube" "google-inc/youtube/youtube" "Bundle_extract"
13 | split_editor "youtube" "youtube"
14 | patch "youtube" "revanced-extended-android-5"
15 | # Patch Youtube Arm64-v8a
16 | get_patches_key "youtube-revanced-extended-5"
17 | split_editor "youtube" "youtube-arm64-v8a" "exclude" "split_config.armeabi_v7a split_config.x86 split_config.x86_64"
18 | patch "youtube-arm64-v8a" "revanced-extended-android-5"
19 | # Patch Youtube Armeabi-v7a
20 | get_patches_key "youtube-revanced-extended-5"
21 | split_editor "youtube" "youtube-armeabi-v7a" "exclude" "split_config.arm64_v8a split_config.x86 split_config.x86_64"
22 | patch "youtube-armeabi-v7a" "revanced-extended-android-5"
23 | # Patch Youtube x86
24 | get_patches_key "youtube-revanced-extended-5"
25 | split_editor "youtube" "youtube-x86" "exclude" "split_config.arm64_v8a split_config.armeabi_v7a split_config.x86_64"
26 | patch "youtube-x86" "revanced-extended-android-5"
27 | # Patch Youtube x86_64
28 | get_patches_key "youtube-revanced-extended-5"
29 | split_editor "youtube" "youtube-x86_64" "exclude" "split_config.arm64_v8a split_config.armeabi_v7a split_config.x86"
30 | patch "youtube-x86_64" "revanced-extended-android-5"
31 |
--------------------------------------------------------------------------------
/src/build/Revanced-Extended-Android-6-7.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Revanced Extended for android 6 & 7 build
3 | source src/build/utils.sh
4 |
5 | # Download requirements
6 | dl_gh "revanced-patches-android6-7" "kitadai31" "latest"
7 | dl_gh "revanced-cli" "inotia00" "latest"
8 | # Patch YouTube Extended for android 6 & 7:
9 | get_patches_key "youtube-revanced-extended-6-7"
10 | version="17.34.36"
11 | get_apk "com.google.android.youtube" "youtube" "youtube" "google-inc/youtube/youtube" "Bundle_extract"
12 | split_editor "youtube" "youtube"
13 | patch "youtube" "revanced-extended-android-6-7" "inotia"
14 | # Patch Youtube Arm64-v8a
15 | get_patches_key "youtube-revanced-extended-6-7"
16 | split_editor "youtube" "youtube-arm64-v8a" "exclude" "split_config.armeabi_v7a split_config.x86 split_config.x86_64"
17 | patch "youtube-arm64-v8a" "revanced-extended-android-6-7" "inotia"
18 | # Patch Youtube Armeabi-v7a
19 | get_patches_key "youtube-revanced-extended-6-7"
20 | split_editor "youtube" "youtube-armeabi-v7a" "exclude" "split_config.arm64_v8a split_config.x86 split_config.x86_64"
21 | patch "youtube-armeabi-v7a" "revanced-extended-android-6-7" "inotia"
22 | # Patch Youtube x86
23 | get_patches_key "youtube-revanced-extended-6-7"
24 | split_editor "youtube" "youtube-x86" "exclude" "split_config.arm64_v8a split_config.armeabi_v7a split_config.x86_64"
25 | patch "youtube-x86" "revanced-extended-android-6-7" "inotia"
26 | # Patch Youtube x86_64
27 | get_patches_key "youtube-revanced-extended-6-7"
28 | split_editor "youtube" "youtube-x86_64" "exclude" "split_config.arm64_v8a split_config.armeabi_v7a split_config.x86"
29 | patch "youtube-x86_64" "revanced-extended-android-6-7" "inotia"
30 |
--------------------------------------------------------------------------------
/src/build/Revanced-Extended-Beta.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Revanced Extended build
3 | source src/build/utils.sh
4 |
5 | # Download requirements
6 | dl_gh "revanced-patches revanced-cli" "inotia00" "prerelease"
7 |
8 | # Patch YouTube:
9 | get_patches_key "youtube-revanced-extended"
10 | get_apk "com.google.android.youtube" "youtube-beta" "youtube" "google-inc/youtube/youtube" "Bundle_extract"
11 | split_editor "youtube-beta" "youtube-beta"
12 | patch "youtube-beta" "revanced-extended" "inotia"
13 | # Patch Youtube Arm64-v8a
14 | get_patches_key "youtube-revanced-extended"
15 | split_editor "youtube-beta" "youtube-beta-arm64-v8a" "exclude" "split_config.armeabi_v7a split_config.x86 split_config.x86_64"
16 | patch "youtube-beta-arm64-v8a" "revanced-extended" "inotia"
17 | # Patch Youtube Armeabi-v7a
18 | get_patches_key "youtube-revanced-extended"
19 | split_editor "youtube-beta" "youtube-beta-armeabi-v7a" "exclude" "split_config.arm64_v8a split_config.x86 split_config.x86_64"
20 | patch "youtube-beta-armeabi-v7a" "revanced-extended" "inotia"
21 | # Patch Youtube x86
22 | get_patches_key "youtube-revanced-extended"
23 | split_editor "youtube-beta" "youtube-beta-x86" "exclude" "split_config.arm64_v8a split_config.armeabi_v7a split_config.x86_64"
24 | patch "youtube-beta-x86" "revanced-extended" "inotia"
25 | # Patch Youtube x86_64
26 | get_patches_key "youtube-revanced-extended"
27 | split_editor "youtube-beta" "youtube-beta-x86_64" "exclude" "split_config.arm64_v8a split_config.armeabi_v7a split_config.x86"
28 | patch "youtube-beta-x86_64" "revanced-extended" "inotia"
29 | # Patch YouTube:
30 | #get_patches_key "youtube-revanced-extended"
31 | #get_apk "com.google.android.youtube" "youtube-beta" "youtube" "google-inc/youtube/youtube"
32 | #patch "youtube-beta" "revanced-extended" "inotia"
33 | # Split architecture Youtube:
34 | #get_patches_key "youtube-revanced-extended"
35 | #for i in {0..3}; do
36 | # split_arch "youtube-beta" "revanced-extended" "$(gen_rip_libs ${libs[i]})"
37 | #done
38 |
39 | # Patch YouTube Music Extended:
40 | # Arm64-v8a
41 | get_patches_key "youtube-music-revanced-extended"
42 | get_apk "com.google.android.apps.youtube.music" "youtube-beta-music-arm64-v8a" "youtube-music" "google-inc/youtube-music/youtube-music" "arm64-v8a"
43 | patch "youtube-beta-music-arm64-v8a" "revanced-extended" "inotia"
44 | # Armeabi-v7a
45 | get_patches_key "youtube-music-revanced-extended"
46 | version="8.02.52"
47 | get_apk "com.google.android.apps.youtube.music" "youtube-beta-music-armeabi-v7a" "youtube-music" "google-inc/youtube-music/youtube-music" "armeabi-v7a"
48 | patch "youtube-beta-music-armeabi-v7a" "revanced-extended" "inotia"
49 | # x86_64
50 | get_patches_key "youtube-music-revanced-extended"
51 | get_apk "com.google.android.apps.youtube.music" "youtube-music-beta-x86_64" "youtube-music" "google-inc/youtube-music/youtube-music" "x86_64"
52 | patch "youtube-music-beta-x86_64" "revanced-extended" "inotia"
53 | # x86
54 | get_patches_key "youtube-music-revanced-extended"
55 | get_apk "com.google.android.apps.youtube.music" "youtube-music-beta-x86" "youtube-music" "google-inc/youtube-music/youtube-music" "x86"
56 | patch "youtube-music-beta-x86" "revanced-extended" "inotia"
57 |
58 | # Patch Reddit:
59 | get_patches_key "reddit-rve"
60 | get_apk "com.reddit.frontpage" "reddit-beta" "reddit" "redditinc/reddit/reddit" "Bundle_extract"
61 | split_editor "reddit-beta" "reddit"
62 | patch "reddit-beta" "revanced-extended" "inotia"
63 | # Patch Arm64-v8a:
64 | split_editor "reddit-beta" "reddit-arm64-v8a-beta" "exclude" "split_config.armeabi_v7a split_config.x86_64 split_config.mdpi split_config.ldpi split_config.hdpi split_config.xhdpi split_config.xxhdpi split_config.tvdpi"
65 | get_patches_key "reddit-rve"
66 | patch "reddit-arm64-v8a-beta" "revanced-extended" "inotia"
67 |
68 | # Patch YouTube Lite Arm64-v8a:
69 | get_patches_key "youtube-revanced-extended"
70 | split_editor "youtube-beta" "youtube-lite-beta-arm64-v8a" "include" "split_config.arm64_v8a split_config.en split_config.xhdpi split_config.xxxhdpi"
71 | patch "youtube-lite-beta-arm64-v8a" "revanced-extended" "inotia"
72 | # Patch YouTube Lite Armeabi-v7a:
73 | get_patches_key "youtube-revanced-extended"
74 | split_editor "youtube-beta" "youtube-lite-beta-armeabi-v7a" "include" "split_config.armeabi_v7a split_config.en split_config.xhdpi split_config.xxxhdpi"
75 | patch "youtube-lite-beta-armeabi-v7a" "revanced-extended" "inotia"
76 |
--------------------------------------------------------------------------------
/src/build/Revanced-Extended.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Revanced Extended build
3 | source src/build/utils.sh
4 |
5 | # Download requirements
6 | dl_gh "revanced-patches revanced-cli" "inotia00" "latest"
7 |
8 | # Patch YouTube:
9 | get_patches_key "youtube-revanced-extended"
10 | get_apk "com.google.android.youtube" "youtube" "youtube" "google-inc/youtube/youtube" "Bundle_extract"
11 | split_editor "youtube" "youtube"
12 | patch "youtube" "revanced-extended" "inotia"
13 | # Patch Youtube Arm64-v8a
14 | get_patches_key "youtube-revanced-extended"
15 | split_editor "youtube" "youtube-arm64-v8a" "exclude" "split_config.armeabi_v7a split_config.x86 split_config.x86_64"
16 | patch "youtube-arm64-v8a" "revanced-extended" "inotia"
17 | # Patch Youtube Armeabi-v7a
18 | get_patches_key "youtube-revanced-extended"
19 | split_editor "youtube" "youtube-armeabi-v7a" "exclude" "split_config.arm64_v8a split_config.x86 split_config.x86_64"
20 | patch "youtube-armeabi-v7a" "revanced-extended" "inotia"
21 | # Patch Youtube x86
22 | get_patches_key "youtube-revanced-extended"
23 | split_editor "youtube" "youtube-x86" "exclude" "split_config.arm64_v8a split_config.armeabi_v7a split_config.x86_64"
24 | patch "youtube-x86" "revanced-extended" "inotia"
25 | # Patch Youtube x86_64
26 | get_patches_key "youtube-revanced-extended"
27 | split_editor "youtube" "youtube-x86_64" "exclude" "split_config.arm64_v8a split_config.armeabi_v7a split_config.x86"
28 | patch "youtube-x86_64" "revanced-extended" "inotia"
29 | # Patch YouTube:
30 | #get_patches_key "youtube-revanced-extended"
31 | #get_apk "com.google.android.youtube" "youtube" "youtube" "google-inc/youtube/youtube"
32 | #patch "youtube" "revanced-extended" "inotia"
33 | # Split architecture Youtube:
34 | #get_patches_key "youtube-revanced-extended"
35 | #for i in {0..3}; do
36 | # split_arch "youtube" "revanced-extended" "$(gen_rip_libs ${libs[i]})"
37 | #done
38 |
39 | # Patch YouTube Music Extended:
40 | # Arm64-v8a
41 | get_patches_key "youtube-music-revanced-extended"
42 | get_apk "com.google.android.apps.youtube.music" "youtube-music-arm64-v8a" "youtube-music" "google-inc/youtube-music/youtube-music" "arm64-v8a"
43 | patch "youtube-music-arm64-v8a" "revanced-extended" "inotia"
44 | # Armeabi-v7a
45 | get_patches_key "youtube-music-revanced-extended"
46 | get_apk "com.google.android.apps.youtube.music" "youtube-music-armeabi-v7a" "youtube-music" "google-inc/youtube-music/youtube-music" "armeabi-v7a"
47 | patch "youtube-music-armeabi-v7a" "revanced-extended" "inotia"
48 | # x86_64
49 | get_patches_key "youtube-music-revanced-extended"
50 | get_apk "com.google.android.apps.youtube.music" "youtube-music-x86_64" "youtube-music" "google-inc/youtube-music/youtube-music" "x86_64"
51 | patch "youtube-music-x86_64" "revanced-extended" "inotia"
52 | # x86
53 | get_patches_key "youtube-music-revanced-extended"
54 | get_apk "com.google.android.apps.youtube.music" "youtube-music-x86" "youtube-music" "google-inc/youtube-music/youtube-music" "x86"
55 | patch "youtube-music-x86" "revanced-extended" "inotia"
56 |
57 | # Patch Reddit:
58 | get_patches_key "reddit-rve"
59 | get_apk "com.reddit.frontpage" "reddit" "reddit" "redditinc/reddit/reddit" "Bundle_extract"
60 | split_editor "reddit" "reddit"
61 | patch "reddit" "revanced-extended" "inotia"
62 | # Patch Arm64-v8a:
63 | split_editor "reddit" "reddit-arm64-v8a" "exclude" "split_config.armeabi_v7a split_config.x86_64 split_config.mdpi split_config.ldpi split_config.hdpi split_config.xhdpi split_config.xxhdpi split_config.tvdpi"
64 | get_patches_key "reddit-rve"
65 | patch "reddit-arm64-v8a" "revanced-extended" "inotia"
66 |
67 | # Patch YouTube Lite Arm64-v8a:
68 | get_patches_key "youtube-revanced-extended"
69 | split_editor "youtube" "youtube-lite-arm64-v8a" "include" "split_config.arm64_v8a split_config.en split_config.xhdpi split_config.xxxhdpi"
70 | patch "youtube-lite-arm64-v8a" "revanced-extended" "inotia"
71 | # Patch YouTube Lite Armeabi-v7a:
72 | get_patches_key "youtube-revanced-extended"
73 | split_editor "youtube" "youtube-lite-armeabi-v7a" "include" "split_config.armeabi_v7a split_config.en split_config.xhdpi split_config.xxxhdpi"
74 | patch "youtube-lite-armeabi-v7a" "revanced-extended" "inotia"
75 |
--------------------------------------------------------------------------------
/src/build/Revanced.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Revanced build
3 | source ./src/build/utils.sh
4 | # Download requirements
5 | revanced_dl(){
6 | dl_gh "revanced-patches revanced-cli" "revanced" "latest"
7 | }
8 | 1() {
9 | revanced_dl
10 | # Patch YouTube:
11 | get_patches_key "youtube-revanced"
12 | get_apk "com.google.android.youtube" "youtube" "youtube" "google-inc/youtube/youtube" "Bundle_extract"
13 | split_editor "youtube" "youtube"
14 | patch "youtube" "revanced"
15 | # Patch Youtube Arm64-v8a
16 | get_patches_key "youtube-revanced"
17 | split_editor "youtube" "youtube-arm64-v8a" "exclude" "split_config.armeabi_v7a split_config.x86 split_config.x86_64"
18 | patch "youtube-arm64-v8a" "revanced"
19 | # Patch Youtube Armeabi-v7a
20 | get_patches_key "youtube-revanced"
21 | split_editor "youtube" "youtube-armeabi-v7a" "exclude" "split_config.arm64_v8a split_config.x86 split_config.x86_64"
22 | patch "youtube-armeabi-v7a" "revanced"
23 | # Patch Youtube x86
24 | get_patches_key "youtube-revanced"
25 | split_editor "youtube" "youtube-x86" "exclude" "split_config.arm64_v8a split_config.armeabi_v7a split_config.x86_64"
26 | patch "youtube-x86" "revanced"
27 | # Patch Youtube x86_64
28 | get_patches_key "youtube-revanced"
29 | split_editor "youtube" "youtube-x86_64" "exclude" "split_config.arm64_v8a split_config.armeabi_v7a split_config.x86"
30 | patch "youtube-x86_64" "revanced"
31 | }
32 | 2() {
33 | revanced_dl
34 | # Patch Messenger:
35 | # Arm64-v8a
36 | get_patches_key "messenger"
37 | lock_version="1"
38 | get_apk "com.facebook.orca" "messenger-arm64-v8a" "messenger" "facebook-2/messenger/facebook-messenger" "arm64-v8a" "nodpi"
39 | patch "messenger-arm64-v8a" "revanced"
40 | # Patch Facebook:
41 | # Arm64-v8a
42 | get_patches_key "facebook"
43 | get_apk "com.facebook.katana" "facebook-arm64-v8a" "facebook" "facebook-2/facebook/facebook" "arm64-v8a" "nodpi" "Android 11+"
44 | patch "facebook-arm64-v8a" "revanced"
45 | }
46 | 3() {
47 | revanced_dl
48 | # Patch Google photos:
49 | # Arm64-v8a
50 | get_patches_key "gg-photos"
51 | get_apk "com.google.android.apps.photos" "gg-photos-arm64-v8a" "photos" "google-inc/photos/google-photos" "arm64-v8a" "nodpi"
52 | patch "gg-photos-arm64-v8a" "revanced"
53 | # Armeabi-v7a
54 | get_patches_key "gg-photos"
55 | get_apk "com.google.android.apps.photos" "gg-photos-armeabi-v7a" "photos" "google-inc/photos/google-photos" "armeabi-v7a" "nodpi"
56 | patch "gg-photos-armeabi-v7a" "revanced"
57 | }
58 | 4() {
59 | revanced_dl
60 | # Patch Tiktok:
61 | get_patches_key "tiktok"
62 | url="https://tiktok.en.uptodown.com/android/download/1026195874-x" #Use uptodown because apkmirror ban tiktok in US lead github action can't download apk file
63 | url="https://dw.uptodown.com/dwn/$(req "$url" - | $pup -p --charset utf-8 'button#detail-download-button attr{data-url}')"
64 | req "$url" "tiktok.apk"
65 | patch "tiktok" "revanced"
66 | # Patch Instagram:
67 | # Arm64-v8a
68 | get_patches_key "instagram"
69 | get_apk "com.instagram.android" "instagram-arm64-v8a" "instagram-instagram" "instagram/instagram-instagram/instagram" "arm64-v8a" "nodpi"
70 | patch "instagram-arm64-v8a" "revanced"
71 | }
72 | 5() {
73 | revanced_dl
74 | # Patch Pixiv:
75 | get_patches_key "pixiv"
76 | version="6.134.1" #https://github.com/ReVanced/revanced-patches/issues/4477
77 | get_apk "jp.pxv.android" "pixiv" "pixiv" "pixiv-inc/pixiv/pixiv"
78 | patch "pixiv" "revanced"
79 | # Patch Twitch:
80 | get_patches_key "twitch"
81 | #get_apk "tv.twitch.android.app" "twitch" "twitch" "twitch-interactive-inc/twitch/twitch" "Bundle_extract"
82 | #split_editor "twitch" "twitch"
83 | version="19.1.0" #https://github.com/orgs/ReVanced/discussions/1135#discussioncomment-11797007
84 | get_apk "tv.twitch.android.app" "twitch" "twitch" "twitch-interactive-inc/twitch/twitch"
85 | patch "twitch" "revanced"
86 | # Patch Twitch Arm64-v8a:
87 | #get_patches_key "twitch"
88 | #split_editor "twitch" "twitch-arm64-v8a" "exclude" "split_config.armeabi_v7a split_config.x86 split_config.x86_64"
89 | #patch "twitch-arm64-v8a" "revanced"
90 | }
91 | 6() {
92 | revanced_dl
93 | # Patch Tumblr:
94 | get_patches_key "tumblr"
95 | get_apk "com.tumblr" "tumblr" "tumblr" "tumblr-inc/tumblr/tumblr-fandom-art-chaos" "Bundle_extract"
96 | split_editor "tumblr" "tumblr"
97 | patch "tumblr" "revanced"
98 | # Patch Tumblr Arm64-v8a:
99 | get_patches_key "tumblr"
100 | split_editor "tumblr" "tumblr-arm64-v8a" "exclude" "split_config.armeabi_v7a split_config.x86 split_config.x86_64"
101 | patch "tumblr-arm64-v8a" "revanced"
102 | # Patch SoundCloud:
103 | get_patches_key "soundcloud"
104 | get_apk "com.soundcloud.android" "soundcloud" "soundcloud-soundcloud" "soundcloud/soundcloud-soundcloud/soundcloud-play-music-songs" "Bundle_extract"
105 | split_editor "soundcloud" "soundcloud"
106 | patch "soundcloud" "revanced"
107 | # Patch SoundCloud Arm64-v8a:
108 | get_patches_key "soundcloud"
109 | split_editor "soundcloud" "soundcloud-arm64-v8a" "exclude" "split_config.armeabi_v7a split_config.x86 split_config.x86_64"
110 | patch "soundcloud-arm64-v8a" "revanced"
111 | }
112 | 7() {
113 | revanced_dl
114 | # Patch RAR:
115 | get_patches_key "rar"
116 | get_apk "com.rarlab.rar" "rar" "rar" "rarlab-published-by-win-rar-gmbh/rar/rar" "Bundle"
117 | patch "rar" "revanced"
118 | # Patch Lightroom:
119 | #get_patches_key "lightroom"
120 | #version="10.0.2"
121 | #get_apk "com.adobe.lrmobile" "lightroom" "lightroom" "adobe/lightroom/lightroom"
122 | #patch "lightroom" "revanced"
123 | }
124 | 8() {
125 | revanced_dl
126 | get_apk "com.google.android.youtube" "youtube-lite" "youtube" "google-inc/youtube/youtube" "Bundle_extract"
127 | # Patch YouTube Lite Arm64-v8a:
128 | get_patches_key "youtube-revanced"
129 | split_editor "youtube-lite" "youtube-lite-arm64-v8a" "include" "split_config.arm64_v8a split_config.en split_config.xxxhdpi"
130 | patch "youtube-lite-arm64-v8a" "revanced"
131 | # Patch YouTube Lite Armeabi-v7a:
132 | get_patches_key "youtube-revanced"
133 | split_editor "youtube-lite" "youtube-lite-armeabi-v7a" "include" "split_config.armeabi_v7a split_config.en split_config.xxxhdpi"
134 | patch "youtube-lite-armeabi-v7a" "revanced"
135 | }
136 | 9() {
137 | revanced_dl
138 | # Patch YouTube Music:
139 | # Arm64-v8a
140 | get_patches_key "youtube-music-revanced"
141 | get_apk "com.google.android.apps.youtube.music" "youtube-music-arm64-v8a" "youtube-music" "google-inc/youtube-music/youtube-music" "arm64-v8a"
142 | patch "youtube-music-arm64-v8a" "revanced"
143 | # Armeabi-v7a
144 | get_patches_key "youtube-music-revanced"
145 | get_apk "com.google.android.apps.youtube.music" "youtube-music-armeabi-v7a" "youtube-music" "google-inc/youtube-music/youtube-music" "armeabi-v7a"
146 | patch "youtube-music-armeabi-v7a" "revanced"
147 | # x86_64
148 | get_patches_key "youtube-music-revanced"
149 | get_apk "com.google.android.apps.youtube.music" "youtube-music-x86_64" "youtube-music" "google-inc/youtube-music/youtube-music" "x86_64"
150 | patch "youtube-music-x86_64" "revanced"
151 | # x86
152 | get_patches_key "youtube-music-revanced"
153 | get_apk "com.google.android.apps.youtube.music" "youtube-music-x86" "youtube-music" "google-inc/youtube-music/youtube-music" "x86"
154 | patch "youtube-music-x86" "revanced"
155 | }
156 | 10() {
157 | revanced_dl
158 | # Patch Duolingo
159 | get_patches_key "Duolingo"
160 | lock_version="1"
161 | get_apk "com.duolingo" "duolingo" "duolingo-duolingo" "duolingo/duolingo-duolingo/duolingo-language-lessons" "Bundle"
162 | patch "duolingo" "revanced"
163 | # Patch Google News Arm64-v8a
164 | get_patches_key "GoogleNews"
165 | get_apk "com.google.android.apps.magazines" "googlenews" "google-news" "google-inc/google-news/google-news" "Bundle_extract"
166 | split_editor "googlenews" "googlenews-arm64-v8a" "exclude" "split_config.armeabi_v7a split_config.x86 split_config.x86_64"
167 | patch "googlenews-arm64-v8a" "revanced"
168 | }
169 | 11() {
170 | revanced_dl
171 | # Patch Photomath
172 | get_patches_key "Photomath"
173 | get_apk "com.microblink.photomath" "photomath" "photomath" "google-inc/photomath/photomath" "Bundle" "Bundle_extract"
174 | split_editor "photomath" "photomath"
175 | patch "photomath" "revanced"
176 | # Patch Strava:
177 | get_patches_key "strava"
178 | get_apkpure "com.strava" "strava-arm64-v8a" "strava-run-hike-2025-health/com.strava" "Bundle"
179 | patch "strava-arm64-v8a" "revanced"
180 | }
181 | 12() {
182 | revanced_dl
183 | # Patch Spotjfy Arm64-v8a
184 | get_patches_key "Spotjfy-revanced"
185 | j="i"
186 | version="9.0.44.478" #https://github.com/ReVanced/revanced-patches/issues/4958#issuecomment-2883387940
187 | get_apkpure "com.spot"$j"fy.music" "spotjfy-arm64-v8a" "spot"$j"fy-music-and-podcasts-for-android/com.spot"$j"fy.music"
188 | patch "spotjfy-arm64-v8a" "revanced"
189 | }
190 | case "$1" in
191 | 1)
192 | 1
193 | ;;
194 | 2)
195 | 2
196 | ;;
197 | 3)
198 | 3
199 | ;;
200 | 4)
201 | 4
202 | ;;
203 | 5)
204 | 5
205 | ;;
206 | 6)
207 | 6
208 | ;;
209 | 7)
210 | 7
211 | ;;
212 | 8)
213 | 8
214 | ;;
215 | 9)
216 | 9
217 | ;;
218 | 10)
219 | 10
220 | ;;
221 | 11)
222 | 11
223 | ;;
224 | 12)
225 | 12
226 | ;;
227 | esac
228 |
--------------------------------------------------------------------------------
/src/build/utils.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | mkdir ./release ./download
4 |
5 | #Setup pup for download apk files
6 | wget -q -O ./pup.zip https://github.com/ericchiang/pup/releases/download/v0.4.0/pup_v0.4.0_linux_amd64.zip
7 | unzip "./pup.zip" -d "./" > /dev/null 2>&1
8 | pup="./pup"
9 | #Setup APKEditor for install combine split apks
10 | wget -q -O ./APKEditor.jar https://github.com/REAndroid/APKEditor/releases/download/V1.4.2/APKEditor-1.4.2.jar
11 | APKEditor="./APKEditor.jar"
12 |
13 | #################################################
14 |
15 | # Colored output logs
16 | green_log() {
17 | echo -e "\e[32m$1\e[0m"
18 | }
19 | red_log() {
20 | echo -e "\e[31m$1\e[0m"
21 | }
22 |
23 | #################################################
24 |
25 | # Download Github assets requirement:
26 | dl_gh() {
27 | if [ $3 == "prerelease" ]; then
28 | local repo=$1
29 | for repo in $1 ; do
30 | local owner=$2 tag=$3 found=0 assets=0
31 | releases=$(wget -qO- "https://api.github.com/repos/$owner/$repo/releases")
32 | while read -r line; do
33 | if [[ $line == *"\"tag_name\":"* ]]; then
34 | tag_name=$(echo $line | cut -d '"' -f 4)
35 | if [ "$tag" == "latest" ] || [ "$tag" == "prerelease" ]; then
36 | found=1
37 | else
38 | found=0
39 | fi
40 | fi
41 | if [[ $line == *"\"prerelease\":"* ]]; then
42 | prerelease=$(echo $line | cut -d ' ' -f 2 | tr -d ',')
43 | if [ "$tag" == "prerelease" ] && [ "$prerelease" == "true" ] ; then
44 | found=1
45 | elif [ "$tag" == "prerelease" ] && [ "$prerelease" == "false" ]; then
46 | found=1
47 | fi
48 | fi
49 | if [[ $line == *"\"assets\":"* ]]; then
50 | if [ $found -eq 1 ]; then
51 | assets=1
52 | fi
53 | fi
54 | if [[ $line == *"\"browser_download_url\":"* ]]; then
55 | if [ $assets -eq 1 ]; then
56 | url=$(echo $line | cut -d '"' -f 4)
57 | if [[ $url != *.asc ]]; then
58 | name=$(basename "$url")
59 | wget -q -O "$name" "$url"
60 | green_log "[+] Downloading $name from $owner"
61 | fi
62 | fi
63 | fi
64 | if [[ $line == *"],"* ]]; then
65 | if [ $assets -eq 1 ]; then
66 | assets=0
67 | break
68 | fi
69 | fi
70 | done <<< "$releases"
71 | done
72 | else
73 | for repo in $1 ; do
74 | tags=$( [ "$3" == "latest" ] && echo "latest" || echo "tags/$3" )
75 | wget -qO- "https://api.github.com/repos/$2/$repo/releases/$tags" \
76 | | jq -r '.assets[] | "\(.browser_download_url) \(.name)"' \
77 | | while read -r url names; do
78 | if [[ $url != *.asc ]]; then
79 | green_log "[+] Downloading $names from $2"
80 | wget -q -O "$names" $url
81 | fi
82 | done
83 | done
84 | fi
85 | }
86 |
87 | #################################################
88 |
89 | # Get patches list:
90 | get_patches_key() {
91 | excludePatches=""
92 | includePatches=""
93 | excludeLinesFound=false
94 | includeLinesFound=false
95 | sed -i 's/\r$//' src/patches/$1/include-patches
96 | sed -i 's/\r$//' src/patches/$1/exclude-patches
97 | if [[ $(ls revanced-cli-*.jar) =~ revanced-cli-([0-9]+) ]]; then
98 | num=${BASH_REMATCH[1]}
99 | if [ $num -ge 5 ]; then
100 | while IFS= read -r line1; do
101 | excludePatches+=" -d \"$line1\""
102 | excludeLinesFound=true
103 | done < src/patches/$1/exclude-patches
104 | while IFS= read -r line2; do
105 | if [[ "$line2" == *"|"* ]]; then
106 | patch_name="${line2%%|*}"
107 | options="${line2#*|}"
108 | includePatches+=" -e \"${patch_name}\" ${options}"
109 | else
110 | includePatches+=" -e \"$line2\""
111 | fi
112 | includeLinesFound=true
113 | done < src/patches/$1/include-patches
114 | else
115 | while IFS= read -r line1; do
116 | excludePatches+=" -e \"$line1\""
117 | excludeLinesFound=true
118 | done < src/patches/$1/exclude-patches
119 |
120 | while IFS= read -r line2; do
121 | includePatches+=" -i \"$line2\""
122 | includeLinesFound=true
123 | done < src/patches/$1/include-patches
124 | fi
125 | fi
126 | if [ "$excludeLinesFound" = false ]; then
127 | excludePatches=""
128 | fi
129 | if [ "$includeLinesFound" = false ]; then
130 | includePatches=""
131 | fi
132 | export excludePatches
133 | export includePatches
134 | }
135 |
136 | #################################################
137 |
138 | # Download apks files from APKMirror:
139 | _req() {
140 | if [ "$2" = "-" ]; then
141 | wget -nv -O "$2" --header="User-Agent: Mozilla/5.0 (Android 14; Mobile; rv:134.0) Gecko/134.0 Firefox/134.0" --header="Content-Type: application/octet-stream" --header="Accept-Language: en-US,en;q=0.9" --header="Connection: keep-alive" --header="Upgrade-Insecure-Requests: 1" --header="Cache-Control: max-age=0" --header="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8" --keep-session-cookies --timeout=30 "$1" || rm -f "$2"
142 | else
143 | wget -nv -O "./download/$2" --header="User-Agent: Mozilla/5.0 (Android 14; Mobile; rv:134.0) Gecko/134.0 Firefox/134.0" --header="Content-Type: application/octet-stream" --header="Accept-Language: en-US,en;q=0.9" --header="Connection: keep-alive" --header="Upgrade-Insecure-Requests: 1" --header="Cache-Control: max-age=0" --header="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8" --keep-session-cookies --timeout=30 "$1" || rm -f "./download/$2"
144 | fi
145 | }
146 | req() {
147 | _req "$1" "$2"
148 | }
149 | dl_apk() {
150 | local url=$1 regexp=$2 output=$3
151 | if [[ -z "$4" ]] || [[ $4 == "Bundle" ]] || [[ $4 == "Bundle_extract" ]]; then
152 | url="https://www.apkmirror.com$(req "$url" - | tr '\n' ' ' | sed -n "s/.*]*href=\"\([^\"]*\)\".*${regexp}.*/\1/p")"
153 | else
154 | url="https://www.apkmirror.com$(req "$url" - | tr '\n' ' ' | sed -n "s/href=\"/@/g; s;.*${regexp}.*;\1;p")"
155 | fi
156 | url="https://www.apkmirror.com$(req "$url" - | grep -oP 'class="[^"]*downloadButton[^"]*".*?href="\K[^"]+')"
157 | url="https://www.apkmirror.com$(req "$url" - | grep -oP 'id="download-link".*?href="\K[^"]+')"
158 | #url="https://www.apkmirror.com$(req "$url" - | $pup -p --charset utf-8 'a.downloadButton attr{href}')"
159 | #url="https://www.apkmirror.com$(req "$url" - | $pup -p --charset utf-8 'a#download-link attr{href}')"
160 | if [[ "$url" == "https://www.apkmirror.com" ]]; then
161 | exit 0
162 | fi
163 | req "$url" "$output"
164 | }
165 | get_apk() {
166 | if [[ -z $5 ]]; then
167 | url_regexp='APK<\/span>'
168 | elif [[ $5 == "Bundle" ]] || [[ $5 == "Bundle_extract" ]]; then
169 | url_regexp='BUNDLE<\/span>'
170 | else
171 | case $5 in
172 | arm64-v8a) url_regexp='arm64-v8a'"[^@]*$7"''"[^@]*$6"'[^@]*@\([^"]*\)' ;;
173 | armeabi-v7a) url_regexp='armeabi-v7a'"[^@]*$7"''"[^@]*$6"'[^@]*@\([^"]*\)' ;;
174 | x86) url_regexp='x86'"[^@]*$7"''"[^@]*$6"'[^@]*@\([^"]*\)' ;;
175 | x86_64) url_regexp='x86_64'"[^@]*$7"''"[^@]*$6"'[^@]*@\([^"]*\)' ;;
176 | *) url_regexp='$5'"[^@]*$7"''"[^@]*$6"'[^@]*@\([^"]*\)' ;;
177 | esac
178 | fi
179 | if [ -z "$version" ] && [ "$lock_version" != "1" ]; then
180 | if [[ $(ls revanced-cli-*.jar) =~ revanced-cli-([0-9]+) ]]; then
181 | num=${BASH_REMATCH[1]}
182 | if [ $num -ge 5 ]; then
183 | version=$(java -jar *cli*.jar list-patches --with-packages --with-versions *.rvp | awk -v pkg="$1" 'BEGIN { found = 0 } /^Index:/ { found = 0 } /Package name: / { if ($3 == pkg) { found = 1 } } /Compatible versions:/ { if (found) { getline; latest_version = $1; while (getline && $1 ~ /^[0-9]+\./) { latest_version = $1 } print latest_version; exit } }')
184 | else
185 | version=$(jq -r '[.. | objects | select(.name == "'$1'" and .versions != null) | .versions[]] | reverse | .[0] // ""' *.json | uniq)
186 | fi
187 | fi
188 | fi
189 | export version="$version"
190 | if [[ -n "$version" ]]; then
191 | version=$(echo "$version" | tr -d ' ' | sed 's/\./-/g')
192 | green_log "[+] Downloading $3 version: $version $5 $6 $7"
193 | if [[ $5 == "Bundle" ]] || [[ $5 == "Bundle_extract" ]]; then
194 | local base_apk="$2.apkm"
195 | else
196 | local base_apk="$2.apk"
197 | fi
198 | local dl_url=$(dl_apk "https://www.apkmirror.com/apk/$4-$version-release/" \
199 | "$url_regexp" \
200 | "$base_apk" \
201 | "$5")
202 | if [[ -f "./download/$base_apk" ]]; then
203 | green_log "[+] Successfully downloaded $2"
204 | else
205 | red_log "[-] Failed to download $2"
206 | exit 1
207 | fi
208 | if [[ $5 == "Bundle" ]]; then
209 | green_log "[+] Merge splits apk to standalone apk"
210 | java -jar $APKEditor m -i ./download/$2.apkm -o ./download/$2.apk > /dev/null 2>&1
211 | elif [[ $5 == "Bundle_extract" ]]; then
212 | unzip "./download/$base_apk" -d "./download/$(basename "$base_apk" .apkm)" > /dev/null 2>&1
213 | fi
214 | return 0
215 | fi
216 | local attempt=0
217 | while [ $attempt -lt 10 ]; do
218 | if [[ -z $version ]] || [ $attempt -ne 0 ]; then
219 | local upload_tail="?$([[ $3 = duolingo ]] && echo devcategory= || echo appcategory=)"
220 | version=$(req "https://www.apkmirror.com/uploads/$upload_tail$3" - | \
221 | $pup 'div.widget_appmanager_recentpostswidget h5 a.fontBlack text{}' | \
222 | grep -Evi 'alpha|beta' | \
223 | grep -oPi '\b\d+(\.\d+)+(?:\-\w+)?(?:\.\d+)?(?:\.\w+)?\b' | \
224 | sed -n "$((attempt + 1))p")
225 | fi
226 | version=$(echo "$version" | tr -d ' ' | sed 's/\./-/g')
227 | green_log "[+] Downloading $3 version: $version $5 $6 $7"
228 | if [[ $5 == "Bundle" ]] || [[ $5 == "Bundle_extract" ]]; then
229 | local base_apk="$2.apkm"
230 | else
231 | local base_apk="$2.apk"
232 | fi
233 | local dl_url=$(dl_apk "https://www.apkmirror.com/apk/$4-$version-release/" \
234 | "$url_regexp" \
235 | "$base_apk" \
236 | "$5")
237 | if [[ -f "./download/$base_apk" ]]; then
238 | green_log "[+] Successfully downloaded $2"
239 | break
240 | else
241 | ((attempt++))
242 | red_log "[-] Failed to download $2, trying another version"
243 | unset version
244 | fi
245 | done
246 |
247 | if [ $attempt -eq 10 ]; then
248 | red_log "[-] No more versions to try. Failed download"
249 | return 1
250 | fi
251 | if [[ $5 == "Bundle" ]]; then
252 | green_log "[+] Merge splits apk to standalone apk"
253 | java -jar $APKEditor m -i ./download/$2.apkm -o ./download/$2.apk > /dev/null 2>&1
254 | elif [[ $5 == "Bundle_extract" ]]; then
255 | unzip "./download/$base_apk" -d "./download/$(basename "$base_apk" .apkm)" > /dev/null 2>&1
256 | fi
257 | }
258 | get_apkpure() {
259 | if [ -z "$version" ] && [ "$lock_version" != "1" ]; then
260 | if [[ $(ls revanced-cli-*.jar) =~ revanced-cli-([0-9]+) ]]; then
261 | num=${BASH_REMATCH[1]}
262 | if [ $num -ge 5 ]; then
263 | version=$(java -jar *cli*.jar list-patches --with-packages --with-versions *.rvp | awk -v pkg="$1" 'BEGIN { found = 0 } /^Index:/ { found = 0 } /Package name: / { if ($3 == pkg) { found = 1 } } /Compatible versions:/ { if (found) { getline; latest_version = $1; while (getline && $1 ~ /^[0-9]+\./) { latest_version = $1 } print latest_version; exit } }')
264 | else
265 | version=$(jq -r '[.. | objects | select(.name == "'$1'" and .versions != null) | .versions[]] | reverse | .[0] // ""' *.json | uniq)
266 | fi
267 | fi
268 | fi
269 | export version="$version"
270 | if [[ $4 == "Bundle" ]] || [[ $4 == "Bundle_extract" ]]; then
271 | local base_apk="$2.xapk"
272 | else
273 | local base_apk="$2.apk"
274 | fi
275 | if [[ -n "$version" ]]; then
276 | url="https://apkpure.com/$3/downloading/$version"
277 | else
278 | url="https://apkpure.com/$3/downloading/"
279 | version="$(req "$url" - | awk -F'Download APK | \\(' '/