mirror of
https://github.com/gethomepage/homepage.git
synced 2025-12-07 09:35:54 -08:00
move minecraft proxy & use url key
This commit is contained in:
28
src/widgets/minecraft/proxy.js
Normal file
28
src/widgets/minecraft/proxy.js
Normal file
@@ -0,0 +1,28 @@
|
||||
import { pingWithPromise } from "minecraft-ping-js";
|
||||
|
||||
import createLogger from "utils/logger";
|
||||
import getServiceWidget from "utils/config/service-helpers";
|
||||
|
||||
const proxyName = "minecraftProxyHandler";
|
||||
const logger = createLogger(proxyName);
|
||||
|
||||
export default async function minecraftProxyHandler(req, res) {
|
||||
const { group, service } = req.query;
|
||||
const serviceWidget = await getServiceWidget(group, service);
|
||||
const url = new URL(serviceWidget.url);
|
||||
try {
|
||||
const pingResponse = await pingWithPromise(url.hostname, url.port || 25565);
|
||||
res.status(200).send({
|
||||
version: pingResponse.version.name,
|
||||
online: true,
|
||||
players: pingResponse.players
|
||||
});
|
||||
} catch (e) {
|
||||
logger.error(e);
|
||||
res.status(200).send({
|
||||
version: undefined,
|
||||
online: false,
|
||||
players: undefined
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
import minecraftProxyHandler from "utils/proxy/handlers/minecraft";
|
||||
import minecraftProxyHandler from "./proxy";
|
||||
|
||||
const widget = {
|
||||
proxyHandler: minecraftProxyHandler
|
||||
|
||||
Reference in New Issue
Block a user