Direkt zum Hauptinhalt

Docker installtion des Servers ohne MacOS

Beschreibung:

Wir brauchen einen Webdienst der Das Apple FindMy emuliert, da wir keine Apple Geräte haben, oder nutzen wollen.

Vorrausetzungen:

Server Setup

zwei Docker Container in einer VPS Oder wo auch immer erstellen. Mit Linux Mint oder so. Weil der Webbrowser von dort gestartet wird. Am besten xfreerdp drauf installieren.
Siehe RDP-Server für Cinnomon Session installieren

Abbhängikeiten installieren

apt install docker.io docker-compose apparmor apparmor-utils curl openssl

Verzeichnisse estellen

mkdir -p ~/openhaystack/

Docker Network erstellen

docker network create mh-network

Nun Anisette starten

docker run -d --restart always --name anisette -p 6969:6969 --volume anisette-v3_data:/home/Alcoholic/.config/anisette-v3/lib/ --network mh-network dadoum/anisette-v3-server

Nun MACLess im interactiven modus starten umd die AppleID Daten einzugeben

docker run -it --restart unless-stopped --name macless-haystack -p 6176:6176 --volume mh_data:/app/endpoint/data --network mh-network christld/macless-haystack

wenn diese Zeile drin vorhanden ist im Output  dann kann der Container  neugestartet  werden

2024-11-17 15:11:25,898 - INFO - serving at 0.0.0.0:6176 over HTTP

Output: 

