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:
- Eine neue Emailadresse für die Apple ID z.b googlemail
- Eine Virtuelle Telefonnummer mit SMS Empfang:
Denn es kann nur eine Telefonnummer Pro AppleID benutzt werdenName URL VSIM Google Play https://play.google.com/store/apps/details?id=com.tgtools.vnumber&hl=gsw VSIM Apple Store https://apps.apple.com/us/app/vsim-sms-verification/id1661720255
- Eine AppleID mit 2FA aber nur SMS. : https://www.icloud.com/
-
Abhänigkeiten auf dem Computer installieren, wo die Schlüssel generiert bwerden sollen.
sudo apt-get install build-essential libssl-dev libffi-dev python-dev pip install cryptography - Die Keys Generate py.generate_keys.py GIT Repo : https://github.com/dchristl/macless-haystack/releases/tag/v2.2.0
- Hardware
Name Shop URL Werese Ibeacons Typ Bluetooth 4.0 Modul Nrf51822 Chipsatz Ibeacon Mit Silikonhülle
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