Full meshing-around fork with WebGUI and all modifications to mesh_bot.py and system.py
Find a file
Matt c63661fc25 Rework README with AI transparency and fresh structure
- Added clear AI-assisted development disclosure upfront
- Reorganized content for better readability and flow
- Proper attribution to SpudGunMan and all upstream contributors
- Clean separation: Quick Start → Features → Technical → Credits
- Maintained all technical content in condensed, scannable format

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 11:17:00 -07:00
.github Bump docker/metadata-action 2025-11-10 12:24:13 +00:00
data Embed screenshots directly in README as base64 2025-11-30 01:58:47 -07:00
deployment Packet Monitor: Move from logs to dedicated WebGUI section 2025-11-28 21:16:20 -07:00
etc Update icad_tone.py 2025-11-12 17:16:39 -08:00
logs Fix screenshot filenames - remove spaces 2025-11-30 02:04:11 -07:00
modules Add Mesh Nodes page and Leaderboard to WebGUI 2025-11-30 01:14:31 -07:00
script Update game_serve.py 2025-11-09 13:18:36 -08:00
webgui Fix screenshots - convert from base64 text to actual PNG files 2025-11-30 10:48:28 -07:00
.gitignore verse command 2025-11-03 15:29:09 -08:00
compose.yaml Fix TCP retry hostname:port parsing and lock to local build 2025-11-28 19:58:00 -07:00
compose.yaml.backup-20251128-102507 Embed screenshots directly in README as base64 2025-11-30 01:58:47 -07:00
config.template Update config.template 2025-11-09 15:51:52 -08:00
CONTRIBUTING.md Update CONTRIBUTING.md 2025-01-28 20:32:51 -08:00
Dockerfile Update Dockerfile 2025-10-23 22:28:25 -07:00
INSTALL.md docs 2025-10-30 10:32:35 -07:00
install.sh enhance 2025-11-11 13:40:48 -08:00
launch.sh ssl 2025-11-06 21:37:21 -08:00
LICENSE Update LICENSE 2024-06-11 23:35:34 -07:00
mesh_bot.py Fix packet buffer corruption with atomic file writes 2025-11-28 22:36:48 -07:00
meshbot-deployment.tar.gz Embed screenshots directly in README as base64 2025-11-30 01:58:47 -07:00
pong_bot.py fix hop doh hops! 2025-11-12 23:01:19 -08:00
README.md Rework README with AI transparency and fresh structure 2025-11-30 11:17:00 -07:00
requirements.txt patch 2025-10-27 17:23:23 -07:00
SECURITY.md Update SECURITY.md 2025-10-20 17:46:57 -07:00
update.sh Update update.sh 2025-11-06 15:30:46 -08:00

Meshing-Around WebGUI Integrated

A feature-rich Meshtastic BBS bot with a full web management interface.

Note: This project was developed with AI assistance using Claude (Anthropic). The codebase was "vibe coded" through collaborative sessions with multiple Claude agents. We believe in transparency about AI-assisted development.


About This Fork

This is a fork of SpudGunMan/meshing-around with an integrated WebGUI for configuration and monitoring. The WebGUI requires modifications to core files, so this is distributed as a complete integrated package rather than a standalone addon.

What's Different:

  • Full web-based management interface (WebGUI)
  • Real-time packet monitoring
  • Visual scheduler management
  • Node name resolution on leaderboards
  • TCP hostname:port bug fix

Quick Start

git clone https://forge.echo6.co/matt/Meshing-Around-WebGUI-Integrated.git
cd Meshing-Around-WebGUI-Integrated
cp config.template config.ini
# Edit config.ini with your settings
docker-compose up -d

Access the WebGUI at http://your-server:8085

Manual Installation

See INSTALL.md for detailed instructions.


WebGUI Features

The integrated web interface provides complete control over your mesh bot:

Feature Description
Dashboard Service status, statistics, and leaderboard
Radio Connections Configure up to 9 Meshtastic interfaces (Serial/TCP/BLE)
Scheduler Visual management of scheduled broadcasts
Mesh Nodes View all nodes on your mesh network
BBS Network Track BBS peer synchronization status
Packet Monitor Real-time packet inspection
System Logs Filterable log viewer with auto-refresh
Configuration Edit all config.ini sections with validation

Screenshots

Dashboard

Dashboard

Radio Connections

Radio Connections

Mesh Nodes

Mesh Nodes

Scheduler

Scheduler Custom Schedules

BBS Network

BBS Network

System Logs

System Logs

Configuration

General Settings BBS Config

Activity Log

Activity Log


Bot Features

This fork includes all features from the upstream meshing-around project:

