[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-9265":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":24,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":29,"readmeContent":30,"aiSummary":31,"trendingCount":16,"starSnapshotCount":16,"syncStatus":32,"lastSyncTime":33,"discoverSource":34},9265,"macless-haystack","dchristl\u002Fmacless-haystack","dchristl","Create your own AirTag with  OpenHaystack, but without the need to own an Apple device","",null,"Dart",2072,245,23,78,0,3,30,1,29.17,"GNU Affero General Public License v3.0",false,"main",true,[26,27,28],"esp32","findmy","openhaystack","2026-06-12 02:02:05","# Macless-Haystack\n\n![last commit](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flast-commit\u002Fdchristl\u002Fmacless-haystack)\n[![Docker Hub](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDocker%20Hub-Info-blue)](https:\u002F\u002Fhub.docker.com\u002Fr\u002Fchristld\u002Fmacless-haystack)\n[![Docker Pulls](https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fpulls\u002Fchristld\u002Fmacless-haystack)](https:\u002F\u002Fhub.docker.com\u002Fr\u002Fchristld\u002Fmacless-haystack)\n\n\nThis project tries to unify several projects for an easy-to-use and easy-to-setup custom FindMy network. The goal is to run a FindMy network without the need to own a real Mac or virtual Mac. Also you don't have to install the mail plugin or openhaystack itself. (As needed by the original OpenHaystack project).\n\n\u003Cimg src=\"images\u002Fdashboard_web.png\" width=\"500\" \u002F>\n\n## Table of Contents\n\n- [Setup](#setup)\n  - [Prerequisites](#prerequisites)\n  - [Hardware setup](#hardware-setup)\n  - [Server setup](#server-setup)\n  - [Frontend setup](#frontend-setup)\n- [Problems \u002F Issues \u002F Questions](#problems--issues--questions)\n- [Included projects and changes](#included-projects-and-changes)\n- [Screenshots](#screenshots)\n\n## Setup\n\nIn this section, you will find a step-by-step guide on how to set up your own Macless-Haystack network.\n\n\u003Cdetails>\u003Csummary>1. Prerequisites\u003C\u002Fsummary>\n\n## Prerequisites\n\n- [Docker](https:\u002F\u002Fwww.docker.com\u002F) installed\n- [Python3](https:\u002F\u002Fwww.python.org\u002F) and [pip3](https:\u002F\u002Fpypi.org\u002Fproject\u002Fpip\u002F) installed\n- Apple-ID with 2FA enabled. Only sms\u002Ftext message as second factor is supported!\n\n---\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\u003Csummary>2. Hardware setup\u003C\u002Fsummary>\n\n## Hardware setup\n\n1. Head over to the [releases](https:\u002F\u002Fgithub.com\u002Fdchristl\u002Fmacless-haystack\u002Freleases\u002Flatest) section and download `generate_keys.py` and your needed firmware (ESP32 or NRF5x) zip file.\n\n2. Execute the `generate_keys.py` script to generate your keypair. (Note: dependency `cryptography` is needed. Install it with `pip install cryptography`)\n\n3. Unzip the firmware and flash it to your device (see [Install ESP32-firmware with your key](firmware\u002FESP32\u002FREADME.md) or [Install NRF5x-firmware with your key](firmware\u002Fnrf5x\u002FREADME.md))\n\n###### Note: In general, any OpenHaystack-compatible device or its firmware is also compatible with Macless-Haystack (i.e. [the ST17H66](https:\u002F\u002Fgithub.com\u002Fbiemster\u002FFindMy\u002Ftree\u002Fmain\u002FLenze_ST17H66)). Typically, only the Base64-encoded advertisement key is required, which can be found in the .keys file after key generation\n\n---\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\u003Csummary>3. Server setup\u003C\u002Fsummary>\n\n## Server setup\n\n1. Create a new docker network\n\n```bash\ndocker network create mh-network\n```\n\n2. Install [Anisette Server](https:\u002F\u002Fgithub.com\u002FDadoum\u002Fanisette-v3-server):\n\n```bash\ndocker run -d --restart always --name anisette -p 6969:6969 --volume anisette-v3_data:\u002Fhome\u002FAlcoholic\u002F.config\u002Fanisette-v3 --network mh-network dadoum\u002Fanisette-v3-server\n```\n\n3. Start and set up your Macless Haystack endpoint in interactive mode:\n\n```bash\ndocker run -it --restart unless-stopped --name macless-haystack -p 6176:6176 --volume mh_data:\u002Fapp\u002Fendpoint\u002Fdata --network mh-network christld\u002Fmacless-haystack\n```\n\n###### You will be asked for your Apple-ID, password and your 2FA. If you see `serving at port 6176 over HTTP` you have all set up correctly\n\n4. Restart your server now in background by restarting it in an other terminal\n\n```bash\ndocker restart macless-haystack\n```\n\n---\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\u003Csummary>4. Frontend setup\u003C\u002Fsummary>\n\n## Frontend setup\n\nYou can either use the frontend provided by GitHub, host the webserver for yourself or use the Android application\n\n- *Optional*: Mobile: Install application\n- *Optional*: Host: Browse to [Github Page](https:\u002F\u002Fdchristl.github.io\u002Fmacless-haystack\u002F) (s. [Notes on SSL usage](FAQ.md#how-can-i-use-ssl-if-the-endpoint-runs-on-another-machine-than-the-ui))\n- Import PREFIX_devices.json to your application\n- If you run the frontend not on the same machine as your endpoint, you have to configure your Url in the settings\n\n---\n\n\u003C\u002Fdetails>\n\n### Problems \u002F Issues \u002F Questions\n\nIf you have any problems, issues or questions, please check the [FAQ](FAQ.md) first. If this doesn't help you, create a new issue.\n\n## Included projects and changes\n\nIncluded projects are (Credits goes to them for the hard work):\n\n- The original [Openhaystack](https:\u002F\u002Fgithub.com\u002Fseemoo-lab\u002Fopenhaystack)\n  - Stripped down to the mobile application (Android) and ESP32 firmware. ESP32 firmware combined with FindYou project and optimizations in power usage.\n  - Android application\n  - ESP32 firmware\n- [Biemster's FindMy](https:\u002F\u002Fgithub.com\u002Fbiemster\u002FFindMy)\n  - Customization in keypair generator to output an array for the ESP32 firmware and a json for import in the Android application.\n  - The standalone python webserver for fetching the FindMy reports\n- [Positive security's Find you](https:\u002F\u002Fgithub.com\u002Fpositive-security\u002Ffind-you)\n  - ESP32 firmware customization for battery optimization\n- [acalatrava's OpenHaystack-Fimware alternative](https:\u002F\u002Fgithub.com\u002Facalatrava\u002Fopenhaystack-firmware)\n  - NRF5x firmware customization for battery optimization\n\n## Screenshots\n\n\u003Cdetails>\u003Csummary>Android App\u003C\u002Fsummary>\n\n### Android\n\n![Dashboard](images\u002Fhistory_mobile.png)\n![Dashboard](images\u002Fhistory_mobile_2.png)\n![Dashboard](images\u002Faccessories_mobile.png)\n![Dashboard](images\u002Fsettings_mobile.png)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\u003Csummary>Website\u003C\u002Fsummary>\n\n### Web\n\n![Dashboard](images\u002Fhistory_web.png)\n![Dashboard](images\u002Fhistory_web_light.png)\n![Dashboard](images\u002Faccessories_web.png)\n\n\u003C\u002Fdetails>\n\n## Contributing\n\nPull requests are welcome. Please fork from dev-branch. For major changes, please open an issue first to discuss what you would like to change.\n\n[![License: AGPL v3](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-AGPL_v3-blue.svg)](https:\u002F\u002Fwww.gnu.org\u002Flicenses\u002Fagpl-3.0)\n\n## Disclaimer\n\nThis repository is for research purposes only, the use of this code is your responsibility.\n\nI take NO responsibility and\u002For liability for how you choose to use any of the source code available here. By using any of the files available in this repository, you understand that you are AGREEING TO USE AT YOUR OWN RISK. Once again, ALL files available here are for EDUCATION and\u002For RESEARCH purposes ONLY.\n","Macless-Haystack 项目旨在让用户能够创建自己的 AirTag，无需拥有苹果设备。该项目集成了多个开源项目，提供了一个易于使用和部署的自定义 FindMy 网络解决方案，支持通过 Docker 容器运行整个系统，简化了服务器端配置流程，并且用户可以通过简单的硬件设置（如ESP32或NRF5x）来加入网络。它特别适合那些希望在没有苹果生态系统的环境下实现物品追踪功能的开发者或个人爱好者。此外，项目还提供了详细的文档指导用户完成从软件安装到硬件连接的全过程。",2,"2026-06-11 03:21:55","top_language"]