The FindMy Flipper app turns your FlipperZero into an AirTag or other tracking device, compatible with Apple AirTags and Samsung SmartTag and Tile Trackers. It uses the BLE beacon to broadcast, allowing users to clone existing tags, generate OpenHaystack key pairs for Apple's FindMy network, and customize beacon intervals and transmit power.
This app extends the functionality of the FlipperZero’s bluetooth capabilities, enabling it to act as an Apple AirTag, Samsung SmartTag, or a Tile Tracker. It utilizes the FlipperZero’s BLE beacon to broadcast a SmartTag signal to be picked up by the FindMy Network. I made this to serve as a versatile tool for tracking purposes, offering the ability to clone existing tags, generate OpenHaystack key pairs for integration with Apple’s FindMy network, and always know where your FlipperZero is.
fbt/ufbt
.1A. Scan and import tag via ESP32 with BLE. Use the Airtag scanner ESP32 firmware and Flipper app.
Video Tutorial: https://youtu.be/XGwHmwvQoqo?si=CAsKWEqGP5VFi9p9
Before you begin, ensure you have the following installed on your system:
Navigate to Matthew KuKanich’s GitHub repository, copy the repository URL, and clone it to your desired location using the terminal.
git clone https://github.com/MatthewKuKanich/FindMyFlipper.git
Inside the cloned repository, locate the ‘air tag generation’ folder which contains all necessary files for creating AirTags.
Ensure Docker Desktop is running on your computer, as it is required for the server setup.
Run the following Docker command to set up the server. This server emulates an environment that tricks Apple’s authentication servers.
docker run -d --restart always --name anisette-v3 -p 6969:6969 dadoum/anisette-v3-server:latest
Navigate to the AirTag generation directory, then create and activate a Python virtual environment. You will run all scripts in this terminal.
cd AirTagGeneration
python3 -m venv venv
(or python -m venv venv
)
Activate the environment:
.\venv\Scripts\activate.bat
source venv/bin/activate
pip3 install -r requirements.txt
Run the generate_keys.py
script in the current terminal to generate the keys needed for AirTags, which will be saved in a new folder called ‘keys’.
Move the ‘.Keys’ file to your Flipper device by connecting it to your computer and using the Flipper’s file management system.
.keys
file onto your FlipperZero’s SD card in the apps_data->findmy folder. You can import it directly from the app!
.keys
, .txt
, or enter Manually.Use the request_reports.py
script to request real-time location data, requiring your Apple ID and password for authentication. This will save your Apple login information to a auth file so you won’t need to re-enter your Apple credentials.
Finally, run the RequestReport&Map.py
script to generate an interactive map of all location data in the past 24 hours. This script automates the process by requesting the location report using the hashed adv key in your keys
folder, then decrypting that data from your private key located in the same .keys
file. After the data is decrypted it will be displayed in the terminal. It then launches a mapping script that maps all the coordinates, connects them to show movement, displays a plethora of location metadata, and saves to an html file named by the date of the report.
You’re done!
If you want to use OpenHaystack or Macless instead, then you can follow the steps below. I don’t recommend these methods due to reliability issues and setup complexity.
To use OpenHayStack for tracking, you must use MacOS lower than version 14 (Mail Plug-in Incompetiablity of MacOS 14+ seemoo-lab/openhaystack#224). If you do own a device, I believe a convertor script can be provided without much of effort. If you do not own a Mac device or the system has been upgraded to 14 and beyond. The alternative solutions includes,
If using this solution, be sure to only use the generate_keys.py
script from this repo in the AirTagGeneration folder. Not the ones included in that repo as the formatting of the key file changes. (Mine includes data that the FlipperZero needs for proper importing)
Import Tag From File
or Register Tag Manually
. Put your generated .keys file onto the FlipperZero SD card inside the AppsData/FindMyFlipper folder to import from file. Or you can manually enter the tag information. When using the cloning method, you can export a .txt file from nrfConnect (click save button) amd place that in the same folder in order to import.Customization
Background Use
The app is designed to have a negligible impact on battery life, even when running in the background. This allows for continuous tracking without the need for frequent recharging.
Compatibility
Thanks
Legal and Privacy
This app is intended for personal and educational use. Users are responsible for complying with local privacy laws and regulations regarding tracking devices. The cloning and emulation of tracking tags should be done responsibly and with respect to the ownership of the original devices.
Disclaimer
This project is not affiliated with Apple Inc. or Samsung. All product names, logos, and brands are property of their respective owners. Use this app responsibly and ethically.