Files
MeshChatX/lang/README.ja.md

8.9 KiB
Raw Blame History

Reticulum MeshChatX

Liam Cottle 氏による Reticulum MeshChat を大幅に改修・機能拡張したフォークです。

本プロジェクトはオリジナルの Reticulum MeshChat とは独立しており、提携関係にありません。

重要事項

  • LXMF の完全サポートがプロジェクトの中核目標です。
  • データ保存とマイグレーションは段階的に直接 SQL へ移行中です(レガシーの Peewee ORM パスを置換)。

Warning

MeshChatX は旧バージョンの Reticulum MeshChat とのデータ互換性を保証しません。マイグレーションやテスト前にデータをバックアップしてください。

Warning

レガシーシステムはまだ完全にはサポートされていません。現在の最低要件: Python >=3.11、Node >=24

デモとスクリーンショット

UI プレビュー

電話 ネットワークビジュアライザ アーカイブ アイデンティティ

必要条件

  • Python >=3.11pyproject.toml より)
  • Node.js >=24package.json より)
  • pnpm 10.32.1package.json より)
  • PoetryTaskfile.yml および CI ワークフローで使用)

インストール方法

方法 フロントエンド含む アーキテクチャ 最適な用途
Docker イメージ はい linux/amd64, linux/arm64 Linux サーバーでの最速セットアップ
Python wheel (.whl) はい Python がサポートする全アーキテクチャ Node ビルド不要のヘッドレス/Web サーバー
Linux AppImage はい x64, arm64 ポータブルデスクトップ
Debian パッケージ (.deb) はい x64, arm64 Debian/Ubuntu
RPM パッケージ (.rpm) はい CI 依存 Fedora/RHEL/openSUSE
ソースから ローカルビルド ホストアーキテクチャ 開発・カスタムビルド

備考:

  • リリースワークフローは 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 にはビルド済みの Web アセットが含まれています。

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

pipx もサポート:

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

ソースからの実行Web サーバーモード)

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 バイナリを、ファイルシステムをより隔離した状態で動かすには、Reticulum と Web UI 向けの通常のネットワークアクセスを保ちつつ Firejail または Bubblewrapbwrapを使えます。詳しい例pip/pipx、Poetry、USB シリアルの注意)は次を参照してください。

同じページは、同梱または同期された meshchatx-docs から配信される場合、アプリ内の ドキュメントMeshChatX ドキュメント)一覧にも表示されます。

ソースからのデスクトップパッケージビルド

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 Web サーバーバインドアドレス
--port MESHCHAT_PORT 8000 Web サーバーポート
--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 デフォルト設定
  • .gitea/workflows/ の CI スキャンワークフロー

言語の追加

ロケールの検出は自動です。新しい言語を追加するには JSON ファイル1つだけで済みます:

  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

他のコード変更は不要です。

クレジット