📣 March'25 Updates
Eid Mubarak to those who celebrate Eid Al Fitr!
- Some of you are still sending email related to App Manager in the old email address. Those emails will be ignored, because those messages aren't filtered. Also, please try to add a sane subject line (e.g., App Manager Crash Report, etc.) to your email. Otherwise, they will also not be filtered. I received thousands of emails per month from various sources (not just App Manager). So, unless the subject line looks important, most of them are ignored and deleted after some time. Finally, please use a sane email address as well. If you use lots of `x`s, for example, most spam filters will put it in the Spam folder ;)
- I have been making plans to improve the ADL project (which more-or-less follows UAD-NG project for now). Hopefully, the project will be more reliable in the future with verified and enhanced documentation. Android libraries project, on the other hand, still requires a lot of work on my end which I may be able to finish by this year.
Eid Mubarak to those who celebrate Eid Al Fitr!
- Some of you are still sending email related to App Manager in the old email address. Those emails will be ignored, because those messages aren't filtered. Also, please try to add a sane subject line (e.g., App Manager Crash Report, etc.) to your email. Otherwise, they will also not be filtered. I received thousands of emails per month from various sources (not just App Manager). So, unless the subject line looks important, most of them are ignored and deleted after some time. Finally, please use a sane email address as well. If you use lots of `x`s, for example, most spam filters will put it in the Spam folder ;)
- I have been making plans to improve the ADL project (which more-or-less follows UAD-NG project for now). Hopefully, the project will be more reliable in the future with verified and enhanced documentation. Android libraries project, on the other hand, still requires a lot of work on my end which I may be able to finish by this year.
❤58👍18🔥6👌3🥰1🙏1🤝1💅1
App Manager | CHANNEL
Translation Updates. [previous update] I have reviewed and merged 47 commits out of 91 commits (51.65%) from Weblate. These translators were blocked due to abuse: - Adminslot69 - Valter Skot These translators didn’t ask for permission as per policy: -…
Translation updates.
I have reviewed and merged 133 commits out of 233 commits (57.08%) from Weblate.
These translators didn't ask for permission as per policy:
- Максим Горпиніч
- Vladik01-11
- translater 616
- Abdullah Almalki
- sebastian knudsen
- ODK
- cat
- Gilson Fabiano
- Apious (suspected machine translation)
- AronnaxM
- StarsShine
- pringless1d2cb378852a4a6a
- cyberboh
- ali-ee
- XblateX
- Rostyslav
- Andrea Ferrario
- Sarah B
- Andrea Ferrario
- Nader Jafari
- na7grn
- 안세훈
- Peter (out of context translations)
- Balázs Meskó
- Yurt Page
These translators also didn’t ask for permission, but their contributions were considered valuable:
- Domi Adiwijaya
Thanks Astoritin Ambrosius and 大王叫我来巡山 for your efforts in translating the docs in simplified Chinese!
Those who are new to App Manager translation community: You need to ask for permission before you can start translating App Manager. This is done to prevent abuse which have been increasingly common nowadays. Even if your request is accepted, your translations are always subjected to review, and your request may be denied any time if you fail to comply with the terms.
I have reviewed and merged 133 commits out of 233 commits (57.08%) from Weblate.
These translators didn't ask for permission as per policy:
- Максим Горпиніч
- Vladik01-11
- translater 616
- Abdullah Almalki
- sebastian knudsen
- ODK
- cat
- Gilson Fabiano
- Apious (suspected machine translation)
- AronnaxM
- StarsShine
- pringless1d2cb378852a4a6a
- cyberboh
- ali-ee
- XblateX
- Rostyslav
- Andrea Ferrario
- Sarah B
- Andrea Ferrario
- Nader Jafari
- na7grn
- 안세훈
- Peter (out of context translations)
- Balázs Meskó
- Yurt Page
These translators also didn’t ask for permission, but their contributions were considered valuable:
- Domi Adiwijaya
Thanks Astoritin Ambrosius and 大王叫我来巡山 for your efforts in translating the docs in simplified Chinese!
Those who are new to App Manager translation community: You need to ask for permission before you can start translating App Manager. This is done to prevent abuse which have been increasingly common nowadays. Even if your request is accepted, your translations are always subjected to review, and your request may be denied any time if you fail to comply with the terms.
👍50❤8🤩3🥰2
#stable #release
App Manager v4.0.3
- Updated translations
- Improved handling the list items throughout App Manager
- Fixed a regression error in file manager
- Fixed spinners in the App Usage and the System Config pages.
Full Changelog: https://github.com/MuntashirAkon/AppManager/compare/v4.0.2...v4.0.3
App Manager v4.0.3
- Updated translations
- Improved handling the list items throughout App Manager
- Fixed a regression error in file manager
- Fixed spinners in the App Usage and the System Config pages.
Full Changelog: https://github.com/MuntashirAkon/AppManager/compare/v4.0.2...v4.0.3
🥰28👍8❤🔥6👏4❤1🤔1🎉1👌1
📣 April'25 Updates
So, I've started teaching as a Teaching Assistant. It is a new and interesting experience after spending over a decade in software and open source development. Also, in a foreign language that I've never spoken until 2021 when I got my first job abroad. This is yet another bad news for you, however. Because I now need to spend time on preparing for lectures, taking classes, grading along with my regular research and course work. I think many users have already noticed the seemingly "unstable" nature of the stable releases. This is because we now release all the changes made to the repository (well, except a few experimental features) without going through any kind of testing that we used to do. (This, in a way, makes the debug releases more "stable" than the stable release since they may get immediate fixes than the stable which is released last Friday of each month provided there are things to release.) Unfortunately, I cannot do any thing about it right now. My life is currently in a very difficult position where work-life balance does not exist: all work and no life.
A good news, though, is that the small amount of time I can manage for App Manager is largely spent on improving the user experience. This you may have already noticed if you have installed the latest version of App Manager.
Now and then, I receive requests for adding translations for docs in [placeholder] language. Please understand that translating docs is a very difficult task, and we do not approve such requests unless the existing translations for the language are very good and are backed by at least two person.
So, I've started teaching as a Teaching Assistant. It is a new and interesting experience after spending over a decade in software and open source development. Also, in a foreign language that I've never spoken until 2021 when I got my first job abroad. This is yet another bad news for you, however. Because I now need to spend time on preparing for lectures, taking classes, grading along with my regular research and course work. I think many users have already noticed the seemingly "unstable" nature of the stable releases. This is because we now release all the changes made to the repository (well, except a few experimental features) without going through any kind of testing that we used to do. (This, in a way, makes the debug releases more "stable" than the stable release since they may get immediate fixes than the stable which is released last Friday of each month provided there are things to release.) Unfortunately, I cannot do any thing about it right now. My life is currently in a very difficult position where work-life balance does not exist: all work and no life.
A good news, though, is that the small amount of time I can manage for App Manager is largely spent on improving the user experience. This you may have already noticed if you have installed the latest version of App Manager.
Now and then, I receive requests for adding translations for docs in [placeholder] language. Please understand that translating docs is a very difficult task, and we do not approve such requests unless the existing translations for the language are very good and are backed by at least two person.
👍91❤44🫡18🆒5🔥4🎉2⚡1👎1🥰1🤔1🤣1
#stable #release
App Manager v4.0.4
Main page
- Optimize searching and filtering
Profile page
- Use the configured state to execute a profile for simple shortcuts
Others
- Use sentence case for all strings
- Prevent crashing while searching
- Fix integer overflow in tar compression.
Full Changelog: https://github.com/MuntashirAkon/AppManager/compare/v4.0.2...v4.0.4
App Manager v4.0.4
Main page
- Optimize searching and filtering
Profile page
- Use the configured state to execute a profile for simple shortcuts
Others
- Use sentence case for all strings
- Prevent crashing while searching
- Fix integer overflow in tar compression.
Full Changelog: https://github.com/MuntashirAkon/AppManager/compare/v4.0.2...v4.0.4
🔥45❤19👍7❤🔥1
📣 May'25 Updates
It's been five years since I've started developing App Manager, and it's been an interesting experience. I've been part of a lot of communities before this, but Android community is probably the most diverse community so far. In Hackintosh community, for example, most people were highly technical, because you needed to know a lot about the hardware in order to build a hackintosh. It was particularly challenging for laptops since most of the hardware (e.g., PCI(e) devices) cannot be replaced unlike, say a desktop. With the introduction of Clover, and then OpenCore, the complexity has been greatly reduced, but it's still challenging to work with a laptop, especially with the newer graphics cards which aren't even support by the recent version of macOS (but some people are trying to find workaround). Anyway, the amount of dedication displayed by the hackintosh community is really impressive, and it's also a showcase of how resilient software engineers can be when they encounter challenges. Then there was also the Croissant project (which has been renamed to something else that I have forgotten about) where I have made some initial contributions, but Chrome OS itself is a dead end, and Google knows it very well. The experiences I've gathered from these two communities, in particular, have largely enhanced my ability to sustain an open source project. My inspiration for documentation, for example, is the OpenCore project.
App Manager v4.0.3 had a terrible bug that caused App Manager to crash or freeze (depending on device/OS) if certain keywords are used during searching/filtering. The issue has been addressed in v4.0.4. Interestingly, this has resulted in the creation of 29 duplicate issues (so far). This demonstrates how important it is to look for similar issues before opening a new issue, or GitHub suggesting similar issue based on the noscript or issue content while the user is creating a new issue (similar to what we already have in many other websites). GitHub also has a terrible search option that tends to ignore older issues.
Shizuku has recently altered its license terms to make the project completely open source (as opposed to source available that it previously was). I absolutely welcome this change and thank vvb2060 for making this change. Some of you may now ask whether I've got any plan on supporting Shizuku. Let me explain this a bit.
Since v4.0.0, much of the compatibility layers in App Manager have been rewritten to allow a certain level of flexibility in terms of the mode of operations. From v4.0.1, it is also possible to alter the mode of operation to any UID of your choice provided they support reading and executing the start command. It is even possible albeit with certain modifications to run App Manager as a system app with permission whitelists or as a system level UID (latter is too risky). So, in a way, it is now possible to add Shizuku support in App Manager. At this point, I may need to spend some time with their API to understand how it works. My expectation would be a generic API (similar to Open KeyChain's) that would allow connecting to any Shizuku-style applications, including any future Shizuku forks (since it is open source now) instead of Shizuku "official" app alone.
Lastly, Eid Mubarak to those who celebrate Eid-ul Adha.
It's been five years since I've started developing App Manager, and it's been an interesting experience. I've been part of a lot of communities before this, but Android community is probably the most diverse community so far. In Hackintosh community, for example, most people were highly technical, because you needed to know a lot about the hardware in order to build a hackintosh. It was particularly challenging for laptops since most of the hardware (e.g., PCI(e) devices) cannot be replaced unlike, say a desktop. With the introduction of Clover, and then OpenCore, the complexity has been greatly reduced, but it's still challenging to work with a laptop, especially with the newer graphics cards which aren't even support by the recent version of macOS (but some people are trying to find workaround). Anyway, the amount of dedication displayed by the hackintosh community is really impressive, and it's also a showcase of how resilient software engineers can be when they encounter challenges. Then there was also the Croissant project (which has been renamed to something else that I have forgotten about) where I have made some initial contributions, but Chrome OS itself is a dead end, and Google knows it very well. The experiences I've gathered from these two communities, in particular, have largely enhanced my ability to sustain an open source project. My inspiration for documentation, for example, is the OpenCore project.
App Manager v4.0.3 had a terrible bug that caused App Manager to crash or freeze (depending on device/OS) if certain keywords are used during searching/filtering. The issue has been addressed in v4.0.4. Interestingly, this has resulted in the creation of 29 duplicate issues (so far). This demonstrates how important it is to look for similar issues before opening a new issue, or GitHub suggesting similar issue based on the noscript or issue content while the user is creating a new issue (similar to what we already have in many other websites). GitHub also has a terrible search option that tends to ignore older issues.
Shizuku has recently altered its license terms to make the project completely open source (as opposed to source available that it previously was). I absolutely welcome this change and thank vvb2060 for making this change. Some of you may now ask whether I've got any plan on supporting Shizuku. Let me explain this a bit.
Since v4.0.0, much of the compatibility layers in App Manager have been rewritten to allow a certain level of flexibility in terms of the mode of operations. From v4.0.1, it is also possible to alter the mode of operation to any UID of your choice provided they support reading and executing the start command. It is even possible albeit with certain modifications to run App Manager as a system app with permission whitelists or as a system level UID (latter is too risky). So, in a way, it is now possible to add Shizuku support in App Manager. At this point, I may need to spend some time with their API to understand how it works. My expectation would be a generic API (similar to Open KeyChain's) that would allow connecting to any Shizuku-style applications, including any future Shizuku forks (since it is open source now) instead of Shizuku "official" app alone.
Lastly, Eid Mubarak to those who celebrate Eid-ul Adha.
🥰87❤49👍21🎉11🔥3👏3⚡2🤔1🤩1🏆1
App Manager | CHANNEL
Privacy Digest: February 2025. From now on, I will no longer report curated statistics on crash reports or missing signatures as nowadays, I receive a lot of general purpose emails than those. Also, instead of emails, I'll be using communications because…
Privacy Digest: June 2025.
Time Interval: July 2024 - December 2024
Total communications: 242
Total active communications: 93 (149 communications were deleted)
In order to improve community transparency, I'm also publishing blacklists present on GitHub and Weblate:
1. GitHub: https://gist.github.com/MuntashirAkon/60f3988a23e90f767edb2f747febf567
2. Weblate: https://gist.github.com/MuntashirAkon/e4288f015898a152ffa4479e7e8985c0
The gists above will be periodically updated with the latest changes.
PS: As always, any inquiries regarding App Manager sent to any other email addresses other than the official email address were discarded regardless of the contents.
Time Interval: July 2024 - December 2024
Total communications: 242
Total active communications: 93 (149 communications were deleted)
In order to improve community transparency, I'm also publishing blacklists present on GitHub and Weblate:
1. GitHub: https://gist.github.com/MuntashirAkon/60f3988a23e90f767edb2f747febf567
2. Weblate: https://gist.github.com/MuntashirAkon/e4288f015898a152ffa4479e7e8985c0
The gists above will be periodically updated with the latest changes.
PS: As always, any inquiries regarding App Manager sent to any other email addresses other than the official email address were discarded regardless of the contents.
👍38✍9❤7🎉2
📣 June'25 Updates
There hasn't been a release last month because there were no significant changes to the project that requires a new release. Last month, I along with IzzySoft have tried to make App Manager reproducible and has largely been successful. All the debug releases are now reproducible, and the stable releases too shall be reproducible from the next release (v4.0.5).
The highly anticipated "Finder" feature is nearing completion, and I think, I can launch it at the end of this month or the next. This feature required some thorough planning in order to make it future-proof and usable for most users (and much more usable for advanced users). Initially, only a handful of features will be enabled for the stable releases, and gradually all the anticipated features will be released. The reason for this kind of rolling release is because we no longer have the beta testing system that we used to have, yet a certain level of confidence is required in order to release a feature like this. Similar to profiles, the possibilities with this feature is endless, some of which may remain unknown for some time. There are also a few small but exciting improvements that are coming up (which shall be revealed in due time) in the upcoming releases.
Regarding the app store functionality, I've given it a thought and concluded that rolling out an entire app store is time consuming and largely unnecessary for the time being. Instead, we can launch an update functionality instead. The update functionality, unlike F-Droid or Obtainium, will adhere to the Android principles at the same time offering a level of privacy and security that will be suitable for a wide range of individuals (as always, in developing App Manager, I've always focused on offering a diversified threat model so that it can accommodate most users). You can find some information regarding the design at this link: https://github.com/MuntashirAkon/AppManager/issues/464. However, there are a few changes to the original design which will be revealed as I begin working on it.
That's all. Thanks for reading.
There hasn't been a release last month because there were no significant changes to the project that requires a new release. Last month, I along with IzzySoft have tried to make App Manager reproducible and has largely been successful. All the debug releases are now reproducible, and the stable releases too shall be reproducible from the next release (v4.0.5).
The highly anticipated "Finder" feature is nearing completion, and I think, I can launch it at the end of this month or the next. This feature required some thorough planning in order to make it future-proof and usable for most users (and much more usable for advanced users). Initially, only a handful of features will be enabled for the stable releases, and gradually all the anticipated features will be released. The reason for this kind of rolling release is because we no longer have the beta testing system that we used to have, yet a certain level of confidence is required in order to release a feature like this. Similar to profiles, the possibilities with this feature is endless, some of which may remain unknown for some time. There are also a few small but exciting improvements that are coming up (which shall be revealed in due time) in the upcoming releases.
Regarding the app store functionality, I've given it a thought and concluded that rolling out an entire app store is time consuming and largely unnecessary for the time being. Instead, we can launch an update functionality instead. The update functionality, unlike F-Droid or Obtainium, will adhere to the Android principles at the same time offering a level of privacy and security that will be suitable for a wide range of individuals (as always, in developing App Manager, I've always focused on offering a diversified threat model so that it can accommodate most users). You can find some information regarding the design at this link: https://github.com/MuntashirAkon/AppManager/issues/464. However, there are a few changes to the original design which will be revealed as I begin working on it.
That's all. Thanks for reading.
👍69❤30🔥20🎉5🥰2👏2🤯2❤🔥1⚡1👌1💔1
#stable #release
App Manager v4.0.5
- App Manager releases are now reproducible!
- AM Debug builds are also available at https://github.com/MuntashirAkon/AMInsecureDebugBuilds
1-Click ops
- Enabled "Clear data from uninstalled apps" to no-root users
The option was altered to uninstall the apps a second time instead of attempting to clear data which was faulty. Therefore, it should work with any modes of operation.
App info
- Open "Open by default" setting in the "Open links" dialog
If App Manager does not have enough permission to manage domains or links, the "Open links" dialog has a button that directs the user to Android Settings. If the application has the "Open by default" page, clicking on the button will open that page instead of the "App info" page (which is still used as a fallback method).
- Fixed freezing an app with "Remember for this app" turned on.
App ops
- Fixed setting app ops in custom ROMs with MIUI properties injected.
Debloater
- Display unsafe bloatware info
- Sort by app label (or app name) rather than package name.
Installer
- Added option to allow installing the existing applications
Existing application is one whose APK files are still available in the system, either because it's a system application or an user application installed for another user. It can be installed for the current user by providing a URI to the installer that has the following format:
App Manager inherently does not check for permissions when such requests are directly made to its installer. Therefore, it will attempt to install the requested package directly and fail if there are not enough permissions.
Install requests are also allowed to be mixed together. Therefore, a third-party application can combine different URIs (e.g., file, content, package) with the
Log viewer
- Activated "Omit sensitive info" option by default for new users.
Profile
- Fixed updating profile modification status when an application is deleted from the list.
Terminal
- Handled common colors and cursor movements.
Others
- Display vector icon on the splash screen in Android 7.1 and earlier
- Enabled predictive back in Android 14 onwards
- Improved accessibility by updating the content denoscription of the action items
- Fixed selecting texts in the list items due to framework bugs.
Full Changelog: https://github.com/MuntashirAkon/AppManager/compare/v4.0.4...v4.0.5
App Manager v4.0.5
- App Manager releases are now reproducible!
- AM Debug builds are also available at https://github.com/MuntashirAkon/AMInsecureDebugBuilds
1-Click ops
- Enabled "Clear data from uninstalled apps" to no-root users
The option was altered to uninstall the apps a second time instead of attempting to clear data which was faulty. Therefore, it should work with any modes of operation.
App info
- Open "Open by default" setting in the "Open links" dialog
If App Manager does not have enough permission to manage domains or links, the "Open links" dialog has a button that directs the user to Android Settings. If the application has the "Open by default" page, clicking on the button will open that page instead of the "App info" page (which is still used as a fallback method).
- Fixed freezing an app with "Remember for this app" turned on.
App ops
- Fixed setting app ops in custom ROMs with MIUI properties injected.
Debloater
- Display unsafe bloatware info
- Sort by app label (or app name) rather than package name.
Installer
- Added option to allow installing the existing applications
Existing application is one whose APK files are still available in the system, either because it's a system application or an user application installed for another user. It can be installed for the current user by providing a URI to the installer that has the following format:
package:package-name
App Manager inherently does not check for permissions when such requests are directly made to its installer. Therefore, it will attempt to install the requested package directly and fail if there are not enough permissions.
Install requests are also allowed to be mixed together. Therefore, a third-party application can combine different URIs (e.g., file, content, package) with the
SEND_MULTIPLE action.Log viewer
- Activated "Omit sensitive info" option by default for new users.
Profile
- Fixed updating profile modification status when an application is deleted from the list.
Terminal
- Handled common colors and cursor movements.
Others
- Display vector icon on the splash screen in Android 7.1 and earlier
- Enabled predictive back in Android 14 onwards
- Improved accessibility by updating the content denoscription of the action items
- Fixed selecting texts in the list items due to framework bugs.
Full Changelog: https://github.com/MuntashirAkon/AppManager/compare/v4.0.4...v4.0.5
❤30👍17🔥9⚡1🥰1👨💻1
App Manager | CHANNEL
#stable #release App Manager v4.0.5 - App Manager releases are now reproducible! - AM Debug builds are also available at https://github.com/MuntashirAkon/AMInsecureDebugBuilds 1-Click ops - Enabled "Clear data from uninstalled apps" to no-root users The…
Now also available on IzzyOnDroid: https://apt.izzysoft.de/fdroid/index/apk/io.github.muntashirakon.AppManager
❤30👍14🔥7✍5🥰1
App Manager | CHANNEL
Now also available on IzzyOnDroid: https://apt.izzysoft.de/fdroid/index/apk/io.github.muntashirakon.AppManager
BTW, those who are interested in understanding the permissions used by App Manager, you can navigate to the Permissions section in the link above.
👍37🫡4🤝2❤1😱1👨💻1
📣 July'25 Updates
I think many testers already know this: I've implemented a new type of profile that allows filtering apps by the set of filters offered by the Finder feature. This feature is going to be very useful for recurrent activities like force-stopping all the user apps that are currently running. Again, the possibilities are endless. Although the regular apps-based profile is kind of a subset of this profile, I decided to implement them separately to keep the apps-based profile very simple and fast to execute (since filter-based profiles are inherently slower than apps-based profile). The feature will be available to stable users from v4.1.0 (release date not fixed yet). The filters in the main page are also being migrated to use the Finder-style filters so that the users can generate and use their own set of filters instead of the predefined ones. Finder itself along with this exclusive filtering options will be available to stable users in a future release.
I have done some progress on the updater implementation and can share some of the ideas to the readers for both transparency and scrutiny. But at first, let's take a look at the issues that we need to handle in order to implement a unified updater:
1. App Manager app itself has limited internet features, and we intend to keep it this way
2. It's necessary to enforce a static single source assignment, that is, once an installed app is assigned to a source, subsequent updates should also be sourced from that source
3. It's also necessary to establish the levels of trust and the priority of sources should be assigned based on the trust
4. It's crucial that the users can amend 2-3 depending on their threat model.
These are very challenging issues, and addressing them completely is nearly impossible. But I've designed a protocol and a framework to address those issues in an optimal way. In this protocol, App Manager effectively acts as an updater client that retrieves updates from the sources which are basically extensions to App Manager. The update process itself works in two independent steps. In the first step, App Manager queries the sources for new updates (based on the source assignment). Upon receiving such a query, the sources check for updates and return a list of updates to App Manager. In the second step, App Manager ask the sources to download some (or all) of those updates which the sources download (or retrieve from caches) and return a list of URIs that App Manager has access to. App Manager later retrieves those updates and installs them. This design has several advantages:
1. Each source remains separate and can be installed or removed independently
2. For each source, it's possible to assign a trust level and handle per source security (HPKP, GPG, etc.)
3. Each source only uses the minimum number of permissions to function which reduces the attack surface even if some of the security mechanisms are bypassed
4. It's easy to provide per extension updates compared to the monolithic approach where any simple changes to any sources requires a new update
5. Using modern Android platform features, it's easy to persist single source assignments beyond App Manager.
In order to provide a convenient option for non-Telegram users to follow the updates, they will also be posted on my personal blog. Past updates will also be gradually added there. You can subscribe to my blog posts via RSS or follow my personal Mastodon/X account. Transparency reports will also be posted to App Manager's official Mastodon/X accounts. An archive of the reports will be maintained in a GitHub gist for now.
I think many testers already know this: I've implemented a new type of profile that allows filtering apps by the set of filters offered by the Finder feature. This feature is going to be very useful for recurrent activities like force-stopping all the user apps that are currently running. Again, the possibilities are endless. Although the regular apps-based profile is kind of a subset of this profile, I decided to implement them separately to keep the apps-based profile very simple and fast to execute (since filter-based profiles are inherently slower than apps-based profile). The feature will be available to stable users from v4.1.0 (release date not fixed yet). The filters in the main page are also being migrated to use the Finder-style filters so that the users can generate and use their own set of filters instead of the predefined ones. Finder itself along with this exclusive filtering options will be available to stable users in a future release.
I have done some progress on the updater implementation and can share some of the ideas to the readers for both transparency and scrutiny. But at first, let's take a look at the issues that we need to handle in order to implement a unified updater:
1. App Manager app itself has limited internet features, and we intend to keep it this way
2. It's necessary to enforce a static single source assignment, that is, once an installed app is assigned to a source, subsequent updates should also be sourced from that source
3. It's also necessary to establish the levels of trust and the priority of sources should be assigned based on the trust
4. It's crucial that the users can amend 2-3 depending on their threat model.
These are very challenging issues, and addressing them completely is nearly impossible. But I've designed a protocol and a framework to address those issues in an optimal way. In this protocol, App Manager effectively acts as an updater client that retrieves updates from the sources which are basically extensions to App Manager. The update process itself works in two independent steps. In the first step, App Manager queries the sources for new updates (based on the source assignment). Upon receiving such a query, the sources check for updates and return a list of updates to App Manager. In the second step, App Manager ask the sources to download some (or all) of those updates which the sources download (or retrieve from caches) and return a list of URIs that App Manager has access to. App Manager later retrieves those updates and installs them. This design has several advantages:
1. Each source remains separate and can be installed or removed independently
2. For each source, it's possible to assign a trust level and handle per source security (HPKP, GPG, etc.)
3. Each source only uses the minimum number of permissions to function which reduces the attack surface even if some of the security mechanisms are bypassed
4. It's easy to provide per extension updates compared to the monolithic approach where any simple changes to any sources requires a new update
5. Using modern Android platform features, it's easy to persist single source assignments beyond App Manager.
❤28👍19🔥4❤🔥1
To clarify the level of trust a bit more, it's necessary to support only the legitimate sources instead of arbitrary source and assign each a priority which are actually more challenging than the rests, because the definition of legitimate sources remains unclear to me, and without an exact definition, it's almost impossible to assign priorities as well. I initially came up with a priority list for the app stores, but I didn't explain why they were prioritized this way. Therefore, it is necessary to define leigitimate sources and factors that are needed to be taken into account to assign priorities. Again, this is a challenging problem, and for now, I'll rely on my own instinct for it. For the same reason, App Manager will not support any third-party updater extensions. The updater will rely on a signature permission to interact with the sources, and therefore, the extensions must be signed using the same key used to sign App Manager.
❤33👍16🔥6❤🔥1
Android Debloat List.
I'm looking for a few contributors who can contribute to the ADL project on a regular basis for the vendor/oem of their choosing. Here are the requirements:
1. Must be able to contribute a few times per month
2. Must own a device from the vendor/oem
3. Must have a Matrix account (from any instance)
4. Expected to be able to use a text editor to edit JSON files
5. Expected to know how to navigate the GitHub website
No other qualifications needed. I'll be responsible for mentoring the contributors through a Matrix group as well as GitHub. Initially, we shall start with all the interested individuals and gradually eliminate those who fail to maintain the requirements. Interested individuals are requested to send an email to am4android@riseup.net with GitHub and Matrix usernames with the subject line prefixed "ADL".
There is no deadline, and you can apply any time.
I'm looking for a few contributors who can contribute to the ADL project on a regular basis for the vendor/oem of their choosing. Here are the requirements:
1. Must be able to contribute a few times per month
2. Must own a device from the vendor/oem
3. Must have a Matrix account (from any instance)
4. Expected to be able to use a text editor to edit JSON files
5. Expected to know how to navigate the GitHub website
No other qualifications needed. I'll be responsible for mentoring the contributors through a Matrix group as well as GitHub. Initially, we shall start with all the interested individuals and gradually eliminate those who fail to maintain the requirements. Interested individuals are requested to send an email to am4android@riseup.net with GitHub and Matrix usernames with the subject line prefixed "ADL".
There is no deadline, and you can apply any time.
❤61👍9🤝9🔥4🎉4🥰1