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.
❤64👍9🤝9🔥4🎉4🥰1
UnApkm.apk
3.5 MB
UnApkm v1.4
Updated dependencies and now targets Android 15.
Although APKM files are no longer encrypted, the App Manager plugin is still being updated to support decrypting the legacy APKM files.
Updated dependencies and now targets Android 15.
Although APKM files are no longer encrypted, the App Manager plugin is still being updated to support decrypting the legacy APKM files.
👍55🤩10🏆7❤6🔥3🥰1😱1🤣1
📣 August'25 Updates
The next release of App Manager (that is, v4.0.6) is delayed because I was very busy with work last week. I'll try to release it in the next week as I need to take care of a few more things.
At first, I'd like to talk about one of my concerns that has been in mind for a while. Despite what many politicians want you to believe, the world is in a grave financial crisis, and there is no easy way out of it. What we're seeing at present seems to be a replay of the financial crises in the 1970s, except the world is more connected than before, thanks to the Internet, and this has its own set of disadvantages like we saw during the Covid period when the world ran into an absolute chaos. However, unlike the Covid period, people's ability and motivation to continue hobbies are going to be challenged, especially if they are not financially productive, and this can have an adverse effect in the open source community where many projects (including App Manager and the related projects) are developed and maintained by hobbyists like me. Notice that App Manager costs me nothing other than time (which is still quite costly in the developed world), but there are many projects that are quite costly in terms of money and resources. Most concerning of all: some of them play a significant role in areas of utmost importance (like the Internet itself or defense, compared to App Manager which is not that important as a project) and are being developed by maintainers quite thanklessly without any form of compensation. This is going to be an acid test for the open source community, and I believe the landscape will see a significant alteration in the future.
Of late, I've been working on the backup/restore feature of App Manager. As some of you know, I've already created the framework for converting a App Manager backup to and from a regular ADB backup a long time ago, but handling ADB backup and restore itself is not that straightforward using the Android APIs, but it's not impossible, and since a lot of the users are now using App Manager in ADB mode, I think I'll give it one more shot. If I can implement this correctly, the feature will be available v4.1.0, otherwise we'll continue to test it in the debug versions.
Lastly, I'm still looking for contributors for the ADL project. If you're interested, please send me an email with your Matrix username. Thanks.
The next release of App Manager (that is, v4.0.6) is delayed because I was very busy with work last week. I'll try to release it in the next week as I need to take care of a few more things.
At first, I'd like to talk about one of my concerns that has been in mind for a while. Despite what many politicians want you to believe, the world is in a grave financial crisis, and there is no easy way out of it. What we're seeing at present seems to be a replay of the financial crises in the 1970s, except the world is more connected than before, thanks to the Internet, and this has its own set of disadvantages like we saw during the Covid period when the world ran into an absolute chaos. However, unlike the Covid period, people's ability and motivation to continue hobbies are going to be challenged, especially if they are not financially productive, and this can have an adverse effect in the open source community where many projects (including App Manager and the related projects) are developed and maintained by hobbyists like me. Notice that App Manager costs me nothing other than time (which is still quite costly in the developed world), but there are many projects that are quite costly in terms of money and resources. Most concerning of all: some of them play a significant role in areas of utmost importance (like the Internet itself or defense, compared to App Manager which is not that important as a project) and are being developed by maintainers quite thanklessly without any form of compensation. This is going to be an acid test for the open source community, and I believe the landscape will see a significant alteration in the future.
Of late, I've been working on the backup/restore feature of App Manager. As some of you know, I've already created the framework for converting a App Manager backup to and from a regular ADB backup a long time ago, but handling ADB backup and restore itself is not that straightforward using the Android APIs, but it's not impossible, and since a lot of the users are now using App Manager in ADB mode, I think I'll give it one more shot. If I can implement this correctly, the feature will be available v4.1.0, otherwise we'll continue to test it in the debug versions.
Lastly, I'm still looking for contributors for the ADL project. If you're interested, please send me an email with your Matrix username. Thanks.
❤100👍30🔥15🫡8❤🔥5👀2⚡1
App Manager | CHANNEL
📣 August'25 Updates The next release of App Manager (that is, v4.0.6) is delayed because I was very busy with work last week. I'll try to release it in the next week as I need to take care of a few more things. At first, I'd like to talk about one of my…
I'll skip v4.0.6 and release v4.1.0 instead.
🔥112👍45❤25👌10👏8👎4🤣3🦄3😱2🤩2👨💻2
📣 September'25 Updates
This month (October) has been a busy month for me (I mean more than usual). I've had certain timeline set up for the next release, but due to my busy-ness, I don't think I will be able to meet my goals for the next release any time soon.
Last time I've announced that I was working on ADB-based backups, and last month, I was able to integrate it fully into the existing backup model. This required a major rewrite of the backup/restore feature, but I think it would be beneficial to the large number of ADB users that App Manager has.
Recently, somebody has created a feature request on GitHub regarding a ADB-based network firewall implementation. From Android 13, it is possible to utilize the Berkeley Packet Filter (BPF) to cut network connections from an application. You can also do this using ADB shell or terminal with root:
The underlying implementation fetches the UID of the package name and then add the UID and rule to a BPF map for filtering the packets for the UID (for shared applications, multiple applications packages may be blocked as they share the same UID). But the issue with BPF rules is that the rules do not persist across reboot. This means you'd need to reapply the rules after restarting your device which is inconvenient. A possible solution to the problem, of course, is reapplying the rules on reboot, which again, is not convenient since ADB mode is also lost after a reboot. So, to effectively implement this feature, we need to find a way to monitor Wi-Fi connections on reboot and connect to wireless debugging automatically once the device is connected to Wi-Fi. I've already implemented a prototype last night, and it's working correctly on my test device (Pixel 9). On Android TV, ADB over TCP persists across reboots, so we may also able to do something similar on Android TVs too. After the feature become stable enough, I think it would be possible to implement BPF-based firewall for devices that support it that would persist across reboots.
IP tables based blocking and VPN-based packet filtering remain the most used filtering technology in Android due to the availability of many open source firewall tools (and closed source ones most of which are just clones of the former). However, these sort of blocking, as I've argued before, are not very effective, and from Android 12, their effectiveness has been further reduced. This has happened because Android 12 has integrated eBPF (extended BPF), and since then the internals of the AOSP has been modified to use eBPF instead of the traditional IP tables approach. If you don't know about BPF, let me explain it in simple words: BPF is a kernel-level packet filtering mechanism that has the ability to decide which packet (any data transmitted from or to the internet has to go through a few layers, packet is one of them) goes to where or which packets it needs to drop. This allows a system whitelisted program in Android to directly send/receive packets without going through the typical route used by ip tables or VPNs. This means that the vendor can arbitrarily allow their vendor (and system) apps to bypass ip tables and VPNs which is not good thing for user privacy since for these applications, all the protections (for example, anti-censorship protections) become useless. This is where the BPF rules may help. The underlying implementation of the above mentioned command modifies the BFP map albeit temporarily overriding the existing UID rules if already present. This effectively allows us to temporarily override the rules even for the whitelisted apps. But in some cases, the rules may be refreshed even without a reboot. I'm still currently investing the implementation, so I don't have the exact details.
This month (October) has been a busy month for me (I mean more than usual). I've had certain timeline set up for the next release, but due to my busy-ness, I don't think I will be able to meet my goals for the next release any time soon.
Last time I've announced that I was working on ADB-based backups, and last month, I was able to integrate it fully into the existing backup model. This required a major rewrite of the backup/restore feature, but I think it would be beneficial to the large number of ADB users that App Manager has.
Recently, somebody has created a feature request on GitHub regarding a ADB-based network firewall implementation. From Android 13, it is possible to utilize the Berkeley Packet Filter (BPF) to cut network connections from an application. You can also do this using ADB shell or terminal with root:
cmd connectivity set-package-networking-enabled [true|false] [package-name]
The underlying implementation fetches the UID of the package name and then add the UID and rule to a BPF map for filtering the packets for the UID (for shared applications, multiple applications packages may be blocked as they share the same UID). But the issue with BPF rules is that the rules do not persist across reboot. This means you'd need to reapply the rules after restarting your device which is inconvenient. A possible solution to the problem, of course, is reapplying the rules on reboot, which again, is not convenient since ADB mode is also lost after a reboot. So, to effectively implement this feature, we need to find a way to monitor Wi-Fi connections on reboot and connect to wireless debugging automatically once the device is connected to Wi-Fi. I've already implemented a prototype last night, and it's working correctly on my test device (Pixel 9). On Android TV, ADB over TCP persists across reboots, so we may also able to do something similar on Android TVs too. After the feature become stable enough, I think it would be possible to implement BPF-based firewall for devices that support it that would persist across reboots.
IP tables based blocking and VPN-based packet filtering remain the most used filtering technology in Android due to the availability of many open source firewall tools (and closed source ones most of which are just clones of the former). However, these sort of blocking, as I've argued before, are not very effective, and from Android 12, their effectiveness has been further reduced. This has happened because Android 12 has integrated eBPF (extended BPF), and since then the internals of the AOSP has been modified to use eBPF instead of the traditional IP tables approach. If you don't know about BPF, let me explain it in simple words: BPF is a kernel-level packet filtering mechanism that has the ability to decide which packet (any data transmitted from or to the internet has to go through a few layers, packet is one of them) goes to where or which packets it needs to drop. This allows a system whitelisted program in Android to directly send/receive packets without going through the typical route used by ip tables or VPNs. This means that the vendor can arbitrarily allow their vendor (and system) apps to bypass ip tables and VPNs which is not good thing for user privacy since for these applications, all the protections (for example, anti-censorship protections) become useless. This is where the BPF rules may help. The underlying implementation of the above mentioned command modifies the BFP map albeit temporarily overriding the existing UID rules if already present. This effectively allows us to temporarily override the rules even for the whitelisted apps. But in some cases, the rules may be refreshed even without a reboot. I'm still currently investing the implementation, so I don't have the exact details.
❤84👍25🔥14👏5🙏2🥰1🤩1
Finally, for the APK updater, I've already created a backend for it. But there are still a lot of challenges, such as effective handling of extensions and errors, what to display to the user, implementing the update policies, and so on. This will take some time and probably available for testing at the first quarter of 2026.
❤99👍34🔥10🎉5🤩4🥰3🙏2🐳1
📣 Updated Website
I've created a new personal website: https://muntashir.dev
The GitHub site, muntashirakon.github.io is set to redirect to muntashir.dev. As a result, all the other GitHub pages also redirect to that website. Therefore,
muntashirakon.github.io -> muntashir.dev
muntashirakon.github.io/blog -> blog.muntashir.dev
muntashirakon.github.io/AppManager -> muntashir.dev/AppManager (for now)
muntashirakon.github.io/android-debloat-list -> adl.muntashir.dev (for easy access)
PS: If you're interested in creating a domain maximizing privacy and security, I'd recommend porkbun.com. (No, they didn't sponsor me or anything, they're often recommended in privacy communities.)
I've created a new personal website: https://muntashir.dev
The GitHub site, muntashirakon.github.io is set to redirect to muntashir.dev. As a result, all the other GitHub pages also redirect to that website. Therefore,
muntashirakon.github.io -> muntashir.dev
muntashirakon.github.io/blog -> blog.muntashir.dev
muntashirakon.github.io/AppManager -> muntashir.dev/AppManager (for now)
muntashirakon.github.io/android-debloat-list -> adl.muntashir.dev (for easy access)
PS: If you're interested in creating a domain maximizing privacy and security, I'd recommend porkbun.com. (No, they didn't sponsor me or anything, they're often recommended in privacy communities.)
❤57👍28🔥4🤗3💅3🥰2
If any Linux users here, I've built a dictionary app for Linux (because it badly needed one): https://github.com/MuntashirAkon/SlobDict
See my corresponding post for more info: https://infosec.exchange/@muntashir/115761100052449325
(Yes, I switched to Linux about a week ago, and this is the very first app I've ever developed for Linux.)
See my corresponding post for more info: https://infosec.exchange/@muntashir/115761100052449325
(Yes, I switched to Linux about a week ago, and this is the very first app I've ever developed for Linux.)
GitHub
GitHub - MuntashirAkon/SlobDict: A modern, lightweight GTK 4 dictionary app for Linux
A modern, lightweight GTK 4 dictionary app for Linux - MuntashirAkon/SlobDict
❤47👍15🔥9👎2🎉2💅2🌚1
App Manager | CHANNEL
If any Linux users here, I've built a dictionary app for Linux (because it badly needed one): https://github.com/MuntashirAkon/SlobDict See my corresponding post for more info: https://infosec.exchange/@muntashir/115761100052449325 (Yes, I switched to Linux…
Since Windows is unusable now (even Microsoft themselves admitted it), consider switching to Linux if not already. Here's a blog post I wrote about my experiences in switching to Fedora Workstation: https://blog.muntashir.dev/2025/12/18/fedora-workstation/
Muntashir’s Blog
My New Favorite Desktop Operating System
I spent the past three days setting up my new favorite operating system, which, in my opinion, is a great replacement for both Windows and macOS from my years of experience of using, especially, the latter.
❤60👍21👎14🔥6👌2🌚2💅2🥰1
Notice.
It appears the Debug channel was reported to Telegram by someone or some people, and Telegram decided that it violated their ToS without any explanation and thus blocked the channel. I have appealed against the decision, but unsure if they will restore it. If you cannot access the channel, you can always find the latest debug builds here: https://github.com/MuntashirAkon/AMInsecureDebugBuilds
It appears the Debug channel was reported to Telegram by someone or some people, and Telegram decided that it violated their ToS without any explanation and thus blocked the channel. I have appealed against the decision, but unsure if they will restore it. If you cannot access the channel, you can always find the latest debug builds here: https://github.com/MuntashirAkon/AMInsecureDebugBuilds
GitHub
GitHub - MuntashirAkon/AMInsecureDebugBuilds: Insecure debug builds for App Manager. Updated every time changes are pushed to the…
Insecure debug builds for App Manager. Updated every time changes are pushed to the App Manager repository. - MuntashirAkon/AMInsecureDebugBuilds
😱42💔37😨17👍16❤10😢8🙏4🫡3⚡1🤔1💘1