Files
MeshChatX/lang/README.ru.md

10 KiB
Raw Permalink Blame History

Reticulum MeshChatX

Существенно доработанный и функционально расширенный форк Reticulum MeshChat от Liam Cottle.

Этот проект независим от оригинального Reticulum MeshChat и не связан с ним.

Важные замечания

  • Полная поддержка LXMF является ключевым направлением проекта.
  • Хранение данных и миграции постепенно переводятся на прямой SQL (замена устаревших путей Peewee ORM).

Warning

MeshChatX не гарантирует совместимость данных со старыми версиями Reticulum MeshChat. Сделайте резервную копию перед миграцией или тестированием.

Warning

Устаревшие системы пока не полностью поддерживаются. Текущие требования: Python >=3.11 и Node >=24.

Демо и скриншоты

Интерфейс

Телефон Визуализатор сети Архивы Идентичности

Требования

  • Python >=3.11 (из pyproject.toml)
  • Node.js >=24 (из package.json)
  • pnpm 10.32.1 (из package.json)
  • Poetry (используется в Taskfile.yml и CI)

Способы установки

Метод Включает фронтенд Архитектуры Лучше всего подходит для
Docker-образ Да linux/amd64, linux/arm64 Быстрый запуск на серверах Linux
Python wheel (.whl) Да Любая архитектура, поддерживаемая Python Безголовый/веб-сервер без сборки Node
Linux AppImage Да x64, arm64 Портативное использование на ПК
Debian-пакет (.deb) Да x64, arm64 Установка на Debian/Ubuntu
RPM-пакет (.rpm) Да Зависит от CI Fedora/RHEL/openSUSE
Из исходников Собирается локально Архитектура хоста Разработка и кастомные сборки

Примечания:

  • CI явно собирает Linux x64 и arm64 AppImage + DEB.
  • RPM также создается при сборке релиза и загружается, если успешно.

Быстрый старт: Docker

docker compose up -d

Compose-файл по умолчанию:

  • 127.0.0.1:8000 на хосте -> порт 8000 контейнера
  • ./meshchat-config -> /config для хранения данных

Если возникают ошибки прав доступа:

sudo chown -R 1000:1000 ./meshchat-config

Установка из релизных артефактов

1) Linux AppImage (x64/arm64)

  1. Скачайте ReticulumMeshChatX-v<версия>-linux-<арх>.AppImage из релизов.
  2. Сделайте исполняемым и запустите:
chmod +x ./ReticulumMeshChatX-v*-linux-*.AppImage
./ReticulumMeshChatX-v*-linux-*.AppImage

2) Debian/Ubuntu .deb (x64/arm64)

  1. Скачайте ReticulumMeshChatX-v<версия>-linux-<арх>.deb.
  2. Установите:
sudo apt install ./ReticulumMeshChatX-v*-linux-*.deb

3) RPM-системы

  1. Скачайте ReticulumMeshChatX-v<версия>-linux-<арх>.rpm, если есть в релизе.
  2. Установите:
sudo rpm -Uvh ./ReticulumMeshChatX-v*-linux-*.rpm

4) Python wheel (.whl)

Wheel-пакеты из релизов включают собранный фронтенд.

pip install ./reticulum_meshchatx-*-py3-none-any.whl
meshchat --headless

pipx также поддерживается:

pipx install ./reticulum_meshchatx-*-py3-none-any.whl

Запуск из исходников (режим веб-сервера)

git clone https://git.quad4.io/RNS-Things/MeshChatX.git
cd MeshChatX
corepack enable
pnpm install
pip install poetry
poetry install
pnpm run build-frontend
poetry run meshchat --headless --host 127.0.0.1

Запуск в песочнице (Linux)

Чтобы запускать нативный бинарник meshchat с дополнительной изоляцией файловой системы, можно использовать Firejail или Bubblewrap (bwrap), сохраняя обычный сетевой доступ для Reticulum и веб-интерфейса. Полные примеры (pip/pipx, Poetry, заметки про USB-serial) в:

Та же страница отображается во встроенном разделе Документация (документация MeshChatX), когда она отдаётся из входящих в сборку или синхронизируемых файлов meshchatx-docs.

Сборка пакетов из исходников

Linux x64 AppImage + DEB

pnpm run dist:linux-x64

Linux arm64 AppImage + DEB

pnpm run dist:linux-arm64

RPM

pnpm run dist:rpm

Поддержка архитектур

  • Docker: amd64, arm64
  • Linux AppImage: x64, arm64
  • Linux DEB: x64, arm64
  • Windows: x64, arm64 (скрипты сборки доступны)
  • macOS: скрипты сборки доступны (arm64, universal)
  • Android: проект и CI-воркфлоу присутствуют в репозитории

Android

Конфигурация

Аргумент Переменная окружения По умолчанию Описание
--host MESHCHAT_HOST 127.0.0.1 Адрес привязки веб-сервера
--port MESHCHAT_PORT 8000 Порт веб-сервера
--no-https MESHCHAT_NO_HTTPS false Отключить HTTPS
--headless MESHCHAT_HEADLESS false Не открывать браузер автоматически
--auth MESHCHAT_AUTH false Включить базовую аутентификацию
--storage-dir MESHCHAT_STORAGE_DIR ./storage Директория данных
--public-dir MESHCHAT_PUBLIC_DIR авто Директория фронтенд-файлов

Ветки

Ветка Назначение
master Стабильные релизы. Только готовый к продакшену код.
dev Активная разработка. Может содержать нестабильные или неполные изменения.

Разработка

task install
task lint:all
task test:all
task build:all

Безопасность

  • SECURITY.md
  • Встроенные проверки целостности и HTTPS/WSS по умолчанию
  • CI-сканирование в .gitea/workflows/

Добавление языка

Обнаружение локалей происходит автоматически. Для добавления нового языка достаточно одного JSON-файла:

  1. Сгенерировать шаблон из en.json:
python scripts/generate_locale_template.py
  1. Переименовать и переместить в каталог локалей:
mv locales.json meshchatx/src/frontend/locales/xx.json
  1. Установить _languageName в начале файла на название языка на этом языке (например "Espanol", "Francais").

  2. Перевести все остальные значения.

  3. Проверить соответствие ключей: pnpm test -- tests/frontend/i18n.test.js --run

Никаких других изменений кода не требуется.

Авторы

  • Liam Cottle - Оригинальный Reticulum MeshChat
  • RFnexus - JavaScript-реализация Micron-парсера
  • markqvist - Reticulum, LXMF, LXST