ShizuStore

FindMyDevice

fmd-foss

0.17.0 · F-Droid

Download APK
Network Android 7.0+ 1 week ago GPL-3.0
12 ShizuStore
526 Stars
5 MB Size

More about this app

Secure & open-source alternative to Google's FindMyDevice service.

FMD Android

Find your device via SMS, instant messengers, or a web interface (FMD Server).

FMD allows you to locate, ring, wipe and issue other commands to your device when it's lost. It aims to be a secure open source alternative to Google's Find My Device.

Get it on F-Droid

Why?

I lost my brand new phone last week. If I would have used Google Services I would have had a better chance of finding it. Why has nobody created an open source application to find a lost device without giving up your privacy?

If you like FMD and want to support it, spread the word or donate.

Documentation

The documentation can be found on the website.

Contribute

For translations instructions and other ways to contribute, see the contribution guide.

Building

Building FMD Android requires Java and the Android SDK. The easiest way is to open the repository in Android Studio and click "Run".

Alternatively, build it from the command line:

./gradlew assembleDevDebug

The resulting APK should be at app/build/outputs/apk/dev/debug/app-dev-debug.apk.

This will build the "dev" flavour of FMD Android, which can be installed in parallel with the prod app. The command keyword is "fmdev" (for example, "fmdev locate").

Community

There is a matrix space for discussions: https://matrix.to/#/#fmd:matrix.org.

You can join the "Community" room for general discussions and the "Announcement" room to get project news.

Donate

Buy Me a Coffee at ko-fi.com

Funding

nlnet NextGenerationInternet

This project was funded through the NGI Mobifree Fund. For more details, visit our project page.

Why is it taking that long to fix x?

I am working full-time. This project is my free-time and I have spent a lot of time in this and still will. If there are bugs I will try to fix them as soon as possible, but my full-time job has priority. If it takes too long to fix something you can of course try to fix it by yourself and contribute to this project.

Thanks,

Nulide

License

FMD Android is published under GPLv3-or-later.

Close

How Shizuku is used

Can grant itself secure settings access via `pm grant` through Shizuku to allow remote GPS control.

This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.

How this app uses Shizuku

Shizuku is used to self-grant a system level permission that powers remote location control.

  • Grant secure settings access: the user can grant the app write secure settings access with one tap, applied with the pm grant shell command through Shizuku. Once granted, remote gps and locate commands can turn location on and off and automatically turn location on to answer a location request.

Android APIs or commands used

  • pm grant

Notable details

The same secure settings access can also be granted manually via ADB by following the in-app instructions, without Shizuku.

Close

Changelog

What's new for version 0.17.0

I lost my new phone. And because I don't use Google Services I couldn't locate it and my phone was gone for good. In the hope that this doesn't happen again, I developed this application, so that I can locate the phone via SMS.

Features:

  • Locate the device (using GPS or cellular location)
  • Lock the device
  • Let the device ring
  • Take pictures with the device's camera to see its surroundings
  • Factory-reset the device

Usage:

You can control FMD (and thus your phone) either via SMS or via FMD Server. You send a command to the phone (e.g. "fmd ring") and the phone executes it.

For SMS you can either define a list of trusted contacts (phone numbers) that are allowed to send commands. Or you can set a PIN to allow anonymous usage. Then non-trusted phone numbers can also send commands by including the PIN in the message. This is useful because now if you lose your phone, you can ask a random person for help to wipe your phone remotely. If you simply text "fmd" to your phone FMD will reply with a text listing the available commands.

With FMD Server you get a web interface to send commands, to view the location of your device on a map, and to view pictures taken by the device. You can self-host FMD Server. For more details, see: https://gitlab.com/fmd-foss/fmd-server

Disclaimer:

This app is provided on a best effort basis. We hope it is useful, we use it ourselves, but this is a hobby project and we can't guarantee that it will work when you need it the most.

Close

Permissions

29 permissions requested

  • android.permission.SEND_SMS
  • android.permission.READ_SMS
  • android.permission.RECEIVE_SMS
  • android.permission.ACCESS_COARSE_LOCATION
  • android.permission.ACCESS_FINE_LOCATION
  • android.permission.ACCESS_BACKGROUND_LOCATION
  • android.permission.POST_NOTIFICATIONS
  • android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
  • android.permission.RECEIVE_BOOT_COMPLETED
  • android.permission.ACCESS_NOTIFICATION_POLICY
  • android.permission.ACCESS_NETWORK_STATE
  • android.permission.ACCESS_WIFI_STATE
  • android.permission.CHANGE_WIFI_STATE
  • android.permission.INTERNET
  • android.permission.SYSTEM_ALERT_WINDOW
  • android.permission.READ_PHONE_STATE
  • android.permission.CAMERA
  • android.permission.USE_BIOMETRIC
  • android.permission.BIND_NOTIFICATION_LISTENER_SERVICE
  • android.permission.WRITE_SECURE_SETTINGS
  • android.permission.BLUETOOTH
  • android.permission.BLUETOOTH_ADMIN
  • android.permission.BLUETOOTH_CONNECT
  • android.permission.BLUETOOTH_SCAN
  • android.permission.USE_FINGERPRINT
  • android.permission.WAKE_LOCK
  • android.permission.FOREGROUND_SERVICE
  • de.nulide.findmydevice.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
  • moe.shizuku.manager.permission.API_V23
Close

Sources

2 sources

0.17.0 Universal F-Droid · de.nulide.findmydevice · de.nulide.findmydevice
Selected Download
0.17.0 arm64-v8a,armeabi-v7a,x86,x86_64 F-Droid · de.nulide.findmydevice · de.nulide.findmydevice
Download