mirror of
https://github.com/MuntashirAkon/android-debloat-list.git
synced 2025-10-10 06:57:23 +08:00
Compare commits
18 Commits
9089327fd8
...
master
Author | SHA1 | Date | |
---|---|---|---|
|
c9a1db2935 | ||
|
510e37e2d6 | ||
|
0134c04754 | ||
|
225d7ce7a0 | ||
|
5ec2f0eae4 | ||
|
1ac05ca509 | ||
|
dd31b9fcae | ||
|
8003230715 | ||
|
ca1ee63479 | ||
|
fad8f99592 | ||
|
3bcfb42f01 | ||
|
8a2412c247 | ||
|
cea25cd0a8 | ||
|
8d321e721d | ||
|
4cbaa6d36f | ||
|
9a5b078f08 | ||
|
a455bf090d | ||
|
c51e72f36d |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
|||||||
.idea/
|
.idea/
|
||||||
.DS_Store
|
.DS_Store
|
||||||
build/
|
build/
|
||||||
|
browser/src
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
# Android Debloat List
|
# Android Debloat List
|
||||||
|
|
||||||
A comprehensive list of apps that come preinstalled with many ROMs and how to remove and replace them, intended for
|
A comprehensive list of apps that come preinstalled with many ROMs and how to remove and replace them, intended for
|
||||||
backend rather than frontend. This list is kept in synchronised with
|
backend rather than frontend. This list is kept in synchronized with
|
||||||
the [Universal Android Debloater](https://github.com/0x192/universal-android-debloater) (UAD) project.
|
the [UAD-NG](https://github.com/Universal-Debloater-Alliance/universal-android-debloater-next-generation) project.
|
||||||
|
|
||||||
## JSON Schema
|
## JSON Schema
|
||||||
|
|
||||||
|
1
browser/.gitignore
vendored
Normal file
1
browser/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
book
|
9
browser/README.md
Normal file
9
browser/README.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# Welcome!
|
||||||
|
|
||||||
|
This website acts as a front-end for the [Android Debloat List](https://github.com/MuntashirAkon/android-debloat-list) (ADL) project and is intended to serve as an always available wiki for the pre-installed applications on Android, commonly known as "bloatware". You can utilize the search button or the sidebar to navigate through the bloatware (requires JavaScript), or you can just append `/bloatware/<package-name>.html` to the homepage URL to navigate to the desired bloatware if available. Each page also has an "Open in App Manager" link that you can follow to view the app info of the selected app (if installed).
|
||||||
|
|
||||||
|
## Alternative Front-ends
|
||||||
|
|
||||||
|
Here's a list of alternative front-ends that make use of the ADL project:
|
||||||
|
|
||||||
|
- [App Manager](https://github.com/MuntashirAkon/AppManager)
|
13
browser/book.toml
Normal file
13
browser/book.toml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
[book]
|
||||||
|
authors = ["Muntashir Al-Islam"]
|
||||||
|
language = "en"
|
||||||
|
multilingual = false
|
||||||
|
src = "src"
|
||||||
|
title = "Android Debloat List"
|
||||||
|
|
||||||
|
[output.html]
|
||||||
|
preferred-dark-theme = "ayu"
|
||||||
|
additional-css = ["custom.css"]
|
||||||
|
smart-punctuation = true
|
||||||
|
no-section-label = true
|
||||||
|
site-url = "/android-debloat-list/"
|
34
browser/custom.css
Normal file
34
browser/custom.css
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
.tags ul {
|
||||||
|
list-style-type: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
display: flex;
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tags ul > li {
|
||||||
|
border: 1px solid;
|
||||||
|
padding: 4px 16px;
|
||||||
|
border-radius: 16px;
|
||||||
|
font-size: small;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tags ul > li[data-tag=delete] {
|
||||||
|
color: green;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tags ul > li[data-tag=replace] {
|
||||||
|
color: purple;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tags ul > li[data-tag=caution] {
|
||||||
|
color: orange;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tags ul > li[data-tag=unsafe] {
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
.refs {
|
||||||
|
margin-block-start: unset;
|
||||||
|
}
|
553
carrier.json
553
carrier.json
@@ -1,127 +1,4 @@
|
|||||||
[
|
[
|
||||||
{
|
|
||||||
"id": "com.aura.oobe.vodafone",
|
|
||||||
"label": "Vodafone AppBox",
|
|
||||||
"description": "It is some kind of post-install recommended apps setup from the carrier.\nAsks for your age and gender and then recommends you to install popular apps.\nDevelopped by IronSource, an Israeli advertising company.",
|
|
||||||
"removal": "delete"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "com.ironsource.appcloud.oobe.hutchison",
|
|
||||||
"label": "AppCloud",
|
|
||||||
"description": "AppCloud (discontinued) from ironSource, an advertising company.\nWorth reading:",
|
|
||||||
"web": [
|
|
||||||
"https://en.wikipedia.org/wiki/IronSource"
|
|
||||||
],
|
|
||||||
"removal": "delete"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "com.dti.bouyguestelecom",
|
|
||||||
"label": "Bouygues AppCloud",
|
|
||||||
"description": "Its problably for install apps but its useless and have ads and a lot permissions.",
|
|
||||||
"removal": "delete"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "com.altice.android.myapps",
|
|
||||||
"label": "MyApps",
|
|
||||||
"description": "Its problably for install apps but its useless.",
|
|
||||||
"removal": "delete"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "com.sfr.android.sfrjeux",
|
|
||||||
"label": "My Games",
|
|
||||||
"description": "Its not useful app for games and better uninstall it",
|
|
||||||
"removal": "delete"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "com.felicanetworks.mfc",
|
|
||||||
"label": "com.felicanetworks.mfc",
|
|
||||||
"description": "Chinese felicanetworks",
|
|
||||||
"removal": "delete"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "com.felicanetworks.mfm.main",
|
|
||||||
"label": "com.felicanetworks.mfm.main",
|
|
||||||
"description": "Chinese felicanetworks",
|
|
||||||
"removal": "delete"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "com.felicanetworks.mfs",
|
|
||||||
"label": "com.felicanetworks.mfs",
|
|
||||||
"description": "Chinese felicanetworks",
|
|
||||||
"removal": "delete"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "com.felicanetworks.mfw.a.boot",
|
|
||||||
"label": "com.felicanetworks.mfw.a.boot",
|
|
||||||
"description": "Chinese felicanetworks",
|
|
||||||
"removal": "delete"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "com.aura.oobe.motorola",
|
|
||||||
"label": "MotoApps",
|
|
||||||
"description": "It's something to install apps, but it's an advertising company.",
|
|
||||||
"removal": "delete"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "com.dti.motorola",
|
|
||||||
"label": "Mobile Services Manager",
|
|
||||||
"description": "Its something for install apps but its useless and a lot permissions.",
|
|
||||||
"removal": "delete"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "com.claroColombia.contenedor",
|
|
||||||
"label": "Claro",
|
|
||||||
"description": "It's something to install apps, but it's an advertising company.",
|
|
||||||
"removal": "delete"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "com.dti.cricket",
|
|
||||||
"label": "com.dti.cricket",
|
|
||||||
"description": "Its app for installing recommanded apps? Its only used on first-boot setup and its useless.",
|
|
||||||
"removal": "delete"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "com.cricketwireless.minus",
|
|
||||||
"label": "com.cricketwireless.minus",
|
|
||||||
"description": "Cricket partner tab? better remove it. It problably have news or partner customization to chrome.",
|
|
||||||
"removal": "delete"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "com.att.deviceunlock",
|
|
||||||
"label": "Device Unlock",
|
|
||||||
"description": "Useless app from AT&T. Its only for unlock device.",
|
|
||||||
"removal": "delete"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "com.oem.euiccpartnerapp",
|
|
||||||
"label": "EuiccPartnerApp",
|
|
||||||
"description": "Needed for eSIM (eUICC)?\nI think its useless.",
|
|
||||||
"removal": "delete"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "com.oem.euiccpartnerapp",
|
|
||||||
"label": "EuiccPartnerApp",
|
|
||||||
"description": "Needed for eSIM (eUICC)?\nI think its useless.",
|
|
||||||
"removal": "delete"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "com.inmobi.installer",
|
|
||||||
"label": "com.inmobi.installer",
|
|
||||||
"description": "Its installer advertising company app.",
|
|
||||||
"removal": "delete"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "com.verizon.services",
|
|
||||||
"label": "AppDirectedSMS",
|
|
||||||
"description": "OMA Device Management for Verizon.\nIts for wifi calling, sms",
|
|
||||||
"removal": "replace"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "com.dti.amx",
|
|
||||||
"label": "com.dti.amx",
|
|
||||||
"description": "Its used to choose app install? A lot trackers, permissions.\nUseless.",
|
|
||||||
"removal": "delete"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"id": "ca.bell.wt.android.tunesappswidget",
|
"id": "ca.bell.wt.android.tunesappswidget",
|
||||||
"label": "App Widget",
|
"label": "App Widget",
|
||||||
@@ -134,12 +11,17 @@
|
|||||||
{
|
{
|
||||||
"id": "com.LogiaGroup.LogiaDeck",
|
"id": "com.LogiaGroup.LogiaDeck",
|
||||||
"label": "Mobile Services Manager",
|
"label": "Mobile Services Manager",
|
||||||
"description": "\"Mobile Services Manager/DTIGNITE malware, rooted to your device by express agreement between the app's publisher and your carrier.\"",
|
"description": "Seems to be a spyware",
|
||||||
"web": [
|
"web": [
|
||||||
"https://www.reddit.com/r/lgv20/comments/6u0wnf/what_is_mobile_services_manager_did_i_catch_a/"
|
"https://www.reddit.com/r/lgv20/comments/6u0wnf/what_is_mobile_services_manager_did_i_catch_a/"
|
||||||
],
|
],
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.Rogers.MyRogersTab",
|
||||||
|
"description": "Appears to be the tablet version of MyRogers (https://play.google.com/store/apps/details?id=com.fivemobile.myaccount), an app to manage your account with Canadian carrier Rogers.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.aetherpal.attdh.se",
|
"id": "com.aetherpal.attdh.se",
|
||||||
"label": "Device Help",
|
"label": "Device Help",
|
||||||
@@ -159,6 +41,21 @@
|
|||||||
],
|
],
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.altice.android.myapps",
|
||||||
|
"description": "MyApps\nit's probably for install apps but it's useless.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.americanexpress.plenti",
|
||||||
|
"description": "Plenti\nGet points and promos with your American Express card",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.android.partnerbrowsercustomizations.tmobile",
|
||||||
|
"description": "The proprietary application of the mobile operator T-Mobile, presumably displays ads, is responsible for the operation of some of the operator's settings",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.android.sprint.hiddenmenuapp",
|
"id": "com.android.sprint.hiddenmenuapp",
|
||||||
"label": "HiddenMenu",
|
"label": "HiddenMenu",
|
||||||
@@ -168,6 +65,15 @@
|
|||||||
],
|
],
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.android.wifi.resources.overlay.WifiVodafoneOverlay",
|
||||||
|
"label": "com.android.wifi.resources.overlay.WifiVodafoneOverlay",
|
||||||
|
"description": "Not sure what it does",
|
||||||
|
"web": [
|
||||||
|
"https://beta.pithus.org/report/d8b19f854eb85ea97fbaeafb8c11842cf9b27f169b08d3e8b2659f52db9dd408"
|
||||||
|
],
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.asurion.android.mobilerecovery.att",
|
"id": "com.asurion.android.mobilerecovery.att",
|
||||||
"label": "AT&T Protect Plus",
|
"label": "AT&T Protect Plus",
|
||||||
@@ -237,7 +143,7 @@
|
|||||||
"https://en.wikipedia.org/wiki/Asurion"
|
"https://en.wikipedia.org/wiki/Asurion"
|
||||||
],
|
],
|
||||||
"removal": "delete",
|
"removal": "delete",
|
||||||
"warning": "This app is developped by Asurion, a US company whose business is to sell insurances. All US carriers use Asurion for the phone insurances."
|
"warning": "This app is developed by Asurion, a US company whose business is to sell insurances. All US carriers use Asurion for the phone insurances."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "com.att.android.attsmartwifi",
|
"id": "com.att.android.attsmartwifi",
|
||||||
@@ -270,6 +176,11 @@
|
|||||||
],
|
],
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.att.deviceunlock",
|
||||||
|
"description": "Device Unlock\nUseless app from AT&T. it's only for unlock device.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.att.dh",
|
"id": "com.att.dh",
|
||||||
"label": "Device Help",
|
"label": "Device Help",
|
||||||
@@ -282,7 +193,7 @@
|
|||||||
{
|
{
|
||||||
"id": "com.att.dtv.shaderemote",
|
"id": "com.att.dtv.shaderemote",
|
||||||
"label": "DIRECTV Remote App",
|
"label": "DIRECTV Remote App",
|
||||||
"description": "Lets you control DIRECTV HD receivers in your home that are connected to Internet, from your phone. DIRECTV is a susbsidiary of AT&T.",
|
"description": "Lets you control DIRECTV HD receivers in your home that are connected to Internet, from your phone. DIRECTV is a subsidiary of AT&T.",
|
||||||
"web": [
|
"web": [
|
||||||
"https://en.wikipedia.org/wiki/DirecTV#Consumer_protection_lawsuits_and_violations"
|
"https://en.wikipedia.org/wiki/DirecTV#Consumer_protection_lawsuits_and_violations"
|
||||||
],
|
],
|
||||||
@@ -362,6 +273,21 @@
|
|||||||
"removal": "replace",
|
"removal": "replace",
|
||||||
"suggestions": "streaming_apps"
|
"suggestions": "streaming_apps"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.aura.jet.att",
|
||||||
|
"description": "AT&T Hub\nApp from AT&T. Installs apps on oobe and its maded by advertising company 'ironSource'.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.aura.oobe.att",
|
||||||
|
"description": "AppCloud\nApp from AT&T. Installs apps on oobe and its maded by advertising company 'ironSource'.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.aura.oobe.motorola",
|
||||||
|
"description": "MotoApps\nIt's something to install apps, but it's an advertising company.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.aura.oobe.samsung",
|
"id": "com.aura.oobe.samsung",
|
||||||
"label": "AppCloud",
|
"label": "AppCloud",
|
||||||
@@ -378,7 +304,7 @@
|
|||||||
{
|
{
|
||||||
"id": "com.aura.oobe.samsung.gl",
|
"id": "com.aura.oobe.samsung.gl",
|
||||||
"label": "AppCloud",
|
"label": "AppCloud",
|
||||||
"description": "AppCloud\nIt offers the \"Aura Out-Of-the-Box Experience\" (OOBE)\nIt is some kind of post-install recommended apps setup from the carrier. Asks for your age and gender and then recommends you to install popular apps.\nHas way too many permissions.",
|
"description": "It offers the \"Aura Out-Of-the-Box Experience\" (OOBE)\nIt is some kind of post-install recommended apps setup from the carrier. Asks for your age and gender and then recommends you to install popular apps.\nHas way too many permissions.",
|
||||||
"web": [
|
"web": [
|
||||||
"https://en.wikipedia.org/wiki/IronSource",
|
"https://en.wikipedia.org/wiki/IronSource",
|
||||||
"https://aura.ironsrc.com/tools/drive-app-downloads/",
|
"https://aura.ironsrc.com/tools/drive-app-downloads/",
|
||||||
@@ -388,10 +314,48 @@
|
|||||||
"removal": "delete",
|
"removal": "delete",
|
||||||
"warning": "This app is developed by IronSource, an Israeli advertising company."
|
"warning": "This app is developed by IronSource, an Israeli advertising company."
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.aura.oobe.vodafone",
|
||||||
|
"description": "Vodafone AppBox\nIt is some kind of post-install recommended apps setup from the carrier.\nAsks for your age and gender and then recommends you to install popular apps.\nDeveloped by IronSource, an Israeli advertising company.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.bc360.android.service",
|
||||||
|
"description": "Verizon Adaptive Sound\nProvides Voice Enhance, but according to the carrier.\nDoes the same thing as the 'com.bc360.control' app.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.bc360.control",
|
||||||
|
"description": "Verizon Adaptive Sound\nProvides Voice Enhance, but according to the carrier.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.claroColombia.contenedor",
|
||||||
|
"description": "Claro\nIt's something to install apps, but it's an advertising company.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.cricketwireless.minus",
|
||||||
|
"description": "Cricket partner tab? better remove it. It probably have news or partner customization to chrome.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.customermobile.preload.vzw",
|
"id": "com.customermobile.preload.vzw",
|
||||||
"label": "Verizon Store Demo Mode",
|
"label": "Verizon Store Demo Mode",
|
||||||
"description": "Verizon Store/Retail Demo Mode.",
|
"description": "Requires a lot of permissions and downloads a remote configuration file from an AWS-hosted domain over plain-text HTTP.\nThis leaves the overall device and configuration vulnerable.",
|
||||||
|
"web": [
|
||||||
|
"https://thehackernews.com/2024/08/google-pixel-devices-shipped-with.html"
|
||||||
|
],
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.directv.promo.shade",
|
||||||
|
"description": "DIRECTV Remote\nOfficial app from DIRECTV (subsidiary of AT&T). With the DIRECTV Remote for AT&T Samsung devices, control of your favorite DIRECTV shows is just a swipe away. Swipe down from the status bar at the top of your screen to automatically connect and control your DIRECTV receivers, it's that simple.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.dti.amx",
|
||||||
|
"description": "it's used to choose app install? A lot trackers, permissions.\nUseless.",
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -403,6 +367,72 @@
|
|||||||
],
|
],
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.dti.bouyguestelecom",
|
||||||
|
"description": "Bouygues AppCloud\nit's probably for install apps but it's useless and have ads and a lot permissions.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.dti.cricket",
|
||||||
|
"description": "it's app for installing recommended apps? it's only used on first-boot setup and it's useless.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.dti.motorola",
|
||||||
|
"description": "Mobile Services Manager\nit's something for install apps but it's useless and a lot permissions.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.dti.samsung",
|
||||||
|
"description": "Mobile Services Manager\nDigital Turbine app, pre-install some apps/games to your phone and its made by advertising company.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.dti.tim",
|
||||||
|
"description": "Mobile Service Manager\nIt's a system app that can't be opened but keeps running in the background. It can install/uninstall apps without notifying you, access internet, run at the boot of the system, kill background processes, ads and other permissions.\nIt's only bloatware, OTA updates work the same without it. Uninstalling didn't give any negative side-effects.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.dti.tracfone",
|
||||||
|
"label": "Mobile Services",
|
||||||
|
"description": "Installs sponsored apps automatically on Tracfone and affiliated carriers (Straight Talk, Total Wireless, etc)",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.felicanetworks.mfc",
|
||||||
|
"description": "Chinese felicanetworks",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.felicanetworks.mfm",
|
||||||
|
"description": "Setup Chinese felicanetworks",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.felicanetworks.mfm.main",
|
||||||
|
"description": "Chinese felicanetworks",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.felicanetworks.mfs",
|
||||||
|
"description": "Chinese felicanetworks",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.felicanetworks.mfw.a.boot",
|
||||||
|
"description": "Chinese felicanetworks",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.google.omadm.trigger",
|
||||||
|
"description": "OemDmTrigger\nOMA Device Managment Verizon.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.gsma.rcs",
|
||||||
|
"description": "RCS\nHidden RCS Messaging? or only Frameworks?\nFeature code:184501\nCarrier name: GSM Association.",
|
||||||
|
"removal": "caution"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.hyperlync.Sprint.Backup",
|
"id": "com.hyperlync.Sprint.Backup",
|
||||||
"label": "Sprint Backup",
|
"label": "Sprint Backup",
|
||||||
@@ -422,6 +452,31 @@
|
|||||||
],
|
],
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.inmobi.installer",
|
||||||
|
"description": "it's installer advertising company app.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.ironsource.appcloud.oobe.hutchison",
|
||||||
|
"description": "AppCloud (discontinued) from ironSource, an advertising company.\nWorth reading:\nhttps://en.wikipedia.org/wiki/IronSource",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.jrd.verizonuriintentservice",
|
||||||
|
"description": "",
|
||||||
|
"removal": "caution"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.kmsjp",
|
||||||
|
"description": "Kaspersky\nAnti-virus pre-installed on some Huawei phone's in Japanese.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.kuackmedia.orange",
|
||||||
|
"description": "Altice Music\nIt's a music application that allows you to stream music, but it comes pre-installed.\nhttps://play.google.com/store/apps/details?id=com.kuackmedia.orange",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.locationlabs.cni.att",
|
"id": "com.locationlabs.cni.att",
|
||||||
"label": "AT&T Smart Limits℠",
|
"label": "AT&T Smart Limits℠",
|
||||||
@@ -493,7 +548,7 @@
|
|||||||
{
|
{
|
||||||
"id": "com.motorola.att.phone.extensions",
|
"id": "com.motorola.att.phone.extensions",
|
||||||
"label": "ATT Phone Extension",
|
"label": "ATT Phone Extension",
|
||||||
"description": "Provide access to AT&T extensions in you dialer. I'm not sure tho. It's only a supposition.",
|
"description": "Provide access to AT&T extensions in you dialer.",
|
||||||
"web": [
|
"web": [
|
||||||
"https://asecare.att.com/tutorials/adding-and-deleting-an-extension-on-your-officehand-mobile-app-2990/?product=AT&T%20Office@Hand"
|
"https://asecare.att.com/tutorials/adding-and-deleting-an-extension-on-your-officehand-mobile-app-2990/?product=AT&T%20Office@Hand"
|
||||||
],
|
],
|
||||||
@@ -508,6 +563,16 @@
|
|||||||
],
|
],
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.motorola.carrierconfig",
|
||||||
|
"label": "Carrier Services",
|
||||||
|
"description": "Related to various communication related actions.",
|
||||||
|
"web": [
|
||||||
|
"https://source.android.com/docs/core/connect/carrier"
|
||||||
|
],
|
||||||
|
"removal": "caution",
|
||||||
|
"warning": "Disabling this app may cause network-related issues"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.motorola.ltebroadcastservices_vzw",
|
"id": "com.motorola.ltebroadcastservices_vzw",
|
||||||
"label": "com.motorola.ltebroadcastservices_vzw",
|
"label": "com.motorola.ltebroadcastservices_vzw",
|
||||||
@@ -532,6 +597,11 @@
|
|||||||
],
|
],
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.motorola.omadm.usc",
|
||||||
|
"description": "OMA Device Management for Verizon \nHandles configuration of the device (including first time use), enabling and disabling features provided by carriers.\nhttps://en.wikipedia.org/wiki/OMA_Device_Management\nI believe it's only useful if you want to use a Verizon service with a non branded phone (not sure at all)\nhttps://www.androidpolice.com/2015/03/10/android-5-1-includes-new-carrier-provisioning-api-allows-carriers-easier-methods-of-setting-up-services-on-devices-they-dont-control/\nDisplays annoying notifications if you unlocked your bootloader",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.motorola.omadm.vzw",
|
"id": "com.motorola.omadm.vzw",
|
||||||
"label": "VzwDM",
|
"label": "VzwDM",
|
||||||
@@ -585,10 +655,7 @@
|
|||||||
{
|
{
|
||||||
"id": "com.motorola.vzw.pco.extensions.pcoreceiver",
|
"id": "com.motorola.vzw.pco.extensions.pcoreceiver",
|
||||||
"label": "PcoReceiver",
|
"label": "PcoReceiver",
|
||||||
"description": "Protocol Configuration Options.\nRelated to APN configuration.",
|
"description": "VZW Carrier sim(Verizon). It's only for notifications.\nYou can remove that if you don't use Verizon wireless or anything like that.",
|
||||||
"web": [
|
|
||||||
"https://www.freshpatents.com/-dt20180607ptan20180159824.php"
|
|
||||||
],
|
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -613,6 +680,56 @@
|
|||||||
],
|
],
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.naviexpert.NaviExpert",
|
||||||
|
"description": "Navigation T-Mobile\nhttps://play.google.com/store/apps/details?id=com.naviexpert.NaviExpert",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.nextbit.app",
|
||||||
|
"description": "docomo LIVE UX backup\nit's on some japanese phones",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.nim.rogers",
|
||||||
|
"description": "Texture, a digital magazine service created by Rogers Media. Discontinued in 2019.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.nttdocomo.android.applicationmanager",
|
||||||
|
"description": "Docomo Application Manager",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.nttdocomo.android.dhome",
|
||||||
|
"description": "Docomo Launcher",
|
||||||
|
"removal": "replace"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.nttdocomo.android.iconcier_contents",
|
||||||
|
"description": "Diagnostics things only in this japanese app",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.nttdocomo.android.initialization",
|
||||||
|
"description": "Docomo Initialization app",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.nttdocomo.android.rwpushcontroller",
|
||||||
|
"description": "rwpushcontroller\nAnother FeliCa Networks app, with japanese language\nUseless frameworks",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.nttdocomo.android.store",
|
||||||
|
"description": "Docomo App Market",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.oem.euiccpartnerapp",
|
||||||
|
"description": "EuiccPartnerApp\nNeeded for eSIM (eUICC)?\nI think it's useless.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.orange.aura.oobe",
|
"id": "com.orange.aura.oobe",
|
||||||
"label": "Orange Manual Selector",
|
"label": "Orange Manual Selector",
|
||||||
@@ -710,12 +827,37 @@
|
|||||||
"description": "Lets you measure your speed connection and find better Orange wifi hotspots.\nInforms you also about near network incidents.",
|
"description": "Lets you measure your speed connection and find better Orange wifi hotspots.\nInforms you also about near network incidents.",
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.ptc.osp.gnc",
|
||||||
|
"description": "Playing the Waiting Game by T-Mobile.\nThis app is maded for listening to music.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.samsung.attvvm",
|
"id": "com.samsung.attvvm",
|
||||||
"label": "Samsung AT&T Visual Voicemail",
|
"label": "Samsung AT&T Visual Voicemail",
|
||||||
"description": "A simple GUI for voicemail.",
|
"description": "A simple GUI for voicemail.",
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.samsung.huxextension",
|
||||||
|
"description": "Hux Extension\nVerizon activation, registration",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.samsung.slsi.telephony.oem.oemrilhookservice",
|
||||||
|
"description": "Part of the Samsung cellular modem infrastructure used by the OS to provide cellular support.",
|
||||||
|
"removal": "caution"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.samsung.slsi.telephony.oemril",
|
||||||
|
"description": "Part of the Samsung cellular modem infrastructure used by the OS to provide cellular support.",
|
||||||
|
"removal": "caution"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.samsung.sprint.chameleon",
|
||||||
|
"description": "Chameleon service which is a service designed to store sprint-specific properties (customizes some apps).",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.sec.android.app.ewidgetatt",
|
"id": "com.sec.android.app.ewidgetatt",
|
||||||
"label": "Entertainment Widget",
|
"label": "Entertainment Widget",
|
||||||
@@ -725,6 +867,11 @@
|
|||||||
],
|
],
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.sec.android.app.tfstatus",
|
||||||
|
"description": "Tracfone app, function unknown",
|
||||||
|
"removal": "caution"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.sec.omadm",
|
"id": "com.sec.omadm",
|
||||||
"label": "OMADM",
|
"label": "OMADM",
|
||||||
@@ -778,6 +925,11 @@
|
|||||||
"removal": "replace",
|
"removal": "replace",
|
||||||
"suggestions": "cloud_services"
|
"suggestions": "cloud_services"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.sfr.android.sfrjeux",
|
||||||
|
"description": "My Games\nit's not useful app for games and better uninstall it",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.sfr.android.sfrmail",
|
"id": "com.sfr.android.sfrmail",
|
||||||
"label": "SFR Mail",
|
"label": "SFR Mail",
|
||||||
@@ -803,6 +955,16 @@
|
|||||||
],
|
],
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.shannon.imsservice",
|
||||||
|
"description": "Verizon IMS service.",
|
||||||
|
"removal": "replace"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.shannon.rcsservice",
|
||||||
|
"description": "Verizon RCS service.",
|
||||||
|
"removal": "replace"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.sprint.android.musicplus2033",
|
"id": "com.sprint.android.musicplus2033",
|
||||||
"label": "Sprint Music Plus",
|
"label": "Sprint Music Plus",
|
||||||
@@ -870,7 +1032,7 @@
|
|||||||
{
|
{
|
||||||
"id": "com.sprint.ms.cnap",
|
"id": "com.sprint.ms.cnap",
|
||||||
"label": "Caller ID",
|
"label": "Caller ID",
|
||||||
"description": "CNAP = Caller Name Presentation\nLets you change the name that is displayed on caller ID when making a call.\nStrange is it the same thing than \"com.sprint.ecid\" ?\n",
|
"description": "CNAP = Caller Name Presentation\nLets you change the name that is displayed on caller ID when making a call.\nStrange is it the same thing than \"com.sprint.ecid\" ?",
|
||||||
"web": [
|
"web": [
|
||||||
"https://en.wikipedia.org/wiki/Calling_Name_Presentation"
|
"https://en.wikipedia.org/wiki/Calling_Name_Presentation"
|
||||||
],
|
],
|
||||||
@@ -942,12 +1104,38 @@
|
|||||||
"description": "Discontinued. Its purpose was to help you migrating your data to your new Android device.",
|
"description": "Discontinued. Its purpose was to help you migrating your data to your new Android device.",
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.tcl.vzwintents",
|
||||||
|
"description": "",
|
||||||
|
"removal": "caution"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.tct.vzwwifioffload",
|
||||||
|
"description": "",
|
||||||
|
"removal": "caution"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.telcel.contenedor",
|
||||||
|
"description": "Telcel app, Advertising company to get promotions.\nhttps://play.google.com/store/apps/details?id=com.telcel.contenedor",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.telecomsys.directedsms.android.SCG",
|
"id": "com.telecomsys.directedsms.android.SCG",
|
||||||
"label": "Verizon Location Agent",
|
"label": "Verizon Location Agent",
|
||||||
"description": "Location tracking (does not impact GPS function if deleted, don't worry).",
|
"description": "Location tracking (does not impact GPS function if deleted, don't worry).",
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.telus.checkup",
|
||||||
|
"description": "Checkup app (from Mobile Klinik; a Canadian store for buying, selling, and repairing smartphones)\nMainly used to run device-health diagnostics, estimate device value post-diagnostics (for re-selling at a Mobile Klinik location), and finding nearby Mobile Klinik locations to book appointments for device repair. Also contains ads and promotions for new devices and accessories.\nGenerally regarded as bloatware because diagnostics are generic at best, and is eager to request many unnecessary and potentially invasive device permissions.\nSafe to remove if you don't use it, and can be re-downloaded from the Google Play Store at any time.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.telus.myaccount",
|
||||||
|
"label": "My TELUS",
|
||||||
|
"description": "It's used for managing your telus account.\nSafe to remove if you don't use it",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.tmobile.pr.adapt",
|
"id": "com.tmobile.pr.adapt",
|
||||||
"label": "T-Mobile",
|
"label": "T-Mobile",
|
||||||
@@ -992,6 +1180,11 @@
|
|||||||
],
|
],
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.tracfone.preload.accountservices",
|
||||||
|
"description": "TracPhone / StraightTalk application. It just shows IMEI, SIM, and phone number, as well as a way to see device properties.\nComes preinstalled with any TracPhone or StraightTalk device. It can be downloaded from the playstore if needed for whatever reason.\nHas Approximate and Precise location permissions, and Device ID permission.\nRuns in the background for them to collect data.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.vcast.mediamanager",
|
"id": "com.vcast.mediamanager",
|
||||||
"label": "Verizon Cloud",
|
"label": "Verizon Cloud",
|
||||||
@@ -1002,6 +1195,11 @@
|
|||||||
"removal": "replace",
|
"removal": "replace",
|
||||||
"suggestions": "cloud_services"
|
"suggestions": "cloud_services"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.verizon.cloudsetupwizard",
|
||||||
|
"description": "",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.verizon.llkagent",
|
"id": "com.verizon.llkagent",
|
||||||
"label": "Llkagent",
|
"label": "Llkagent",
|
||||||
@@ -1063,6 +1261,16 @@
|
|||||||
],
|
],
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.verizon.remoteSimlock",
|
||||||
|
"description": "VZWRemoteSimlockService\nRemote SimLock lock, unlock, looks more danger than useful app.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.verizon.services",
|
||||||
|
"description": "AppDirectedSMS\nOMA Device Management for Verizon.\nit's for wifi calling, sms",
|
||||||
|
"removal": "replace"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.verizon.vzwavs",
|
"id": "com.verizon.vzwavs",
|
||||||
"label": "VzwAVS",
|
"label": "VzwAVS",
|
||||||
@@ -1091,7 +1299,8 @@
|
|||||||
"web": [
|
"web": [
|
||||||
"https://developer.android.com/reference/android/telephony/data/ApnSetting"
|
"https://developer.android.com/reference/android/telephony/data/ApnSetting"
|
||||||
],
|
],
|
||||||
"removal": "delete"
|
"removal": "caution",
|
||||||
|
"warning": "Removing it prevents calling or texting (breaks WiFi calling). On Auto Optimization, it causes auto reboots."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "com.vzw.apnservice",
|
"id": "com.vzw.apnservice",
|
||||||
@@ -1102,6 +1311,11 @@
|
|||||||
],
|
],
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.vzw.easvalidation",
|
||||||
|
"description": "",
|
||||||
|
"removal": "caution"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.vzw.ecid",
|
"id": "com.vzw.ecid",
|
||||||
"label": "Verizon Call Filter",
|
"label": "Verizon Call Filter",
|
||||||
@@ -1183,7 +1397,7 @@
|
|||||||
{
|
{
|
||||||
"id": "fr.bouyguestelecom.vvmandroid",
|
"id": "fr.bouyguestelecom.vvmandroid",
|
||||||
"label": "Messagerie vocale visuelle",
|
"label": "Messagerie vocale visuelle",
|
||||||
"description": "Voicemail application for Bouygues Telecom.",
|
"description": "Voicemail application for Bouygues Telecom. This app may inject ads into your gallery",
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1192,12 +1406,77 @@
|
|||||||
"description": "Useless app but Cineday is pretty nice.\nEvery Tuesday you can invite the person of your choice in movies (within the limit of available seats).\nYou can just use https://cineday.orange.fr/cineday/",
|
"description": "Useless app but Cineday is pretty nice.\nEvery Tuesday you can invite the person of your choice in movies (within the limit of available seats).\nYou can just use https://cineday.orange.fr/cineday/",
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "hdopen.vivicitta",
|
||||||
|
"description": "Companion\nApp for training, so bloated and from T-Mobile",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "hu.telekom.telekomapp",
|
||||||
|
"description": "Telekom\nApp for subscriptions, so bloated (a lot spying) and from T-Mobile",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "hu.telekom.telekomtv",
|
||||||
|
"description": "Mobile shopping\nApp for watch tv on phone, so bloated (a lot spying) and from T-Mobile",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "jp.co.daj.consumer.ifilter.aflauncher",
|
||||||
|
"description": "Something Japanese with useless code.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "jp.co.omronsoft.iwnnime.ml",
|
||||||
|
"description": "iWnn IME\nJapanese keyboard pre-installed on some Huawei phone's.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "jp.co.omronsoft.wnnext.skin.std_dark_type2_HW",
|
||||||
|
"description": "Skin Dark mode to Japanese Keyboard.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "jp.co.omronsoft.wnnext.skin.std_light_type2_HW",
|
||||||
|
"description": "Skin Light mode to Japanese Keyboard.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "jp.co.yahoo.android.ebookjapan.preinstall",
|
||||||
|
"description": "eBookJapan\nNot needed japanese.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "net.aetherpal.device",
|
"id": "net.aetherpal.device",
|
||||||
"label": "AT&T Remote Support",
|
"label": "AT&T Remote Support",
|
||||||
"description": "Provided by Aetherpal (was acquired by VMware). It allows an AT&T Advanced Support representative to assist you by accessing your device remotely.",
|
"description": "Provided by Aetherpal (was acquired by VMware). It allows an AT&T Advanced Support representative to assist you by accessing your device remotely.",
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "pl.tmobile.miboa",
|
||||||
|
"description": "My T-Mobile\nHas login activity and MailBox.\nA lot metrics, analytics.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "pl.tmobile.panel",
|
||||||
|
"description": "MyBox\nRequire sim card to run app\nit's app store(discontinued?)",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "ro.cosmote.aps.wnwlite",
|
||||||
|
"description": "TopApps(discontinued)\nit's non english app. Installs recommended apps?\nI can't launch the app because it displays an error that it can't connect to the Internet, even when Wi-Fi is on.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "telekom.hu.android.mobilvasarlas",
|
||||||
|
"description": "Mobile shopping\nApp for shopping or paying, so bloated and from T-Mobile",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "tmobile.hu.android.epgmiab",
|
||||||
|
"description": "Newsreel\nAnother app to tv things, so bloated and from T-Mobile, not needed",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "uk.co.ee.myee",
|
"id": "uk.co.ee.myee",
|
||||||
"label": "My EE",
|
"label": "My EE",
|
||||||
@@ -1216,4 +1495,4 @@
|
|||||||
"description": "Discontinued. This app aimed at organizing all of your existing apps on the phone by category and helping you discover new apps through search and recommendations.",
|
"description": "Discontinued. This app aimed at organizing all of your existing apps on the phone by category and helping you discover new apps through search and recommendations.",
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
}
|
}
|
||||||
]
|
]
|
252
google.json
252
google.json
@@ -5,9 +5,11 @@
|
|||||||
"description": "Google Chrome: Slow & Painful\nOccasionally runs in the background, not to mention how it tracks everything.",
|
"description": "Google Chrome: Slow & Painful\nOccasionally runs in the background, not to mention how it tracks everything.",
|
||||||
"web": [
|
"web": [
|
||||||
"https://play.google.com/store/apps/details?id=com.android.chrome",
|
"https://play.google.com/store/apps/details?id=com.android.chrome",
|
||||||
"https://privacytests.org/android.html"
|
"https://privacytests.org/android.html",
|
||||||
|
"https://fidoalliance.org/passkeys/"
|
||||||
],
|
],
|
||||||
"removal": "replace",
|
"removal": "replace",
|
||||||
|
"warning": "Removing the app may break creating and storing passkeys on your phone, so keep this enabled if you want to use that form of authentication. Google Play Services can also provide this functionality on some devices. When Chrome is updated via the Play Store, the Trichrome Library is also updated automatically. If Chrome is disabled or removed, it may impact WebView functionality.\nThis is because Chrome, WebView, and the Trichrome Library work together as a bundle starting from Android 10 (API 29) and above.",
|
||||||
"suggestions": "browsers"
|
"suggestions": "browsers"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -94,6 +96,11 @@
|
|||||||
"removal": "replace",
|
"removal": "replace",
|
||||||
"suggestions": "cameras"
|
"suggestions": "cameras"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.google.android.accessibility.soundamplifier",
|
||||||
|
"description": "Accessibility sound amplifier (https://play.google.com/store/apps/details?id=com.google.android.accessibility.soundamplifier)",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.google.android.apps.access.wifi.consumer",
|
"id": "com.google.android.apps.access.wifi.consumer",
|
||||||
"label": "Google Wifi",
|
"label": "Google Wifi",
|
||||||
@@ -376,6 +383,11 @@
|
|||||||
"removal": "replace",
|
"removal": "replace",
|
||||||
"suggestions": "maps"
|
"suggestions": "maps"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.google.android.apps.mediahome.launcher",
|
||||||
|
"description": "Entertainment Space\nAll-in-one application for entertainment purposes like movies, games, books etc.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.google.android.apps.meetings",
|
"id": "com.google.android.apps.meetings",
|
||||||
"label": "Google Meet",
|
"label": "Google Meet",
|
||||||
@@ -385,13 +397,13 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "com.google.android.apps.messaging",
|
"id": "com.google.android.apps.messaging",
|
||||||
"label": "Messages by Google",
|
"label": "Messages",
|
||||||
"description": "RCS client from Google, also supports SMS/MMS. Runs in the background.",
|
"description": "RCS client from Google, also supports SMS/MMS. Runs in the background.\nCould be a global dependency for SMS, MMS, RCS, OTP, and other services/verifications.\nGSMA has recently standardized E2EE, but currently, there is not alternative available for Android.",
|
||||||
"web": [
|
"web": [
|
||||||
"https://play.google.com/store/apps/details?id=com.google.android.apps.messaging"
|
"https://play.google.com/store/apps/details?id=com.google.android.apps.messaging"
|
||||||
],
|
],
|
||||||
"removal": "replace",
|
"removal": "replace",
|
||||||
"warning": "Removing this may cause issues with receiving 2FA verification text messages and calls from Google on some devices. Please let us know your experience with this on https://github.com/0x192/universal-android-debloater/pull/250 (give your phone model + Android version)",
|
"warning": "Once disabled/uninstalled, even if reinstalled, a factory reset may be required to re-obtain full functionality.",
|
||||||
"suggestions": "sms"
|
"suggestions": "sms"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -406,7 +418,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "com.google.android.apps.nbu.files",
|
"id": "com.google.android.apps.nbu.files",
|
||||||
"label": "Files by Google",
|
"label": "Files",
|
||||||
"description": "Used to be for cleaning and sharing. But nowadays, it became a hybrid app. Runs in the background.\nFOSS alternative is https://github.com/TeamAmaze/AmazeFileUtilities",
|
"description": "Used to be for cleaning and sharing. But nowadays, it became a hybrid app. Runs in the background.\nFOSS alternative is https://github.com/TeamAmaze/AmazeFileUtilities",
|
||||||
"web": [
|
"web": [
|
||||||
"https://play.google.com/store/apps/details?id=com.google.android.apps.nbu.files"
|
"https://play.google.com/store/apps/details?id=com.google.android.apps.nbu.files"
|
||||||
@@ -489,6 +501,11 @@
|
|||||||
"removal": "replace",
|
"removal": "replace",
|
||||||
"suggestions": "podcasts"
|
"suggestions": "podcasts"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.google.android.apps.privacy.wildlife",
|
||||||
|
"description": "VPN by Google One. Discontinued. Succeeded by VPN by Google and Google Fi VPN.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.google.android.apps.recorder",
|
"id": "com.google.android.apps.recorder",
|
||||||
"label": "Recorder",
|
"label": "Recorder",
|
||||||
@@ -524,6 +541,11 @@
|
|||||||
"description": "Discontinued.",
|
"description": "Discontinued.",
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.google.android.apps.scone",
|
||||||
|
"description": "Automatically switches basebands between LTE and 5G on demand",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.google.android.apps.searchlite",
|
"id": "com.google.android.apps.searchlite",
|
||||||
"label": "Google Go",
|
"label": "Google Go",
|
||||||
@@ -533,6 +555,11 @@
|
|||||||
],
|
],
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.google.android.apps.security.securityhub",
|
||||||
|
"description": "Checks security your phone(you can find it in settings). Not very useful.\nhttps://play.google.com/store/apps/details?id=com.google.android.apps.security.securityhub",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.google.android.apps.setupwizard.searchselector",
|
"id": "com.google.android.apps.setupwizard.searchselector",
|
||||||
"label": "Search Engine Selector",
|
"label": "Search Engine Selector",
|
||||||
@@ -589,9 +616,15 @@
|
|||||||
"id": "com.google.android.apps.turbo",
|
"id": "com.google.android.apps.turbo",
|
||||||
"label": "Device Health Services",
|
"label": "Device Health Services",
|
||||||
"description": "Discontinued.",
|
"description": "Discontinued.",
|
||||||
"removal": "delete",
|
"removal": "caution",
|
||||||
|
"warning": "Breaks battery settings.",
|
||||||
"suggestions": "battery_managers"
|
"suggestions": "battery_managers"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.google.android.apps.tycho",
|
||||||
|
"description": "Google Fi Wireless\nhttps://play.google.com/store/apps/details?id=com.google.android.apps.tycho",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.google.android.apps.uploader",
|
"id": "com.google.android.apps.uploader",
|
||||||
"label": "Picasa Uploader",
|
"label": "Picasa Uploader",
|
||||||
@@ -619,6 +652,11 @@
|
|||||||
"description": "Wallpaper app from Google. Lets you set wallpaper from various sources including Google Earth collection",
|
"description": "Wallpaper app from Google. Lets you set wallpaper from various sources including Google Earth collection",
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.google.android.apps.weather",
|
||||||
|
"description": "The new Weather app by Google. If removed, \"At a Glance\" and the lock screen will still redirect to the Google app (like before).\nhttps://play.google.com/store/apps/details?id=com.google.android.apps.weather",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.google.android.apps.wellbeing",
|
"id": "com.google.android.apps.wellbeing",
|
||||||
"label": "Digital Wellbeing",
|
"label": "Digital Wellbeing",
|
||||||
@@ -626,8 +664,8 @@
|
|||||||
"web": [
|
"web": [
|
||||||
"https://play.google.com/store/apps/details?id=com.google.android.apps.wellbeing"
|
"https://play.google.com/store/apps/details?id=com.google.android.apps.wellbeing"
|
||||||
],
|
],
|
||||||
"removal": "delete",
|
"removal": "caution",
|
||||||
"warning": "It is a hard dependency for the settings app on Android 12+ on Pixel phones. Disable this package instead of uninstalling it, or the settings will crash on launch."
|
"warning": "It is a hard dependency for the settings app on Android 12+ on Pixel phones. After uninstalling, there will be an empty entry on Settings. Rebooting should make it disappear."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "com.google.android.apps.work.oobconfig",
|
"id": "com.google.android.apps.work.oobconfig",
|
||||||
@@ -694,7 +732,16 @@
|
|||||||
{
|
{
|
||||||
"id": "com.google.android.as",
|
"id": "com.google.android.as",
|
||||||
"label": "Android System Intelligence",
|
"label": "Android System Intelligence",
|
||||||
"description": "Previously, Device Personalization Services. Runs in the background.\n\"Enables intelligent features across Android\", like: Live Caption, Screen Attention, Improved Copy-Paste, App Predictions in the launcher, Notification Smart Actions, Smart Text Selection and Linkifying text in apps.",
|
"description": "Previously, Device Personalization Services. Runs in the background.\n\"Enables intelligent features across Android\", like: Live Caption, Screen Attention, Improved Copy-Paste, App Predictions in the launcher, Notification Smart Actions, Smart Text Selection and Linkifying text in apps.\nAlso known as device learning, e.g., enhanced keyboard auto suggestions, keeps the screen on when looking at it (with help of the camera), smart replies.",
|
||||||
|
"web": [
|
||||||
|
"https://play.google.com/store/apps/details?id=com.google.android.as",
|
||||||
|
"https://milaq.net/android-bloatware"
|
||||||
|
],
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.google.android.as.oss",
|
||||||
|
"description": "Private Compute Services. On-device behavior analysis\nEnables live caption, music recognition and smart replies.\nSeems to be a dependency of System Intelligence.\nhttps://play.google.com/store/apps/details?id=com.google.android.as.oss\nhttps://milaq.net/android-bloatware",
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -731,16 +778,6 @@
|
|||||||
"removal": "replace",
|
"removal": "replace",
|
||||||
"suggestions": "calendars"
|
"suggestions": "calendars"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"id": "com.google.android.carrierconfig",
|
|
||||||
"label": "com.google.android.carrierconfig",
|
|
||||||
"description": "Same as com.android.carrierconfig? Here's that description:\nDynamically provides configuration for the carrier network.\nThe config contains: Roaming networks, Voicemail settings, SMS/MMS settings, VoLTE/IMS settings, and more.\nIf a carrier app is installed it will be queried for overrides to these settings.\nSeems to run on boot and when you swap SIM card?",
|
|
||||||
"web": [
|
|
||||||
"https://source.android.com/devices/tech/config/carrier",
|
|
||||||
"https://cs.android.com/android/platform/superproject/+/master:packages/apps/CarrierConfig/src/com/android/carrierconfig/DefaultCarrierConfigService.java"
|
|
||||||
],
|
|
||||||
"removal": "replace"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"id": "com.google.android.cellbroadcastreceiver",
|
"id": "com.google.android.cellbroadcastreceiver",
|
||||||
"label": "Wireless emergency alerts",
|
"label": "Wireless emergency alerts",
|
||||||
@@ -771,11 +808,11 @@
|
|||||||
{
|
{
|
||||||
"id": "com.google.android.configupdater",
|
"id": "com.google.android.configupdater",
|
||||||
"label": "ConfigUpdater",
|
"label": "ConfigUpdater",
|
||||||
"description": "Occasionally runs in the background.\nAuto updates certificates for TLS connection, firewall configuration, etc.\nMainly used for Google services? Might be fine to disable if you don't use Google services. Disabling might mess with security if you do use them though.",
|
"description": "Intents used to provide unbundled updates of system data. All require the UPDATE_CONFIG permission. Updates:\n- system wide certificate pins for TLS connections.\n- System wide Intent firewall.\n- List of permium SMS short codes.\n- List of carrier provisioning URLs.\n- Set of trusted logs used for Certificate Transparency support for TLS connections language detection model file\n- Smart selection model file\n- Conversation actions model file\n- Network watchlist config file\n- Intent action indicating that the updated carrier id config is available\n- The emergency number database into the devices\n- An integer to indicate the numeric version of the new data -- devices should only install if the update version is newer than the current one\n- Hash of the database, which is encoded by base-16 SHA512.",
|
||||||
"web": [
|
"web": [
|
||||||
"https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/os/ConfigUpdate.java"
|
"https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/os/ConfigUpdate.java"
|
||||||
],
|
],
|
||||||
"removal": "delete"
|
"removal": "caution"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "com.google.android.contacts",
|
"id": "com.google.android.contacts",
|
||||||
@@ -792,7 +829,7 @@
|
|||||||
"label": "Clock",
|
"label": "Clock",
|
||||||
"description": "Clock by Google LLC.",
|
"description": "Clock by Google LLC.",
|
||||||
"removal": "replace",
|
"removal": "replace",
|
||||||
"warning": "on some phones, removing this makes it so alarms and notifications only vibrate and don't make any sound (via any installed app), and makes the 'Alarm' section unavailable in 'Settings > Sound & Vibration'",
|
"warning": "On some phones, removing this makes it so alarms and notifications only vibrate and don't make any sound (via any installed app), and makes the 'Alarm' section unavailable in 'Settings > Sound & Vibration'",
|
||||||
"suggestions": "clocks"
|
"suggestions": "clocks"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -806,19 +843,6 @@
|
|||||||
"removal": "replace",
|
"removal": "replace",
|
||||||
"suggestions": "dialers"
|
"suggestions": "dialers"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"id": "com.google.android.documentsui",
|
|
||||||
"label": "Files",
|
|
||||||
"description": "Occasionally runs in the background.\nFile selector for other apps.",
|
|
||||||
"removal": "unsafe",
|
|
||||||
"warning": "Storage Access Framework (SAF) will break if this is disabled."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "com.google.android.ext.shared",
|
|
||||||
"label": "Android Shared Library",
|
|
||||||
"description": "Used to share common code between apps. It's empty, so this package is useless?",
|
|
||||||
"removal": "delete"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"id": "com.google.android.feedback",
|
"id": "com.google.android.feedback",
|
||||||
"label": "Market Feedback Agent",
|
"label": "Market Feedback Agent",
|
||||||
@@ -848,7 +872,7 @@
|
|||||||
{
|
{
|
||||||
"id": "com.google.android.gms",
|
"id": "com.google.android.gms",
|
||||||
"label": "Google Play services",
|
"label": "Google Play services",
|
||||||
"description": "GMS = Google Mobile Services. It is a layer that sits on top of the OS and provides a bunch of Google APIs, giving apps access to various Google Services.\nIf you remove it all the apps relying on Google Play Services whill either: \n- detect the lack of play services and refuse to run\n- detect the lack of play services but allow you to run (improperly) by dismissing an annoying popup.\nDisabling this package will improve battery life a lot.",
|
"description": "GMS = Google Mobile Services. It is a layer that sits on top of the OS and provides a lot of proprietary Google APIs, giving apps access to various Google Services, such as: \"fused\"-location (internet and GPS chip), QR Code scanner, 2FA, G-Drive storage, Firebase API, Cloud Messaging, etc.\nIf you remove it, all the apps relying on it will either:\n- detect the lack of Play-Services and refuse to run\n- detect the lack of Play-Services but allow you to run (improperly) by dismissing an annoying popup.\nDisabling this package will improve battery life a lot.",
|
||||||
"web": [
|
"web": [
|
||||||
"https://play.google.com/store/apps/details?id=com.google.android.gms"
|
"https://play.google.com/store/apps/details?id=com.google.android.gms"
|
||||||
],
|
],
|
||||||
@@ -858,10 +882,7 @@
|
|||||||
{
|
{
|
||||||
"id": "com.google.android.gms.location.history",
|
"id": "com.google.android.gms.location.history",
|
||||||
"label": "Google Location History",
|
"label": "Google Location History",
|
||||||
"description": "I'm guessing this runs in the background unless you have this setting turned off in your Google account. I have the setting turned off and I've never seen this package run.",
|
"description": "This app has nothing in the code. Only png logo google and name.",
|
||||||
"web": [
|
|
||||||
"https://support.google.com/accounts/answer/3118687?hl=en"
|
|
||||||
],
|
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -874,14 +895,20 @@
|
|||||||
"removal": "delete",
|
"removal": "delete",
|
||||||
"suppress": "LabelSameAsId"
|
"suppress": "LabelSameAsId"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.google.android.gms.supervision",
|
||||||
|
"description": "Family Link parental controls\nIt has something to Family Link parental controls.\nIntroduced in android 13.\nhttps://play.google.com/store/apps/details?id=com.google.android.gms.supervision",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.google.android.googlequicksearchbox",
|
"id": "com.google.android.googlequicksearchbox",
|
||||||
"label": "Google",
|
"label": "Google",
|
||||||
"description": "Formerly Google Search Box.\nRuns in the background.\nPointless. If you need a shortcut to Google on your homescreen just use a web-browser shortcut. Does also remove the Google Sound Search widget, but you can get that functionality from an app like Shazam, that additionally doesn't run in the background constantly like this package does.",
|
"description": "Formerly, Google Search Box.\nRuns in the background.\nPointless. If you need a shortcut to Google on your homescreen just use a web-browser shortcut. Does also remove the Google Sound Search widget, but you can get that functionality from an app like Shazam, that additionally doesn't run in the background constantly like this package does.\nThis app also powers the Google Discover page (the news 'widget' when you go to the left of the home screen) and the app symbol called 'Google'.",
|
||||||
"web": [
|
"web": [
|
||||||
"https://play.google.com/store/apps/details?id=com.google.android.googlequicksearchbox"
|
"https://play.google.com/store/apps/details?id=com.google.android.googlequicksearchbox"
|
||||||
],
|
],
|
||||||
"removal": "delete"
|
"removal": "caution",
|
||||||
|
"warning": "Disabling this package also breaks the Ok Google Search functionality as well as Google Lens."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "com.google.android.gsf",
|
"id": "com.google.android.gsf",
|
||||||
@@ -900,6 +927,16 @@
|
|||||||
"removal": "caution",
|
"removal": "caution",
|
||||||
"warning": "Safe to remove if you don't use a Google account."
|
"warning": "Safe to remove if you don't use a Google account."
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.google.android.health.connect.backuprestore",
|
||||||
|
"description": "Health Connect for Android backup/restore.",
|
||||||
|
"removal": "replace"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.google.android.healthconnect.controller",
|
||||||
|
"description": "Health Connect by Android gives you a simple way to share data between your health, fitness, and wellbeing apps without compromising on privacy.\nOnce you've downloaded Health Connect, you can access it through your settings by going to Settings > Apps > Health Connect, or from your Quick Settings menu.\nhttps://play.google.com/store/apps/details?id=com.google.android.apps.healthdata",
|
||||||
|
"removal": "replace"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.google.android.ims",
|
"id": "com.google.android.ims",
|
||||||
"label": "Carrier Services",
|
"label": "Carrier Services",
|
||||||
@@ -991,7 +1028,8 @@
|
|||||||
"web": [
|
"web": [
|
||||||
"https://play.google.com/store/apps/details?id=com.google.android.marvin.talkback"
|
"https://play.google.com/store/apps/details?id=com.google.android.marvin.talkback"
|
||||||
],
|
],
|
||||||
"removal": "replace"
|
"removal": "caution",
|
||||||
|
"warning": "Removal causes com.motorola.dynamicvolume to not display the respective volume for individual apps when the volume button pressed. Seems to revert to an older (maybe testing) version of the dynamicvolume package?"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "com.google.android.music",
|
"id": "com.google.android.music",
|
||||||
@@ -1006,6 +1044,69 @@
|
|||||||
"description": "Provides first time setup, safe to remove.",
|
"description": "Provides first time setup, safe to remove.",
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.google.android.overlay.gmsconfig",
|
||||||
|
"description": "Useless configurations about webview, wifi and bluetooth to scan for better location. Everything works without it.\nWARNING: causes the Galaxy App to force-close after a few seconds on a Samsung N960F running Android Q.",
|
||||||
|
"removal": "replace"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.google.android.overlay.gmsconfig.asi",
|
||||||
|
"description": "it's another component of\nAndroid System Intelligence (previously Device Personalization Services)",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.google.android.overlay.gmsconfig.common",
|
||||||
|
"label": "com.google.android.overlay.gmsconfig.common",
|
||||||
|
"description": "If you delete this package, you won't be able to log in to your Google account on a Google app. But if you don't need to log in to a Google account, you can safely remove this.",
|
||||||
|
"removal": "caution",
|
||||||
|
"suppress": "LabelSameAsId"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.google.android.overlay.gmsconfig.comms",
|
||||||
|
"label": "com.google.android.overlay.gmsconfig.comms",
|
||||||
|
"description": "Useless configurations for Google's Phone, Messages, Contacts apps, everything works without it.",
|
||||||
|
"removal": "delete",
|
||||||
|
"suppress": "LabelSameAsId"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.google.android.overlay.gmsconfig.geotz",
|
||||||
|
"description": "Provides Geolocation Time Zone detection.\nand it's used by (com.google.android.overlay.gmsconfig.common)?\nNo effects after remove.",
|
||||||
|
"removal": "caution"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.google.android.overlay.gmsconfig.gsa",
|
||||||
|
"label": "com.google.android.overlay.gmsconfig.gsa",
|
||||||
|
"description": "configures default assistant? And have config to allow disabling assist disclosure?\nI think it doesn't affect anything.\nSafe to remove if you removed (com.google.android.googlequicksearchbox).",
|
||||||
|
"removal": "caution",
|
||||||
|
"suppress": "LabelSameAsId"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.google.android.overlay.gmsconfig.personalsafety",
|
||||||
|
"description": "Not needed for (com.google.android.apps.safetyhub).",
|
||||||
|
"removal": "caution"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.google.android.overlay.gmsconfig.photos",
|
||||||
|
"label": "com.google.android.overlay.gmsconfig.photos",
|
||||||
|
"description": "Overlay to Gallery (com.google.android.apps.photos). Useless.",
|
||||||
|
"removal": "delete",
|
||||||
|
"suppress": "LabelSameAsId"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.google.android.overlay.gmsconfig.searchlauncherqs",
|
||||||
|
"description": "Useless gmsconfig. it's config default launcher but not needed.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.google.android.overlay.gmsconfig.searchselector",
|
||||||
|
"description": "Not needed for (com.google.android.apps.setupwizard.searchselector).",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.google.android.overlay.gmsconfig.ww",
|
||||||
|
"description": "useless unused overlay gmsconfig to family link.",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.google.android.overlay.modules.cellbroadcastreceiver",
|
"id": "com.google.android.overlay.modules.cellbroadcastreceiver",
|
||||||
"label": "com.google.android.overlay.modules.cellbroadcastreceiver",
|
"label": "com.google.android.overlay.modules.cellbroadcastreceiver",
|
||||||
@@ -1021,41 +1122,25 @@
|
|||||||
{
|
{
|
||||||
"id": "com.google.android.overlay.modules.documentsui",
|
"id": "com.google.android.overlay.modules.documentsui",
|
||||||
"label": "com.google.android.overlay.modules.documentsui",
|
"label": "com.google.android.overlay.modules.documentsui",
|
||||||
"description": "Files Theme pack. Guessing it's a pack of themes for the stock Android File Browser, based on the name.",
|
"description": "In code only found: `is_launcher_enabled` is set to false.\nIt's only made to hide app icon (com.google.android.documentsui)\nNo effects after removal (the launcher icon will be not back), it's useless.",
|
||||||
"web": [
|
"web": [
|
||||||
"https://docs.samsungknox.com/CCMode/G973F_LTE_R.pdf"
|
"https://docs.samsungknox.com/CCMode/G973F_LTE_R.pdf"
|
||||||
],
|
],
|
||||||
"removal": "caution"
|
"removal": "delete",
|
||||||
},
|
"suppress": "LabelSameAsId"
|
||||||
{
|
|
||||||
"id": "com.google.android.overlay.modules.ext.services",
|
|
||||||
"label": "com.google.android.overlay.modules.ext.services",
|
|
||||||
"description": "Android System Theme pack. The package name is pretty self-explanatory.",
|
|
||||||
"removal": "caution"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "com.google.android.overlay.modules.permissioncontroller",
|
|
||||||
"label": "com.google.android.overlay.modules.permissioncontroller",
|
|
||||||
"description": "Permission controller Theme pack. Guessing it's a pack of themes for the Permission Controller based on the name.",
|
|
||||||
"removal": "caution"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "com.google.android.overlay.modules.permissioncontroller.forframework",
|
|
||||||
"label": "com.google.android.overlay.modules.permissioncontroller.forframework",
|
|
||||||
"description": "Android System Theme pack. Guessing it's a pack of themes for the Android system framework permission controller based on the name.",
|
|
||||||
"removal": "caution"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "com.google.android.partnersetup",
|
"id": "com.google.android.partnersetup",
|
||||||
"label": "Google Partner Setup",
|
"label": "Google Partner Setup",
|
||||||
"description": "Occasionally runs in the background. Based on an unclear explanation online: Enables applications to interact with your Google account/apps, for example: adding a Google Calendar event from a To-Do app.\nProbably safe to disable; Haven't noticed any consequences of disabling from weeks of use.",
|
"description": "Occasionally runs in the background. Based on an unclear explanation online: Enables applications to interact with your Google account/apps, for example: adding a Google Calendar event from a To-Do app.\nProbably safe to disable; Haven't noticed any consequences of disabling from weeks of use.",
|
||||||
"removal": "delete"
|
"removal": "caution"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "com.google.android.pixel.setupwizard",
|
"id": "com.google.android.pixel.setupwizard",
|
||||||
"label": "Pixel Setup",
|
"label": "Pixel Setup",
|
||||||
"description": "It's the basic configuration setup guides you through the basics of setting up Google features on your device. The package is only present on Pixel phones.",
|
"description": "It's the basic configuration setup guides you through the basics of setting up Google features on your device. The package is only present on Pixel phones.",
|
||||||
"removal": "delete"
|
"removal": "caution",
|
||||||
|
"warning": "Removing the package breaks the Google Play System update page found on \"Security & privacy\"."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "com.google.android.play.games",
|
"id": "com.google.android.play.games",
|
||||||
@@ -1066,12 +1151,6 @@
|
|||||||
],
|
],
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"id": "com.google.android.printservice.recommendation",
|
|
||||||
"label": "Print Service Recommendation Service",
|
|
||||||
"description": "I think this has to do with recommending a printservice app you can get from the Play store. I think printing still works with this off.",
|
|
||||||
"removal": "delete"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"id": "com.google.android.projection.gearhead",
|
"id": "com.google.android.projection.gearhead",
|
||||||
"label": "Android Auto",
|
"label": "Android Auto",
|
||||||
@@ -1084,12 +1163,12 @@
|
|||||||
{
|
{
|
||||||
"id": "com.google.android.setupwizard",
|
"id": "com.google.android.setupwizard",
|
||||||
"label": "Android Setup",
|
"label": "Android Setup",
|
||||||
"description": "The new/factory reset device basic configuration setup guides you through the basics of setting up your device.",
|
"description": "The factory reset device basic configuration setup guides you through the basics of setting up your device.",
|
||||||
"web": [
|
"web": [
|
||||||
"https://en.wikipedia.org/wiki/Mobile_identity_management"
|
"https://en.wikipedia.org/wiki/Mobile_identity_management"
|
||||||
],
|
],
|
||||||
"removal": "caution",
|
"removal": "caution",
|
||||||
"warning": "Oddly enough, disabling/uninstalling this package will break mobile identity management which could be used by apps (for example your Bank) to authenticate you."
|
"warning": "Oddly enough, disabling/uninstalling this package will break mobile identity management which could be used by apps (for example your bank) to authenticate you."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "com.google.android.setupwizard.a_overlay",
|
"id": "com.google.android.setupwizard.a_overlay",
|
||||||
@@ -1141,15 +1220,20 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "com.google.android.tts",
|
"id": "com.google.android.tts",
|
||||||
"label": "Speech Services by Google",
|
"label": "Speech Recognition and Synthesis",
|
||||||
"description": "Default Text To Speech (TTS) engine on most of Android devices. It enables apps to convert text into voice.\nNote: many apps like navigation and health/sport apps rely on a TTS engine to provide speech services.",
|
"description": "Default Text To Speech (TTS) engine on most of Android devices. It enables apps to convert text into voice.\nNote: many apps like navigation and health/sport apps rely on a TTS engine to provide speech services.",
|
||||||
"web": [
|
"web": [
|
||||||
"https://play.google.com/store/apps/details?id=com.google.android.tts",
|
"https://play.google.com/store/apps/details?id=com.google.android.tts",
|
||||||
"https://beta.pithus.org/report/08f97758fbfae1e17c4a8e5ee1a1e6d2726ce6b0b4931d5452f2376d60f1b4fb"
|
"https://beta.pithus.org/report/f0a2303e1c1bd049bf1cdc5a3454dfe19b2aaf26008662c7a307aaec2538558b"
|
||||||
],
|
],
|
||||||
"removal": "replace",
|
"removal": "replace",
|
||||||
"suggestions": "tts"
|
"suggestions": "tts"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.google.android.turboadapter",
|
||||||
|
"description": "Device Health Services Adapter\nAnother app for Device Health Services(discontinued)",
|
||||||
|
"removal": "delete"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.google.android.tv.remote",
|
"id": "com.google.android.tv.remote",
|
||||||
"label": "Android TV Remote Control",
|
"label": "Android TV Remote Control",
|
||||||
@@ -1206,8 +1290,19 @@
|
|||||||
"https://play.google.com/store/apps/details?id=com.google.android.webview"
|
"https://play.google.com/store/apps/details?id=com.google.android.webview"
|
||||||
],
|
],
|
||||||
"removal": "replace",
|
"removal": "replace",
|
||||||
|
"warning": "Installing a third-party webview requires root.",
|
||||||
"suggestions": "webviews"
|
"suggestions": "webviews"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.google.android.wifi.dialog",
|
||||||
|
"description": "Wi-Fi dialog. App to launch user dialogs requested by the Wi-Fi service is stored here. Contains the Activity the dialogs are launched from.\nhttps://source.android.com/docs/core/ota/modular-system/wifi\nhttps://android.googlesource.com/platform/packages/apps/Settings/+/refs/heads/main/src/com/android/settings/wifi/WifiDialog.java\nhttps://android.googlesource.com/platform/packages/apps/Settings/+/refs/heads/main/src/com/android/settings/wifi/WifiDialog2.kt",
|
||||||
|
"removal": "caution"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "com.google.android.wifi.resources",
|
||||||
|
"description": "Wi-Fi Service Resources. Overlay APK manifest is stored here. Extracts Wi-Fi configs.\nhttps://source.android.com/docs/core/ota/modular-system/wifi",
|
||||||
|
"removal": "unsafe"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.google.android.youtube",
|
"id": "com.google.android.youtube",
|
||||||
"label": "YouTube",
|
"label": "YouTube",
|
||||||
@@ -1266,6 +1361,11 @@
|
|||||||
],
|
],
|
||||||
"removal": "delete"
|
"removal": "delete"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "com.google.mainline.telemetry",
|
||||||
|
"description": "Contains data on which versions of modules are installed. Google Play uses this data to determine if updates are available for the modules, and to show which security patch is installed.\nThis module doesn’t contain active code and has no functionality on its own.\nAnyway I wont trust it when adservices are also in mainline.\nhttps://www.xda-developers.com/android-project-mainline-modules-explanation/\nhttps://gitlab.com/W1nst0n/universal-android-debloater/-/issues/27#note_410012436",
|
||||||
|
"removal": "replace"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "com.google.marvin.talkback",
|
"id": "com.google.marvin.talkback",
|
||||||
"label": "Android Accessibility Suite",
|
"label": "Android Accessibility Suite",
|
||||||
@@ -1318,4 +1418,4 @@
|
|||||||
"removal": "replace",
|
"removal": "replace",
|
||||||
"suggestions": "barcode_scanners"
|
"suggestions": "barcode_scanners"
|
||||||
}
|
}
|
||||||
]
|
]
|
1293
pending.json
1293
pending.json
File diff suppressed because it is too large
Load Diff
146
scripts/browser_generator.php
Normal file
146
scripts/browser_generator.php
Normal file
@@ -0,0 +1,146 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
|
||||||
|
const REPO_DIR = __DIR__ . "/..";
|
||||||
|
const BROWSER_DIR = REPO_DIR . "/browser";
|
||||||
|
const SRC_DIR = BROWSER_DIR . "/src";
|
||||||
|
const BLOATWARE_DIR = SRC_DIR . "/bloatware";
|
||||||
|
const SUMMARY_FILE = SRC_DIR . "/SUMMARY.md";
|
||||||
|
const SITEMAP_FILE = SRC_DIR . "/sitemap";
|
||||||
|
|
||||||
|
# Create bloatware list
|
||||||
|
$bloatware_list = [];
|
||||||
|
@mkdir(BLOATWARE_DIR,0777, true);
|
||||||
|
foreach (scandir(REPO_DIR) as $filename) {
|
||||||
|
if (!str_ends_with($filename, ".json")) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$file = REPO_DIR . '/' . $filename;
|
||||||
|
$type = substr($filename, 0, -5);
|
||||||
|
try {
|
||||||
|
$list = json_decode(file_get_contents($file), true, 512, JSON_THROW_ON_ERROR);
|
||||||
|
} catch (JsonException $e) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
foreach ($list as $item) {
|
||||||
|
$id = $item['id'];
|
||||||
|
$name = $item['label'] ?? $id;
|
||||||
|
$bloatware_list[$id] = $name;
|
||||||
|
$content = create_bloatware_item($type, $item);
|
||||||
|
file_put_contents(BLOATWARE_DIR . "/$id.md", $content);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
asort($bloatware_list);
|
||||||
|
|
||||||
|
# Copy readme
|
||||||
|
copy(BROWSER_DIR . "/README.md", SRC_DIR . "/README.md");
|
||||||
|
|
||||||
|
# Create summary
|
||||||
|
$summary = <<<EOF
|
||||||
|
# Summary
|
||||||
|
|
||||||
|
[Welcome!](README.md)
|
||||||
|
|
||||||
|
# Bloatware
|
||||||
|
|
||||||
|
EOF;
|
||||||
|
foreach ($bloatware_list as $id => $name) {
|
||||||
|
$summary .= "- [". $name ."](bloatware/". $id .".md)\n";
|
||||||
|
}
|
||||||
|
file_put_contents(SUMMARY_FILE, $summary);
|
||||||
|
|
||||||
|
# Create sitemap
|
||||||
|
$SITE_NAME = "https://muntashirakon.github.io/android-debloat-list";
|
||||||
|
$urls = <<<EOF
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
|
||||||
|
<url>
|
||||||
|
<loc>{$SITE_NAME}</loc>
|
||||||
|
</url>
|
||||||
|
EOF;
|
||||||
|
foreach ($bloatware_list as $id => $name) {
|
||||||
|
$urls .= <<<EOF
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>$SITE_NAME/bloatware/{$id}.html</loc>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
</url>
|
||||||
|
EOF;
|
||||||
|
}
|
||||||
|
$urls .= <<<EOF
|
||||||
|
|
||||||
|
</urlset>
|
||||||
|
EOF;
|
||||||
|
file_put_contents(SITEMAP_FILE . ".xml", $urls);
|
||||||
|
file_put_contents(SITEMAP_FILE, $urls);
|
||||||
|
|
||||||
|
exit(0);
|
||||||
|
|
||||||
|
// Functions //
|
||||||
|
|
||||||
|
function create_bloatware_item(string $type, array $item): string {
|
||||||
|
$id = $item["id"];
|
||||||
|
$name = $item['label'] ?? $id;
|
||||||
|
$description = str_replace("\n", "\n\n", trim($item["description"]));
|
||||||
|
$warning = isset($item['warning']) ? <<<EOF
|
||||||
|
<div class="warning">
|
||||||
|
{$item['warning']}
|
||||||
|
</div>
|
||||||
|
EOF : "";
|
||||||
|
$removal = $item['removal'];
|
||||||
|
$removal_name = removal_to_string($item['removal']);
|
||||||
|
$type_tag = type_to_string($type);
|
||||||
|
$web = "";
|
||||||
|
if (isset($item["web"])) {
|
||||||
|
$web = "## References { .refs }\n";
|
||||||
|
foreach ($item["web"] as $num => $link) {
|
||||||
|
$n = $num + 1;
|
||||||
|
$web .= "{$n}. <{$link}>\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return <<<EOF
|
||||||
|
# {$name}
|
||||||
|
|
||||||
|
`{$id}`
|
||||||
|
|
||||||
|
<div class="tags">
|
||||||
|
<ul>
|
||||||
|
<li data-tag={$type}>{$type_tag}</li>
|
||||||
|
<li data-tag={$removal}>{$removal_name}</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{$warning}
|
||||||
|
|
||||||
|
{$description}
|
||||||
|
|
||||||
|
{$web}
|
||||||
|
|
||||||
|
<a href="app-manager://details?id={$id}">Open in App Manager</a>
|
||||||
|
EOF;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function type_to_string(string $type): string {
|
||||||
|
switch ($type) {
|
||||||
|
case "aosp": return '<i class="fa fa-android"></i> AOSP';
|
||||||
|
case "carrier": return '<i class="fa fa-signal"></i> Carrier';
|
||||||
|
case "google": return '<i class="fa fa-google"></i> Google';
|
||||||
|
case "misc": return "Others";
|
||||||
|
case "oem": return '<i class="fa fa-microchip"></i> OEM';
|
||||||
|
case "pending": return "Pending";
|
||||||
|
default: throw new Exception("Invalid type: $type");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function removal_to_string(string $removal_name): string {
|
||||||
|
switch ($removal_name) {
|
||||||
|
case "delete": return "Safe to delete";
|
||||||
|
case "replace": return "Replace with alternative";
|
||||||
|
case "caution": return "Exercise caution";
|
||||||
|
case "unsafe": return "Unsafe";
|
||||||
|
default: throw new Exception("Invaid removal: $removal_name");
|
||||||
|
}
|
||||||
|
}
|
@@ -1,19 +1,22 @@
|
|||||||
<?php
|
<?php
|
||||||
/* SPDX-License-Identifier: AGPL-3.0-or-later */
|
/* SPDX-License-Identifier: AGPL-3.0-or-later */
|
||||||
|
|
||||||
|
const SUPPORTED_BL_KEYS = ["suppress", "id", "label", "dependencies", "required_by", "tags", "description", "web", "removal", "warning", "suggestions"];
|
||||||
|
const SUPPORTED_SUG_KEYS = ["id", "label", "reason", "source", "repo"];
|
||||||
const SUPPORTED_REMOVAL_TYPES = ['delete', 'replace', 'caution', 'unsafe'];
|
const SUPPORTED_REMOVAL_TYPES = ['delete', 'replace', 'caution', 'unsafe'];
|
||||||
const SUPPORTED_TAGS = [];
|
const SUPPORTED_TAGS = [];
|
||||||
const SUPPRESS_LINT_CONST_LABEL_SAME_AS_ID = 'LabelSameAsId';
|
const SUPPRESS_LINT_CONST_LABEL_SAME_AS_ID = 'LabelSameAsId';
|
||||||
const SUPPRESS_LINT_CONSTS = [SUPPRESS_LINT_CONST_LABEL_SAME_AS_ID];
|
const SUPPRESS_LINT_CONSTS = [SUPPRESS_LINT_CONST_LABEL_SAME_AS_ID];
|
||||||
const REPO_DIR = __DIR__ . "/..";
|
const REPO_DIR = __DIR__ . "/..";
|
||||||
const SUGGESTIONS_DIR = REPO_DIR . '/suggestions';
|
const SUGGESTIONS_DIR = REPO_DIR . '/suggestions';
|
||||||
const LINT_DIR = __DIR__ . "/../build";
|
const LINT_DIR = REPO_DIR . "/build";
|
||||||
|
|
||||||
if (!file_exists(LINT_DIR)) {
|
if (!file_exists(LINT_DIR)) {
|
||||||
mkdir(LINT_DIR, 0777, true);
|
mkdir(LINT_DIR, 0777, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
$lint_writer = fopen(LINT_DIR . "/lint-results.txt", "w");
|
$lint_writer = fopen(LINT_DIR . "/lint-results.txt", "w");
|
||||||
|
$id_writer = fopen(LINT_DIR ."/ids.txt", "w");
|
||||||
|
|
||||||
// START MAIN
|
// START MAIN
|
||||||
|
|
||||||
@@ -33,6 +36,7 @@ foreach (scandir(REPO_DIR) as $filename) {
|
|||||||
}
|
}
|
||||||
fprintf($lint_writer, "Adding $filename\n");
|
fprintf($lint_writer, "Adding $filename\n");
|
||||||
foreach ($list as $item) {
|
foreach ($list as $item) {
|
||||||
|
fprintf($id_writer, $item['id'] . "\n");
|
||||||
$error_count += validate_bloatware_item($item);
|
$error_count += validate_bloatware_item($item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -56,17 +60,12 @@ foreach (scandir(SUGGESTIONS_DIR) as $filename) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($error_count != 0) {
|
$msg = $error_count != 0 ? "\n$error_count ERRORS.\n" : "No errors.\n";
|
||||||
$msg = "\n$error_count ERRORS.\n";
|
fprintf($lint_writer, $msg);
|
||||||
fprintf($lint_writer, $msg);
|
fclose($lint_writer);
|
||||||
fprintf(STDERR, $msg);
|
fclose($id_writer);
|
||||||
exit(1);
|
fprintf(STDERR, $msg);
|
||||||
} else {
|
exit($error_count != 0 ? 1 : 0);
|
||||||
$msg = "No errors.\n";
|
|
||||||
fprintf($lint_writer, $msg);
|
|
||||||
fprintf(STDERR, $msg);
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
// END MAIN
|
// END MAIN
|
||||||
|
|
||||||
@@ -74,6 +73,13 @@ function validate_bloatware_item(array $item): int {
|
|||||||
global $lint_writer;
|
global $lint_writer;
|
||||||
$suppressed = isset($item['suppress']) ? parse_suppress($item['suppress']) : [];
|
$suppressed = isset($item['suppress']) ? parse_suppress($item['suppress']) : [];
|
||||||
$error_count = 0;
|
$error_count = 0;
|
||||||
|
// Check if the keys are valid
|
||||||
|
foreach ($item as $key => $value) {
|
||||||
|
if (!in_array($key, SUPPORTED_BL_KEYS, true)) {
|
||||||
|
fprintf($lint_writer, "Invalid field: " . $key . "\n");
|
||||||
|
++$error_count;
|
||||||
|
}
|
||||||
|
}
|
||||||
// `id` is a string
|
// `id` is a string
|
||||||
if (gettype($item['id']) != 'string') {
|
if (gettype($item['id']) != 'string') {
|
||||||
fprintf($lint_writer, "Expected `id` field to be a string, found: " . gettype($item['id']) . "\n");
|
fprintf($lint_writer, "Expected `id` field to be a string, found: " . gettype($item['id']) . "\n");
|
||||||
@@ -188,6 +194,13 @@ function validate_bloatware_item(array $item): int {
|
|||||||
function validate_suggestion_item(array $item): int {
|
function validate_suggestion_item(array $item): int {
|
||||||
global $lint_writer;
|
global $lint_writer;
|
||||||
$error_count = 0;
|
$error_count = 0;
|
||||||
|
// Check if the keys are valid
|
||||||
|
foreach ($item as $key => $value) {
|
||||||
|
if (!in_array($key, SUPPORTED_SUG_KEYS, true)) {
|
||||||
|
fprintf($lint_writer, "Invalid field: " . $key . "\n");
|
||||||
|
++$error_count;
|
||||||
|
}
|
||||||
|
}
|
||||||
// `id` is a string
|
// `id` is a string
|
||||||
if (gettype($item['id']) != 'string') {
|
if (gettype($item['id']) != 'string') {
|
||||||
fprintf($lint_writer, "Expected `id` field to be a string, found: " . gettype($item['id']) . "\n");
|
fprintf($lint_writer, "Expected `id` field to be a string, found: " . gettype($item['id']) . "\n");
|
||||||
|
15
scripts/publish_browser.sh
Normal file
15
scripts/publish_browser.sh
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
# Generate MD files
|
||||||
|
php scripts/browser_generator.php
|
||||||
|
|
||||||
|
# Build website
|
||||||
|
cd browser
|
||||||
|
mdbook build
|
||||||
|
|
||||||
|
# Publish
|
||||||
|
cd book
|
||||||
|
git init
|
||||||
|
git add .
|
||||||
|
git commit
|
||||||
|
git push -f git@github.com:MuntashirAkon/android-debloat-list.git master:site
|
@@ -1,39 +1,64 @@
|
|||||||
<?php
|
<?php
|
||||||
/* SPDX-License-Identifier: AGPL-3.0-or-later */
|
/* SPDX-License-Identifier: AGPL-3.0-or-later */
|
||||||
|
|
||||||
const LAST_COMMIT = "11f27c671cba278d71296cdef4c5a5dba06add5e";
|
const LAST_COMMIT = "a04104630ec06b2c85e196725c704d0c2a03c5c0";
|
||||||
const THIS_COMMIT = "11f27c671cba278d71296cdef4c5a5dba06add5e";
|
const THIS_COMMIT = "4fc05ab24c7695bfe2006ff35a4a8ea367aebc31";
|
||||||
|
const REPO_DIR = __DIR__ . "/..";
|
||||||
|
const LINT_DIR = REPO_DIR . "/build";
|
||||||
|
|
||||||
const COLOR_RED = 31;
|
const COLOR_RED = 31;
|
||||||
const COLOR_GREEN = 32;
|
const COLOR_GREEN = 32;
|
||||||
|
|
||||||
function get_link(string $commit_hash): string {
|
function get_link(string $commit_hash): string {
|
||||||
return "https://raw.githubusercontent.com/0x192/universal-android-debloater/$commit_hash/resources/assets/uad_lists.json";
|
return "https://raw.githubusercontent.com/Universal-Debloater-Alliance/universal-android-debloater-next-generation/$commit_hash/resources/assets/uad_lists.json";
|
||||||
|
}
|
||||||
|
|
||||||
|
function convert_to_old(array $list): array {
|
||||||
|
// New array use "id" as key, need to replace it with "id" again
|
||||||
|
$new_list = [];
|
||||||
|
foreach($list as $id => $item) {
|
||||||
|
$item['id'] = $id;
|
||||||
|
$new_list[] = $item;
|
||||||
|
}
|
||||||
|
return $new_list;
|
||||||
}
|
}
|
||||||
|
|
||||||
$old_list_link = get_link(LAST_COMMIT);
|
$old_list_link = get_link(LAST_COMMIT);
|
||||||
$new_list_link = get_link(THIS_COMMIT);
|
$new_list_link = get_link(THIS_COMMIT);
|
||||||
|
|
||||||
if ($old_list_link == $new_list_link) {
|
$old_list = convert_to_old(json_decode(file_get_contents($old_list_link), true));
|
||||||
echo "Already up-to-date.\n";
|
$new_list = convert_to_old(json_decode(file_get_contents($new_list_link), true));
|
||||||
exit(0);
|
$id_list = explode("\n", file_get_contents(LINT_DIR . '/ids.txt'));
|
||||||
}
|
|
||||||
|
|
||||||
$old_list = json_decode(file_get_contents($old_list_link), true);
|
|
||||||
$new_list = json_decode(file_get_contents($new_list_link), true);
|
|
||||||
|
|
||||||
|
$new_items = [
|
||||||
|
"aosp" => [],
|
||||||
|
"carrier" => [],
|
||||||
|
"google" => [],
|
||||||
|
"misc"=> [],
|
||||||
|
"oem"=> [],
|
||||||
|
"pending"=> [],
|
||||||
|
];
|
||||||
// Iterate over the new list to find changes w.r.t old list. Delete the matched item from the old list
|
// Iterate over the new list to find changes w.r.t old list. Delete the matched item from the old list
|
||||||
foreach ($new_list as $item) {
|
foreach ($new_list as $item) {
|
||||||
if ($item['removal'] == 'Unsafe') {
|
$old_item = find_in_old_list($item['id']);
|
||||||
// Exclude Unsafe items
|
if (!in_array($item['id'], $id_list)) {
|
||||||
|
// This is a new item
|
||||||
|
// print("\e[32m+{\e[0m\n");
|
||||||
|
// foreach ($item as $key => $value) {
|
||||||
|
// print_diff($key, $value, COLOR_GREEN);
|
||||||
|
// }
|
||||||
|
// print("\e[32m+}\e[0m\n");
|
||||||
|
$new_items[strtolower($item['list'])][] = $item;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$old_item = find_in_old_list($item['id']);
|
if ($old_item != null && $item != $old_item) {
|
||||||
if ($item != $old_item) {
|
|
||||||
// Two arrays aren't the same, check one by one and print values
|
// Two arrays aren't the same, check one by one and print values
|
||||||
print(" {\n");
|
print(" {\n");
|
||||||
foreach ($item as $key => $value) {
|
foreach ($item as $key => $value) {
|
||||||
if ($value != $old_item[$key]) {
|
if (!isset($old_item[$key])) {
|
||||||
|
// New item
|
||||||
|
print_diff($key, $value, COLOR_GREEN);
|
||||||
|
} else if ($value != $old_item[$key]) {
|
||||||
// These values aren't the same
|
// These values aren't the same
|
||||||
// Print diff
|
// Print diff
|
||||||
print_diff($key, $old_item[$key], COLOR_RED);
|
print_diff($key, $old_item[$key], COLOR_RED);
|
||||||
@@ -43,24 +68,51 @@ foreach ($new_list as $item) {
|
|||||||
print_diff($key, $value, null);
|
print_diff($key, $value, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Print any outstanding items
|
||||||
|
foreach ($old_item as $key => $value) {
|
||||||
|
if (!isset($item[$key])) {
|
||||||
|
print_diff($key, $value, COLOR_RED);
|
||||||
|
}
|
||||||
|
}
|
||||||
print(" }\n");
|
print(" }\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// The remaining items in the old list are removed
|
// The remaining items in the old list are removed
|
||||||
foreach ($old_list as $item) {
|
foreach ($old_list as $item) {
|
||||||
if ($item['removal'] == 'Unsafe') {
|
|
||||||
// Exclude Unsafe items
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
// List this item as removed item.
|
// List this item as removed item.
|
||||||
print("\e[31m-{\e[0m\n");
|
print("\e[31m-{\e[0m\n");
|
||||||
foreach ($item as $key => $value) {
|
foreach ($item as $key => $value) {
|
||||||
print_diff($key, $value, null);
|
print_diff($key, $value, COLOR_RED);
|
||||||
}
|
}
|
||||||
print("\e[31m-}\e[0m\n");
|
print("\e[31m-}\e[0m\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Update list with new items
|
||||||
|
foreach (scandir(REPO_DIR) as $filename) {
|
||||||
|
if (!str_ends_with($filename, ".json")) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$type = substr($filename, 0, -5);
|
||||||
|
// Load old items
|
||||||
|
$file = REPO_DIR . '/' . $filename;
|
||||||
|
try {
|
||||||
|
$list = json_decode(file_get_contents($file), true, 512, JSON_THROW_ON_ERROR);
|
||||||
|
} catch (JsonException $e) {
|
||||||
|
fprintf(STDERR, "Unable to parse %s: %s\n", $filename, $e->getMessage());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
// Add new items
|
||||||
|
foreach ($new_items[$type] as $item) {
|
||||||
|
$list[] = get_adl_formatted_item($item);
|
||||||
|
}
|
||||||
|
// Sort items
|
||||||
|
usort($list, function ($o1, $o2) {
|
||||||
|
return $o1['id'] <=> $o2['id'];
|
||||||
|
});
|
||||||
|
file_put_contents($file, json_encode($list, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT));
|
||||||
|
}
|
||||||
|
|
||||||
exit(0);
|
exit(0);
|
||||||
|
|
||||||
function print_diff(string $key, string|array|null $value, ?int $color): void {
|
function print_diff(string $key, string|array|null $value, ?int $color): void {
|
||||||
@@ -78,16 +130,18 @@ function print_diff(string $key, string|array|null $value, ?int $color): void {
|
|||||||
$color_end = '';
|
$color_end = '';
|
||||||
}
|
}
|
||||||
if ($value == null) {
|
if ($value == null) {
|
||||||
printf("$symbol$color_begin $key: null,$color_end");
|
printf("$symbol$color_begin \"$key\": null,$color_end");
|
||||||
} else if (is_string($value)) {
|
} else if (is_string($value)) {
|
||||||
printf("$symbol$color_begin $key: $value,$color_end");
|
$value = str_replace("\n", "\\n", $value);
|
||||||
|
print("$symbol$color_begin \"$key\": \"$value\",$color_end");
|
||||||
} else if (is_array($value)) {
|
} else if (is_array($value)) {
|
||||||
printf("$symbol$color_begin $key: [$color_end");
|
printf("$symbol$color_begin \"$key\": [$color_end\n");
|
||||||
foreach ($value as $item) {
|
foreach ($value as $item) {
|
||||||
printf("$symbol$color_begin $item,$color_end");
|
printf("$symbol$color_begin \"$item\",$color_end\n");
|
||||||
}
|
}
|
||||||
printf("$symbol$color_begin ],$color_end");
|
printf("$symbol$color_begin ],$color_end");
|
||||||
}
|
}
|
||||||
|
printf("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
function find_in_old_list(string $id): ?array {
|
function find_in_old_list(string $id): ?array {
|
||||||
@@ -106,6 +160,7 @@ function find_in_old_list(string $id): ?array {
|
|||||||
function get_removal(string $uad_removal): string {
|
function get_removal(string $uad_removal): string {
|
||||||
switch ($uad_removal) {
|
switch ($uad_removal) {
|
||||||
default:
|
default:
|
||||||
|
fprintf(STDERR, "Warning: Invalid removal: " . $uad_removal . "\n");
|
||||||
case "Recommended":
|
case "Recommended":
|
||||||
return "delete";
|
return "delete";
|
||||||
case "Advanced":
|
case "Advanced":
|
||||||
@@ -116,3 +171,22 @@ function get_removal(string $uad_removal): string {
|
|||||||
return "unsafe";
|
return "unsafe";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function get_adl_formatted_item(array $uad_item): array {
|
||||||
|
$id = $uad_item["id"];
|
||||||
|
$description = $uad_item["description"];
|
||||||
|
$dependencies = $uad_item["dependencies"];
|
||||||
|
$required_by = $uad_item["neededBy"];
|
||||||
|
$removal = get_removal($uad_item["removal"]);
|
||||||
|
$item = [];
|
||||||
|
$item["id"] = $id;
|
||||||
|
$item["description"] = $description;
|
||||||
|
if (!empty($dependencies) && count($dependencies) > 0) {
|
||||||
|
$item["dependencies"] = $dependencies;
|
||||||
|
}
|
||||||
|
if (!empty($required_by) && count($required_by) > 0) {
|
||||||
|
$item["required_by"] = $required_by;
|
||||||
|
}
|
||||||
|
$item['removal'] = $removal;
|
||||||
|
return $item;
|
||||||
|
}
|
||||||
|
8
suggestions/automation_apps.json
Normal file
8
suggestions/automation_apps.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"id": "com.jens.automation2",
|
||||||
|
"label": "Automation",
|
||||||
|
"source": "f",
|
||||||
|
"repo": "https://git.server47.de/jens/Automation"
|
||||||
|
}
|
||||||
|
]
|
@@ -1,8 +1,8 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"id": "de.markusfisch.android.binaryeye",
|
"id": "com.atharok.barcodescanner",
|
||||||
"label": "Binary Eye",
|
"label": "Barcode Scanner",
|
||||||
"source": "fg",
|
"source": "fga",
|
||||||
"repo": "https://github.com/markusfisch/BinaryEye"
|
"repo": "https://gitlab.com/Atharok/BarcodeScanner"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@@ -10,12 +10,5 @@
|
|||||||
"label": "Cromite",
|
"label": "Cromite",
|
||||||
"source": "f",
|
"source": "f",
|
||||||
"repo": "https://github.com/uazo/cromite"
|
"repo": "https://github.com/uazo/cromite"
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "us.spotco.fennec_dos",
|
|
||||||
"label": "Mull",
|
|
||||||
"source": "f",
|
|
||||||
"repo": "https://gitlab.com/divested-mobile/mull-fenix",
|
|
||||||
"reason": "Hardened Firefox browser without any proprietary blobs"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
@@ -1 +1,8 @@
|
|||||||
[]
|
[
|
||||||
|
{
|
||||||
|
"id": "org.solovyev.android.calculator",
|
||||||
|
"label": "Calculator++",
|
||||||
|
"source": "fg",
|
||||||
|
"repo": "https://git.bubu1.eu/Bubu/android-calculatorpp"
|
||||||
|
}
|
||||||
|
]
|
@@ -9,6 +9,7 @@
|
|||||||
"id": "org.koreader.launcher.fdroid",
|
"id": "org.koreader.launcher.fdroid",
|
||||||
"label": "KOReader",
|
"label": "KOReader",
|
||||||
"source": "f",
|
"source": "f",
|
||||||
"repo": "https://github.com/koreader/koreader"
|
"repo": "https://github.com/koreader/koreader",
|
||||||
|
"reason": "Optimized for e-ink displays"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"id": "com.fsck.k9",
|
"id": "net.thunderbird.android",
|
||||||
"label": "K-9 Mail",
|
"label": "Thunderbird",
|
||||||
"source": "fg",
|
"source": "fg",
|
||||||
"reason": "https://blog.thunderbird.net/2023/07/k-9-mail-collaborates-with-ostif-and-7asecurity-security-audit/",
|
"reason": "https://blog.thunderbird.net/2023/07/k-9-mail-collaborates-with-ostif-and-7asecurity-security-audit/",
|
||||||
"repo": "https://github.com/thundernest/k-9"
|
"repo": "https://github.com/thunderbird/thunderbird-android"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"id": "com.simplemobiletools.gallery.pro",
|
"id": "org.fossify.gallery",
|
||||||
"label": "Simple Gallery Pro",
|
"label": "Fossify Gallery",
|
||||||
"source": "f",
|
"source": "fg",
|
||||||
"repo": "https://github.com/SimpleMobileTools/Simple-Gallery"
|
"repo": "https://github.com/FossifyOrg/Gallery"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "deckers.thibault.aves.libre",
|
"id": "deckers.thibault.aves.libre",
|
||||||
|
1
suggestions/instant_messaging_apps.json
Normal file
1
suggestions/instant_messaging_apps.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
[]
|
9
suggestions/sharing_apps.json
Normal file
9
suggestions/sharing_apps.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"id": "org.localsend.localsend_app",
|
||||||
|
"label": "Local Send",
|
||||||
|
"source": "fg",
|
||||||
|
"repo": "https://github.com/localsend/localsend",
|
||||||
|
"reason": "Supports every major operating systems"
|
||||||
|
}
|
||||||
|
]
|
@@ -1,8 +1,8 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"id": "com.moez.QKSMS",
|
"id": "dev.octoshrimpy.quik",
|
||||||
"label": "QKSMS",
|
"label": "QUIK SMS",
|
||||||
"source": "fg",
|
"source": "f",
|
||||||
"repo": "https://github.com/moezbhatti/qksms"
|
"repo": "https://github.com/octoshrimpy/quik"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
8
suggestions/video_players.json
Normal file
8
suggestions/video_players.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"id": "org.videolan.vlc",
|
||||||
|
"label": "VLC",
|
||||||
|
"source": "fg",
|
||||||
|
"repo": "https://code.videolan.org/videolan/vlc-android"
|
||||||
|
}
|
||||||
|
]
|
7
suggestions/weather_apps.json
Normal file
7
suggestions/weather_apps.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"id": "org.breezyweather",
|
||||||
|
"label": "Breezy Weather",
|
||||||
|
"repo": "https://github.com/breezy-weather/breezy-weather"
|
||||||
|
}
|
||||||
|
]
|
@@ -1,9 +1 @@
|
|||||||
[
|
[]
|
||||||
{
|
|
||||||
"id": "us.spotco.mulch_wv",
|
|
||||||
"label": "Mulch WebView",
|
|
||||||
"source": "f",
|
|
||||||
"repo": "https://gitlab.com/divested-mobile/mulch",
|
|
||||||
"reason": "Provides limited privacy and security, but always up-to-date"
|
|
||||||
}
|
|
||||||
]
|
|
Reference in New Issue
Block a user