
reticulumネットワークスタックを搭載したシンプルなメッシュネットワーク通信アプリ。

[リリース]ページからWindows、Mac、Linuxの最新バージョンをダウンロードできます。
または、ソースをダウンロードして、コマンドラインから手動で実行することもできます。
「使い方?」を参照してください。これを行う方法については、以下のセクション。
Reticulum MeshChatをダウンロード、インストール、起動すると、ネットワーク上の他の人とのコミュニケーションを開始するために必要なことがいくつかあります。
アイデンティティを作成します
reticulumネットワークでは、誰でも多くのアイデンティティを持つことができます。本名を使用することを選択するか、完全に匿名であることを決定する場合があります。選択はあなたのものです。
網状体のアイデンティティは、パブリック/プライベートキーペアです。宛先アドレスを生成し、コンテンツを暗号化し、忘れられない配信謝辞でデータの受領を証明するために使用される秘密鍵を制御します。
公開キーは、発表を送信するときにネットワークと共有され、ネットワーク上の他の人が制御する宛先へのルートを自動的に発見できるようにします。
この時点で、Reticulum MeshChatは、初めて起動したときに新しいアイデンティティを生成します。将来のアップデートを使用すると、複数のアイデンティティを作成および管理できます。
とりあえず、IDを変更したり、アイデンティティをリセットしたい場合は、 ~/.reticulum-meshchat/identity IDファイルにアクセスできます。
表示名を構成します
次にすべきことは、ディスプレイ名を設定することです。ディスプレイ名は、ネットワーク上の他のすべての人が、ピアリストからコミュニケーションをとる人を探しているときに見るものです。
これは、左下隅のMy Identityセクションで行うことができます。新しいディスプレイ名を入力してから、 Saveを押します。
発表を送信します
reticulumネットワークを使用する場合、連絡可能になるには、 Announceを送信する必要があります。頻繁に、または好きなだけ頻繁に発表することができます。
アナウンスを送信すると、ネットワーク上の他のピアがネットワーク上の次のホップを発見することができます。
発表を送信したことがない場合、あなたは見えなくなり、誰もあなたに何も送ることができません。
ネットワークを横切って移動し、自宅のWiFiネットワークから移動するなどのエントリポイントを変更して、地元のライブラリのイーサネットポートに接続したり、山に登ったり、ロラ無線でrnodeを使用したりする場合、ネットワーク上の他のピアは目的地への以前のパスのみを知っています。
彼らがあなたに届くために彼らのパケットがとるべき新しいパスを彼らに発見できるようにするために、あなたは発表を送るべきです。
仲間を発見し、メッセージの送信を開始します
reticulumネットワークでは、無制限の数の宛先アドレスを制御できます。これらの1つは、LXMF配信アドレスです。
網状体のアイデンティティを使用すると、LXMFアドレスを持つことができます。 LXMFアドレスは、メッシュネットワーク上でルーティングされた、独自の安全でエンドツーエンドの暗号化された、普及不可能な電子メールアドレスと考えてください。
ネットワーク上の他の誰かが自分自身を発表すると(より具体的には、LXMFアドレス)、The Peersタブに表示されます。
これらの発見されたピアのいずれかをクリックして、メッセージングインターフェイスを開くことができます。ここから、テキストメッセージ、ファイル、インライン画像を送信できます。彼らが応答すると、彼らのメッセージもそこに現れます。
LXMFアドレスを発表して他の人を発見できるだけでなく、Reticulum MeshChatも他のユーザーがホストするNOMADネットワークノードを発見することもできます。 [ノード]タブから、ページを無料で検討し、ネットワーク上で公開されているファイルをダウンロードできます。
独自のノードをホストし、ネットワーク上の他のピアとページやファイルを共有できるようにするための将来の更新が計画されています。今のところ、公式のNomadネットワーククライアントを使用してこれを行うことができます。
他のピアやノードと接続するには、ネットワークで発表しなければならないことを忘れないでください。発見されたい場合は、忘れずに発表することを忘れないでください!
追加のネットワークインターフェイスの構成
TODO:このセクションはまだ書かれていません。今のところ、reticulum構成ファイルにインターフェイスを構成するための公式ドキュメントを確認できます。このファイルは
~/.reticulum/configにあります
スタンドアロンアプリケーションをダウンロードすることをお勧めします。
したくない場合、またはデバイスがリリースできない場合は、必要になります。
meshchat.pyを実行します。 # clone repo
git clone https://github.com/liamcottle/reticulum-meshchat
cd reticulum-meshchat
# install nodejs deps
# if you want to build electron binaries, remove "--omit=dev"
# if you're using termux, add "--ignore-scripts" to fix error with esbuild
npm install --omit=dev
# build frontend vue components
npm run build-frontend
# install python deps
pip install -r requirements.txt
# run meshchat
python meshchat.py
注:これで、http:// localhost:8000でWebインターフェイスにアクセスできるようになりました
コマンドラインオプションの完全なリストについては、実行できます。
python meshchat.py --help
usage: meshchat.py [-h] [--host [HOST]] [--port [PORT]] [--headless] [--identity-file IDENTITY_FILE] [--identity-base64 IDENTITY_BASE64] [--generate-identity-file GENERATE_IDENTITY_FILE] [--generate-identity-base64]
[--reticulum-config-dir RETICULUM_CONFIG_DIR] [--storage-dir STORAGE_DIR]
ReticulumMeshChat
options:
-h, --help show this help message and exit
--host [HOST] The address the web server should listen on.
--port [PORT] The port the web server should listen on.
--headless Web browser will not automatically launch when this flag is passed.
--identity-file IDENTITY_FILE
Path to a Reticulum Identity file to use as your LXMF address.
--identity-base64 IDENTITY_BASE64
A base64 encoded Reticulum Identity to use as your LXMF address.
--generate-identity-file GENERATE_IDENTITY_FILE
Generates and saves a new Reticulum Identity to the provided file path and then exits.
--generate-identity-base64
Outputs a randomly generated Reticulum Identity as base64 and then exits.
--reticulum-config-dir RETICULUM_CONFIG_DIR
Path to a Reticulum config directory for the RNS stack to use (e.g: ~/.reticulum)
--storage-dir STORAGE_DIR
Path to a directory for storing databases and config files (default: ./storage)
Termuxを使用して、ソースからAndroidで実行することができます。いくつかの追加の依存関係をインストールし、 requirements.txtを変更する必要があります。
pkg upgrade
pkg install git
pkg install nodejs-lts
pkg install python-pip
pkg install rust
pkg install binutils
pkg install build-essential
これで、上記の手順を使用する方法に従うことができるはずです。
pip install -r requirements.txtを実行する前に、 cx_freeze依存関係をコメントする必要があります。 Androidタブレットの上に構築できず、実際にソースから実行するために必要はありません。
nano requirements.txt
cx_freeze行が#cx_freezeに更新されていることを確認してください
注:暗号化用のビルディングホイールには、Androidで時間がかかる場合があります。
MeshChatがTermuxを介して実行されたら、お気に入りのAndroid Webブラウザーを開き、http:// localhost:8000に移動します
注:デフォルトの
AutoInterface、Androidデバイスで動作しない場合があります。TCPClientInterfaceなどの別のインターフェイスを構成する必要があります。
このアプリケーションを初めて実行すると、新しい網状体IDが生成され、 storage/identityに保存されます。
既存のIDを使用する場合。
storage/identity別のIDファイルで上書きすることができます。カスタムIDファイルを使用するには、カスタムIDファイルへのパスが続く--identity-file引数を提供します。
python meshchat.py --identity-file ./custom_identity_file
新しいIDを生成したい場合は、Reticulumが提供するRNIDユーティリティを使用できます。
rnid --generate ./new_identity_file
rnidコマンドにアクセスできない場合は、以下を使用できます。
python meshchat.py --generate-identity-file ./new_identity_file
または、そのように、base64エンコードされた秘密鍵を提供することもできます。
python meshchat.py --identity-base64 "GCN6mMhVemdNIK/fw97C1zvU17qjQPFTXRBotVckeGmoOwQIF8VOjXwNNem3CUOJZCQQpJuc/4U94VSsC39Phw=="
注:これは、たとえば目的でランダムに生成されたアイデンティティです。使用しないでください、漏れています!
Docker画像はGitHubアクションによって自動的に構築され、GitHubコンテナレジストリからダウンロードできます。
docker pull ghcr.io/liamcottle/reticulum-meshchat:master
さらに、Docker-Compose.ymlの例が利用可能です。
この例はmeshchat-configボリュームで新しいreticulum構成ファイルを自動的に生成します。 MeshChatデータベースもこのボリュームに保存されます。
Reticulum MeshChatは、上記のように、またはスタンドアロンアプリケーションとして、コマンドラインを介してソースから実行できます。
スタンドアロンアプリケーションとして実行するには、Pythonスクリプトと依存関係をCXFREEZEで実行可能ファイルにコンパイルし、コンパイルされたPython実行可能ファイルと対話できるバンドルブラウザーを含む電子アプリを構築する必要があります。
これにより、ユーザーが手動でPythonをインストールしたり、コマンドラインアプリケーションでコマンドを実行する必要なく、単一のファイルをダブルクリックしてアプリケーション全体を実行できます。
Windowsで実行するときに.exeまたはMacで実行されるときに.exe .dmg構築するには、以下を実行します。
pip install -r requirements.txt
npm install
npm run dist
注:CXFREEZEは、現在のプラットフォーム用の実行可能ファイルの構築のみをサポートしています。 Mac用に構築するにはMacとWindows PCがWindows用に構築される必要があります。
完了したら、 distフォルダーに.exeまたは.dmgが必要です。
私は通常、プロジェクトでローカルに作業するために次のコマンドを実行します。
依存関係をインストールします
pip install -r requirements.txt
npm install
電子アプリを構築および実行します
npm run electron
または; MeshChatサーバーを構築および実行します
npm run build-frontend
python3 meshchat.py --headless
MeshChatは、Viteサーバーポートではなく、独自のポート上にすべてを期待しているため、ホットリロードなしで毎回Viteアプリを構築します。将来これを修正しようとします。
LXMFルーター
mit