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 ~/root/openhaystack/data_anisette
mkdir -p /root/openhaystack/data_macless
Docker-composeDocker fileNetwork erstellen
nanodocker /root/openhaystack/docker-composenetwork create mh-network
InhaltNun Anisette starten
version:docker '3.8'
services:
anisette:
image: dadoum/anisette-v3-server
ports:run - "6969:6969"
volumes:d --restart ./data_anisette:always --name anisette -p 6969:6969 --volume anisette-v3_data:/home/Alcoholic/.config/anisette-v3/lib/ #--network Speichertmh-network Daten außerhalb des Containers
restart: always
macless:
stdin_open: true # Interaktivität erlauben
tty: true # TTY-Terminal simulieren
image: christld/macless-haystack
ports:
- "6176:6176"
volumes:
- ./data_macless:/app/endpoint/data # Speichert Daten außerhalb des Containers
restart: alwaysdadoum/anisette-v3-server
Nun den docker container anisette starten starten
docker-compose up -d anisetteNun den container macless starten
docker-compose up maclessDiesemMACLess im interactiven modus starten umd die AppleID Daten einzugeben
docker run -it --restart unless-stopped --name macless-haystack -p 6176:6176 --network openhaystack_default --volume /data_macless: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