Mesh Network Performance Checker by DASecure - TUI app to measure and analyze mesh network performance
Project description
Mesh Network Performance Checker 📡
By DASecure
A TUI app to measure and analyze mesh network performance.
Features
- ✅ Multi-Node Testing — Test all mesh nodes from one place
- ✅ Latency & Jitter — Measure response time and stability
- ✅ Packet Loss Detection — Identify connection issues
- ✅ Throughput Testing — Optional iperf3 integration
- ✅ Network Scanning — Auto-discover nodes
- ✅ Internet Speed Test — Check WAN performance
- ✅ Historical Results — Track performance over time
- ✅ Interactive TUI — Easy-to-use interface
Installation
pip (Recommended)
pip install meshchecker
meshchecker
pipx
pipx install meshchecker
meshchecker
From Source
git clone https://github.com/dasecure/meshchecker.git
cd meshchecker
pip install -e .
meshchecker
Quick Start
# Interactive mode (recommended)
meshchecker
# Quick setup
meshchecker --setup
# Run test immediately
meshchecker --test
# Include throughput tests (requires iperf3)
meshchecker --test --throughput
Adding Nodes
Interactive Setup
meshchecker --setup
CLI
# Add a node
meshchecker --add-node "Living Room" 192.168.1.10
# Add main router
meshchecker --add-node "Main Router" 192.168.1.1 --main
Usage
Interactive Menu
meshchecker
Then choose:
- Run full test — Tests all nodes + internet speed
- Run quick test — Tests nodes only (faster)
- Setup nodes — Add/remove nodes
- View history — See past results
- Exit
Command Line Options
# Run full test
meshchecker --test
# Quick test (no internet speed test)
meshchecker --test --no-internet
# With throughput testing (requires iperf3 on nodes)
meshchecker --test --throughput
# View history
meshchecker --history
Throughput Testing
For throughput tests, install iperf3 on your mesh nodes:
macOS:
brew install iperf3
Linux:
sudo apt install iperf3
Windows: Download from https://iperf.fr/
Then run iperf3 server on each node:
iperf3 -s
Metrics Explained
| Metric | Good | Warning | Poor |
|---|---|---|---|
| Latency | < 50ms | 50-100ms | > 100ms |
| Jitter | < 10ms | 10-30ms | > 30ms |
| Packet Loss | < 1% | 1-5% | > 5% |
| Throughput | > 50 Mbps | 10-50 Mbps | < 10 Mbps |
Results Storage
Results are saved to:
- macOS/Linux:
~/.meshchecker/results/ - Windows:
%USERPROFILE%\.meshchecker\results\
Each test creates a JSON file with full details.
Troubleshooting
"No nodes configured"
Run meshchecker --setup or add nodes with --add-node
"Node unreachable"
- Check IP address is correct
- Ensure node is powered on
- Verify you're on the same network
Throughput shows "N/A"
- Install iperf3 on the target node
- Run
iperf3 -son the node before testing
License
MIT © DASecure
Links
- GitHub: https://github.com/dasecure/meshchecker
- PyPI: https://pypi.org/project/meshchecker/
- DASecure: https://github.com/dasecure
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file meshchecker-1.0.0.tar.gz.
File metadata
- Download URL: meshchecker-1.0.0.tar.gz
- Upload date:
- Size: 11.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b3c7851506bbe3b718864529c0301e0d6566c2ca7184c8f57c6de9512f99aa9
|
|
| MD5 |
f1f7df251d0e98caac23fff4cbb5db85
|
|
| BLAKE2b-256 |
68c20804358d51d35bab65d21ca8c76f291e3412032a57fc607528f23c63e193
|
File details
Details for the file meshchecker-1.0.0-py3-none-any.whl.
File metadata
- Download URL: meshchecker-1.0.0-py3-none-any.whl
- Upload date:
- Size: 9.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c9a58b521ee05d6da6025b55bdb0659aebe4f8a77bae05872eb4b456f4742282
|
|
| MD5 |
2619b0b227bd9e8bea08bf18ffbb8f4c
|
|
| BLAKE2b-256 |
745b1c55ced29d35f31473d91cb0b486a00ad0e0247ef31179de48959724a66f
|