βββββββ βββββββ βββ βββββββββββββββββββββββ ββββββββββββ βββββββββββ
ββββββββββββββββββββ βββββββββββββββββββββββ βββββββββββββ βββββββββββ
βββββββββββ ββββββ βββ βββ ββββββ βββ ββββββ ββββββ βββββββββββ
βββββββββββ ββββββ βββ βββ ββββββ βββ ββββββ ββββββββββββββββββ
ββββββββββββββββββββββββββ βββ βββββββββββββββββββββββββββ ββββββββββββββ
βββββββ βββββββ βββββββ βββ βββββββββββββββββββββββββββ βββββββββββββ
π¨π³ δΈζζζ‘£
π°οΈ RouteLens

Introduction
RouteLens is a modern, agentless network observability platform that traces paths, measures latency/loss/bandwidth, and visualizes routes end-to-end.
β¨ Features
- π Auto GeoIP Injection: GeoIP is downloaded automatically from the P3TERX mirror and injected into hop data.
- β‘ True Latency Mode: MTR last-hop analysis ensures accurate target latency and loss.
- π¨ Modern UI: Ant Design v5 with a dark mode algorithm.
- π Historical Metrics: Time-series trend charts for latency, loss, and speed.
- π¦ Single Binary: One-file deployment with systemd support.
π Architecture
flowchart LR
A["Scheduler"] --> B["MTR (JSON)"]
B --> C["Analyzer (Last Hop)"]
C --> D["SQLite"]
E["Bootstrapper"] --> F["GeoIP Downloader (P3TERX)"]
G["Gin API"] --> H["React App (AntD v5)"]
π Quick Start
Binary Install (Recommended)
wget https://github.com/yuanweize/RouteLens/releases/latest/download/routelens_linux
chmod +x routelens_linux
./routelens_linux service install --port 8080
Open http://localhost:8080 β /setup to initialize admin. GeoIP will be downloaded automatically on first run.
Docker Compose
version: '3.8'
services:
routelens:
image: ghcr.io/yuanweize/routelens:latest
container_name: routelens
cap_add:
- NET_RAW
ports:
- "8080:8080"
volumes:
- ./data:/data
restart: unless-stopped
βοΈ Configuration
| Env |
Description |
Default |
| RS_PORT |
HTTP port (alias) |
8080 |
| RS_HTTP_PORT |
HTTP bind address |
:8080 |
| RS_DB_PATH |
SQLite path |
./data/routelens.db |
| RS_JWT_SECRET |
JWT secret |
auto-generated |
| RS_GEOIP_PATH |
GeoIP dir |
./data/geoip |
| RS_GEOIP_CITY_DB |
GeoIP City DB |
empty |
| RS_GEOIP_ISP_DB |
GeoIP ISP DB |
empty |
| RS_PROBE_INTERVAL |
Probe interval (seconds) |
30 |
π Directory Structure
.
βββ cmd/ # Entrypoints
βββ internal/ # API, monitor, auth
βββ pkg/ # Prober, storage, geoip
βββ web/ # React frontend (Vite)
License
MIT. See LICENSE.