secubox-openwrt/luci-app-network-modes
2025-12-23 18:53:18 +01:00
..
.github/workflows fix: hope modules refresh 2025-12-23 18:53:18 +01:00
htdocs/luci-static/resources fix: hope modules refresh 2025-12-23 18:53:18 +01:00
root fix: hope modules refresh 2025-12-23 18:53:18 +01:00
Makefile fix: hope modules refresh 2025-12-23 18:53:18 +01:00
README.md fix: hope modules refresh 2025-12-23 18:53:18 +01:00

LuCI Network Modes Dashboard

Version License OpenWrt

Configure your OpenWrt router for different network operation modes with a modern, intuitive interface.

Dashboard Preview

🎯 Network Modes

🔍 Sniffer / Passthrough Mode

Transparent Ethernet bridge without IP address for passive network analysis.

  • Bridge mode without IP configuration
  • Promiscuous mode for all traffic capture
  • Netifyd integration for Deep Packet Inspection
  • Perfect for network forensics and traffic analysis

📶 Access Point Mode

WiFi access point with advanced optimizations.

  • 802.11r Fast BSS Transition (roaming)
  • 802.11k Radio Resource Management
  • 802.11v BSS Transition Management
  • Band Steering (prefer 5GHz)
  • Beamforming support
  • Channel and TX power configuration

🔄 Relay / Extender Mode

Network relay with WireGuard optimization.

  • Relayd bridge for network extension
  • WireGuard VPN integration
  • MTU optimization for tunnels
  • MSS clamping for TCP
  • TCP BBR congestion control

🌐 Router Mode

Full router with WAN, proxy and HTTPS frontends.

  • WAN protocols: DHCP, Static, PPPoE, L2TP
  • NAT/Masquerade with firewall
  • Web Proxy: Squid, TinyProxy, Privoxy
  • Transparent proxy option
  • DNS over HTTPS support
  • HTTPS Reverse Proxy: Nginx, HAProxy, Caddy
  • Multiple virtual hosts with Let's Encrypt

Features

  • 🎛️ One-click mode switching with backup
  • 📊 Real-time interface and service status
  • Optimized configurations per mode
  • 🔐 Secure settings management
  • 📱 Responsive design
  • 🎨 Modern dark theme

Installation

Prerequisites

  • OpenWrt 21.02 or later
  • LuCI web interface

From Source

cd ~/openwrt/feeds/luci/applications/
git clone https://github.com/gkerma/luci-app-network-modes.git

cd ~/openwrt
./scripts/feeds update -a && ./scripts/feeds install -a
make menuconfig  # LuCI > Applications > luci-app-network-modes
make package/luci-app-network-modes/compile V=s

Manual Installation

scp luci-app-network-modes_*.ipk root@192.168.1.1:/tmp/
ssh root@192.168.1.1 "opkg install /tmp/luci-app-network-modes_*.ipk"
/etc/init.d/rpcd restart

Access

Network → Network Modes

Mode-Specific Dependencies

Sniffer Mode

opkg install netifyd

Access Point Mode

opkg install hostapd-openssl  # For WPA3/802.11r

Relay Mode

opkg install relayd wireguard-tools

Router Mode

# Proxy
opkg install squid  # or tinyproxy, privoxy

# Reverse Proxy
opkg install nginx-ssl  # or haproxy

# Let's Encrypt
opkg install acme acme-dnsapi

Architecture

┌─────────────────────────────────────────────────────────┐
│                    LuCI JavaScript                       │
│  (overview.js, sniffer.js, accesspoint.js, relay.js,    │
│                      router.js)                          │
└───────────────────────────┬─────────────────────────────┘
                            │ ubus RPC
                            ▼
┌─────────────────────────────────────────────────────────┐
│                    RPCD Backend                          │
│             /usr/libexec/rpcd/network-modes             │
└───────────────────────────┬─────────────────────────────┘
                            │ UCI / Shell
                            ▼
┌─────────────────────────────────────────────────────────┐
│              OpenWrt Configuration                       │
│     /etc/config/network, wireless, firewall, dhcp       │
└─────────────────────────────────────────────────────────┘

API Methods

Method Description
status Current mode, interfaces, services status
modes List all modes with configurations
sniffer_config Sniffer mode settings
ap_config Access Point mode settings
relay_config Relay mode settings
router_config Router mode settings
apply_mode Switch to a different mode
update_settings Update mode-specific settings
add_vhost Add virtual host (router mode)
generate_config Generate config preview

Configuration File

Settings are stored in /etc/config/network-modes:

config network-modes 'config'
    option current_mode 'router'
    option last_change '2024-12-19 15:30:00'
    option backup_config '1'

config mode 'sniffer'
    option bridge_interface 'br-lan'
    option netifyd_enabled '1'
    option promiscuous '1'

config mode 'accesspoint'
    option wifi_channel 'auto'
    option wifi_htmode 'VHT80'
    option wifi_txpower '20'
    option roaming_enabled '1'

config mode 'relay'
    option wireguard_enabled '1'
    option mtu_optimization '1'
    option mss_clamping '1'

config mode 'router'
    option wan_protocol 'dhcp'
    option nat_enabled '1'
    option firewall_enabled '1'
    option proxy_enabled '0'
    option https_frontend '0'

Security

  • Mode switching creates automatic backups
  • Private keys never exposed via API
  • ACL-based access control
  • Firewall auto-configuration

Screenshots

Overview

Overview

Access Point Settings

Access Point

Router with Virtual Hosts

Router

Contributing

Contributions welcome! Please submit issues and pull requests.

License

Apache License 2.0 - See LICENSE

Credits


Made with ⚙️ for flexible networking