From 21b21ce73cb5f2b11fc03bc52615a543912dea57 Mon Sep 17 00:00:00 2001 From: anaxios Date: Tue, 27 May 2025 23:57:57 -0700 Subject: [PATCH] fix: fix my-mc command --- Dockerfile | 11 ++++++----- fetch-my-mc-connector.js | 6 +++++- run.sh | 34 ++++++++++++++++++---------------- 3 files changed, 29 insertions(+), 22 deletions(-) diff --git a/Dockerfile b/Dockerfile index 06cfbcf..d694f20 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,14 @@ FROM node:lts-slim AS base +RUN npm install -g holesail@2.1.0 + +FROM base AS dev + WORKDIR / COPY run.sh . COPY fetch-my-mc-connector.js . RUN chmod +x run.sh -RUN npm install -g holesail@2.1.0 - -FROM base AS prod - ENV MODE=server ENV HOST=0.0.0.0 ENV PORT=8989 @@ -17,6 +17,7 @@ ENV USERNAME=admin ENV PASSWORD=admin ENV ROLE=user ENV KEY="" +ENV MY_MC_API_KEY="" #ENV FORCE "" -ENTRYPOINT [ "/run.sh" ] +CMD [ "/usr/bin/bash", "/run.sh" ] diff --git a/fetch-my-mc-connector.js b/fetch-my-mc-connector.js index 2a8245a..e461b80 100644 --- a/fetch-my-mc-connector.js +++ b/fetch-my-mc-connector.js @@ -9,5 +9,9 @@ const result = fetch('https://api.my-mc.link/my-hash',{ const r = await response.json(); if (r.success == true) { console.log(r.message); - } + } else { + throw new Error("failed to fetch holesail key"); + } + }).catch(err => { + throw Error(err); }) diff --git a/run.sh b/run.sh index bf441d7..986848a 100644 --- a/run.sh +++ b/run.sh @@ -25,8 +25,8 @@ success() { print "$GREEN" "$1" } -get_connector_my-mc() { - printf "$(node /fetch-my-mc-connector.js)\n" +get_connector_my_mc() { + KEY="$(/usr/local/bin/node /fetch-my-mc-connector.js)" } cmd_argument_builder () { @@ -61,7 +61,7 @@ cmd_argument_builder () { "my-mc") [[ "$PORT" ]] && args="$args --port $PORT"; [[ "$HOST" ]] && args="$args --host $HOST"; - [[ "$KEY" ]] && args="$args $(get_connector_my-mc)"; + [[ "$KEY" ]] && args="$args --connect $KEY"; [[ "$UDP" = "true" ]] && args="$args --udp"; ;; esac @@ -69,17 +69,10 @@ cmd_argument_builder () { printf "%s" "$args"; } -ARGS="$(cmd_argument_builder)" - -if [[ ! $ARGS ]]; then - error "Invalid Mode." - exit 1 -fi - # SIGUSR1-handler -# my_handler() { -# echo "my_handler" -# } +my_handler() { + echo "my_handler" +} term_handler() { if [ $pid -ne 0 ]; then @@ -89,17 +82,26 @@ term_handler() { exit 143; # 128 + 15 -- SIGTERM } + +if ! get_connector_my_mc; then exit 1; fi + +ARGS="$(cmd_argument_builder)" + +if [[ ! $ARGS ]]; then + error "Invalid Mode." + exit 1 +fi + # setup handlers # on callback, kill the last background process, which is `tail -f /dev/null` and execute the specified handler #trap 'kill ${!}; my_handler' SIGUSR1 trap 'kill ${!}; term_handler' SIGTERM SIGINT # run application -holesail $ARGS & +/usr/local/bin/holesail $ARGS & pid="$!" # wait forever -while true -do +while true; do tail -f /dev/null & wait ${!} done