secubox-openwrt/package/secubox/luci-app-wireguard-dashboard/root/usr/share/rpcd/acl.d/luci-app-wireguard-dashboard.json
CyberMind-FR 29d309649e feat(wireguard): Implement Reverse MWAN WireGuard v2 Phase 1
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>
2026-03-01 15:43:17 +01:00

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" ]
}
}
}