1
0
Files
Schnipsel/Pixoo64.md
2025-11-25 15:03:43 +01:00

8.0 KiB

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)

// 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)

curl -X POST "https://appin.divoom-gz.com/Device/GetUpdateInfo" \
  -H "Content-Type: application/json" -d '{}'

Response:

{"ReturnCode":11,"ReturnMessage":"Token is not match"}

Test 2: GetUpdateInfo (mit DeviceType)

curl -X POST "https://appin.divoom-gz.com/Device/GetUpdateInfo" \
  -H "Content-Type: application/json" -d '{"DeviceType": 1}'

Response:

{"ReturnCode":1,"ReturnMessage":"no device"}

Test 3: GetUpdateFileList

curl -X GET "https://appin.divoom-gz.com/Device/GetUpdateFileList"

Response:

{"ReturnCode":1,"ReturnMessage":"Failed"}

Test 4: GetNewAppVersion

curl -X POST "https://appin.divoom-gz.com/GetNewAppVersion" \
  -H "Content-Type: application/json" -d '{}'

Response:

{"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)

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:
    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

# 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:

// 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:

# 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:

Recherche durchgeführt: 2025-01-25 via Claude Code