PerWiklander/atak-provision

Installs ATAK and related tools on an android device

★ 0Forks 0BatchfileGitHub ↗Compare

README

ATAK-installation

Detta repo innehåller installations- och återställningspaket för ATAK på Windows, macOS och Linux, tillsammans med bundlade Android-verktyg, payloadstruktur och testunderlag.

För operatören

Välj rätt paket

  • Windows: Installation - PC/ATAKautoinstall/
  • macOS: Installation - MAC/ATAKautoinstall/
  • Linux: Installation - LINUX/ATAKautoinstall/

Förberedelser

Se till att följande finns på plats innan du kör något skript:

  • repo-rotens Filer/ är ifylld med rätt payload
  • Filer/apk/ innehåller de APK-filer som ska installeras
  • Filer/atak/ innehåller ATAK-materialet som ska kopieras till enheten
  • Filer/enrollment/atak-box.zip finns
  • Filer/VPN-clients/ finns om VPN-material ska följa med
  • Android-enheten är ansluten med USB-kabel som klarar data
  • utvecklarläge och USB-felsökning är aktiverade
  • enhetens skärm är upplåst

Repot kan ligga på valfri plats så länge katalogstrukturen behålls. En USB-hubb kan vara praktisk när flera enheter ska hanteras parallellt.

Kör rätt skript

  • Windows installation: Installation - PC/ATAKautoinstall/ATAK autoinstall.bat
  • Windows återställning: Installation - PC/ATAKautoinstall/ATAK-Restore.bat
  • macOS installation: Installation - MAC/ATAKautoinstall/ATAK autoinstall.command
  • macOS återställning: Installation - MAC/ATAKautoinstall/ATAK-Restore.command
  • Linux installation: Installation - LINUX/ATAKautoinstall/ATAK autoinstall.sh
  • Linux återställning: Installation - LINUX/ATAKautoinstall/ATAK-Restore.sh

Vad skripten gör

Installationsskripten:

  • installerar alla APK-filer i Filer/apk/
  • kopierar innehållet i Filer/atak/ till enheten
  • kopierar Filer/enrollment/atak-box.zip till enhetens Download/
  • kopierar Filer/VPN-clients/ när katalogen används
  • försöker stänga av appuppdateringar, systemuppdateringar och paketverifiering

Återställningsskripten:

  • avinstallerar de Android-paket som motsvarar APK-filerna i Filer/apk/
  • tar bort ATAK-relaterade filer och kataloger som paketet har lagt på enheten
  • försöker återaktivera appuppdateringar, systemuppdateringar och paketverifiering

Stöddokument

  • Filer/README.md beskriver hur payloaden ska placeras i Filer/
  • TEST.md beskriver manuell verifiering på riktiga enheter
  • Installation - PC/ATAKautoinstall/Läs mig .docx innehåller operatörsinstruktioner för Windows-paketet

Tekniska detaljer

Repoöversikt

Repo-strukturen är uppdelad i tre installationspaket och en gemensam Unix-del:

  • Installation - PC/ATAKautoinstall/ innehåller Windows-skript och Windows-versionen av Android Platform-Tools
  • Installation - MAC/ATAKautoinstall/ innehåller macOS-wrappers, bundlade Unix-verktyg och macOS-specifika binärer
  • Installation - LINUX/ATAKautoinstall/ innehåller Linux-wrappers, bundlade Unix-verktyg och Linux-specifika binärer
  • lib/unix/ innehåller den gemensamma shelllogiken för macOS och Linux

macOS- och Linux-paketen används tillsammans med repo-rotens Filer/ och lib/unix/. De är därför avsedda att köras i den fulla repo-strukturen.

Payload i Filer/

Filer/ innehåller materialet som skripten arbetar med. Katalogen förväntas innehålla:

  • apk/
  • atak/
  • enrollment/ med atak-box.zip
  • VPN-clients/ vid behov

Se Filer/README.md för detaljbeskrivning av varje katalog.

Bundlade verktyg

  • Windows-paketet använder adb.exe från Installation - PC/ATAKautoinstall/platform-tools/
  • Windows-återställningen använder även bundlad aapt2.exe för att läsa paketnamn ur APK-filer
  • macOS-paketet använder bundlad adb från Installation - MAC/ATAKautoinstall/platform-tools/adb och bundlad aapt2
  • Linux-paketet använder bundlad adb från Installation - LINUX/ATAKautoinstall/platform-tools/adb och bundlad aapt2
  • platform-tools ligger på version 36.0.0 enligt respektive source.properties

Skriptbeteende

  • Windows-skripten fungerar som referens för operatörsbeteende
  • installations- och återställningsskripten väljer lagringsrot per enhet
  • installationsskripten försöker stänga av uppdaterings- och verifieringsfunktioner på enheten under användning
  • återställningsskripten försöker slå på motsvarande funktioner igen
  • återställningsskripten använder APK-filerna i Filer/apk/ som källa för vilka paket som ska avinstalleras
  • loggar och felkoder används för att visa resultat per körning och per enhet

Testning

Repot innehåller både automatiserade mocktester och manuella tester:

  • just lint kör shellcheck på de gemensamma Unix-skripten och macOS/Linux-wrappers
  • just test kör mocktester för macOS och Linux via tests/mock_device/run_tests.py
  • .github/workflows/ci.yml kör mocktester på Windows-, macOS- och Linux-runners
  • TEST.md beskriver manuell verifiering på riktiga Android-enheter

Mocktesterna verifierar skriptflöde, payloadkontroller, paketuppslagning, lagringsrotsval, loggning och exitkoder.

Contributors

PerWiklander

Issues