fix: fix my-mc command

This commit is contained in:
2025-05-27 23:57:57 -07:00
parent 4a7fbef176
commit 21b21ce73c
3 changed files with 29 additions and 22 deletions

View File

@@ -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" ]

View File

@@ -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);
})

34
run.sh
View File

@@ -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