diff --git a/docs/widgets.md b/docs/widgets.md
index dbb85e76..f6e6c597 100644
--- a/docs/widgets.md
+++ b/docs/widgets.md
@@ -52,6 +52,7 @@ Dashy has support for displaying dynamic content in the form of widgets. There a
- [Disk IO](#disk-io)
- [System Load](#system-load)
- [System Load History](#system-load-history)
+ - [Network Interfaces](#network-interfaces)
- [Resource Usage Alerts](#resource-usage-alerts)
- **[Dynamic Widgets](#dynamic-widgets)**
- [Iframe Widget](#iframe-widget)
@@ -1355,11 +1356,27 @@ Shows recent historical system load, calculated from the number of processes wai
---
+### Network Interfaces
+
+Lists visible network interfaces, including real-time upload/ download stats
+
+

+
+##### Example
+
+```yaml
+- type: gl-network-interfaces
+ options:
+ hostname: http://192.168.130.2:61208
+```
+
+---
+
### Resource Usage Alerts
Lists recent high resource usage alerts (e.g. CPU, mem, IO, load, temp)
-
+
##### Example
diff --git a/src/components/Widgets/GlNetworkInterfaces.vue b/src/components/Widgets/GlNetworkInterfaces.vue
new file mode 100644
index 00000000..f19884e4
--- /dev/null
+++ b/src/components/Widgets/GlNetworkInterfaces.vue
@@ -0,0 +1,157 @@
+
+
+
+
+
{{ network.name }}
+
{{ network.speed | formatSpeed }}
+
+ {{ network.online }}
+
+
+
+
+ ↑ {{ network.currentUpload | formatDataSize }}
+
+ |
+
+ ↓ {{ network.currentDownload | formatDataSize }}
+
+
+
+ Total Up
+ {{ network.totalUpload | formatDataSize }}
+ |
+ Down
+ {{ network.totalDownload | formatDataSize }}
+
+
+
+
+
+
+
+
diff --git a/src/components/Widgets/WidgetBase.vue b/src/components/Widgets/WidgetBase.vue
index 3623ea1b..6e09bfdb 100644
--- a/src/components/Widgets/WidgetBase.vue
+++ b/src/components/Widgets/WidgetBase.vue
@@ -172,6 +172,13 @@
@error="handleError"
:ref="widgetRef"
/>
+
import('@/components/Widgets/GlLoadHistory.vue'),
GlMemGauge: () => import('@/components/Widgets/GlMemGauge.vue'),
GlMemHistory: () => import('@/components/Widgets/GlMemHistory.vue'),
+ GlNetworkInterfaces: () => import('@/components/Widgets/GlNetworkInterfaces.vue'),
GlSystemLoad: () => import('@/components/Widgets/GlSystemLoad.vue'),
HealthChecks: () => import('@/components/Widgets/HealthChecks.vue'),
IframeWidget: () => import('@/components/Widgets/IframeWidget.vue'),