mirror of
https://github.com/karl0ss/homepage.git
synced 2025-05-03 05:53:40 +01:00
Fixhancement: add an option to fritzbox widget to display IPv6 (#4778)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
This commit is contained in:
parent
bcdd4a149b
commit
cf90312089
@ -13,7 +13,7 @@ Home Network > Network > Network Settings > Access Settings in the Home Network
|
||||
|
||||
Credentials are not needed and, as such, you may want to consider using `http` instead of `https` as those requests are significantly faster.
|
||||
|
||||
Allowed fields (limited to a max of 4): `["connectionStatus", "uptime", "maxDown", "maxUp", "down", "up", "received", "sent", "externalIPAddress"]`.
|
||||
Allowed fields (limited to a max of 4): `["connectionStatus", "uptime", "maxDown", "maxUp", "down", "up", "received", "sent", "externalIPAddress", "externalIPv6Address", "externalIPv6Prefix"]`.
|
||||
|
||||
```yaml
|
||||
widget:
|
||||
|
@ -148,7 +148,9 @@
|
||||
"up": "Up",
|
||||
"received": "Received",
|
||||
"sent": "Sent",
|
||||
"externalIPAddress": "Ext. IP"
|
||||
"externalIPAddress": "Ext. IP",
|
||||
"externalIPv6Address": "Ext. IPv6",
|
||||
"externalIPv6Prefix": "Ext. IPv6-Prefix"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
|
@ -37,6 +37,8 @@ export default function Component({ service }) {
|
||||
<Block label="fritzbox.received" />
|
||||
<Block label="fritzbox.sent" />
|
||||
<Block label="fritzbox.externalIPAddress" />
|
||||
<Block label="fritzbox.externalIPv6Address" />
|
||||
<Block label="fritzbox.externalIPv6Prefix" />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
@ -52,6 +54,8 @@ export default function Component({ service }) {
|
||||
<Block label="fritzbox.received" value={t("common.bytes", { value: fritzboxData.received })} />
|
||||
<Block label="fritzbox.sent" value={t("common.bytes", { value: fritzboxData.sent })} />
|
||||
<Block label="fritzbox.externalIPAddress" value={fritzboxData.externalIPAddress} />
|
||||
<Block label="fritzbox.externalIPv6Address" value={fritzboxData.externalIPv6Address} />
|
||||
<Block label="fritzbox.externalIPv6Prefix" value={fritzboxData.externalIPv6Prefix} />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
@ -70,14 +70,21 @@ export default async function fritzboxProxyHandler(req, res) {
|
||||
const requestLinkProperties = ["maxDown", "maxUp"].some((field) => serviceWidget.fields.includes(field));
|
||||
const requestAddonInfos = ["down", "up", "received", "sent"].some((field) => serviceWidget.fields.includes(field));
|
||||
const requestExternalIPAddress = ["externalIPAddress"].some((field) => serviceWidget.fields.includes(field));
|
||||
const requestExternalIPv6Address = ["externalIPv6Address"].some((field) => serviceWidget.fields.includes(field));
|
||||
const requestExternalIPv6Prefix = ["externalIPv6Prefix"].some((field) => serviceWidget.fields.includes(field));
|
||||
|
||||
await Promise.all([
|
||||
// as per http://fritz.box:49000/igddesc.xml specifications (fritz.box is a hostname of your router)
|
||||
requestStatusInfo ? requestEndpoint(apiBaseUrl, "WANIPConnection", "GetStatusInfo") : null,
|
||||
requestLinkProperties ? requestEndpoint(apiBaseUrl, "WANCommonInterfaceConfig", "GetCommonLinkProperties") : null,
|
||||
requestAddonInfos ? requestEndpoint(apiBaseUrl, "WANCommonInterfaceConfig", "GetAddonInfos") : null,
|
||||
requestExternalIPAddress ? requestEndpoint(apiBaseUrl, "WANIPConnection", "GetExternalIPAddress") : null,
|
||||
requestExternalIPv6Address
|
||||
? requestEndpoint(apiBaseUrl, "WANIPConnection", "X_AVM_DE_GetExternalIPv6Address")
|
||||
: null,
|
||||
requestExternalIPv6Prefix ? requestEndpoint(apiBaseUrl, "WANIPConnection", "X_AVM_DE_GetIPv6Prefix") : null,
|
||||
])
|
||||
.then(([statusInfo, linkProperties, addonInfos, externalIPAddress]) => {
|
||||
.then(([statusInfo, linkProperties, addonInfos, externalIPAddress, externalIPv6Address, externalIPv6Prefix]) => {
|
||||
res.status(200).json({
|
||||
connectionStatus: statusInfo?.NewConnectionStatus || "Unconfigured",
|
||||
uptime: statusInfo?.NewUptime || 0,
|
||||
@ -88,6 +95,8 @@ export default async function fritzboxProxyHandler(req, res) {
|
||||
received: addonInfos?.NewX_AVM_DE_TotalBytesReceived64 || 0,
|
||||
sent: addonInfos?.NewX_AVM_DE_TotalBytesSent64 || 0,
|
||||
externalIPAddress: externalIPAddress?.NewExternalIPAddress || null,
|
||||
externalIPv6Address: externalIPv6Address?.NewExternalIPv6Address || null,
|
||||
externalIPv6Prefix: externalIPv6Prefix?.NewIPv6Prefix || null,
|
||||
});
|
||||
})
|
||||
.catch((error) => {
|
||||
|
Loading…
x
Reference in New Issue
Block a user