Skip to content

N0madical/HayStacker

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

HayStacker48 HayStacker

🏷️ Making custom tracking tags easy

What is HayStacker? 🪡

HayStacker is a GUI application & framework for all platforms that lets you create and track tags via Apple's FindMy network. Tags don't need to connect to a network and can be tracked on any system; Windows, Linux, and Mac! The goal is to allow the everyday person to create tracking tags to track everyday objects (Backpacks, Bicycles, Keys, etc), and to provide a simple, cross-platform GUI interface that makes this accessible to anyone.

haystacker2


How is this possible? 💾

Thanks to the hard work and research by the folks over at Seemoo Lab, the basis for querying Apple servers was established:

Next, credit is given to Dadoum for the anisette-v3-server project and Biemster for the FindMy project. These two established the grounds for moving OpenHayStack's frameworks away from being MacOS-only:

This project finishes the job off by porting all that hard work to cross-platform compatible Python, wrapping it all up in a nice little package, and developing a GUI. And here you are!

How can I install it? 🖥️

In an effort to be modular and easy to update, this project doesn't need to be compiled.

  • 🌟 Simply download the code, extract (if necessary), and double-click the launch script for your platform

Windows:

winLaunch.bat

MacOS / Linux:

macLinuxLaunch.sh

Supported Firmware 💽

Fun Fact! This project includes the binary and/or readme for each type of firmware, meaning you can customize HayStacker tag behavior to your liking if you're willing to build the firmware yourself!

Chip Name Status Options Note
ESP32 Generic Fully Supported Constant ping, hibernate 5 minutes, sleep 2 seconds Every board except for ESP32-C3 & S2 (Thanks to OpenHaystack)
ESP32 C3 & S2 Fully Supported Constant ping, hibernate 5 minutes Binary developed as part of HayStacker
Lenze_ST17H66 Manual Flashing Constant ping Copied from FindMy
Telink_TLSR825X Manual Flashing Constant ping Copied from FindMy
WCH_ch592 Manual Flashing Constant ping Copied from FindMy

Note: Tag MAC addresses do not rotate, meaning using these tags can be tracked by local area bluetooth scanners

The MAC address acts like a name for your device, so scanners could see your device's name in the coffee shop, and then see the same device name the next day in the grocery store, and know that specific tag has gone from the coffee shop to the grocery store. They won't know your name or any other details, and this only works if they are monitoring a scanner within the range of your device's antenna (usually ~10 meters/30ft)


How-to Guide 🧐

Flashing an ESP32 Board

  • Choose a tag to deploy, or create a new one using the + button
    • If creating a new tag, enter a name when the dialog opens
    • image
  • Plug in your ESP32
  • Click Deploy next to your desired tag
  • Choose your COM port to deploy to
    • image
    • If the COM port does not appear, make sure the proper serial drivers for your board are installed and your cord can transmit data
  • Choose a board type and firmware type
  • Watch as the software deploys!

Locating tags

  • Click the or Login to Apple button in the top-right
  • Follow the log-in instructions. Your Apple account is necessary to pull data from Apple servers.
    • image
    • ⚠️ If you have no Apple devices associated with your Apple ID, you may use SMS authentication. Keep in mind that SMS authentication is often faulty and Apple will randomly block SMS authentication requests
  • Your tags, if pinging and near an Apple device, will appear on the map.

Flashing to other devices

About

🏷️ Full GUI Solution for ESP32 'AirTags', on any platform!

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 42.4%
  • C 22.7%
  • Shell 14.9%
  • D 8.8%
  • VBScript 7.5%
  • Makefile 1.1%
  • Other 2.6%