Skip to content

Commit 3a10a1b

Browse files
authored
Merge pull request #41 from henryk86/master
Adapt to current version
2 parents 7932423 + b0a50a2 commit 3a10a1b

35 files changed

+81
-65
lines changed

content/docs/tools/teddyBench/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "teddyBench"
3-
description: "Start and read!"
3+
description: "Start and read to setup teddyBench!"
44
---
55
# teddyBench
66
With this tool you can dump existing files of the famous audio box or create custom ones.
Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
---
22
title: "teddyCloud"
3+
description: "teddyCloud is an open source replacement server for the tonies cloud."
34
bookCollapseSection: true
45
headless: true
5-
---
6+
---
7+
8+
## Features
9+
teddyCloud is an alternative server for your Toniebox, allowing you to host the cloud services locally.
10+
This gives you the control about which data is sent to the original manufacturer's cloud and allows you
11+
to host your own figurine audio files on e.g. your [NAS or any other server](supported-server-hardware). It provides an easy to use WebGui.
12+
13+
![teddyCloud Webinterface](/img/teddyCloudWebinterface.png)
14+
15+
You can also use teddyCloud on the command line to manipulate esp32 firmware dumps or encode Tonie Audio Files (TAFs). See ```toniecloud --help```.

content/docs/tools/teddyCloud/setup/_index.md

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,12 @@
11
---
22
title: "Setup"
3-
description: "teddyCloud is an open source replacement server for the tonies cloud."
3+
description: "Start and read to setup teddyCloud!"
44
bookCollapseSection: true
55
headless: true
66
---
77
# teddyCloud Setup
88

9-
## Features
10-
teddyCloud is an alternative server for your Toniebox, allowing you to host the cloud services locally.
11-
This gives you the control about which data is sent to the original manufacturer's cloud and allows you
12-
to host your own figurine audio files on e.g. your [NAS or any other server](supported-server-hardware).
13-
You can also use teddyCloud on the command line to manipulate esp32 firmware dumps or encode Tonie Audio Files (TAFs). See ```toniecloud --help```.
9+
Minimal teddyCloud version for this docu is release v0.6.0! Please ensure you are using that or a newer release.
1410

1511
## Docker hints
1612
The docker container automatically generates the server certificates on first run. You can extract the ```certs/server/ca.der``` for your box after that.
@@ -32,18 +28,15 @@ If you have problems with teddyCloud or just want to be sure everything works as
3228

3329
## Additional
3430

35-
### Content
36-
Please put your content into the ```/data/content/default/``` in the same structure as on your toniebox. You can edit ```500304E0.json``` file beside the content files to mark them as live or you can prevent the usage of the Boxine cloud for that tag with the nocloud parameter. By setting a source teddyCloud can stream any content that ffmpeg can decode (urls and files). Please check that the file and folders in upper case. If not rename them, otherwise teddyCloud won't serve them to the box!
37-
38-
### Webinterface
39-
Currently the teddyCloud webinterface is reachable through the IP of the docker container at port 80 (depending on your ```docker-compose.yaml```). The 443 port is usally exclusive for the toniebox connection. Changes affecting the toniebox (volume, LED) which are made through this interface will only be reflected onto the toniebox after pressing the big ear for a few seconds until a beep occurs (freshnessCheck).
31+
### WebGui
32+
Currently the teddyCloud webinterface is reachable through the IP of the docker container at port 80 (depending on your ```docker-compose.yaml```). To reach the Webinterface with https the port 8443 (depending on your ```docker-compose.yaml```) is used (for example if you want to flash your box). The default https port 443 is usally exclusive for the toniebox connection.
4033

4134
![teddyCloud Webinterface](/img/teddyCloudWebinterface.png)
4235

36+
Changes affecting the toniebox (volume, LED) which are made through this interface will only be reflected onto the toniebox after pressing the big ear for a few seconds until a beep occurs (freshnessCheck).
4337

44-
As an additional frontend is still being developed, you can reach a second frontend at ```xxx.xxx.xxx/web```. Changes made here are instantly live on the box.
45-
46-
38+
### Content (Legacy)
39+
Please put your content into the ```/data/content/default/``` in the same structure as on your toniebox. You can edit ```500304E0.json``` file beside the content files to mark them as live or you can prevent the usage of the Boxine cloud for that tag with the nocloud parameter. By setting a source teddyCloud can stream any content that ffmpeg can decode (urls and files). Please check that the file and folders in upper case. If not rename them, otherwise teddyCloud won't serve them to the box!
4740

4841
## Links
4942
* [GitHub](https://github.com/toniebox-reverse-engineering/teddycloud)

content/docs/tools/teddyCloud/setup/dns/cc3200.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ With a CC3200 box it is recommened to a altUrl patch. As a standard the fritzbox
1010
If you have a fritzbox you can use the [altUrl.tc.fritz.box](https://github.com/toniebox-reverse-engineering/hackiebox_cfw_ng/blob/master/sd-bootloader-ng/bootmanager/sd/revvox/boot/patch/altUrl.tc.fritz.box.json) patch. You'll just have to set the name of your server in your fritzbox to ```tc``` (Heimnetz -> Netzwerk -> Netzwerkverbindungen -> bearbeiten).
1111

1212
## Other (custom dns)
13-
The [altUrl.305](https://github.com/toniebox-reverse-engineering/hackiebox_cfw_ng/blob/master/sd-bootloader-ng/bootmanager/sd/revvox/boot/patch/altUrl.305.json) patch replaces the cloud urls with custom ones. Set the DNS entries for ```prod.revvox``` and ```rtnl.revvox``` to the TeddyCloud servers ip-address.
13+
The [altUrl.305](https://github.com/toniebox-reverse-engineering/hackiebox_cfw_ng/blob/master/sd-bootloader-ng/bootmanager/sd/revvox/boot/patch/altUrl.305.json) patch replaces the cloud urls with custom ones. Set the DNS entries for ```prod.revvox``` and ```rtnl.revvox``` to the teddyCloud servers ip-address.
1414
You may also edit the patch yourself to set the ip-address directly. Please beware, it should not be longer than the original url, which is 12 characters.
1515

1616
[Please continue with on the teddyCloud tool page from the beginning](../../#additional)

content/docs/tools/teddyCloud/setup/dns/cc3235.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: ""
44
---
55

66
# CC3235
7-
Set the DNS entries for ```prod.de.tbs.toys``` and ```rtnl.bxcl.de``` to the TeddyCloud servers ip-address. Beware, this will cut off the connection of all tonieboxes within your network, which arn't patched with your replacement CA!
7+
Set the DNS entries for ```prod.de.tbs.toys``` and ```rtnl.bxcl.de``` to the teddyCloud servers ip-address. Beware, this will cut off the connection of all tonieboxes within your network, which arn't patched with your replacement CA!
88
As an alternative you can set the gateway for the tonieboxes to the ip of teddyCloud. With OpenWRT it works this way:
99
```
1010
uci set dhcp.teddycloud="tag"

content/docs/tools/teddyCloud/setup/dump-certs/esp32.md

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,18 @@ If connected with the Boot jumper, the box just start in "DOWNLOAD (USB/UART0)"
1212

1313
## Browser based
1414
You can use the build in ESP32 box flashing tool in the webinterface of teddyCloud to backup your box with "Read ESP32".
15-
After that you can manually extract them into the ```/certs/client/``` directory. You can either do that with the teddycloud executable on your computer or you may do it via the docker shell `docker exec -it <container-name> bash`.
15+
16+
![Initial Screen ESP32 flash](/img/esp32_newgui_flashing_00_initial.png)
17+
18+
Click on [Read Flash]
19+
20+
![Read flash](/img/esp32_newgui_flashing_01_readflash.png)
21+
22+
If the flash is read sucessfully, you can download the unpatched firmware.
23+
24+
![Flash successfully read](/img/esp32_newgui_flashing_02_patchflash.png)
25+
26+
After that you can manually extract the certificates into the ```/certs/client/``` directory. You can either do that with the teddycloud executable on your computer or you may do it via the docker shell `docker exec -it <container-name> bash`.
1627
```
1728
# Please check the filename of your backup
1829
# Be sure you are in the teddycloud directory
@@ -28,11 +39,7 @@ mv certs/client/CA.DER certs/client/ca.der
2839

2940
Be sure, that the dump is okay and you are able to extract the certificates.
3041

31-
![Read flash](/img/esp32_read_flash_webui.png)
32-
33-
![Finished reading the flash/hostname](/img/esp32_read_flash_finished_webui.png)
34-
35-
42+
[Please continue with flash CA step for the ESP32](../../flash-ca/esp32)
3643

3744
## Legacy
3845
```

content/docs/tools/teddyCloud/setup/flash-ca/esp32.md

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,24 @@ If you have a Fritzbox you can set it to tc.fritz.box (see CC3200 how to configu
1010

1111
Check, that your backup of your flash is okay and you were able to extract the certificates.
1212

13-
![Finished reading the flash/hostname](/img/esp32_read_flash_finished_webui.png)
13+
If you successfully read or load the flash of your Toniebox, the patching step is shown. Enter the hostname/ip of your teddyCloud instance. You can now also enter the WiFi credentials. To proceed click [Patch].
14+
15+
![Patching the flash/hostname/wifi](/img/esp32_newgui_flashing_02_patchflash.png)
16+
17+
After the flash is patched, you can proceed with the actuall flashing. Till this step nothing happens to your Toniebox.
18+
19+
![Flash you Toniebox](/img/esp32_newgui_flashing_03_initialflash.png)
20+
21+
To flash the patched firmware on your Toniebox, disconnect your Toniebox first from your powersource, click [Flash ESP32], confirm the dialog and immediatly connect to powersource again.
22+
23+
![Confirm flashing](/img/esp32_newgui_flashing_04_confirmflash.png)
24+
25+
![Flashing in progress](/img/esp32_newgui_flashing_05_flashing.png)
26+
27+
If the flashing was successful, you can download the unpatched and patched Firmware for your backup.
28+
29+
![Flashing done](/img/esp32_newgui_flashing_06_flashingdone.png)
1430

15-
![Patchimage](/img/esp32_patch_image_webui.png)
1631

1732
## Legacy
1833
Replace the original CA within your flash dump with esptool.
@@ -33,4 +48,6 @@ esptool.py -b 921600 write_flash 0x0 tb.esp32.fakeca.bin
3348
![Flash ESP32 Image](/img/esp32_write_patched_image_with_esptools.png)
3449

3550

36-
[Please continue with DNS step for the ESP32](../../dns/esp32)
51+
Reassamble your Toniebox again. If you already set the teddyCloud hostname, you can skip the [DNS step for the ESP32](../../dns/esp32), if not [continue with DNS step for the ESP32](../../dns/esp32).
52+
53+
Your Toniebox should now be able to connect to your teddyCloud. Do a freshnesscheck and check if the box appears in the Toniebox management.

content/docs/tools/teddyCloud/setup/supported-server-hardware.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ bookCollapseSection: true
66
# Supported NAS/Server hardware
77

88
Teddycloud is supported on nearly all servers utilizing the x86_64, arm64, and armhf (linux/arm/v7) architectures, as Docker containers are available for these platforms.
9-
Below is a compilation of NAS/server hardware that has been successfully utilized to host TeddyCloud:
9+
Below is a compilation of NAS/server hardware that has been successfully utilized to host teddyCloud:
1010

1111
| NAS / Server hardware | Limitations |
1212
|---------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
@@ -22,11 +22,11 @@ Consider using Alpine container instead of Ubuntu / Debian container if your ser
2222

2323
If you're utilizing alternative NAS/server hardware configurations, your contribution is welcome. Feel free to share your experience and insights with the community.
2424

25-
## Tested Hardware, but not supporting TeddyCloud
25+
## Tested Hardware, but not supporting teddyCloud
2626

2727

2828
| NAS / Server hardware | Comment/Discussion/Links |
2929
|-----------------------|--------------------------|
3030
| ... | |
3131

32-
If you've attempted to deploy TeddyCloud on specialized hardware without success, we encourage you to share your experience for community contribution. Conversely, if you've successfully implemented TeddyCloud on any of the mentioned hardware platforms, we invite you to document your process on our forum. Additionally, you're welcome to transition your system to one of the officially supported configurations.
32+
If you've attempted to deploy teddyCloud on specialized hardware without success, we encourage you to share your experience for community contribution. Conversely, if you've successfully implemented teddyCloud on any of the mentioned hardware platforms, we invite you to document your process on our forum. Additionally, you're welcome to transition your system to one of the officially supported configurations.

content/docs/tools/teddyCloud/tecdoc/playlist-tap-json.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ bookCollapseSection: true
55
---
66
# Playlist Feature (TAP files)
77

8-
TeddyCloud supports basic playlist handling. A playlist file (TAP) can be linked to multiple sources, as long as it is supported by ffmpeg.
8+
teddyCloud supports basic playlist handling. A playlist file (TAP) can be linked to multiple sources, as long as it is supported by ffmpeg. Please be aware: If you are adding TAF files, the chapters of them will get lost in the TAP!
99

1010
TAP files can be placed into library folder. The Tonies (from content folder) can then get assigned to any TAP file, just like it would be a normal TAF.
1111

content/docs/tools/teddyCloud/tecdoc/tonies-custom-json.md

Lines changed: 16 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4,44 +4,31 @@ description: "Info about the tonies-custom-json file"
44
bookCollapseSection: true
55
---
66
# tonies.custom.json
7-
TeddyCloud uses the tonies-custom-json file to read the metadata of custom tags in the same manner it's done for the official boxine tonies in the tonies-json file. The structure is the same, but it's not overwritten as the tonies-json file through regularly updates. So you can use the tonies-custom-json to save metadata of your own custom tags.
7+
teddyCloud uses the tonies-custom-json file to read the metadata of custom tags in the same manner it's done for the official boxine tonies in the tonies-json file. The structure is the same, but it's not overwritten as the tonies-json file through regularly updates. So you can use the tonies-custom-json to save metadata of your own custom tags.
88

99
Initially the tonies-custom-json file looks like the following:
1010

1111
```
1212
[]
1313
```
1414

15-
In the gui, a custom tag looks initially like:
15+
In the GUI, a custom tag looks initially like:
1616

17-
_old gui_
18-
19-
![Old GUI](/img/tonies-custom-json_empty_oldgui.png)
20-
21-
22-
_new /web gui_
23-
24-
![New GUI](/img/tonies-custom-json_empty_newgui.png)
17+
![GUI](/img/tonies-custom-json_empty.png)
2518

2619
Enriched with metadata for the above shown custom tag the tonies-custom-json file looks like this (more details see below in section [Specification](#specification)):
2720

2821
```json
2922
[{"no": "0", "model": "123456", "audio_id": ["369519776"], "hash": ["af9e61a9c1b12138fb060908d595742334b04515"], "title": "Custom Tonie Example Title", "series": "Custom Tonies", "episodes": "This is my custom tonie", "tracks": ["Title 1", "Title 2", "Title 3", "Title 4", "Title 5", "Title 6", "Title 7", "Title 8", "Title 9", "Title 10"], "release": "0", "language": "de-de", "category": "custom", "pic": "https://upload.wikimedia.org/wikipedia/en/6/6b/Hello_Web_Series_%28Wordmark%29_Logo.png"}]
3023
```
3124

32-
This results after restart of TeddyCloud in the following changed appearance in the GUIs:
25+
This results after restart of teddyCloud in the following changed appearance in the GUI:
3326

34-
_old gui_
3527

36-
![Old GUI](/img/tonies-custom-json_filled_oldgui.png)
28+
![Tonie Cards](/img/tonies-custom-json_filled1.png)
3729

3830

39-
_new /web gui_
40-
41-
![New GUI Tonie Cards](/img/tonies-custom-json_filled1_newgui.png)
42-
43-
44-
![New GUI with track display](/img/tonies-custom-json_filled2_newgui.png)
31+
![with track display](/img/tonies-custom-json_filled2.png)
4532

4633

4734
## Specification
@@ -54,17 +41,20 @@ Each element consists of a JSON object with the following keys:
5441
| Option | Example value | Description |
5542
|----------------|---------------------------------------------------------------------------------------------|-------------|
5643
| no | `"0"` | Number of custom tag |
57-
| model | `""` | A model number of the custom tag, can be left empty |
58-
| audio_id | `["369519776"]` | Enter the custom audio ID of the custom tag. Can be found in the old GUI as shown below |
59-
| hash | `["af9e61a9c1b12138fb060908d595742334b04515"]` | Enter the hash of the custom tag. Can be found in the old GUI as shown below |
44+
| model | `"123456"` | A model number of the custom tag |
45+
| audio_id | `["369519776"]` | Enter the custom audio ID of the custom tag. Can be found in GUI as shown below |
46+
| hash | `["af9e6..b04515"]` | Enter the hash of the custom tag. Can be found in the GUI as shown below |
6047
| title | `"Custom Tonie Example Title"` | Enter the title of the custom tag, it's currently not displayed, use the series and episode tag to give your custom tag a title which is shown in the GUI |
6148
| series | `"Custom Tonie"` | Enter the Series of the custom tag, will be shown in the GUI |
6249
| episodes | `"This is my custom tonie"` | Enter the Episode of the custom tag, will be shown in the GUI |
63-
| tracks | `["Title 1", "Title 2"]` | Enter the tracks of the custom tag, will be shown in the new GUI only |
50+
| tracks | `["Title 1", "Title 2"]` | Enter the tracks of the custom tag, will be shown in the GUI |
6451
| release | `"0"` | currently unused |
65-
| language | `"de-de"` | language code, currently unused |
52+
| language | `"de-de"` | language code, will be shown in the gui if it's another language than the dominant one |
6653
| category | `"custom"` | category of the custom tag, currently unused |
67-
| pic | `"https://upload.wikimedia.org/wikipedia/en/6/6b/Hello_Web_Series_%28Wordmark%29_Logo.png"` | url of the picture which shall be shown as custom tag image in the GUI |
54+
| pic | `"https://.../Logo.png"` | url of the picture which shall be shown as custom tag image in the GUI |
55+
56+
### How to get the Audio ID and the Hash value of a TAF
6857

58+
Navigate to the taf file in the library (or content if library is not enabled) and double click on the row. A modal will be shown which contains the information:
6959

70-
![Getting the Audio ID and Hash value](/img/tonies-custom-json_sources_audioId_Hash_oldgui.png)
60+
![Getting the Audio ID and Hash value](/img/tonies-custom-json_getaudioid_hash.png)

0 commit comments

Comments
 (0)