Skip to content

v0.2.23.214816

Compare
Choose a tag to compare
@mar-v-in mar-v-in released this 25 Jan 22:49
· 464 commits to master since this release
af28974

Changelog

  • Exposure Notifications:
    • Add support for validating signatures on key files (only for DE and CH for now). Thanks @cgrigis
    • Add support for more detailed API and use Advertisement version 1.1. Thanks @Elsensee
    • Improve permission checks, especially for Android 12. Thanks @Bubu, @fynngodau
  • Cloud Messaging:
    • Improve reconnecting logic. Thanks @grote
  • SafetyNet / DroidGuard:
    • Implement DroidGuard without additional helper.
    • Allow using external DroidGuard via network
    • Easy check for SafetyNet functionality in settings
  • Device profiles:
    • Allow to spoof device identity
    • Import device details from profile file
  • Location:
    • Update UnifiedNlp to v2.0-alpha7
    • Improved reliability of service
  • Improvements and bug fixes (as always)

New features

SafetyNet / DroidGuard

The updated SafetyNet implementation runs proprietary DroidGuard code privileged in the com.google.android.gms package name. This is required on at least some devices to pass SafetyNet. However this features is disabled by default. If you don't want to run proprietary code by Google on your device do not enabled SafetyNet.

As of now, microG SafetyNet implementation, once enabled, should work on all devices and ROMs that would pass SafetyNet attestation with original Google Play Services. This means that ROMs that are rooted (= come with a su binary that allow privilege escalation), with unlocked bootloader, or for some other reason do not pass the CTS or trigger the SafetyNet system will fail SafetyNet attestation. Hiding or spoofing such details from DroidGuard/SafetyNet is out of scope for this project, but techniques to allow passing SafetyNet on custom ROMs should equally work with microG.

Device profiles

This features is mostly useful for Huawei devices or other devices that are banned from accessing Google services. Choosing a profile of a non-banned device should allow using the device with Google services.

For now, two device profiles are included with microG (Nexus 5X with Android 8.1.0 and Moto G with LineageOS 14.1).

If you are a developer, you can easily create a device profiles based on data gathered from a device. See this file for a sample device profile. Once created, you can import device profiles in microG settings (under "Device registration") to test the profile.

If you are a custom ROM developer, you can add a custom device profile for your ROM by placing an appropriate device profile in /system/etc/microg_device_profile.xml. This can be useful to spoof the details of the original vendor ROM.