Toniebox Reverse Engineering (37C3)

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.048
Punkte für Reaktionen
900
Punkte
204
Guten Abend, aktuell findet in Hamburg wieder der jährliche Kongress des Chaos Communication Club (37C3) statt, unter anderem mit einem Vortrag zum Thema Toniebox, einem Musikplayer für Kinder.
Der Vortrag schildert sehr schön
  1. Wie das Innenleben aussieht
  2. Welche Daten an die Firma weitergegeben werdeb
  3. Wie man selbst einen Tonie programmiert, der komplett ohne die eigentlich notwendige Verbindung zur Cloud des Herstellers auskommt
Fand ich gut gemacht, dürfte zumindest für die von euch mit Kindern interessant sein. ✌️
 
Zuletzt bearbeitet:

Jagnix

Benutzer
Sehr erfahren
Mitglied seit
10. Okt 2018
Beiträge
1.145
Punkte für Reaktionen
283
Punkte
109
Schade nur 90min Aufnahmekapazität. Also keine Lösung für Hörbücher :)
 

Wiesel6

Benutzer
Mitglied seit
22. Aug 2016
Beiträge
272
Punkte für Reaktionen
75
Punkte
28
Ich habe gestern mal versucht die teddycloud in docker zu installieren.
Bei mir bleibt es beim Erstellen des Zertifitkats. Hat es bei dir geklappt @Tuxnet

Code:
ERROR|cert.c:0399:cert_generate_default| cert_generate_signed failed
ERROR|cert.c:0221:cert_generate_signed| fsOpenFile failed
src/cyclone/cyclone_crypto/mpi.c:792:48: runtime error: left shift of 179 by 24 places cannot be represented in type 'int'
cyclone/cyclone_crypto/cipher/aes.c:390:34: runtime error: left shift of 151 by 24 places cannot be represented in type 'int'
cyclone/cyclone_crypto/cipher/aes.c:385:34: runtime error: left shift of 232 by 24 places cannot be represented in type 'int'
cyclone/cyclone_crypto/cipher/aes.c:400:34: runtime error: left shift of 156 by 24 places cannot be represented in type 'int'
cyclone/cyclone_crypto/cipher/aes.c:395:34: runtime error: left shift of 220 by 24 places cannot be represented in type 'int'
cyclone/cyclone_crypto/cipher/aes.c:268:55: runtime error: left shift of 147 by 24 places cannot be represented in type 'int'
cyclone/cyclone_crypto/cipher/aes.c:260:47: runtime error: left shift of 223 by 24 places cannot be represented in type 'int'
INFO |cert.c:0042:cert_generate_rsa| Generating RSA Key... (slow!)
INFO |cert.c:0396:cert_generate_default| Generating CA certificate...
INFO |settings.c:1231:settings_load_certs_id| ********************************************
INFO |settings.c:1230:settings_load_certs_id|    This will take some time...
INFO |settings.c:1229:settings_load_certs_id|    No certificates found. Generating.
INFO |settings.c:1228:settings_load_certs_id| ********************************************
ERROR|tls_adapter.c:0375:load_cert| Loading cert 'certs/server/ca-root.pem' failed
ERROR|tls_adapter.c:0193:read_certificate| Failed to open 'certs/server/ca-root.pem' for cert type detection
INFO |settings.c:0623:settings_load_ovl| Load settings from config/config.ini
INFO |settings.c:0623:settings_load_ovl| Load settings from config/config.overlay.ini
TeddyCloud v0.3.3 (47e9bd1) - 2023-12-13 15:57:27 +0000 linux-x86_64
INFO |cert.c:0042:cert_generate_rsa| Generating RSA Key... (slow!)
INFO |cert.c:0396:cert_generate_default| Generating CA certificate...
INFO |settings.c:1231:settings_load_certs_id| ********************************************
INFO |settings.c:1230:settings_load_certs_id|    This will take some time...
INFO |settings.c:1229:settings_load_certs_id|    No certificates found. Generating.
INFO |settings.c:1228:settings_load_certs_id| ********************************************
ERROR|tls_adapter.c:0375:load_cert| Loading cert 'certs/server/ca-root.pem' failed
ERROR|tls_adapter.c:0193:read_certificate| Failed to open 'certs/server/ca-root.pem' for cert type detection
INFO |tls_adapter.c:0387:tls_adapter_init| Loading certificates...
INFO |settings.c:0623:settings_load_ovl| Load settings from config/config.overlay.ini
INFO |settings.c:1235:settings_load_certs_id| ********************************************
INFO |settings.c:1234:settings_load_certs_id|    FINISHED
INFO |settings.c:1233:settings_load_certs_id| ********************************************
ERROR|cert.c:0399:cert_generate_default| cert_generate_signed failed
ERROR|cert.c:0221:cert_generate_signed| fsOpenFile failed
src/cyclone/cyclone_crypto/mpi.c:792:48: runtime error: left shift of 133 by 24 places cannot be represented in type 'int'
cyclone/cyclone_crypto/cipher/aes.c:395:34: runtime error: left shift of 203 by 24 places cannot be represented in type 'int'
cyclone/cyclone_crypto/cipher/aes.c:400:34: runtime error: left shift of 194 by 24 places cannot be represented in type 'int'
cyclone/cyclone_crypto/cipher/aes.c:390:34: runtime error: left shift of 223 by 24 places cannot be represented in type 'int'
cyclone/cyclone_crypto/cipher/aes.c:385:34: runtime error: left shift of 223 by 24 places cannot be represented in type 'int'
cyclone/cyclone_crypto/cipher/aes.c:268:55: runtime error: left shift of 238 by 24 places cannot be represented in type 'int'
cyclone/cyclone_crypto/cipher/aes.c:260:47: runtime error: left shift of 210 by 24 places cannot be represented in type 'int'
 

