A personal builder for Morphe patches. It makes non-root APKs and Magisk/KernelSU modules, and CI updates them daily. It is built on j-hc/revanced-magisk-module.
Get the latest release.
Every APK and module in a release carries a GitHub build provenance attestation. To make sure that CI of this repo built a file, run:
gh attestation verify <file> --repo andrewliang25/patched-apps
Contributors: sign your commits so that they show as Verified.
| App | Patches | Main features | non-root APK | module | Notes |
|---|---|---|---|---|---|
| Morphe | No video ads, SponsorBlock, background playback, Return YouTube Dislike, custom themes | ✅ | ✅ | The APK is renamed and needs MicroG-RE | |
| Morphe | No ads, background playback, exclusive-audio mode, minimized playback | ✅ | ✅ | arm64-v8a. The APK is renamed and needs MicroG-RE | |
| Rushi | Unlimited backup at original quality, no device or account model lock, backup control for each DCIM folder, correct grouping of non-Camera DCIM folders | ✅ | ✅ | The APK is renamed to app.morphe.android.apps.photos, is labelled Photos Morphe, and needs MicroG-RE |
|
| Piko | Block ads and sponsored posts, download photos, videos and reels, hide story "seen", turn off typing and read receipts | ✅ | ❌ | The APK is renamed to app.piko.instagram.android. Experimental, and APK only, see Instagram: APK only |
|
| Andrew | Hide sponsored posts, reels and stories, hide suggested and promoted posts, block background ad prefetch and ad telemetry, turn off Audience Network | ✅ | ✅ | arm64-v8a. The stock APK is self-hosted on archive.org, and the bundle supports one build only. It is not renamed, so the non-root APK replaces the official app. Uninstall that app first. Experimental | |
| Chiggi | Hide ads, remove the AD_ID (advertising ID) permission | ✅ | ✅ | arm64-v8a. The APK is renamed to app.chiggi.instagram.barcelona. Experimental, see the permission conflict |
|
| Morphe | Block ads, clean share links, hide recommendations and premium prompts, custom branding | ✅ | ✅ | The APK is renamed to app.morphe.reddit.frontpage. Earlier releases were not renamed, see Reddit: renamed |
|
| Piko | Hide ads and promoted tweets, download media, restore the chronological timeline, hide view counts | ✅ | ✅ | Not cloned. The APK and the module both use com.twitter.android. Uninstall the app that has this package before you install one of them |
|
| Rushi | Remove ads, unlock Premium, keep deleted and disappearing messages, save restricted media, hide the typing indicator, faster downloads | ✅ | ✅ | arm64-v8a. It targets the Play Store build org.telegram.messenger. The stock APK is self-hosted on archive.org and follows the build that the bundle targets. It is not renamed, so the non-root APK replaces the official app. Uninstall that app first. The APK also needs MicroG-RE |
|
| Andrew | Hide ads and banners, remove the VOOM, Wallet and LINE TODAY tabs, hide Home modules, keep chats unread (no read receipts), open links outside the app | ✅ | ✅ | arm64-v8a. The stock APK is self-hosted on archive.org. It is not renamed and shares jp.naver.line.android with the Play Store build. Uninstall the official app before you install the non-root APK |
Each app is one config entry, and it makes two output types:
- non-root APK — install it without root. Most APKs get a new package name, either an
app.<patch>.<pkg>clone or the MicroG-RE variant for Google apps. Thus they install beside the official app instead of replacing it. - module — a Magisk/KernelSU module that mounts the patched APK over the stock app. It keeps the original package, so it needs root and the stock app. Instagram ships as an APK only.
Experimental: Instagram and Facebook use pairip integrity protection. Their patched builds can fail to run on some devices.
- The non-root YouTube, YT Music, Google Photos and Telegram APKs need MicroG-RE.
- For every KernelSU/Magisk module, add the target app to the Zygisk DenyList, or the mount does not apply. Then use zygisk-detach to detach the app from the Play Store, so that the Play Store cannot update it.
INSTALL_FAILED_DUPLICATE_PERMISSION occurs when an app declares a custom <permission> whose name an installed app already owns, and the two apps have different signing certificates. Apps that share permission names and have the same signing key install together.
Meta apps declare shared family permissions, for example com.facebook.permission.prod.FB_APP_COMMUNICATION. The rename patch keeps those permission names. Thus the conflict is between a clone and the official Meta app that owns the name.
This applies to Threads alone. The clone app.chiggi.instagram.barcelona declares the permission names of Threads under the certificate of this repo. Thus it conflicts with the official Threads app.
There are two workarounds. Uninstall the official Threads app first, or use the root module, which keeps the original package and needs no permission rename.
Instagram ships the clone APK app.piko.instagram.android only. On a module, which keeps the original package, the Piko settings screen does not open. See crimera/piko#882.
The non-root Reddit APK uses app.morphe.reddit.frontpage and installs beside the official Reddit app. Releases up to 67 kept com.reddit.frontpage, because the rename patch of Morphe changed its name and the build no longer found it.
The package name is part of the identity of an app, so Android cannot update the older APK to this one. Uninstall a Reddit APK from release 67 or earlier first. An uninstall erases the app data. The module is not affected, because it keeps com.reddit.frontpage to mount over the stock app.
bash <(curl -sSf https://raw.githubusercontent.com/andrewliang25/patched-apps/main/build-termux.sh)$ git clone https://github.com/andrewliang25/patched-apps --depth 1
$ cd patched-apps
$ ./build.sh- Edit
config.tomlto include or exclude patches, and to add or remove apps. You can also make a config with rvmm-config-gen. - Read
CONFIG.mdfor all options. - Start the Build workflow, or wait for the daily CI run. Then get the outputs from the releases.
Twitter and Instagram use Piko. Threads uses Chiggi. Telegram and Google Photos use the morphe-patches of rushiranpise, and Facebook and LINE use the morphe-patches of Andrew. The Morphe CLI drives all of them. Each stock APK is verified against the official signing certificate of the app, which sig.txt holds.
The config holds short notes only. The settings that follow need more explanation:
clone = true(Threads, Photos, Reddit, Instagram) — withbuild-mode = "both", the non-root APK gets the package nameapp.<patch>.<pkg>and installs beside the official app. The module keeps the original package, so that it can mount over stock. Three tables need a note. Photos is cloned, but its patch sets the name, so the clone isapp.morphe.android.apps.photosand notapp.rushi.*. Instagram ships an APK only, see Instagram: APK only. Reddit was not renamed up to release 67, see Reddit: renamed. Twitter ships both outputs and is not cloned, because theClonepatch of Piko does not covercom.twitter.android.- Self-hosted stock APKs (archive.org) — every app has a mirror on a self-hosted archive.org item, and the build tries that mirror before apkmirror. Facebook, Twitter, Instagram, Threads, Telegram and LINE need the mirror, because the public sources do not serve their builds. If a source cannot serve the wanted build, the build tries the next source of the app.
enable-module-update— set it tofalseto stop in-app updates of the modules.
CI posts to two Telegram destinations with the bot secret TG_TOKEN. Release announcements go to the public channel that the repo variable TG_CHAT sets. The daily status message (built, skipped or failed) and the build-failure alerts go to a private admin chat that the repo variable TG_CHAT_ADMIN sets. .github/scripts/tg-notify.sh holds the shared send logic. If a destination variable is empty, the script skips that notification.
To get the numeric id for TG_CHAT_ADMIN, do these steps:
- Add the bot to the private channel as an admin.
- Post a message in the channel.
- Read
chat.idfromhttps://api.telegram.org/bot<TG_TOKEN>/getUpdates.
These builds come as-is, with no warranty, for personal and educational use. The apps are modified, that is patched and re-signed, and they are not official releases. You install and run them at your own risk. They can break, fail to update, behave in an unexpected way, or go against the terms of service of the original app. Some apps, for example apps with integrity protection, can fail to run. You are responsible for the applicable laws and for the terms of each app. The maintainer is not liable for damage, data loss, account action, or other results of their use.
This project is a fork of j-hc/revanced-magisk-module. All credit for the builder, the module template and the helper tooling goes to j-hc. The patches come from ReVanced, Morphe, Piko (crimera), Chiggi (durgesh0505) and the morphe-patches of rushiranpise.