
一個由網絡網絡堆棧提供動力的簡單網絡網絡通信應用程序。

您可以從“版本”頁面下載Windows,Mac和Linux的最新版本。
另外,您可以下載源並從命令行手動運行。
看到“如何使用它?”下面有關如何執行此操作的部分。
下載,安裝和啟動網狀Meshchat後,您需要做一些事情才能開始與網絡上的其他人進行交流。
創建一個身份
在網絡網絡上,任何人都可以擁有許多身份。您可以選擇使用您的真實姓名,也可以決定完全匿名。選擇是你的。
網狀身份是公共/私人密鑰對。您可以控制用於生成目標地址,加密內容並證明具有不可遺漏的交付確認的數據的私鑰。
發送宣佈時,您的公鑰將與網絡共享,並允許網絡上的其他人自動發現通往您控制目標的路線。
目前,Eniculum Meshchat在您第一次啟動時會產生新的身份。將來的更新將使您能夠創建和管理多個身份。
目前,如果要更改或重置身份證,則可以在~/.reticulum-meshchat/identity上訪問身份文件。
配置您的顯示名稱
您應該做的下一件事是設置顯示名稱。您的顯示名稱是網絡上的其他所有人在尋找與同行列表中與之通信的人時所看到的。
您可以在左下角的My Identity部分中執行此操作。輸入新的顯示名稱,然後按Save 。
發送宣布
使用網絡網絡時,為了與之聯繫,您需要發送Announce 。您可以經常發送宣布,也可以隨意發送。
發送宣布可以使網絡上的其他同行在數據包中發現的下一個跳躍網絡,以達到您的身份控制的目的地。
如果您從未發送宣布,您將是無形的,沒有人可以將任何東西發送給您。
當您跨網絡移動並更改入口點,例如從您的家庭wifi網絡移動到插入本地圖書館中的以太網端口,甚至攀登山脈,並在洛拉無線電上使用rnode,網絡上的其他同行只會知道先前到達目的地的路徑。
為了允許他們發現他們的數據包應採取的新道路,您應該發送宣布。
發現同齡人並開始發送消息
在網絡網絡中,您可以控制一個無限數量的目標地址。其中之一可以是LXMF送貨地址。
您的網狀身份使您擁有LXMF地址。將LXMF地址視為您自己的,安全的,端到端的加密,無用的,可通過網絡網絡路由的電子郵件地址。
當網絡上的其他人宣布自己(更具體地說,是他們的LXMF地址)時,他們將出現在“同行”選項卡中。
您可以單擊這些發現的同行中的任何一個以打開消息接口。從這裡,您可以發送短信,文件和內聯圖像。如果他們響應,他們的消息也會出現在那裡。
除了能夠宣布您的LXMF地址並發現其他地址外,網狀Meshchat還可以發現其他用戶託管的Nomad Network Nodes。在“節點”選項卡中,您可以自由探索他們可能會在網絡上公開共享的頁面和下載文件。
未來的更新計劃允許您託管自己的節點,並與網絡上的其他同行共享頁面和文件。目前,您可以使用官方的Nomad Network客戶端來執行此操作。
請記住,為了與其他同行或節點聯繫,他們必須在網絡上宣布。因此,如果您想被發現,請不要忘記宣布!
配置其他網絡接口
Todo:本節尚未撰寫。現在,您可以查看官方文檔,以配置網狀配置文件中的接口。此文件位於
~/.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
對於命令行選項的完整列表,您可以運行;
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
現在,您應該能夠遵循上述方式使用IT指令的方法。
在運行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。
您第一次運行此應用程序時,將生成新的網狀身份並將其保存到storage/identity 。
如果您想使用現有身份;
storage/identity 。要使用自定義身份文件,請提供--identity-file參數,然後提供您自定義身份文件的路徑。
python meshchat.py --identity-file ./custom_identity_file
如果您想生成新的身份,則可以使用網狀提供的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 Actions自動構建的,可以從GitHub容器註冊表下載。
docker pull ghcr.io/liamcottle/reticulum-meshchat:master
此外,還有一個示例Docker-compose.yml。
該示例會在meshchat-config卷中自動生成新的網狀配置文件。 Meshchat數據庫也存儲在此卷中。
如上所述,可以通過命令行從源或作為獨立應用程序從源運行。
要作為獨立應用程序運行,我們需要將python腳本和依賴項編譯到具有CXFREEZE的可執行文件中,然後構建一個電子應用程序,該應用程序包括一個捆綁的瀏覽器,該應用程序可以與彙編的Python可執行文件進行交互。
這樣可以通過雙擊單個文件來運行整個應用程序,而無需用戶手動安裝Python,也不需要在命令行應用程序中運行任何命令。
要在Windows或.dmg上運行Mac時構建.exe ,請運行以下內容;
pip install -r requirements.txt
npm install
npm run dist
注意:CXFreeze僅支持為當前平台構建可執行文件。您將需要一個Mac來為Mac構建,以及為Windows構建的Windows PC。
完成後,您應該在dist文件夾中具有.exe或.dmg 。
我通常會運行以下命令在本地進行該項目。
安裝依賴項
pip install -r requirements.txt
npm install
構建和運行電子應用
npm run electron
或者;構建和運行Meshchat服務器
npm run build-frontend
python3 meshchat.py --headless
我每次都在沒有熱重加載的情況下構建Vite應用程序,因為Meshchat期望在其自己的端口(而不是Vite Server端口)上所有內容。將來我將嘗試解決此問題。
LXMF路由器
麻省理工學院