diff --git a/docs/widgets.md b/docs/widgets.md index c2b7e3a5..a45a2591 100644 --- a/docs/widgets.md +++ b/docs/widgets.md @@ -55,6 +55,7 @@ Dashy has support for displaying dynamic content in the form of widgets. There a - [Nextcloud Stats](#nextcloud-stats) - [Nextcloud PHP Opcache](#nextcloud-php-opcache-stats) - [Sabnzbd](#sabnzbd) + - [Gluetun VPN Info](#gluetun-vpn-info) - **[System Resource Monitoring](#system-resource-monitoring)** - [CPU Usage Current](#current-cpu-usage) - [CPU Usage Per Core](#cpu-usage-per-core) @@ -1827,6 +1828,39 @@ Shows queue information regarding your self hosted Sabnzbd server. --- +### Gluetun VPN Info + +Display info from the Gluetun VPN container public IP API. This can show the IP and location data for the exit VPN node. + +

+ +##### Options + +**Field** | **Type** | **Required** | **Description** +--- | --- | --- | --- +**`visibleFields`** | `string` | Required | A comma separated list of the fields you want visible in the widget. You can have any number of the following : `public_ip`, `region`, `country`, `city`, `location`, `organisation`, `postal_code`, `timezone` +**`host`** | `string` | Required | The url to the gluetun HTTP control server. E.g. `http://gluetun:8000` + + +##### Example + + +```yaml +- type: gluetun-status + useProxy: true + options: + hostname: http://server-or-conatiner-hostname:8000 + visibleFields: public_ip,region,country,city,location,organisation,postal_code,timezone +``` +##### Info +- **CORS**: 🟠 Proxied +- **Auth**: 🟢 Required +- **Price**: 🟢 Free +- **Host**: Self-Hosted (see [Gluetun](https://github.com/qdm12/gluetun)) +- **Privacy**: _See [Gluetun Wiki](https://github.com/qdm12/gluetun/wiki)_ + +--- + ## System Resource Monitoring The easiest method for displaying system info and resource usage in Dashy is with [Glances](https://nicolargo.github.io/glances/). diff --git a/src/components/Widgets/GluetunStatus.vue b/src/components/Widgets/GluetunStatus.vue new file mode 100644 index 00000000..381265e6 --- /dev/null +++ b/src/components/Widgets/GluetunStatus.vue @@ -0,0 +1,100 @@ + + + + + diff --git a/src/components/Widgets/WidgetBase.vue b/src/components/Widgets/WidgetBase.vue index 567a4120..ecd7b536 100644 --- a/src/components/Widgets/WidgetBase.vue +++ b/src/components/Widgets/WidgetBase.vue @@ -77,6 +77,7 @@ const COMPAT = { 'gl-system-load': 'GlSystemLoad', 'gl-cpu-temp': 'GlCpuTemp', 'health-checks': 'HealthChecks', + 'gluetun-status': 'GluetunStatus', iframe: 'IframeWidget', image: 'ImageWidget', joke: 'Jokes',