mirror of
https://github.com/gethomepage/homepage.git
synced 2025-07-09 03:04:18 -04:00
Enhancement: support breaking changes in wg-easy v15 (#5343)
This commit is contained in:
parent
35be5559b3
commit
524cb7695c
@ -11,10 +11,17 @@ Note: by default `["connected", "enabled", "total"]` are displayed.
|
|||||||
|
|
||||||
To detect if a device is connected the time since the last handshake is queried. `threshold` is the time to wait in minutes since the last handshake to consider a device connected. Default is 2 minutes.
|
To detect if a device is connected the time since the last handshake is queried. `threshold` is the time to wait in minutes since the last handshake to consider a device connected. Default is 2 minutes.
|
||||||
|
|
||||||
|
| Wg-Easy API Version | Homepage Widget Version |
|
||||||
|
| ------------------- | ----------------------- |
|
||||||
|
| < v15 | 1 (default) |
|
||||||
|
| >= v15 | 2 |
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
widget:
|
widget:
|
||||||
type: wgeasy
|
type: wgeasy
|
||||||
url: http://wg.easy.or.ip
|
url: http://wg.easy.or.ip
|
||||||
|
version: 2 # optional, default is 1
|
||||||
|
username: yourwgusername # required for v15 and above
|
||||||
password: yourwgeasypassword
|
password: yourwgeasypassword
|
||||||
threshold: 2 # optional
|
threshold: 2 # optional
|
||||||
```
|
```
|
||||||
|
@ -497,7 +497,9 @@ export function cleanServiceGroups(groups) {
|
|||||||
if (snapshotHost) widget.snapshotHost = snapshotHost;
|
if (snapshotHost) widget.snapshotHost = snapshotHost;
|
||||||
if (snapshotPath) widget.snapshotPath = snapshotPath;
|
if (snapshotPath) widget.snapshotPath = snapshotPath;
|
||||||
}
|
}
|
||||||
if (["beszel", "glances", "immich", "komga", "mealie", "pfsense", "pihole", "speedtest"].includes(type)) {
|
if (
|
||||||
|
["beszel", "glances", "immich", "komga", "mealie", "pfsense", "pihole", "speedtest", "wgeasy"].includes(type)
|
||||||
|
) {
|
||||||
if (version) widget.version = parseInt(version, 10);
|
if (version) widget.version = parseInt(version, 10);
|
||||||
}
|
}
|
||||||
if (type === "glances") {
|
if (type === "glances") {
|
||||||
|
@ -101,7 +101,11 @@ export default async function credentialedProxyHandler(req, res, map) {
|
|||||||
headers.Cookie = `authenticated=${widget.key}`;
|
headers.Cookie = `authenticated=${widget.key}`;
|
||||||
}
|
}
|
||||||
} else if (widget.type === "wgeasy") {
|
} else if (widget.type === "wgeasy") {
|
||||||
headers.Authorization = widget.password;
|
if (widget.username && widget.password) {
|
||||||
|
headers.Authorization = `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}`;
|
||||||
|
} else {
|
||||||
|
headers.Authorization = widget.password;
|
||||||
|
}
|
||||||
} else if (widget.type === "gitlab") {
|
} else if (widget.type === "gitlab") {
|
||||||
headers["PRIVATE-TOKEN"] = widget.key;
|
headers["PRIVATE-TOKEN"] = widget.key;
|
||||||
} else if (widget.type === "speedtest") {
|
} else if (widget.type === "speedtest") {
|
||||||
|
@ -6,7 +6,9 @@ import useWidgetAPI from "utils/proxy/use-widget-api";
|
|||||||
export default function Component({ service }) {
|
export default function Component({ service }) {
|
||||||
const { widget } = service;
|
const { widget } = service;
|
||||||
|
|
||||||
const { data: infoData, error: infoError } = useWidgetAPI(widget, "client");
|
const endpoint = widget.version === 2 ? "clientv2" : "client";
|
||||||
|
|
||||||
|
const { data: infoData, error: infoError } = useWidgetAPI(widget, endpoint);
|
||||||
|
|
||||||
if (!widget.fields) {
|
if (!widget.fields) {
|
||||||
widget.fields = ["connected", "enabled", "total"];
|
widget.fields = ["connected", "enabled", "total"];
|
||||||
|
@ -8,6 +8,9 @@ const widget = {
|
|||||||
client: {
|
client: {
|
||||||
endpoint: "wireguard/client",
|
endpoint: "wireguard/client",
|
||||||
},
|
},
|
||||||
|
clientv2: {
|
||||||
|
endpoint: "client",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user