Follow

версия 14.
из говна и палок а одном файле ;())

gemini.google.com/app/05a8aec7

Вот подробный технический разбор системы **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. Когда и при каких условиях поломается

Эта система довольно живучая, но у неё есть «ахиллесовы пяты»:

**А. Техническая смерть (Блокировки):**
* Если провайдер или системный файрвол заблокирует доступ к `broker.hivemq.com` или портам `8000/8884`, чат не соединится.
* Если домен `unpkg.com` или `cdnjs.com` (где лежат библиотеки) будет недоступен в момент первого запуска (если они не закешированы), код не загрузится.

**Б. Поломка при передаче файлов:**
* Если ты попытаешься отправить файл размером 500 МБ+, браузер может «съесть» всю оперативную память и вылететь (Segmentation fault), так как JavaScript-строки в памяти очень тяжелые. Лимит «безопасности» — до 20–30 МБ.

**В. Конфликт версий:**
* Если один пользователь сидит на V13, а другой на V14 — они не увидят друг друга. У них разные алгоритмы обработки (один шифрует, другой нет).

**Г. Ошибка «Чистки»:**
* Если ты зайдешь в настройки браузера и нажмешь «Очистить куки и данные сайтов», вся твоя история переписки (которая в LocalStorage) исчезнет навсегда без возможности восстановления.

**Д. Человеческий фактор (Пароль):**
* Если ты забудешь пароль — переписка в памяти станет бесполезным мусором. Восстановить его невозможно, так как он нигде не хранится в открытом виде.

### Резюме для Zorin OS
Программа идеально подходит для быстрой организации скрытого канала связи «на лету» без установки софта. Пока есть доступ к интернету и открыт браузер — сеть живет. Она «умрет» только вместе с глобальным отключением внешних JS-библиотек или падением публичных MQTT-брокеров.

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.