MeshProxy is a network proxy service that facilitates communication between Meshtastic devices and user applications. It serves as a middleware, offering advanced control features such as rate limiting, whitelisting, and blacklisting for managing device messaging interactions over the Meshtastic network.
-
Clone this repository
git clone https://github.com/AllanGallop/MeshProxy.git -
Build
docker compose -f Docker/docker-compose.yaml up --build
-
Clone this repository
git clone https://github.com/AllanGallop/MeshProxy.git -
Install requirements
pip install --no-cache-dir --break-system-packages -r MeshProxy/requirements.txt -
Run
python MeshProxy/meshproxy.py
| Key | Default Value | Notes |
|---|---|---|
| LOG_LEVEL | "INFO" | Sets logging level (DEBUG, INFO, WARNING) |
| LOCAL_HOST | "0.0.0.0" | Proxy listening address |
| LOCAL_POST | 4403 | Proxy listening port |
| REMOTE_HOST | "192.168.1.5" | Host Address of your meshtastic node |
| REMOTE_HOST | 4403 | Host Port of your meshtastic node |
| RATE_LIMIT_MESSAGES | 5 | Amount of messages in timeframe |
| RATE_LIMIT_TIMEFRAME | 60 | Timeframe in seconds |
Nodes can be white/black listed by entering the node id into the appropiate text files located in the config directory. Use # to comment lines out.