WireGuard mesh peers as backup internet uplinks via mwan3 failover.
CLI (wgctl) uplink commands:
- uplink list/add/remove/status/test - Manage peer uplinks
- uplink failover enable/disable - Toggle automatic failover
- uplink priority/offer/withdraw - Priority and mesh advertising
Uplink Library (/usr/lib/wireguard-dashboard/uplink.sh):
- Gossip protocol integration via secubox-p2p
- WireGuard interface creation with IP allocation (172.31.x.x/16)
- mwan3 failover integration
- Connectivity testing and latency measurement
RPCD Backend (9 new methods):
- Read: uplink_status, uplinks
- Write: add_uplink, remove_uplink, test_uplink, offer_uplink,
withdraw_uplink, set_uplink_priority, set_uplink_failover
UCI Config (/etc/config/wireguard_uplink):
- Global settings: auto_failover, failover_threshold, ping_interval
- Provider settings: offering state, bandwidth/latency advertisement
- Per-uplink config: interface, peer_pubkey, endpoint, priority
Phase 2 pending: LuCI dashboard integration
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
58 lines
1.3 KiB
JSON
58 lines
1.3 KiB
JSON
{
|
|
"luci-app-wireguard-dashboard": {
|
|
"description": "Grant access to LuCI WireGuard Dashboard",
|
|
"read": {
|
|
"ubus": {
|
|
"luci.wireguard-dashboard": [
|
|
"status",
|
|
"interfaces",
|
|
"peers",
|
|
"config",
|
|
"traffic",
|
|
"peer_descriptions",
|
|
"bandwidth_rates",
|
|
"bandwidth_history",
|
|
"endpoint_info",
|
|
"get_endpoints",
|
|
"uplink_status",
|
|
"uplinks"
|
|
],
|
|
"system": [ "info", "board" ],
|
|
"file": [ "read", "stat", "exec" ]
|
|
},
|
|
"uci": [ "network", "wireguard_dashboard", "wireguard_uplink", "mwan3" ],
|
|
"file": {
|
|
"/etc/config/network": [ "read" ],
|
|
"/etc/config/wireguard_dashboard": [ "read" ],
|
|
"/etc/config/wireguard_uplink": [ "read" ],
|
|
"/usr/bin/wg": [ "exec" ]
|
|
}
|
|
},
|
|
"write": {
|
|
"ubus": {
|
|
"luci.wireguard-dashboard": [
|
|
"generate_keys",
|
|
"create_interface",
|
|
"add_peer",
|
|
"remove_peer",
|
|
"generate_config",
|
|
"generate_qr",
|
|
"interface_control",
|
|
"ping_peer",
|
|
"set_endpoint",
|
|
"set_default_endpoint",
|
|
"delete_endpoint",
|
|
"add_uplink",
|
|
"remove_uplink",
|
|
"test_uplink",
|
|
"offer_uplink",
|
|
"withdraw_uplink",
|
|
"set_uplink_priority",
|
|
"set_uplink_failover"
|
|
]
|
|
},
|
|
"uci": [ "wireguard_dashboard", "network", "wireguard_uplink", "mwan3" ]
|
|
}
|
|
}
|
|
}
|