- Go application with embedded static files for dump1090 frontend - TCP client for SBS-1/BaseStation format (port 30003) - Real-time WebSocket updates with aircraft tracking - Modern web frontend with Leaflet maps and mobile-responsive design - Aircraft table with filtering/sorting and statistics dashboard - Origin configuration for receiver location and distance calculations - Automatic config.json loading from current directory - Foreground execution by default with optional -daemon flag 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
3.3 KiB
3.3 KiB
SkyView - ADS-B Aircraft Tracker
A modern web frontend for dump1090 ADS-B data with real-time aircraft tracking, statistics, and mobile-responsive design.
Features
- Real-time Aircraft Tracking: Live map with aircraft positions and flight paths
- Interactive Map: Leaflet-based map with aircraft markers and optional trails
- Aircraft Table: Sortable and filterable table view with detailed aircraft information
- Statistics Dashboard: Real-time statistics and charts for signal strength, aircraft counts
- WebSocket Updates: Real-time data updates without polling
- Mobile Responsive: Optimized for desktop, tablet, and mobile devices
- Single Binary: Embedded static files for easy deployment
Configuration
Environment Variables
SKYVIEW_ADDRESS: Server listen address (default: ":8080")SKYVIEW_PORT: Server port (default: 8080)DUMP1090_HOST: dump1090 host address (default: "localhost")DUMP1090_DATA_PORT: dump1090 SBS-1 data port (default: 30003)ORIGIN_LATITUDE: Receiver latitude for distance calculations (default: 37.7749)ORIGIN_LONGITUDE: Receiver longitude for distance calculations (default: -122.4194)ORIGIN_NAME: Name/description of receiver location (default: "Default Location")SKYVIEW_CONFIG: Path to JSON configuration file
Configuration File
SkyView automatically loads config.json from the current directory, or you can specify a path with SKYVIEW_CONFIG.
Create a config.json file (see config.json.example):
{
"server": {
"address": ":8080",
"port": 8080
},
"dump1090": {
"host": "192.168.1.100",
"data_port": 30003
}
}
Data Source
SkyView uses SBS-1/BaseStation format (Port 30003) which provides decoded aircraft information including:
- Aircraft position (latitude/longitude)
- Altitude, ground speed, vertical rate
- Flight number/callsign
- Squawk code and emergency status
Building and Running
Build
go build -o skyview .
Run
# Foreground (default) - Press Ctrl+C to stop
DUMP1090_HOST=192.168.1.100 ./skyview
# Daemon mode (background process)
DUMP1090_HOST=192.168.1.100 ./skyview -daemon
# With custom origin location
DUMP1090_HOST=192.168.1.100 ORIGIN_LATITUDE=59.3293 ORIGIN_LONGITUDE=18.0686 ORIGIN_NAME="Stockholm" ./skyview
# Using config file
SKYVIEW_CONFIG=config.json ./skyview
# Default (localhost:30003)
./skyview
Development
go run main.go
Usage
- Start your dump1090 instance
- Configure SkyView to point to your dump1090 host
- Run SkyView
- Open your browser to
http://localhost:8080
API Endpoints
GET /: Main web interfaceGET /api/aircraft: Aircraft data (parsed from dump1090 TCP stream)GET /api/stats: Statistics data (calculated from aircraft data)GET /ws: WebSocket endpoint for real-time updates
Data Sources
SkyView connects to dump1090's SBS-1/BaseStation format via TCP port 30003 to receive decoded aircraft data in real-time.
The application maintains an in-memory aircraft database with automatic cleanup of stale aircraft (older than 2 minutes).
Views
- Map View: Interactive map with aircraft positions and trails
- Table View: Sortable table with aircraft details and search
- Stats View: Dashboard with real-time statistics and charts