024-11-17 15:11:25,897 - DEBUG - Answer from icloud login
2024-11-17 15:11:25,897 - DEBUG - {'dsid': '1148059359', 'delegates': {'com.apple.mobileme': {'status': 0, 'service-data': {'protocolVersion': '2', 'tokens': {'mmeFMFAppToken': 'EAABAAAABLwIAAAAAGc6B50RDmdzLmljbG91ZC5hdXRovQBCUEHE3WxIPLSjjRq8LhHNLSaEEuawxsb9VIXqV3mC4OllmYiE0QOmoVXCNKJ_6flkko_Z6gQeTZk6jyfrW5HPsbXcBks1hmYUI8938OZD2KbHkTzK32gSWokFDOg0zay1yGpZlR2GJVB_zd0-14eiEzZiFQ~~', 'keyTransparencyToken': 'EAABAAAABLwIAAAAAGc6B50RDmdzLmljbG91ZC5hdXRovQBCUEHE3WxIPLSjjRq8LhHNLSaEEuawxsb9VIXqV3mC4OllmYiE0QOmoVXCNKJ_6flkko_Z6gQeTZk6jyfrW5HPsbXcBks1hmYUI8938OZD2MO1bT9UamIarfevKOU7SRR4LVoDoMzKiFjBoZD9_ZSJmK6P5A~~', 'mapsToken': 'EAABAAAABLwIAAAAAGc6B50RDmdzLmljbG91ZC5hdXRovQBCUEHE3WxIPLSjjRq8LhHNLSaEEuawxsb9VIXqV3mC4OllmYiE0QOmoVXCNKJ_6flkko_Z6gQeTZk6jyfrW5HPsbXcBks1hmYUI8938OZD2B_mPZ0aRpM4JLCeSseNCYQWjHM2zRLXgfHp1KD_VXKCS95bcg~~', 'searchPartyToken': 'EAABAAAABLwIAAAAAGc6B50RDmdzLmljbG91ZC5hdXRovQBCUEHE3WxIPLSjjRq8LhHNLSaEEuawxsb9VIXqV3mC4OllmYiE0QOmoVXCNKJ_6flkko_Z6gQeTZk6jyfrW5HPsbXcBks1hmYUI8938OZD2NESM29jzyNNyRDeXuPETVIA5QPGacsli0Gs9mynDfbKVp1sFg~~', 'mmeFMIPToken': 'EAABAAAABLwIAAAAAGc6B50RDmdzLmljbG91ZC5hdXRovQBCUEHE3WxIPLSjjRq8LhHNLSaEEuawxsb9VIXqV3mC4OllmYiE0QOmoVXCNKJ_6flkko_Z6gQeTZk6jyfrW5HPsbXcBks1hmYUI8938OZD2M0JFNHoI9JWQYSNTXcnj_oO_lInYekeD1P3DB_6bWjbWRLOkw~~', 'cloudKitToken': 'EAIBAAAABLwIAAAAAGc6B50RDmdzLmljbG91ZC5hdXRovQBCUEHE3WxIPLSjjRq8LhHNLSaEEuawxsb9VIXqV3mC4OllmYiE0QOmoVXCNKJ_6flkko_Z6gQeTZk6jyfrW5HPsbXcBks1hmYUI8938OZD2OCOg-LaeLU6uphidtslC0yh1raqheK2PYSdWu5ujlN9Mhp5tg~~', 'mmeFMIPSiriToken': 'EAABAAAABLwIAAAAAGc6B50RDmdzLmljbG91ZC5hdXRovQBCUEHE3WxIPLSjjRq8LhHNLSaEEuawxsb9VIXqV3mC4OllmYiE0QOmoVXCNKJ_6flkko_Z6gQeTZk6jyfrW5HPsbXcBks1hmYUI8938OZD2FHj4qZqluHcb1-zJwdBOVe6DENixNM1kiUB8IoG60xXqZkvKw~~', 'mmeFMIPAppToken': 'EAABAAAABLwIAAAAAGc6B50RDmdzLmljbG91ZC5hdXRovQBCUEHE3WxIPLSjjRq8LhHNLSaEEuawxsb9VIXqV3mC4OllmYiE0QOmoVXCNKJ_6flkko_Z6gQeTZk6jyfrW5HPsbXcBks1hmYUI8938OZD2Kr3tpErmq12AyyNsDEMMGzRkxrv88em-xFk0ipZ9DifPJl87w~~', 'mmeAuthToken': 'EAABAAAABLwIAAAAAGc6B50RDmdzLmljbG91ZC5hdXRovQBCUEHE3WxIPLSjjRq8LhHNLSaEEuawxsb9VIXqV3mC4OllmYiE0QOmoVXCNKJ/6flkko/Z6gQeTZk6jyfrW5HPsbXcBks1hmYUI8938OZD2MhF1Ka25UYqzJSn+H1ys60ZQzq/WRwQdEgOXDZdVSfDWY0OQQ==', 'mmeBTMMInfiniteToken': 'EAABAAAABLwIAAAAAGc6B50RDmdzLmljbG91ZC5hdXRovQBCUEHE3WxIPLSjjRq8LhHNLSaEEuawxsb9VIXqV3mC4OllmYiE0QOmoVXCNKJ_6flkko_Z6gQeTZk6jyfrW5HPsbXcBks1hmYUI8938OZD2MZ_9isUKv_8wMtELxpQd-rdePIHGr0LpSK5vTA22GwpAPm9Qw~~'}}}}, 'status': 0}
2024-11-17 15:11:25,897 - INFO - Certificate file /app/endpoint/data/certificate.pem not found, so not using SSL
2024-11-17 15:11:25,898 - INFO - serving at 0.0.0.0:6176 over HTTP
2024-11-17 15:11:25,898 - WARNING - Endpoint is not protected by authentication

Wenn vorhanden Container neustarten mit SRTG+C Server stoppen

docker restart macless-haystack

Nun können wir das Frontend aufrufen:

Github-Website (Im Privaten Fenster öffnen, Seite hat ein cookie bug) : https://dchristl.github.io/macless-haystack/

Oder die Andorid APP installieren -> https://github.com/dchristl/macless-haystack/releases/

Hardware Setup

Vorrausetzungen:

  • ADV_KEY_BASE64=YOUR_ADVERTISEMENT_KEY diesen bekommen wir wenn wir ein gerät anlegen. Jedes Gerät bekommt sein Advertise Key

Compile Firmware. Diese machen wir auch auf der Server VPS, so haben wir alles zusammen