From 2a2af1e94116d4080d4bcd6c0cd294230ba82900 Mon Sep 17 00:00:00 2001 From: Akamaru Date: Tue, 25 Nov 2025 15:03:43 +0100 Subject: [PATCH] Create Pixoo64.md --- Pixoo64.md | 337 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 337 insertions(+) create mode 100644 Pixoo64.md diff --git a/Pixoo64.md b/Pixoo64.md new file mode 100644 index 0000000..54b329b --- /dev/null +++ b/Pixoo64.md @@ -0,0 +1,337 @@ +# Divoom Pixoo64 Update API Research + +Dokumentation der Recherche für eine potenzielle RSS-Bridge für Pixoo64 Firmware-Updates. + +## Zusammenfassung + +Die offizielle Divoom API für Firmware-Updates ist **nicht öffentlich zugänglich** und benötigt Authentifizierung mit einem registrierten Gerät. Eine RSS-Bridge ohne physisches Gerät ist daher **nicht umsetzbar**. + +--- + +## Gefundene API-Endpoints + +### Base URLs +Aus der dekompilierten APK (`com.divoom.Divoom`) gefunden: + +- `https://appin.divoom-gz.com` - Haupt-API (international) +- `https://app.divoom-gz.com` - Alternative API +- `https://appchina.divoom-gz.com` - China-spezifisch +- `https://appusa.divoom-gz.com` - USA-spezifisch +- `https://apptest.divoom-gz.com` - Test-Umgebung +- `https://f.divoom-gz.com` - File Downloads +- `https://ai.divoom-gz.com` - KI-Features + +### Update-Endpoints + +Aus APK-Analyse (`classes.dex`): + +``` +Device/GetUpdateInfo - Firmware Update-Informationen +Device/GetUpdateFileList - Liste verfügbarer Update-Dateien +Device/GetFileVersion - Aktuelle Firmware-Version des Geräts +Device/NotifyUpdate - Update-Benachrichtigungen +GetNewAppVersion - App-Versions-Updates +GetUpdateFileV3 - Update-Datei Download (Version 3) +``` + +### Request/Response-Klassen (gefunden in DEX) + +```java +// Requests +com.divoom.Divoom.http.request.device.DeviceGetUpdateInfoRequest +com.divoom.Divoom.http.request.device.DeviceGetUpdateFileListRequest +com.divoom.Divoom.http.request.device.DeviceGetFileVersionRequest +com.divoom.Divoom.http.request.update.GetNewAppVersionRequest + +// Responses +com.divoom.Divoom.http.response.device.DeviceGetUpdateInfoResponse +com.divoom.Divoom.http.response.device.DeviceGetUpdateFileListResponse +com.divoom.Divoom.http.response.update.GetNewAppVersionResponse +``` + +--- + +## API-Tests + +### Test 1: GetUpdateInfo (ohne Parameter) +```bash +curl -X POST "https://appin.divoom-gz.com/Device/GetUpdateInfo" \ + -H "Content-Type: application/json" -d '{}' +``` + +**Response:** +```json +{"ReturnCode":11,"ReturnMessage":"Token is not match"} +``` + +### Test 2: GetUpdateInfo (mit DeviceType) +```bash +curl -X POST "https://appin.divoom-gz.com/Device/GetUpdateInfo" \ + -H "Content-Type: application/json" -d '{"DeviceType": 1}' +``` + +**Response:** +```json +{"ReturnCode":1,"ReturnMessage":"no device"} +``` + +### Test 3: GetUpdateFileList +```bash +curl -X GET "https://appin.divoom-gz.com/Device/GetUpdateFileList" +``` + +**Response:** +```json +{"ReturnCode":1,"ReturnMessage":"Failed"} +``` + +### Test 4: GetNewAppVersion +```bash +curl -X POST "https://appin.divoom-gz.com/GetNewAppVersion" \ + -H "Content-Type: application/json" -d '{}' +``` + +**Response:** +```json +{"ReturnCode":3,"ReturnMessage":"Request data is incomplete"} +``` + +--- + +## Authentifizierungs-Anforderungen + +### Aus APK-Analyse identifizierte Parameter: + +**Device-Parameter:** +- `DeviceId` - Eindeutige Geräte-ID +- `DeviceType` - Gerätetyp (Pixoo64, Pixoo16, etc.) +- `DeviceModel` - Modellnummer +- `BluetoothDeviceId` - Bluetooth-Gerät-ID + +**Auth-Parameter:** +- `Token` - Authentifizierungs-Token +- Wird bei `ReturnCode: 11` mit "Token is not match" abgelehnt + +### Error-Codes: +- `ReturnCode: 1` - "Failed" / "no device" +- `ReturnCode: 3` - "Request data is incomplete" +- `ReturnCode: 10` - "Command is not match" +- `ReturnCode: 11` - "Token is not match" + +--- + +## Device-Typen (aus APK) + +```java +DeviceTypeEnum { + PIXOO_64, + PIXOO_16, + PIXOO_MAX, + TIMEBOX_EVO, + // weitere... +} +``` + +--- + +## Externe Ressourcen + +### Reddit-Post +**URL:** https://old.reddit.com/r/Divoom/comments/1i7fe1u/privacy_check/ + +**Gefundene Server-Adressen:** +``` +api.divoom-gz.com +appin.divoom-gz.com +fin.divoom-gz.com +min-api.cryptocompare.com # Crypto-Preise +qt.gtimg.cn # Aktien-Kurse +www.googleapis.com # YouTube/Wetter +``` + +### GitHub-Projekte + +#### 1. Pixoo64-Advanced-Tools +**URL:** https://github.com/tidyhf/Pixoo64-Advanced-Tools + +**Relevante Findings:** +- Python-Tool für lokale Steuerung +- Nutzt `pixoo` und `pixoo1664` Libraries +- Cloud API-Endpoints gefunden: + ```python + DIV_BASE_URL = "https://app.divoom-gz.com" + DIV_FILE_URL = "https://f.divoom-gz.com" + ``` +- Endpoints: + - `/User/UserLogin` - Login + - `/GetCategoryFileListV2` - Gallery + - `/Comment/GetCommentListV3` - Kommentare + - `/Cloud/GetLikeUserList` - Likes + +#### 2. pixoo-homeassistant +**URL:** https://github.com/gickowtf/pixoo-homeassistant + +**Info:** +- Home Assistant Integration +- Lokale IP-basierte Kommunikation +- Keine Firmware-Update-Features + +#### 3. pixoo_api (APK Reverse Engineering) +**URL:** https://github.com/Grayda/pixoo_api/blob/main/NOTES.md + +**Relevante Endpoints aus decompilierter APK:** +- `Device/GetUpdateInfo` +- `Device/GetUpdateFileList` +- `Device/NotifyUpdate` +- `GetNewAppVersion` +- `GetUpdateFileV3` + +**Dokumentation:** +- Base URL: `https://appin.divoom-gz.com/` +- Undokumentierte Remote API +- Verschlüsselung: AES mit Key/IV aus APK + +#### 4. Firmware-Repository +**URL:** https://github.com/amnemonic/Pixoo64 + +**Verfügbare Versionen:** +``` +V90122 - 27 Jul 2022 +V90126 - 21 Aug 2022 +V90127 - 02 Sep 2022 +V90136 - 06 Nov 2022 +V90146 - 28 Nov 2022 +V90149 - 26 Dec 2022 +V90153 - 05 Jan 2023 +V90156 - 05 Jan 2023 +V90165 - 23 Mar 2023 +V90166 - 29 Mar 2023 +V90167 - 03 Apr 2023 +V90180 - 27 Jul 2023 +V90181 - 28 Aug 2023 +V90192 - 25 Apr 2024 +V90205 - 15 Feb 2025 +``` + +**Limitations:** +- Keine offiziellen Releases +- Keine Changelogs +- Nur binäre Firmware-Dateien +- Unvollständige Sammlung (laut README) + +--- + +## APK-Analyse Details + +### Analysierte APK +- **Package:** `com.divoom.Divoom` +- **Pfad:** `/mnt/d/GitHub/Bridges/com_divoom_Divoom/` +- **DEX-Dateien:** 4 (classes.dex, classes2-4.dex) + +### Extraktions-Methoden +```bash +# URLs extrahieren +strings classes*.dex | grep "divoom-gz.com" + +# API-Endpoints finden +strings classes*.dex | grep -E "(Device/|Update/|GetNew)" + +# Request/Response-Klassen +strings classes*.dex | grep "Request\|Response" +``` + +### Weitere gefundene Endpoints (nicht Update-bezogen) +``` +User/UserLogin +Cloud/GetLikeUserList +Comment/GetCommentListV3 +GetCategoryFileListV2 +SocialPlatform/* (OAuth für Twitter, Reddit, TikTok, etc.) +``` + +--- + +## Mögliche zukünftige Ansätze + +### Option 1: GitHub-Repository überwachen +- **Pro:** Öffentlich zugänglich, keine Auth nötig +- **Contra:** + - Keine Changelogs + - Unvollständige Sammlung + - Manuelle Updates durch Community + +**Implementation:** +```php +// GitHub Commits API +$url = "https://api.github.com/repos/amnemonic/Pixoo64/commits"; +// oder Atom Feed: +$url = "https://github.com/amnemonic/Pixoo64/commits/master.atom"; +``` + +### Option 2: APK-Updates überwachen +- APKPure/APKMirror für App-Versionen +- Indirekte Information über neue Features + +### Option 3: Mit physischem Gerät +Wenn Zugriff auf ein Pixoo64: +1. Gerät in App registrieren +2. Token/DeviceId aus App extrahieren +3. API-Calls mit valider Auth + +**Token-Extraktion:** +```bash +# Aus Android App-Daten (Root erforderlich) +adb shell +cd /data/data/com.divoom.Divoom/shared_prefs/ +cat *.xml | grep -i "token\|deviceid" +``` + +### Option 4: Divoom-Website Scraping +- Falls offizielle Changelog-Seite existiert +- Keine API-Auth nötig + +--- + +## Lokale API (Device) + +### Dokumentation +**URL:** http://doc.divoom-gz.com/web/#/12?page_id=196 + +**Info:** +- Lokale HTTP-API auf Pixoo64-Gerät +- Direkter Netzwerk-Zugriff (IP-basiert) +- Keine Firmware-Update-Funktionen +- Nur für Display-Steuerung + +**Kategorien:** +- Dial control +- Channel control +- System settings +- Tool functions +- Animation functions + +--- + +## Fazit + +Eine **RSS-Bridge für Pixoo64 Firmware-Updates ist derzeit nicht realisierbar**, da: + +1. Alle Update-APIs benötigen Device-Authentifizierung +2. Kein öffentlicher Changelog verfügbar +3. GitHub-Repo ist unvollständig und Community-maintained + +**Empfehlung:** Warten auf: +- Offizielle Divoom Changelog-Seite +- Öffentliche API-Dokumentation +- Vollständigeres GitHub-Repository + +--- + +## Kontakt + +**Divoom Support:** +- Website: https://divoom.com +- Developer Email: developer@divoom.com (laut APK) +- Support: https://divoom.com/apps/help-center + +**Recherche durchgeführt:** 2025-01-25 via Claude Code