Gambrius

Benutzer
Mitglied seit
06. Jan 2024
Beiträge
1
Punkte für Reaktionen
3
Punkte
53
Schade nur 90min Aufnahmekapazität. Also keine Lösung für Hörbücher :)
Hallo,
Ist bei uns im Talk auf Grund der knappen Zeit und bei den vielen Themen evtl. etwas unter gegangen.
Das 90 Minuten Limit ist von der Fa. Tonies künstlich gesetzt und gilt nur für die offiziellen Kreativtonies.
Wenn man eigene Inhalte auf die Box bringt (u.a. unterstützt durch unsere Software TeddyBench), können bis zu 99 Tracks und 12 Stunden Audio in einem „Hörspiel“ untergebracht werden.

Gruß,
Gambrius
 

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
586
Punkte für Reaktionen
68
Punkte
48
Guten Morgen,
Ich komme erst nächste Woche zum Testen.
 

TheGame86

Benutzer
Mitglied seit
26. Jan 2024
Beiträge
2
Punkte für Reaktionen
0
Punkte
1
Gibt es eine Anleitung, um das ganze mal KOMPLETT zu betrachten?
Bedeutet:
Was genau ist auf Synology Docker (Container Manager) zu tun und wie zu konfigurieren und was muss ich bei meiner frischen, neuen T-Box machen, um meine private Synology Cloud anzusprechen?
 

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.048
Punkte für Reaktionen
900
Punkte
204
Nein, gibt es nicht. Anders gesagt geht es auch nicht darum, das ganze mit einer Disk Station umzusetzen, deswegen habe ich den Faden ja auch unter Off-Topic eröffnet. Einfach, weil hier viele technikaffine unterwegs sind, die sowas vielleicht mal nebenbei auf einem ihrer vielen anderen Geräte umsetzen wollen.
 

TheGame86

Benutzer
Mitglied seit
26. Jan 2024
Beiträge
2
Punkte für Reaktionen
0
Punkte
1
Alles klar, dank für die Rückmeldung!

Also mir würde es genau darum gehen… auf meinem NAS unter Docker einen Server aufsetzen und die Inhalte dort ablegen (alte Kassetten, digitale Inhalte etc… ) um dann einen benutzerdefinierten NfC/RFID Chip an ein Kuscheltier zu binden, um diesen über eine modifizierte Tonybox (custom Firmware?, Datenschutzmodus an, keine Kommunikation mit dem Internet) dann abspielen zu lassen.
Daher die Frage… also unabhängig von deinem Thema, falls daran auch jmd Interesse hat, ich würde mich freuen…

Möchte aber dein Topic hier auch nicht dafür verwenden… zurück zu deinem Thema.
 

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.048
Punkte für Reaktionen
900
Punkte
204
Nein, alles gut, das kann ruhig hier diskutiert werden. War mir nur wichtig klarzumachen, dass ich das Thema nicht eröffnet habe, weil es per se eine Schnittstelle zu Synology und den Disk Stations hat. 😊
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.603
Punkte für Reaktionen
758
Punkte
154
Das passt ja schon irgendwie zum Thema. Nur, dass es nicht explizit um eine NAS geht....
Ich bezweifle, dass hier direkt jemand eine Anleitung hat. Wie sind denn deine Kenntnisse in dem Bereich? Wie ich es gesehen habe, gibt es ja schon Anleitungen wie man das installiert. Man muss aber halt sehr viel für sich selber herleiten und auch sich eigene NFC Sticker oder ähnliches erstellen. Ich persönlich habe dafür auch keinen Einsatzzweck und habe mich daher nicht weiter mit befasst. Vor kurzem wusste ich nicht mal was diese Toonies sind :D
 

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.048
Punkte für Reaktionen
900
Punkte
204
Tatsächlich habe ich das Thema nur eröffnet, weil mir zwangsweise Tonies ein Begriff sind, ich mindestens einmal im Dunkeln schon auf einen draufgetreten bin und mir vorstellen kann, dass noch andere hier sich damit beschäftigen und diese Anleitung vielleicht umsetzen können. Und von den Vorträgen, die vergangenes Jahr gehalten wurden, war es einer der mich am besten unterhalten hat. War ja auch mal ganz nett, diese Box von innen zu sehen.