Messaging & Communication

  • BBS Mail System - Leave messages for offline nodes, delivered when they return
  • Message Scheduler - Automate weather updates, net reminders, announcements
  • Store and Forward - Retrieve missed messages
  • BBS Linking - Connect multiple bots for expanded coverage
  • Email/SMS Integration - Bridge mesh messages to email or SMS
  • Multi-Radio Support - Monitor up to 9 networks simultaneously

Network Tools

  • Ping/Pong Testing - Test message delivery with realistic packets
  • Hardware Testing - Test radio buffer limits with incrementally sized data
  • Network Monitoring - Alerts for noisy nodes, location tracking, relay placement suggestions
  • Site Survey - Log GPS locations with descriptions for mapping

Data & Alerts

  • Weather/Earthquake/Tide Data - NOAA/USGS alerts and Open-Meteo support
  • Emergency Alerts - FEMA iPAWS, NOAA EAS, USGS Volcano alerts
  • Proximity Alerts - Location-based notifications for geo-fences
  • RSS/News Feeds - Receive news directly on the mesh
  • Wikipedia/Kiwix Search - Information lookup over mesh

AI Integration

  • Ollama/OpenWebUI - LLM integration with RAG support
  • Voice Commands - "Hey Chirpy!" voice activation
  • Speech-to-Text - Vosk integration for audio broadcasting

Games & Fun

  • DopeWars, Lemonade Stand, BlackJack, Video Poker
  • FCC/ARRL QuizBot for ham radio exam practice
  • Group quiz games with leaderboards
  • Telemetry competitions (lowest battery, coldest temp)

Radio Integration

  • Hamlib/rigctld S-meter monitoring
  • WSJT-X and JS8Call message forwarding
  • Tone-out decoder for fire alerts
  • Text-to-speech mesh messages

For complete feature documentation, see modules/README.md.


Configuration

Copy the template and edit for your setup:

cp config.template config.ini

Key sections:

  • [interface] - Radio connections (serial, TCP, BLE)
  • [general] - Bot behavior and admin settings
  • [bbs] - BBS configuration and linking
  • [location] - GPS and weather settings

See modules/README.md for all configuration options.


Technical Details

WebGUI Modifications to Upstream

This fork includes these changes to core files:

mesh_bot.py - Packet buffer for real-time monitoring (~225 lines added)

# Thread-safe packet capture for WebGUI Packet Monitor
# Requires DEBUGpacket = True in config.ini

modules/system.py - Leaderboard enhancement

# Adds node shortName/longName to leaderboard entries
# WebGUI displays names instead of hex IDs

modules/system.py - TCP bug fix

# Fixes hostname:port parsing for TCP interfaces

For full technical details, see webgui/README.md.

Project Structure

├── mesh_bot.py          # Main bot application
├── pong_bot.py          # Lightweight responder
├── config.template      # Configuration template
├── compose.yaml         # Docker Compose configuration
├── modules/             # Bot modules and features
├── webgui/              # Web management interface
│   ├── main.py          # FastAPI backend
│   ├── config_schema.py # Configuration definitions
│   └── templates/       # Frontend (Tailwind CSS)
├── data/                # Runtime data storage
└── logs/                # Log files

Development Notes

AI-Assisted Development

This project was developed using AI pair programming with Claude. The development process involved:

  • Iterative feature development through conversation
  • Code generation with human review and refinement
  • Documentation written collaboratively

We're transparent about this because:

  1. It's the honest thing to do
  2. AI-assisted code may have different characteristics than traditionally written code
  3. Users should make informed decisions about the software they run

The code works, but like all software, review it before running in production.


Acknowledgments

Original Project

This fork is built on the excellent work of SpudGunMan and the meshing-around community:

SpudGunMan/meshing-around

Upstream Contributors

The upstream project was made possible by these contributors:

Inspiration & Code:

Games Ported From:

Community Contributors:

  • PiDiBi, Cisien, bitflip, nagu, Nestpebble, NomDeTom, Iris, Josh, GlockTuber, FJRPiolt, dj505, Woof, propstg, snydermesh, trs2982, F0X, Malice, mesb1, Hailo1999 - Testing and feature ideas
  • xdep - HTML reporting
  • mrpatrick1991 - Original Docker configurations
  • A-c0rN - iPAWS/EAS assistance
  • Mike O'Connell/skrrt & sheer.cold - EAS alert parser
  • dadud - ICAD tone decoder idea
  • WH6GXZ - Volcano alerts
  • mikecarper - Ham test/quiz features
  • c.merphy360 - High altitude alerts
  • G7KSE - DX spotting idea
  • Meshtastic Discord Community

This Fork

WebGUI Development:

  • AI-assisted development using Claude (Anthropic)
  • Maintained by matt/zvx-echo6


License

MIT License - Same as upstream meshing-around.

Meshtastic® is a registered trademark of Meshtastic LLC.


Use responsibly. This software captures packets, logs communications, and may handle PII including GPS locations. Follow local regulations for radio equipment.