mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2025-12-23 06:42:41 +00:00
Compare commits
6 commits
e9757350f3
...
b8dc7b2c71
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b8dc7b2c71 | ||
|
|
64d2f15be2 | ||
|
|
dd1beaaaba | ||
|
|
e301c15cef | ||
|
|
5bd52eff0c | ||
|
|
8cadbb9057 |
3 changed files with 20 additions and 22 deletions
|
|
@ -1,19 +1,22 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
: "${MAX_GEODATA_DIR_WAIT:=30}"
|
||||||
|
: "${WAIT_INTERVAL:=10}"
|
||||||
|
: "${GEODATA_DIR:?GEODATA_DIR is required}"
|
||||||
|
|
||||||
FINISH_FILE="$GEODATA_DIR/cron-job-finished.txt"
|
FINISH_FILE="$GEODATA_DIR/cron-job-finished.txt"
|
||||||
|
|
||||||
MAX_WAIT=300 # 5 minutes
|
|
||||||
ELAPSED=0
|
ELAPSED=0
|
||||||
INTERVAL=10
|
|
||||||
|
|
||||||
while [ ! -f "$FINISH_FILE" ] && [ $ELAPSED -lt $MAX_WAIT ]; do
|
while [ ! -f "$FINISH_FILE" ] && [ "$ELAPSED" -lt "$MAX_GEODATA_DIR_WAIT" ]; do
|
||||||
echo "Still waiting for geodata initialization... ($ELAPSED/$MAX_WAIT seconds)"
|
echo "Waiting for geodata initialization... ($ELAPSED/$MAX_GEODATA_DIR_WAIT seconds)"
|
||||||
sleep $INTERVAL
|
sleep $WAIT_INTERVAL
|
||||||
ELAPSED=$((ELAPSED + INTERVAL))
|
ELAPSED=$((ELAPSED + WAIT_INTERVAL))
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ ! -f "$FINISH_FILE" ]; then
|
if [ ! -f "$FINISH_FILE" ]; then
|
||||||
echo "ERROR: Geodata initialization timed out after $MAX_WAIT seconds"
|
echo "ERROR: Geodata initialization timed out after $MAX_GEODATA_DIR_WAIT seconds"
|
||||||
echo "Container startup aborted."
|
echo "Container startup aborted."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,6 @@ RUN apk add --no-cache \
|
||||||
|
|
||||||
COPY xray-tools.sh entrypoint.sh cron-job-script.sh ./
|
COPY xray-tools.sh entrypoint.sh cron-job-script.sh ./
|
||||||
|
|
||||||
#RUN mkdir -p "$XRAY_BUILD_DIR"
|
|
||||||
RUN chmod +x /app/xray-tools.sh /app/entrypoint.sh /app/cron-job-script.sh \
|
RUN chmod +x /app/xray-tools.sh /app/entrypoint.sh /app/cron-job-script.sh \
|
||||||
&& mkdir -p "$XRAY_BUILD_DIR" \
|
&& mkdir -p "$XRAY_BUILD_DIR" \
|
||||||
&& ./xray-tools.sh install_xray_core "$TARGETARCH" "$XRAY_BUILD_DIR" "$XRAY_VERSION" \
|
&& ./xray-tools.sh install_xray_core "$TARGETARCH" "$XRAY_BUILD_DIR" "$XRAY_VERSION" \
|
||||||
|
|
|
||||||
|
|
@ -126,24 +126,20 @@ install_xray_core() {
|
||||||
# Validate the downloaded zip file
|
# Validate the downloaded zip file
|
||||||
if [ ! -f "Xray-linux-${ARCH}.zip" ] || [ ! -s "Xray-linux-${ARCH}.zip" ]; then
|
if [ ! -f "Xray-linux-${ARCH}.zip" ] || [ ! -s "Xray-linux-${ARCH}.zip" ]; then
|
||||||
echo "[ERR] Failed to download Xray-core zip or file is empty"
|
echo "[ERR] Failed to download Xray-core zip or file is empty"
|
||||||
cd "$OLD_DIR"
|
exit 1
|
||||||
return 1
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
unzip -q "Xray-linux-${ARCH}.zip" -d ./xray-unzip
|
unzip -q "Xray-linux-${ARCH}.zip" -d ./xray-unzip
|
||||||
|
|
||||||
# Validate the extracted xray binary
|
# Validate the extracted xray binary
|
||||||
if [ ! -f "./xray-unzip/xray" ] || [ ! -s "./xray-unzip/xray" ]; then
|
if [ -f "./xray-unzip/xray" ]; then
|
||||||
echo "[ERR] Failed to extract xray binary"
|
cp ./xray-unzip/xray ./"xray-linux-${FNAME}"
|
||||||
rm -rf ./xray-unzip
|
rm -r xray-unzip
|
||||||
rm -f "Xray-linux-${ARCH}.zip"
|
rm "Xray-linux-${ARCH}.zip"
|
||||||
cd "$OLD_DIR"
|
else
|
||||||
return 1
|
echo "[ERR] Failed to extract xray binary"
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cp ./xray-unzip/xray ./"xray-linux-${FNAME}"
|
|
||||||
rm -r xray-unzip
|
|
||||||
rm "Xray-linux-${ARCH}.zip"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ "${0##*/}" = "xray-tools.sh" ]; then
|
if [ "${0##*/}" = "xray-tools.sh" ]; then
|
||||||
|
|
@ -166,7 +162,7 @@ if [ "${0##*/}" = "xray-tools.sh" ]; then
|
||||||
echo "Usage:"
|
echo "Usage:"
|
||||||
echo " $0 install_xray_core TARGETARCH XRAYDIR XRAY_VERSION"
|
echo " $0 install_xray_core TARGETARCH XRAYDIR XRAY_VERSION"
|
||||||
echo " $0 update_geodata_in_docker XRAYDIR"
|
echo " $0 update_geodata_in_docker XRAYDIR"
|
||||||
exit 1
|
exit 0
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Unknown command: $cmd" >&2
|
echo "Unknown command: $cmd" >&2
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue