Production-ready autonomous network failover with Starlink tracking and predictive analytics
Autonomy is a comprehensive network management system designed for RutOS routers that provides intelligent multi-interface failover with advanced predictive capabilities. The system combines real-time monitoring, machine learning-based predictions, and seamless integration with Starlink, cellular, Wi-Fi, and LAN connections.
⚠️ OpenWrt Compatibility: While built on OpenWrt foundations, Autonomy is specifically designed for RUTOS and relies on RUTOS-specific components. OpenWrt support is limited and experimental. See OpenWrt Support Status for details.
- Intelligent Auto-Discovery of network interfaces and mwan3 members
- Multi-Interface Support: Starlink, Cellular (multi-SIM), Wi-Fi STA/tethering, LAN
- Predictive Failover with health scoring and trend analysis
- Native Integration with UCI, ubus, procd, and mwan3
- Starlink Integration: Native gRPC client with obstruction prediction
- Cellular Intelligence: RSRP, RSRQ, SINR monitoring with OpenCellID geolocation
- Wi-Fi Optimization: Channel analysis and interference detection
- GPS Integration: Multi-source GPS with movement detection
- Watchdog System: Independent health monitoring and recovery
- Self-Healing: Automatic recovery from failures
- Security Auditing: Threat detection and prevention
- Performance Monitoring: Resource usage optimization
├── src/ # Source code
│ ├── c/ # C components
│ │ ├── starlink-tracking/ # Starlink tracking modules
│ │ ├── autonomy-daemon/ # Main autonomy daemon
│ │ ├── visualization-server/ # Web visualization server
│ │ └── shared/ # Shared libraries and headers
│ ├── web/ # Web UI components
│ │ ├── autonomy-ui/ # Main autonomy web interface
│ │ ├── starlink-viz/ # Starlink visualization
│ │ └── examples/ # VUCI examples
│ └── api/ # API components
│ ├── autonomy-api/ # Autonomy API (Lua/RPCD)
│ └── shared/ # Shared API utilities
├── build/ # Build system
│ ├── scripts/ # Build and deployment scripts
│ ├── configs/ # Build configurations
│ └── packages/ # Generated packages
├── docs/ # Documentation
│ ├── user-guides/ # User documentation
│ ├── tutorials/ # Setup and usage guides
│ ├── api-reference/ # API documentation
│ ├── developer-guides/ # Developer documentation
│ ├── deployment/ # Deployment guides
│ └── architecture/ # System architecture docs
├── tools/ # Development tools
└── archive/ # Archived/legacy files
- RutOS 7.17.1+ (RUTX series recommended)
- ARM Cortex-A7 architecture (RUTX50, RUTX11, etc.)
- Internet connection for satellite data
# Install dependencies
opkg update
opkg install libcurl libjson-c
# Install autonomy package
opkg install autonomy_*.ipk
# Start the service
/etc/init.d/autonomy start
/etc/init.d/autonomy enable# Check system status
ubus call autonomy status
# View network interfaces
ubus call autonomy interfaces
# Get Starlink predictions
ubus call starlink_tracker predictions
# Manual failover
ubus call autonomy switch '{"interface": "cellular"}'- Getting Started - Quick start guide
- Quick Setup - 5-minute setup reference
- Configuration Guide - Complete configuration
- API Integrations - External API setup
- User Guide - Complete user manual
- Starlink Tracking - Satellite tracking and prediction
- WiFi Optimization - WiFi channel optimization
- GPS System - Multi-source GPS and location
- Cellular Monitoring - Cellular signal optimization
- Predictive Failover - Understanding predictions
- Security Features - Security monitoring
- Troubleshooting - Common issues and solutions
- SDK Master Guide
- Configuration Reference - Complete UCI settings
- API Reference
- Architecture Documentation
- Development Setup
The system consists of three main components:
- C Core: High-performance monitoring and prediction engine
- Web UI: Vue.js-based management interface (VUCI)
- API Layer: Lua-based RPCD integration for system communication
See Contributing Guide for development setup and guidelines.
GPL v2 compatible with RutOS/OpenWrt ecosystem.
Status: ✅ Production Ready - Comprehensive testing completed on RUTX50 platform.