Wenn jemand eine Anleitung hat und sich das Ganze sogar noch sinnvoll mit dem Thema Synology verbinden lässt, umso besser. ☺️
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.603
Punkte für Reaktionen
758
Punkte
154
Ich finde das Projekt sehr spannend und würde mir für mich ein Anwendungsfall einfallen, dann würde ich das probieren auch umzusetzen. Und ob es auf einer Synology eingerichtet wurde oder nicht, ist ja eigentlich egal. Wenn es eine Docker Anwendung ist, dann gibt es da keinen Unterschied bei der Einrichtung.
Nur wird man bei so einem Projekt nicht um viel Eigenleistung herum kommen im Moment würde ich mal sagen :)
 

Wiesel6

Benutzer
Mitglied seit
22. Aug 2016
Beiträge
272
Punkte für Reaktionen
75
Punkte
28
Ich bin dabei es auszuprobieren, aber zeitlich komme ich aktuell nicht so dazu. Wenn am Wochenende noch etwas dazu komme probiere ich es weiter.
Bei einer Sache bin ich mir unsicher. Da stehe ich immer auf dem Schlauch. Den 443 Port darf man laut Homepage nicht umschreiben.

Quelle: 1.2 https://tonies-wiki.revvox.de/docs/tools/teddycloud/
An example docker-compose.yaml can be found within the docker subdir. Please beware that port 443 cannot be remapped.
Ich lese es so, dass in der Docker Einstellung das nicht geht 8443:443
Also brauch ich ne eigene IP für die Docker Instanz. Mit welchem Netzwerk geht das? Host, Bridge, …
 

Wiesel6

Benutzer
Mitglied seit
22. Aug 2016
Beiträge
272
Punkte für Reaktionen
75
Punkte
28
Auf meinem neuen m720q habe ich das dockerimage getestet. Und was soll ich sagen. Es läuft, jedoch habe ich mich noch nicht weiter damit beschäftigt.
Entweder ich bin zu blöd und finde nicht den Unterschied zwischen den beiden selbst erstellten stacks oder es gibt einen anderen Grund.
Ich hatte mal was mit veraltetem Kernel auf der DS gelesen. Könnte es daran liegen? Ich selbst weiß nicht wie ich das prüfen kann.
 

Schatz

Benutzer
Mitglied seit
12. Jun 2011
Beiträge
23
Punkte für Reaktionen
0
Punkte
7
Guten Abend, ich klinke mich auch mal ein. Soweit ich das verstehe, muss man das nicht als Docker Image laufen lassen, sondern könnte das auch als ganz normalen Service laufen lassen. Mir scheint es auch, als wäre sogar Windows möglich, es ist eine Teddycloud.exe dabei. Anscheinend geht es nicht auf ARM/Raspberry PI, zumindest bei mir nicht. Hat da jemand Erfahrungen? Ich bin nicht der Docker Fan und werde die nächsten Tagen weiter dran rumspielen.

Entweder ich bin zu blöd und finde nicht den Unterschied zwischen den beiden selbst erstellten stacks oder es gibt einen anderen Grund.
was meinst du damit konkret?

Ich lese das auch so, dass der Port nicht geändert werden kann.
Lass mich deine Erfahrungen gerne wissen, die Doku ist schon mehr was für Pros ... :D
Grüße
 

Wiesel6

Benutzer
Mitglied seit
22. Aug 2016
Beiträge
272
Punkte für Reaktionen
75
Punkte
28
was meinst du damit konkret?
Ich muss mich korrigieren. Auf der DS220+ läuft es doch. Ich kann nicht sagen wieso genau. Vermutung, ich habe den falschen Port getestet.

Meine Docker compose sieht so aus
Code:
version: '3'
services:
  teddycloud:
    container_name: teddycloud
    hostname: teddycloud
    image: ghcr.io/toniebox-reverse-engineering/teddycloud:latest
    ports:
      - 680:80 #optional
      - 6443:443 #Port is needed for the connection for the box
    volumes:
      - /volume1/docker/teddycloud/certs:/teddycloud/certs
      - /volume1/docker/teddycloud/config:/teddycloud/config
      - /volume1/docker/teddycloud/content:/teddycloud/data/content
      - /volume1/docker/teddycloud/library:/teddycloud/data/library
      - /volume1/docker/teddycloud/firmware:/teddycloud/data/firmware
    restart: unless-stopped

Zum Thema Portänderung. Der Container Port ist fest programmiert, jedoch lässt sich der Host Port ändern. Ich stellte mir die Frage, weil teddycloud einfach nicht laufen wollte...

Das "TeddyCloud administration interface" ist mit der obigen Einstellung über IPderDS:6443 erreichbar.
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat