Hector Martin on Nostr: Say what you want about Telegram, but it has one of the best data export/backup ...
Say what you want about Telegram, but it has one of the best data export/backup features I've ever seen.
Fully client-driven, with real-time progress display (and even the ability to manually skip large file downloads on-the-fly).
The output is a bunch of plain HTML pages with just 200 lines of pure JS (no frameworks) for some minor interactivity features, that loads instantly and looks roughly like the Telegram client itself, easy to browse and search.
The JSON is one big blob with all the same data in a trivial format. The text encoding is interesting: Telegram supports rich text, but instead of in-line HTML-style markup, in the JSON it's encoded as JSON objects representing the different spans of text with different format. Very clean.
Published at
2024-08-26 08:33:57Event JSON
{
"id": "279f3eed0ece225adde62632ae657839410f67486f37a668db483bc4a104c985",
"pubkey": "058a6d106c5e6719008ce4db3f64c846caf49925227a39533d12a846fbab21ee",
"created_at": 1724661237,
"kind": 1,
"tags": [
[
"imeta",
"url https://cache.treehouse.systems/media_attachments/files/113/027/359/054/213/816/original/32984911e6073d9e.png",
"m image/png"
],
[
"proxy",
"https://social.treehouse.systems/@marcan/113027398881744258",
"web"
],
[
"imeta",
"url https://cache.treehouse.systems/media_attachments/files/113/027/393/114/175/783/original/069c0737571b021b.png",
"m image/png"
],
[
"proxy",
"https://social.treehouse.systems/users/marcan/statuses/113027398881744258",
"activitypub"
],
[
"L",
"pink.momostr"
],
[
"l",
"pink.momostr.activitypub:https://social.treehouse.systems/users/marcan/statuses/113027398881744258",
"pink.momostr"
],
[
"-"
]
],
"content": "Say what you want about Telegram, but it has one of the best data export/backup features I've ever seen.\n\nFully client-driven, with real-time progress display (and even the ability to manually skip large file downloads on-the-fly).\n\nThe output is a bunch of plain HTML pages with just 200 lines of pure JS (no frameworks) for some minor interactivity features, that loads instantly and looks roughly like the Telegram client itself, easy to browse and search.\n\nThe JSON is one big blob with all the same data in a trivial format. The text encoding is interesting: Telegram supports rich text, but instead of in-line HTML-style markup, in the JSON it's encoded as JSON objects representing the different spans of text with different format. Very clean.\nhttps://cache.treehouse.systems/media_attachments/files/113/027/359/054/213/816/original/32984911e6073d9e.png\nhttps://cache.treehouse.systems/media_attachments/files/113/027/393/114/175/783/original/069c0737571b021b.png\n",
"sig": "6a3aa0877d544423b9893416c4c4863da72dece813e42345e36c30395ea3eebdd206a5391dd4067a4463aca07c131987c4ec63de8e94517ebc82cfd52f07e58b"
}