Metadata-Version: 2.4
Name: meshchecker
Version: 1.0.0
Summary: Mesh Network Performance Checker by DASecure - TUI app to measure and analyze mesh network performance
Author: DASecure
License-Expression: MIT
Project-URL: Homepage, https://github.com/dasecure/meshchecker
Project-URL: Repository, https://github.com/dasecure/meshchecker
Keywords: mesh,network,performance,wifi,monitoring,tui
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: System :: Networking
Classifier: Topic :: System :: Monitoring
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: rich>=13.0.0
Requires-Dist: speedtest-cli>=2.1.0

# 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)

```bash
pip install meshchecker
meshchecker
```

### pipx

```bash
pipx install meshchecker
meshchecker
```

### From Source

```bash
git clone https://github.com/dasecure/meshchecker.git
cd meshchecker
pip install -e .
meshchecker
```

## Quick Start

```bash
# 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
```bash
meshchecker --setup
```

### CLI
```bash
# 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:
1. **Run full test** — Tests all nodes + internet speed
2. **Run quick test** — Tests nodes only (faster)
3. **Setup nodes** — Add/remove nodes
4. **View history** — See past results
5. **Exit**

### Command Line Options

```bash
# 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:**
```bash
brew install iperf3
```

**Linux:**
```bash
sudo apt install iperf3
```

**Windows:**
Download from https://iperf.fr/

Then run iperf3 server on each node:
```bash
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 -s` on 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
