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 ~/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 anisette

Nun den container macless starten

docker-compose up macless

DiesemMACLess 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