# ๐Ÿงฉ Andrew's Patches Morphe patches for LINE and other apps I use. ## โ“ About These are [Morphe](https://github.com/MorpheApp) patches. The current focus is [LINE](https://line.me) (`jp.naver.line.android`). Apply them with the Morphe CLI or Morphe Manager to build a modified APK. > ๐Ÿ’ก **Do not want to build it yourself?** Download ready-made patched apps from > [andrewliang25/patched-apps](https://github.com/andrewliang25/patched-apps/releases). > This project has no connection to the Morphe open source project, LINE, or LY > Corporation. They do not endorse it and did not write it. ## ๐Ÿฉน Patches list > **[v3.9.0](https://github.com/andrewliang25/morphe-patches/releases/tag/v3.9.0)**  โ€ข  `main`  โ€ข  51 patches total
๐Ÿ“ฆ Facebook  โ€ข  19 patches
**๐ŸŽฏ Supported versions:** | 577.0.0.50.72 | | :---: | | ๐Ÿ’Š Patch | ๐Ÿ“œ Description | โš™๏ธ Options | |----------|----------------|-----------| | [[Ad] Block ad telemetry](#ad-block-ad-telemetry) | Stops Facebook watching for screenshots of ads and reporting which apps you install for ad attribution. | | | [[Ad] Block background ad prefetch](#ad-block-background-ad-prefetch) | Stops Facebook downloading ads and its ad model in the background, which saves data, battery and storage. | | | [[Ad] Disable Audience Network](#ad-disable-audience-network) | Stops Facebook serving ads to other apps. Those apps then show their own ads or none, and rewarded ads can fail. | | | [[Feed] Block feed auto refresh](#feed-block-feed-auto-refresh) | Keeps your place in the news feed when you come back to Facebook. Pull down to refresh the feed. | | | [[Feed] Hide page suggestions and promo cards](#feed-hide-page-suggestions-and-promo-cards) | Removes the items that Facebook adds to the feed, such as "Pages you may like", promo cards and surveys. "Suggested for you" posts stay. | | | [[Feed] Hide post prompts](#feed-hide-post-prompts) | Removes the prompts Facebook adds inside a post, such as "Are you interested in this post?". | | | [[Feed] Hide sponsored posts](#feed-hide-sponsored-posts) | Removes sponsored posts from the news feed, with no gap left behind. | | | [[Fix] Restore screens on re-signed builds](#fix-restore-screens-on-re-signed-builds) | Makes profiles and some Settings pages open again on a re-signed build. A Root Mount install does not need this patch. | | | [[General] AMOLED black theme](#general-amoled-black-theme) | Makes Facebook's dark mode black instead of dark grey. Turn on dark mode in Facebook first. | | | [[General] Hide affiliate product links](#general-hide-affiliate-product-links) | Removes the product cards of affiliate shop links from Reels, feed posts and comments. The "Commission eligible" label stays. | | | [[General] Open links in external browser](#general-open-links-in-external-browser) | Opens web links in your default browser instead of Facebook's in-app browser. Facebook pages still open in the app. | | | [[Reels] Download any reel](#reels-download-any-reel) | Adds a Download button beside every reel. Videos save at the best quality the player streams. | โ€ข Save as H.264 | | [[Reels] Hide interest prompts](#reels-hide-interest-prompts) | Removes the "Are you interested in this reel?" prompt from Reels. | | | [[Reels] Hide sponsored reels](#reels-hide-sponsored-reels) | Removes ads from Reels and Watch, including product banners over a reel and ads inside a video. | | | [[Reels] Picture-in-picture](#reels-picture-in-picture) | Keeps a reel playing in a small window when you leave Facebook from the Reels tab. Only vertical reels get a window. Needs Android 12 or later. | | | [[Stories] Disable auto advance](#stories-disable-auto-advance) | Keeps each story on the screen until you tap or swipe to the next one. | | | [[Stories] Download any story](#stories-download-any-story) | Adds Save to the menu of any story, including stories with music. Videos save at the best quality the player streams. | โ€ข Save as H.264 | | [[Stories] Hide sponsored stories](#stories-hide-sponsored-stories) | Removes ad cards from the story viewer, so swiping through stories only shows stories people posted. | | | [[Stories] View stories anonymously](#stories-view-stories-anonymously) | Stops Facebook telling the server which stories you saw, so you are not in the viewer list. Stories that you saw still show as seen on this device. | |
๐Ÿ“ฆ LINE  โ€ข  32 patches
**๐ŸŽฏ Supported versions:** | 26.16.0 | 26.15.1 | 26.14.0 | | :---: | :---: | :---: | | ๐Ÿ’Š Patch | ๐Ÿ“œ Description | โš™๏ธ Options | |----------|----------------|-----------| | [[Ad] Hide ad views](#ad-hide-ad-views) | Hides LINE display ads: the LINE Ads banners, the Smart Channel banner in the chat list and Google AdManager ads. | | | [[Ad] Remove banner ads](#ad-remove-banner-ads) | LINE no longer loads the Smart Channel banner ads. This patch makes the getBanners and getPrefetchableBanners responses null. | | | [[Chat] Hide AI Friends button](#chat-hide-ai-friends-button) | Removes the AI Friends button from the Chats tab header. The Album button shows in its place. | | | [[Chat] Hide Events button](#chat-hide-events-button) | Removes the "Events" row from the slide-out menu in a chat room. Events is a different feature from LINE Calendar, and it opens a server-hosted page. | | | [[Chat] Hide LINE GIFT button](#chat-hide-line-gift-button) | Removes the LINE GIFT tile from the + attach menu in a chat room. | | | [[Chat] Hide Transfer button](#chat-hide-transfer-button) | Removes the Transfer (LINE Pay) tile from the + attach menu in a chat room. | | | [[Chat] Hide attach menu extra tools](#chat-hide-attach-menu-extra-tools) | Removes the server-provided tools (Poll, Schedule and more) from the + menu in a chat. Built-in tiles stay. | | | [[Chat] Hide calendar buttons](#chat-hide-calendar-buttons) | Removes every LINE Calendar button: in the Chats tab, the chat toolbar and menus, and the Home tab. | | | [[Chat] Hide community button](#chat-hide-community-button) | Removes the community (OpenChat) button from the top of the Chats tab header. | | | [[Chat] Hide tips under messages](#chat-hide-tips-under-messages) | Hides the "CHECK" tips under some messages, such as a received video. | | | [[Chat] Keep chats unread](#chat-keep-chats-unread) | When you open a chat, LINE does not mark it read or send a read receipt. "Mark as read" still works. | | | [[Chat] Keep unsent messages](#chat-keep-unsent-messages) | Keeps messages that others unsend in 1:1 and group chats, with a red "Unsent" label next to the time. OpenChat is not covered. | | | [[Fix] Restore biometric login](#fix-restore-biometric-login) | Biometric login can be linked again on a re-signed build. A Root Mount install does not need this patch. | | | [[Fix] Restore chat backup sign-in via MicroG-RE](#fix-restore-chat-backup-sign-in-via-microg-re) | Makes Google Drive chat backup and restore work on a re-signed build, through MicroG-RE. Root Mount does not need it. | | | [[Fix] Restore location maps via MicroG-RE](#fix-restore-location-maps-via-microg-re) | Shows maps again on a re-signed build, with OpenFreeMap tiles. It needs MicroG-RE 7.0.0 or later. Root Mount does not need it. | | | [[Fix] Restore push notifications](#fix-restore-push-notifications) | When LINE is fully closed, push notifications work again on a re-signed build. LINE also gets its Firebase Remote Config again. A Root Mount install does not need this patch. | | | [[General] Andrew's Patch Setting](#general-andrew-s-patch-setting) | Adds "Andrew's Patch Setting" to LINE Settings, below "Profile". There you can turn some patches on or off without patching again, and see the credits and licenses. | | | [[General] Custom font](#general-custom-font) | Adds a button to LINE's Font page to use a font file from your device. The page then no longer loads LINE's font list from the server. | | | [[General] Disable VOOM](#general-disable-voom) | VOOM deep links, shares, and notifications do nothing. If you open the standalone VOOM feed, it closes. Messaging and the other tabs do not change. | | | [[General] Hide Agent i buttons](#general-hide-agent-i-buttons) | Removes the Agent i button from the Home header and from the search bar. | | | [[General] Hide new item badges](#general-hide-new-item-badges) | Hides the green dots and N badges that mark new items, on header buttons, tabs, menus, lists and settings rows. Unread message counts do not change. | | | [[General] Open links in external browser](#general-open-links-in-external-browser) | Opens web links in your default browser instead of LINE's in-app browser. LIFF mini-apps and LINE links stay in LINE. | | | [[General] Redirect LINE Pay](#general-redirect-line-pay) | Opens LINE Pay in the standalone LINE Pay app, so the integrity check that fails on a re-signed build never runs. | | | [[General] Trust user-installed CAs](#general-trust-user-installed-cas) | Makes LINE trust certificate authorities you install, so your own HTTPS proxy can read LIFF and mini-app web traffic. Bank and LINE Pay stay pinned. For debugging. Off by default. | | | [[Home] Hide Home content feed](#home-hide-home-content-feed) | Removes the content feed below the friends list on the Home tab: LINE NEWS, official account posts and rankings. | | | [[Home] Hide Home modules](#home-hide-home-modules) | Hides the recommended content, hot-topics and ad modules on the Home tab. | | | [[Premium] Disable LINE Premium](#premium-disable-line-premium) | Hides all LINE Premium upsells, badges and pages. It unlocks nothing, because the server enforces Premium. | | | [[Premium] Hide premium unsend upsells](#premium-hide-premium-unsend-upsells) | Removes the Premium unsend upsells that "Disable LINE Premium" leaves. Ordinary unsend still works. | | | [[Tab] Hide LINE TODAY tab](#tab-hide-line-today-tab) | Removes the LINE TODAY (News) tab from the main bottom navigation, in both the news-tab and news-row layouts. | | | [[Tab] Hide Shopping tab](#tab-hide-shopping-tab) | Removes the Shopping tab from the main bottom navigation. This includes the Japan variant (Shopping, ใ‚ทใƒงใƒƒใƒ”ใƒณใ‚ฐ) and the Taiwan variant (Discover, ้€›้€›). | | | [[Tab] Hide VOOM tab](#tab-hide-voom-tab) | Removes the VOOM (formerly Timeline) tab from the main bottom navigation. | | | [[Tab] Hide Wallet tab](#tab-hide-wallet-tab) | Removes the Wallet (LINE Pay) tab from the main bottom navigation, in both the normal and mini-tab layouts. | |
#### How to use these patches Click here to add these patches to Morphe: https://morphe.software/add-source?github=andrewliang25/morphe-patches Or add this repository URL as a patch source in Morphe: https://github.com/andrewliang25/morphe-patches #### Change LINE patches in the app With the "[General] Andrew's Patch Setting" patch, LINE **Settings** has an **Andrew's Patch Setting** row below **Profile**. There you can turn these patches on or off without patching again: - Keep chats unread, and keep unsent messages - Open links in external browser, and disable VOOM - Hide the LINE TODAY, Shopping, VOOM and Wallet tabs. A tab change shows after LINE restarts. - Hide the chat buttons and tips: AI Friends, community, calendar, Events, LINE GIFT, Transfer, the extra tools in the + menu, and the tips under messages. Some of these changes show only after LINE restarts. A patch that you did not include in the build has no switch. The row also shows the author and the license. ### ๐Ÿ› ๏ธ Building To build Andrew's Patches, obey the instructions in the [Morphe documentation](https://github.com/MorpheApp/morphe-documentation). ## โš ๏ธ Known limitations ### LINE: Google account sign-in fails (re-signed builds) **What:** On a patched **LINE** build, you cannot sign in with a Google account or link one. **Why:** Google accepts an account only for an OAuth client that is registered under LINE's package name **and** its original signing certificate. A re-signed build changes that certificate, so no client matches. LINE asks Android's Credential Manager for the account, so the *system* picks Google Play Services. No patch can change this ([details](docs/line-patch-map.md)). **Workaround:** install with **Root Mount**, which keeps LINE's original signature. Do not use the **Standard** install. This limitation does not affect chat-history backup. The *[Fix] Restore chat backup sign-in via MicroG-RE* patch restores it through [MicroG-RE](https://github.com/MorpheApp/MicroG-RE). ### LINE: maps show an empty grid (re-signed builds) **What:** On a patched **LINE** build, the maps on the location screens are empty. This covers the location picker, the location messages in a chat, and the location posts. You can still send your current location, and only the map is blank. **Why:** Google draws a map only for an API key that is registered under LINE's package name **and** its original signing certificate. A re-signed build changes that certificate. Google Play Services reports the certificate from its own process, so no patch can correct it ([details](docs/line-patch-map.md)). **Workaround:** enable the *[Fix] Restore location maps via MicroG-RE* patch. It draws the maps through [MicroG-RE](https://github.com/MorpheApp/MicroG-RE) **7.0.0 or later** instead, which is the first version with a map renderer. Google Play Services must still be installed. The tiles then come from OpenFreeMap, so they do not look like Google Maps. There is no satellite view. A **Root Mount** install keeps LINE's original signature and needs neither the patch nor MicroG-RE. ### Facebook: other Meta apps do not install (re-signed builds) **What:** After you install a patched **Facebook** build, an official Meta app that shares the same permission names does not install. **Facebook Lite** is the reported example. The installer stops with `INSTALL_FAILED_DUPLICATE_PERMISSION`. **Why:** Meta apps declare the same family permissions, for example `com.facebook.permission.prod.FB_APP_COMMUNICATION`. Android permits only one owner of a permission name, unless the two apps have the same signing certificate. A patched build is re-signed, so its certificate is different from the certificate of Meta. The order of the installs does not change this. The same conflict occurs in [patched-apps](https://github.com/andrewliang25/patched-apps#meta-app-clones-duplicate-permission-conflict). **Workaround:** install the patched Facebook with **Root Mount**, which keeps the original signature. Or keep only one app of the two. ## ๐Ÿ™ Special thanks - [@f870103](https://github.com/f870103) โ€” lent a LINE account for tests, and found the redirect URL of the LINE Pay app. - [@SapitoSucio](https://github.com/SapitoSucio) โ€” some features and implementations here take their idea from [FroggoMorphePatches](https://github.com/SapitoSucio/FroggoMorphePatches). - [@SysAdminDoc](https://github.com/SysAdminDoc) โ€” found in [Hushfacebook](https://github.com/SysAdminDoc/Hushfacebook) that some story and reel downloads saved with no sound. ## โญ Star history Star History Chart ## ๐Ÿ“œ License Andrew's Patches are licensed under the [GNU General Public License v3.0](LICENSE)