App Manager | CHANNEL
12.7K subscribers
9 photos
161 files
148 links
Download Telegram
πŸ“£ 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:
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.
❀89πŸ‘26πŸ”₯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.
❀100πŸ‘34πŸ”₯10πŸŽ‰5πŸ₯°4🀩4πŸ™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.)
❀60πŸ‘31πŸ”₯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.)
❀50πŸ‘15πŸ”₯9πŸŽ‰3πŸ’…3πŸ‘Ž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
😱47πŸ’”41πŸ‘18😨17❀11😒10πŸ™4πŸ€”3🫑3πŸ’˜2⚑1
App Manager | CHANNEL
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…
I'm discontinuing support for debug builds altogether since the development has been significantly affected by my inability to allocate enough time to the project. The debug users are requested to migrate away from the debug builds as a result.

Another bad news coming in the following year: Google has been removing support for SDK 21-22 (Android Lollipop) from the core libraries. This means App Manager will eventually have to discontinue support for Android Lollipop since it heavily relies on those libraries. (If you're still using Android Lollipop, it's probably to time to finally make that upgrade.) However, I plan to support the affected users as long as possible by offering a maintenance-only version of App Manager. This version will not be receiving any new features, but it will continue to receive critical bug fixes on a yearly basis.

I'm still working on merging the translations from Weblate. After this is done, I need to update the docs and changelogs for the next release. Considering the amount of time I can allocate, I forecast that it will take one and half month more.
πŸ‘130❀74πŸ•Š18πŸ™6πŸ‘Œ4πŸ₯°3😭3πŸ‘Ž2πŸ”₯2🀩1
Good news!

I have been successfully able to register App Manager and Captive Portal Controller in the Android developer verification console. From tomorrow, users from countries where App Manager had previously been restricted due to regulatory issues (e.g., Singapore, Thailand, Turkey) should be able to install App Manager without bypassing Google Play Protect. However, I didn't receive any updates from Google regarding how all these are going to play out with Google Play Integrity API. If you encounter any issues with you banking apps because of App Manager, please contact me with necessary documentation (Android version, affected app info, screenshots, etc.) so that I can discuss this with Google Play's support team. Note that due to the verification requirements, only the "official" version of App Manager has been registered. You can download the official version from the Telegram channel, GitHub releases, Matrix group, or IzzyOnDroid repository on F-Droid. There is another F-Droid version located in the F-Droid official repository which is signed by F-Droid and couldn't be registered at this moment.

You can find live updates here: https://infosec.exchange/@muntashir/116372607911622394
πŸ‘85❀37πŸŽ‰12πŸ‘Ž11πŸ”₯10😒3