Dan Geraghty 86740c6d7b
Feature: OpenWRT service widget (#2782)
* Feat: OpenWRT widget implementation

* Update proxy.js

* fixes from review

---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2024-01-29 12:33:31 -08:00

1.5 KiB

title, description
title description
OpenWRT OpenWRT widget configuration

Learn more about OpenWRT.

Provides information from OpenWRT

widget:
  type: openwrt
  url: http://host.or.ip
  username: homepage
  password: pass
  interfaceName: eth0 # optional

Interface

Setting interfaceName (e.g. eth0) will display information for that particular device, otherwise the widget will display general system info.

Authorization

In order for homepage to access the OpenWRT RPC endpoints you will need to create an ACL and new user in OpenWRT.

Create an ACL named homepage.json in /usr/share/rpcd/acl.d/, the following permissions will suffice:

{
        "homepage": {
                "description": "Homepage widget",
                "read": {
                        "ubus": {
                                "network.interface.wan": ["status"],
                                "network.interface.lan": ["status"],
                                "network.device": ["status"]
                                "system": ["info"]
                        }
                },
        }
}

Then add a user that will use that ACL in /etc/config/rpc:

        option username 'homepage'
        option password '<password>'
        list read homepage
        list write '*'

This username and password will be used in Homepage's services.yaml to grant access.