LXMF-Tools/lxmf_ping
SebastianObi a2e7f2195e
Merge pull request #1 from Swissbandit/main
Translation in German
2023-10-07 13:27:22 +02:00
..
Examples Improvements, added example configuration 2023-04-25 07:15:17 +02:00
CHANGELOG.md Removed history, due to sensitive data 2022-10-21 17:58:11 +02:00
lxmf_ping.py Layout adjustments 2023-07-29 19:35:54 +02:00
lxmf_ping.service Added service files 2023-08-10 20:55:36 +02:00
README_de.md Translation in German 2022-11-25 08:55:07 +01:00
README.md Readme updated 2023-08-02 16:32:13 +02:00

lxmf_ping

This program sends an adjustable number of LXMF messages to a destination. Then a simple statistic is created to check the success or failure of a single message. This tool can be useful to load the LXMF/Reticulum network with a defined load of messages. This can be used to simulate a certain amount of users.

For more information, see the configuration options (at the end of the program files). Everything else is briefly documented there. After the first start this configuration will be created as default config in the corresponding file.

Features

  • Compatible with all LXMF applications (Communicator, NomadNet, Sideband, ...)

Examples of use

General info how the messages are transported

All messages between client<->server are transported as single 1:1 messages in the LXMF/Reticulum network. Accordingly, encryption takes place between these end points. If a direct delivery of the message does not work, it is sent to a propagation node. There it is stored temporarily and can be retrieved by the client later.

As these are normal LXMF messages, any LXMF capable application can be used to communicate with the group.

Current Status

It should currently be considered beta software and still work in progress.

All core features are implemented and functioning, but additions will probably occur as real-world use is explored.

There may be errors or the compatibility after an update is no longer guaranteed.

The full documentation is not yet available. Due to lack of time I can also not say when this will be further processed.

Screenshots / Usage examples

Installation manual

Install:

  • Install all required prerequisites. (Default Reticulum installation. Only necessary if reticulum is not yet installed.)
    apt update
    apt upgrade
    
    apt install python3-pip
    
    pip install pip --upgrade
    reboot
    
    pip3 install rns
    pip3 install pyserial netifaces
    
    pip3 install lxmf
    
  • Change the Reticulum configuration to suit your needs and use-case.
    nano /.reticulum/config
    
  • Download the file from this repository.
    wget https://raw.githubusercontent.com/SebastianObi/LXMF-Tools/main/lxmf_ping/lxmf_ping.py
    
  • Make it executable with the following command
    chmod +x lxmf_ping.py
    

Start:

  • Start it
    ./lxmf_ping.py
    

Startup parameters:

usage: lxmf_ping.py [-h] [-p PATH] [-pr PATH_RNS] [-pl PATH_LOG] [-l LOGLEVEL] -d DEST [-t TIME] [-s SIZE] [-c COUNT] [-i INST]

LXMF Ping - Periodically sends pings/messages and evaluates the status

optional arguments:
  -h, --help            show this help message and exit
  -p PATH, --path PATH  Path to alternative config directory
  -pr PATH_RNS, --path_rns PATH_RNS
                        Path to alternative Reticulum config directory
  -pl PATH_LOG, --path_log PATH_LOG
                        Path to alternative log directory
  -l LOGLEVEL, --loglevel LOGLEVEL
  -d DEST, --dest DEST  Single destination hash or ,-separated list with destination hashs or . for random destination
  -t TIME, --time TIME  Time between messages in seconds
  -s SIZE, --size SIZE  Size (lenght) of the message content
  -c COUNT, --count COUNT
                        Maximum message send count (0=no end)
  -i INST, --inst INST  Parallel instances (different sender addresses)

User manual

This guide applies to users or admins. Here are briefly explained the normal possibilities of the software.

FAQ

How do I start with the software?

You should read the Installation manual section. There everything is explained briefly. Just work through everything from top to bottom :)