Spyke

Posts

An Android data usage app with no INTERNET permission, and why the source being public is not what makes that checkable

I wrote this, so disclosure first.

It measures per-app mobile data against your billing cycle rather than the calendar month, splits what you spent using an app from what the app spent on its own while the screen was off, and blocks apps per network, so something can be dead on mobile data and completely normal on Wi-Fi.

The part I think actually belongs in this community is the permission. There is no INTERNET permission in the manifest. Not a privacy policy promise, it is simply absent, so Android will not let the process open a socket at all.

What interests me is that you do not have to read the source to verify that. One command on the APK prints six lines and INTERNET is not among them:

aapt dump permissions DataSaver-v0.8.apk

The source being public is good for plenty of reasons, but it is not what makes this particular claim checkable, and I think those two things get conflated a lot. Most people who install a FOSS app never read a line of it. A claim you can check from the artifact itself is worth more than one you can only check by trusting that somebody else read the repo.

Under the hood it reads NetworkStatsManager for the figures and uses VpnService in package-list mode with no packet forwarding for the blocking. Both plain AOSP, no Play Services dependency. The only library it pulls is androidx.core-ktx.

GPL-3.0, free, no ads, nothing to buy, no accounts, no analytics, no servers. Android 7 and up.

The honest gap: right now it is only distributed through Play. The F-Droid request has been open at fdroid/rfp#4520 since 8 October, which as far as I can tell is normal queue time rather than anything wrong. Until then it builds from a clean clone.

https://github.com/anubisproductions/data-saver-usage-blocker

View original on lemmy.world
6
degoogle·DeGoogle YourselfbyAnubisProductions

Per-app mobile data usage and blocking, with no INTERNET permission and no Play Services dependency

Disclosure first, I wrote this, and I'll keep it short since the rule here is justified or not at all.

It measures per-app mobile data for your billing cycle rather than the calendar month, splits foreground from background, and blocks apps per network so something can be dead on mobile and fine on Wi-Fi.

Why it's relevant here rather than just another utility. It has no INTERNET permission in the manifest, so it cannot phone home at all, and it has no Play Services dependency. The only library it pulls is androidx.core-ktx and there is no com/google/android/play anywhere in the release dex. It reads NetworkStatsManager and uses VpnService in package-list mode with no packet forwarding, both plain AOSP, so nothing about it needs Google on the device.

The one part that sounds wrong for this community is the protected-apps list, so I'll explain it rather than let someone find it. There's a fixed list of push carriers the app refuses to block, because blocking the thing that carries push silences every notification on the phone and people do that to themselves without realising. It includes Play Services, but also Samsung, Xiaomi, Huawei, Honor, OPPO, vivo and Meizu push, since those matter more in the markets this is aimed at. Matching is by package name and anything not installed is skipped, so on a degoogled phone with no Play Services there is simply nothing there to protect and you lose nothing. The Play Store itself is deliberately not protected, you can block it, which on my test phone was the single biggest consumer at 444 MB a cycle of background auto-updates.

The honest gap: right now it's only distributed through Play. The F-Droid request is open at fdroid/rfp#4520 and has been waiting since 8 October, which from what I can see is normal queue time rather than anything wrong. Until then it builds from a clean clone if you'd rather do that.

GPL-3.0, free, no ads, no purchases, no accounts, no analytics. Android 7 and up.

https://github.com/anubisproductions/data-saver-usage-blocker

View original on lemmy.world
10

Data Saver: per-app mobile data for the billing cycle, with a background split and per-network blocking. No INTERNET permission.

Disclosure first: I wrote this.

My bundle kept running out before the month did and the phone only ever showed me a total. Android's own per-app data screen defaults its date range to the calendar month instead of the billing cycle, so the numbers never matched what I'd actually been charged for. When I finally pulled per-app figures out of NetworkStatsManager the biggest consumer that month wasn't video or anything social. It was a tile-matching puzzle game, almost all of it background, while I wasn't playing it.

So it ranks every app by what it used this cycle, counts foreground and background separately, and lets you block apps per network, which means something can be dead on mobile data and work fine on Wi-Fi. Play Services, your dialler and your SMS app are protected, because blocking the wrong thing silences every notification on the phone and it takes a while to work out why. I did that to myself before I understood it.

No INTERNET permission at all, so it can't send anything anywhere. Don't take that from me, the permission list on the Play page is extracted from the uploaded build.

GPL-3.0, free, no ads, no purchases, Android 7 and up. One limitation worth saying out loud: it holds the VPN slot, so you can't run it alongside an actual VPN.

Source: https://github.com/anubisproductions/data-saver-usage-blocker Play: https://play.google.com/store/apps/details?id=com.anubisproductions.datagate

View original on lemmy.world
4

You reached the end