DivestOS: long term device support with enhanced privacy and security

Does DivestOS use microg? I checked the init script and thankfully I found out that upon compiling you can change the setting in that file how you want to set up microg. By default it’s set up to use nlp gps. Is there a way to remove this gps module? I can easily run OsmAnd maps on Resurrection Remix without microg and nlp. Or is it necessary to make gps work?

DivestOS and GrapheneOS are strictly against “Google apps or services”.

No. DivestOS went with a very small sample of users who 3-2 didn’t want microg.

Or is it (nlp) necessary to make gps work?

It is not. It sometimes speeds up GPS sync.

Search this thread for microg by @SkewedZeppelin. It is all covered already: Search results for 'microg @SkewedZeppelin order:latest' - F-Droid Forum

Thanks for the clarification! I love when I get a choice when building a custom ROM to let me choose what features I want or don’t want. MicroG is a very good project and it works for a lot of people, but for me I have found apps that don’t depend on Google play services and there’s no reason for microG.
@SkewedZeppelin keep up the good work. Giving users choice is what makes me use FOSS projects.

I only use microG for the localization, so I don’t depend on GPS at all
but on local databases of Wi-Fi or cell networks.

Then you’ll be glad to know that Divest has Déjà Vu - A local RF based back end for the µg Pro | F-Droid - Free and Open Source Android App Repository iirc

@SkewedZeppelinAny Won’t LocalGsmNlpBackend | F-Droid - Free and Open Source Android App Repository and https://f-droid.org/en/packages/org.openbmap.unifiedNlp/ help too?

I believe one of the UnifiedNLP is included in DivestOS by default.

Dejavu

I believe this has to be installed by the user. It would be interesting to devise tests to see how much faster sync is, with or without, but it depends on so many variables…

Location

DivestOS includes:

  • UnifiedNlp (fused provider, not microG)
  • DejaVu (local)
  • Ichnaea (remote)
  • Nominatim (reverse lookup, remote).

Users are free to install more backends, they’ll work just fine.

  • The Apple backend is probably violating some license if I included it.
  • I had thought DejaVu was going to replace both of @n76’s providers, but it seems now that Local GSM backend is a maintained fork.
  • The openbmap one is available too
    but I don’t like processing too much on the phone. ie. downloading large databases and filtering them…

hence why I made my own backend long ago: MergedWiFiNLP. It has a phone component, the provider, and a desktop component, that processes the big databases and can reuse the output.

Lastly these backends do not help GPS sync faster, they just provide applications an alternate and quick source of location.
eg.

  • your weather app
  • the system suntimes calculation for automatic night mode

Google Apps

I still do not plan on supporting microG, or Google Apps, or sandboxed Google Apps.
You are free to enable microG support at compile time, or attempt to install a gapps package onto DivestOS.

5 Likes

DivestOS […] strictly against “Google apps or services”.

I appreciate knowledge-based statements rather than creeds (“I believe”):

Users can consider themselves lucky because they have a good selection of CustomROMs.

Again, this post has no relation with what I posted.

You didn’t understand, you should probably ask before assuming, the risk here is the signatures spoofing patch, that hacks signatures and opens an attack surface.
It’s evident that the only thing you are interested in is making sneaky spam.

your weather app

What weather app?? My browser?

the system suntimes calculation for automatic night mode

Wouldn’t getting local time from the nearest cell tower work?

Wouldn’t getting local time from the nearest cell tower work?

Accurate time is important but doesn’t tell you when the sun will rise or set.

You can accurately calculate the sunrise and sunset from coordinates using various equations:

https://cs.android.com/android/platform/superproject/+/master:frameworks/base/services/core/java/com/android/server/twilight/TwilightService.java;l=272

1 Like

It seems like they should, or could, especially “In older hardware where satellite search is slower, a cold start may take more than the full 12.5 minutes” Time to first fix - Wikipedia And I could’ve sworn my TTFFs were longer right after fresh ROM install, and shorter after using Dejavu for a while.

@anon46495926

TTFF is already helped through the A-GPS SUPL and XTRA almanacs.

GPS (with help from SUPL and XTRA/IZat) and Fused (Google Play Services/microG/UnifiedNlp) are two distinct methods of acquiring location.

1 Like

Signatures, plural? “Attack surface”? Please check my understanding, specific to DivestOS:

SkewedZeppelin had posted “DivestOS, if microG was enabled (it isn’t), restricts signature spoofing only to apps signed with the system key”

ref: https://github.com/Divested-Mobile/DivestOS-Build/…/Patches/LineageOS-18.1/android_frameworks_base/0003-Harden_Sig_Spoofing.patch

/core/res/AndroidManifest.xml
android:protectionLevel=“signature”

ref: https://developer.android.com/guide/topics/manifest/permission-element

My takeaway is that, under this constraint, neither 3rd-party prebuilts nor post-installed 3p apps will be granted spoofing permission. No “attack surface”, since nothing other than items which have been signed by the OS builder’s key will be granted the permission.

Graphene OS will include Google Services if not already in, they don’t care about open source and F-Droid, but more about security, and they need an app store so they try to sandbox Play…

That’s a really great rom you launched there :rocket:

Having regular ota’s and a lineageos based rom with essentials (silence, fdroid, …) already super charged is a great deal!

Also the amount of supported devices is quite good :+1:

Wonder if support for the “Galaxy S4 GT-I9506” alias ks01lte could be added. Currently it doesn’t has a official Lineageos maintainer but the device is supported with the most recent version unofficial 18.1

Sources:

Keep up the great work @SkewedZeppelin and thank’s a lot for all the hours you spend delivering such a great rom to the community :clap:

Accurate time is important but doesn’t tell you when the sun will rise or set.

You can accurately calculate

I could be wrong again, but those did not appear to account for local tree lines, tall structures, mountains, clouds, etc., which affect ones perception of sunlight.

We seem to waste a lot in precise calculations where approximate results would work OK. I want my screen to go reddish whenever I choose to sleep, whatever the sun visibility state. The phone does detect ambient light and dim; maybe a popup for less motion or slower typing than usual: “Would you like red screen or lullaby music now?”

So I’ve turned off all location back ends, and wifi and bluetooth background scans, but NLP self-check says network-based location is still enabled, somehow. OTOH it reports no last known, and does not get location within 10 seconds. Will report back if red screen goes nuts, or navigation location stops working. :slight_smile:

Is it possible that devices with A/B partition can use the factory reset option while spamming the power button? I think that it is possible to make an emergency button in older android phones, which calls the recovery partition to factory reset the device.

factory reset option while spamming the power button

out of scope.

Is this feature atleast planned to be added? I imagine that if a device was about to be forcefully removed from someones hands, then they would want to factory reset the device by using an emergency combination like spamming the power button, but maybe I’m just imagining things.