SHiNE-server/TODO/medium/2026-05-26_0029_esp32s3_file_storage.md
2026-06-28 09:30:59 +04:00

3.0 KiB
Raw Permalink Blame History

ESP32S3 как личное файловое хранилище SHiNE

Горизонт

Среднесрочный: ближайшие недели или 1-2 месяца.

Зачем нужна фича

Нужно проработать маленький физический сервер на ESP32S3 как персональное или доверенное файловое хранилище SHiNE.

Идея: при обмене сообщениями пользователи смогут использовать такой сервер для хранения своих файлов, вложений, файлов общих переписок и связанных данных.

Что нужно сделать

  • Описать роль ESP32S3-сервера в общей архитектуре ключей и сессий.
  • Определить, какие ключи может хранить такое устройство.
  • Решить, хранит ли устройство только файлы или также подписывает пользовательские операции.
  • Описать протокол загрузки, скачивания и удаления файлов.
  • Определить правила шифрования файлов до отправки на устройство.
  • Продумать индексацию файлов для личных и общих переписок.
  • Решить, как устройство авторизуется на основном сервере SHiNE.

Вопросы перед реализацией

  • ESP32S3 должен работать как полностью локальное устройство или как публично доступный мини-сервер?
  • Нужен ли внешний relay, если устройство находится за NAT?
  • Какие ограничения по размеру файла считаем допустимыми?
  • Хранит ли устройство метаданные переписок или только зашифрованные blob-файлы?
  • Как восстанавливать доступ, если устройство потеряно или заменено?

Что уже сделано

Код не реализован. Идея зафиксирована как будущая задача после описания модели ключей.

Документы, которые нужно обновить при возврате

  • Dev_Docs/Keys/README.md
  • Dev_Docs/Personal_Messages/README.md
  • Dev_Docs/API/
  • Dev_Docs/Blockchain/, если появятся новые блоки или команды для файлов.

С какого места продолжать

Начать с короткого протокольного документа: роли устройства, авторизация, шифрование файлов, минимальные API-операции и сценарии восстановления.