reticulum-meshchat
reticulum-meshchat copied to clipboard
Is there a way to make it work with the rnsd?
I can't see a way to make meshchat to work together with rnsd from the gui. If I try to run meshchat after rnsd, rnsd complains about wrong rpc key and all of the interfaces get disabled. Also there is no way to configure the rpc key. I think that should be possible.
The meshchat version I'm using is the AppImage v1.18.0.
I see a similar or the same issue.
When rnsd is running, MeshChat launches ok but if I Announce Now, then i see the following errors in the rnsd termina:|
MeshChat v1.20.0 • RNS v0.9.1 • LXMF v0.6.2
[2025-02-17 13:19:12] [Notice] Started rnsd version 0.9.1
[2025-02-17 13:19:30] [Error] An error ocurred while handling RPC call from local client: digest received was wrong
[2025-02-17 13:19:56] [Error] An error ocurred while handling RPC call from local client: digest received was wrong
[2025-02-17 13:19:56] [Error] An error ocurred while handling RPC call from local client: digest received was wrong
[2025-02-17 13:20:58] [Error] An error ocurred while handling RPC call from local client: digest received was wrong
[2025-02-17 13:20:58] [Error] An error ocurred while handling RPC call from local client: digest received was wrong
[2025-02-17 13:21:00] [Error] An error ocurred while handling RPC call from local client: digest received was wrong
...
and MeshChat outputs:
Received an announce from <2d4877304a2c5196f45b92aad1c5cac6> for [lxmf.delivery]
Received an announce from <9581bc3eee18672969ed43685a937291> for [call.audio]
[2025-02-17 14:09:26] [Error] Error while retrieving physical link stats for LXMF delivery packet: digest sent was rejected
lxmf_delivery error: digest sent was rejected
Received an announce from <da305c3ead2bb7ae38cf8e97afadbd1c> for [nomadnetwork.node]
[AudioCallManager] announced destination: <dc2dc38ac1b5c3251f988f538d04ccf5>
Received an announce from <2334f2a469a31dde0c1ba57d73222d0e> for [lxmf.delivery]
Error handling request from 127.0.0.1
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.11.11/x64/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 480, in _handle_request
File "/opt/hostedtoolcache/Python/3.11.11/x64/lib/python3.11/site-packages/aiohttp/web_app.py", line 569, in _handle
File "meshchat.py", line 1626, in index
File "/opt/hostedtoolcache/Python/3.11.11/x64/lib/python3.11/site-packages/RNS/Reticulum.py", line 910, in get_interface_stats
File "/opt/hostedtoolcache/Python/3.11.11/x64/lib/python3.11/multiprocessing/connection.py", line 525, in Client
File "/opt/hostedtoolcache/Python/3.11.11/x64/lib/python3.11/multiprocessing/connection.py", line 776, in answer_challenge
multiprocessing.context.AuthenticationError: digest sent was rejected
Error handling request from 127.0.0.1
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.11.11/x64/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 480, in _handle_request
File "/opt/hostedtoolcache/Python/3.11.11/x64/lib/python3.11/site-packages/aiohttp/web_app.py", line 569, in _handle
File "meshchat.py", line 1626, in index
File "/opt/hostedtoolcache/Python/3.11.11/x64/lib/python3.11/site-packages/RNS/Reticulum.py", line 910, in get_interface_stats
File "/opt/hostedtoolcache/Python/3.11.11/x64/lib/python3.11/multiprocessing/connection.py", line 525, in Client
File "/opt/hostedtoolcache/Python/3.11.11/x64/lib/python3.11/multiprocessing/connection.py", line 776, in answer_challenge
multiprocessing.context.AuthenticationError: digest sent was rejected
Error handling request from 127.0.0.1
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.11.11/x64/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 480, in _handle_request
File "/opt/hostedtoolcache/Python/3.11.11/x64/lib/python3.11/site-packages/aiohttp/web_app.py", line 569, in _handle
File "meshchat.py", line 1626, in index
File "/opt/hostedtoolcache/Python/3.11.11/x64/lib/python3.11/site-packages/RNS/Reticulum.py", line 910, in get_interface_stats
File "/opt/hostedtoolcache/Python/3.11.11/x64/lib/python3.11/multiprocessing/connection.py", line 525, in Client
File "/opt/hostedtoolcache/Python/3.11.11/x64/lib/python3.11/multiprocessing/connection.py", line 776, in answer_challenge
multiprocessing.context.AuthenticationError: digest sent was rejected
Error handling request from 127.0.0.1
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.11.11/x64/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 480, in _handle_request
File "/opt/hostedtoolcache/Python/3.11.11/x64/lib/python3.11/site-packages/aiohttp/web_app.py", line 569, in _handle
File "meshchat.py", line 1626, in index
File "/opt/hostedtoolcache/Python/3.11.11/x64/lib/python3.11/site-packages/RNS/Reticulum.py", line 910, in get_interface_stats
File "/opt/hostedtoolcache/Python/3.11.11/x64/lib/python3.11/multiprocessing/connection.py", line 525, in Client
File "/opt/hostedtoolcache/Python/3.11.11/x64/lib/python3.11/multiprocessing/connection.py", line 776, in answer_challenge
multiprocessing.context.AuthenticationError: digest sent was rejected
Error handling request from 127.0.0.1
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.11.11/x64/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 480, in _handle_request
File "/opt/hostedtoolcache/Python/3.11.11/x64/lib/python3.11/site-packages/aiohttp/web_app.py", line 569, in _handle
File "meshchat.py", line 1626, in index
File "/opt/hostedtoolcache/Python/3.11.11/x64/lib/python3.11/site-packages/RNS/Reticulum.py", line 910, in get_interface_stats
This would happen if rnsd and MeshChat uses two different configuration directories (for example if running as different users), but still using the same shared instance control port.
If you run rnsd and any other RNS apps under the same user, everything should work automatically out of the box. If not, there may be something funky with where MeshChat loads its RNS config from.
If you are running rnsd as a service under another user, you can put the system-wide RNS configuration in /etc/reticulum and make sure that all users running RNS apps have access to read from that directory (as well as write access to /etc/reticulum/storage). Remember to remove ~/.reticulum in that case, as not to confuse yourself on where to edit the config, etc. ;)
I tried a config like this for docker:
services:
reticulum-meshchat:
container_name: reticulum-meshchat
image: ghcr.io/liamcottle/reticulum-meshchat:latest
pull_policy: always
restart: unless-stopped
network_mode: host
volumes:
- /home/user/.reticulum/:/config/.reticulum/
- /home/user/.meshchat/:/config/.meshchat/
But am getting this error:
reticulum-meshchat | [2025-05-05 19:52:30] [Error] The interface "Default Interface" could not be created. Check your configuration file for errors!
reticulum-meshchat | [2025-05-05 19:52:30] [Error] The contained exception was: [Errno 98] Address already in use
RNSD is running on the host.
This is the same style as recommended in https://github.com/markqvist/NomadNet, so I am assuming that meshchat has some strange implementation to check if rnsd is running?
I've found a solution. ./ReticulumMeshChat-v2.0.0-linux.AppImage --reticulum-config-dir ~/.config/reticulum/
I wish that was the default.