
一个由网络网络堆栈提供动力的简单网络网络通信应用程序。

您可以从“版本”页面下载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路由器
麻省理工学院