версия 14.
#соцСеть из говна и палок а одном файле ;())
https://gemini.google.com/app/05a8aec70971f4dc
Вот подробный технический разбор системы **ZORIN_P2P_V14**. Это децентрализованное (в плане логики) веб-приложение, работающее по принципу мессенджера-клиента.
### 1. Как это работает (Архитектура)
Программа представляет собой **Single File Application**. Она не имеет своего сервера. Вместо этого она использует «чужую» инфраструктуру для передачи данных.
* **Транспорт (MQTT):** Программа подключается к публичному брокеру (HiveMQ) по протоколу WebSockets. Брокер — это просто «почтовое отделение», которое принимает пакет данных от одного ID и мгновенно пересылает его всем, кто подписан на тот же «топик».
* **Слой шифрования (AES-256):** Перед тем как отправить пакет в интернет, данные проходят через библиотеку CryptoJS. Твой пароль преобразуется в 256-битный ключ. Текст сообщения и файлы превращаются в нечитаемый набор символов.
* **Изоляция (Hashing):** Название комнаты (топика) не передается в открытом виде. Программа берет твой пароль, делает из него SHA-256 хэш и использует первые 15 символов как имя канала. Найти ваш канал подбором практически невозможно.
* **Передача файлов (Chunking):** Файл превращается в строку Base64, шифруется и режется на куски по 16 КБ. Эти куски последовательно летят через брокер, а на другой стороне собираются обратно в файл прямо в оперативной памяти браузера.
---
### 2. Чем пользуется (Стек)
Для обеспечения работы «в одном файле» используются:
1. **MQTT.js:** Движок для работы с протоколом передачи сообщений.
2. **CryptoJS:** Мощная криптографическая библиотека для симметричного шифрования.
3. **LocalStorage:** Встроенная память браузера (в папке профиля в Linux Zorin). Там хранится история и твой последний пароль.
4. **Public Broker (HiveMQ):** Бесплатный сервер-посредник, который держит соединение.
---
### 3. Когда и при каких условиях поломается
Эта система довольно живучая, но у неё есть «ахиллесовы пяты»:
**А. Техническая смерть (Блокировки):**
* Если провайдер или системный файрвол заблокирует доступ к `http://broker.hivemq.com` или портам `8000/8884`, чат не соединится.
* Если домен `http://unpkg.com` или `http://cdnjs.com` (где лежат библиотеки) будет недоступен в момент первого запуска (если они не закешированы), код не загрузится.
**Б. Поломка при передаче файлов:**
* Если ты попытаешься отправить файл размером 500 МБ+, браузер может «съесть» всю оперативную память и вылететь (Segmentation fault), так как JavaScript-строки в памяти очень тяжелые. Лимит «безопасности» — до 20–30 МБ.
**В. Конфликт версий:**
* Если один пользователь сидит на V13, а другой на V14 — они не увидят друг друга. У них разные алгоритмы обработки (один шифрует, другой нет).
**Г. Ошибка «Чистки»:**
* Если ты зайдешь в настройки браузера и нажмешь «Очистить куки и данные сайтов», вся твоя история переписки (которая в LocalStorage) исчезнет навсегда без возможности восстановления.
**Д. Человеческий фактор (Пароль):**
* Если ты забудешь пароль — переписка в памяти станет бесполезным мусором. Восстановить его невозможно, так как он нигде не хранится в открытом виде.
### Резюме для Zorin OS
Программа идеально подходит для быстрой организации скрытого канала связи «на лету» без установки софта. Пока есть доступ к интернету и открыт браузер — сеть живет. Она «умрет» только вместе с глобальным отключением внешних JS-библиотек или падением публичных MQTT-брокеров.