mirror of
https://github.com/Kpa-clawbot/meshcore-analyzer.git
synced 2026-05-14 13:25:07 +00:00
136 lines
4.8 KiB
Markdown
136 lines
4.8 KiB
Markdown
# CoreScope v3.5.0 🚀
|
|
|
|
The "stop building from source and start analyzing your mesh" release. 95 commits.
|
|
|
|
---
|
|
|
|
## 🐳 Pre-built Docker Images
|
|
|
|
CoreScope now ships as a ready-to-run Docker image on GitHub Container Registry. No cloning, no building, no dependencies — just pull and run.
|
|
|
|
```bash
|
|
docker run -d --name corescope -p 80:80 -p 443:443 -p 1883:1883 \
|
|
-v corescope-data:/app/data \
|
|
ghcr.io/kpa-clawbot/corescope:v3.5.0
|
|
```
|
|
|
|
**Using HTTPS with a custom domain?** Mount your Caddyfile and certs directory:
|
|
```bash
|
|
docker run -d --name corescope -p 80:80 -p 443:443 -p 1883:1883 \
|
|
-v /your/data:/app/data \
|
|
-v /your/Caddyfile:/etc/caddy/Caddyfile:ro \
|
|
-v /your/caddy-data:/data/caddy \
|
|
ghcr.io/kpa-clawbot/corescope:v3.5.0
|
|
```
|
|
Caddy auto-provisions Let's Encrypt certs. Your Caddyfile just needs:
|
|
```
|
|
yourdomain.example.com {
|
|
reverse_proxy localhost:3000
|
|
}
|
|
```
|
|
|
|
That's it. Zero config required — MQTT broker, Caddy HTTPS, and SQLite are built in.
|
|
|
|
**Already running CoreScope?**
|
|
```bash
|
|
# 1. Find your running container name
|
|
docker ps --format '{{.Names}}'
|
|
|
|
# 2. Stop and remove it
|
|
docker stop <container-name> && docker rm <container-name>
|
|
|
|
# 3. Pull the pre-built image
|
|
docker pull ghcr.io/kpa-clawbot/corescope:v3.5.0
|
|
|
|
# 4. Run with your existing data directory
|
|
docker run -d --name corescope -p 80:80 -p 443:443 -p 1883:1883 \
|
|
-v /your/data:/app/data \
|
|
-v /your/Caddyfile:/etc/caddy/Caddyfile:ro \
|
|
-v /your/caddy-data:/data/caddy \
|
|
ghcr.io/kpa-clawbot/corescope:v3.5.0
|
|
```
|
|
Your data volume stays. Nothing to migrate.
|
|
|
|
Tags: `v3.5.0` (this release) · `latest` (latest tagged release) · `edge` (master tip, for testing). Env: `DISABLE_CADDY=true` / `DISABLE_MOSQUITTO=true` if you bring your own.
|
|
|
|
---
|
|
|
|
## ⚡ 83% Faster
|
|
|
|
35 performance commits. Packets endpoint p50 dropped from 16.7ms → 2.7ms. Server now serves HTTP within 2 minutes on *any* DB size — async background backfill means you're never staring at a loading screen. N+1 API calls killed everywhere. Prefix map memory cut 10x. WebSocket renders batched via rAF.
|
|
|
|
---
|
|
|
|
## 🔬 RF Health Dashboard
|
|
|
|
New Analytics tab. Per-observer noise floor as color-coded columns (green/yellow/red), airtime utilization, error rates, battery levels. Click any observer for the full breakdown. Region-filterable. This is the beginning of making CoreScope more than just a packet viewer.
|
|
|
|
---
|
|
|
|
## 🗺️ See Where Traces Actually Go
|
|
|
|
Send a trace → watch it on the live map. Solid animated line shows how far it got. Dashed ghost shows where it didn't reach. Finally know *where* your trace failed, not just *that* it failed.
|
|
|
|
---
|
|
|
|
## 📊 Things That Were Lying To You
|
|
|
|
- "By Repeaters" was counting companions. Fixed.
|
|
- Zero-hop adverts claimed "1 byte hash" when the hash size was unknowable. Fixed.
|
|
- "Packets through this node" showed packets through a *different* node with the same prefix. Fixed — now uses the neighbor affinity graph.
|
|
- Table sorting on nodes/neighbors/observers silently did nothing. Fixed.
|
|
|
|
---
|
|
|
|
## 🔗 Deep Links · 🎨 Channel Colors · 📱 Mobile · 🔑 Security
|
|
|
|
**Deep links** — every page state goes in the URL. Share a link to a specific node, filter, or analytics tab.
|
|
|
|
**Channel colors** — click the color dot next to any channel, pick from 8 colors, see it highlighted across the feed. Persists in localStorage.
|
|
|
|
**Distance units** — km, miles, or auto-detect from locale. Customizer → Display.
|
|
|
|
**Mobile** — 44px touch targets, ARIA labels, responsive breakpoints.
|
|
|
|
**Security** — weak API keys rejected at startup. License: GPL v3.
|
|
|
|
---
|
|
|
|
## 📡 Full API Documentation
|
|
|
|
Every endpoint is now documented with an auto-generated OpenAPI 3.0 spec — always in sync with the running server.
|
|
|
|
- **Interactive Swagger UI:** [analyzer.00id.net/api/docs](https://analyzer.00id.net/api/docs) — browse and test all 40+ endpoints
|
|
- **Machine-readable spec:** [analyzer.00id.net/api/spec](https://analyzer.00id.net/api/spec) — import into Postman, Insomnia, or use for bot/integration development
|
|
|
|
On your own instance: `/api/docs` and `/api/spec`.
|
|
|
|
---
|
|
|
|
## 🐛 14 Bugs Squashed
|
|
|
|
Live map crash, zero-hop hash lies, animation freezes, repeater miscounts, prefix collisions, dead channel picker, invisible buttons, broken sorting, memory leak, and more.
|
|
|
|
---
|
|
|
|
## Upgrade
|
|
|
|
```bash
|
|
docker stop <container-name> && docker rm <container-name>
|
|
docker pull ghcr.io/kpa-clawbot/corescope:v3.5.0
|
|
|
|
# HTTP only:
|
|
docker run -d --name corescope -p 80:80 -p 1883:1883 \
|
|
-v /your/data:/app/data \
|
|
ghcr.io/kpa-clawbot/corescope:v3.5.0
|
|
|
|
# With HTTPS (custom domain):
|
|
docker run -d --name corescope -p 80:80 -p 443:443 -p 1883:1883 \
|
|
-v /your/data:/app/data \
|
|
-v /your/Caddyfile:/etc/caddy/Caddyfile:ro \
|
|
-v /your/caddy-data:/data/caddy \
|
|
ghcr.io/kpa-clawbot/corescope:v3.5.0
|
|
```
|
|
|
|
First start backfills `resolved_path` in the background. No downtime. No breaking changes.
|