Updated pasarguard script
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 34s
Check with kubeconform / lint (push) Successful in 24s
Auto-update README / Generate README and Create MR (push) Failing after 12m45s

This commit is contained in:
Ultradesu
2026-06-04 14:52:27 +03:00
parent 1212017945
commit 0a3430ea97
2 changed files with 53 additions and 24 deletions
+39 -16
View File
@@ -236,29 +236,52 @@ data:
cd /app
# Start main process in background
./main &
MAIN_PID=$!
write_xray_api_port() {
API_PORT="$1"
case "$API_PORT" in
""|*[!0-9]*)
return
;;
esac
# Start continuous port monitoring in background
{
sleep 10 # Wait for xray to start initially
LAST_PORT=""
CURRENT_PORT=""
if [ -f /shared/xray-api-port ]; then
CURRENT_PORT=$(cat /shared/xray-api-port)
fi
while true; do
API_PORT=$(netstat -tlpn | grep xray | grep 127.0.0.1 | awk '{print $4}' | cut -d: -f2 | head -1)
if [ -n "$API_PORT" ] && [ "$API_PORT" != "$LAST_PORT" ]; then
if [ "$API_PORT" != "$CURRENT_PORT" ]; then
echo "Found xray API port: $API_PORT"
echo -n "$API_PORT" > /shared/xray-api-port
LAST_PORT="$API_PORT"
fi
sleep 5 # Check every 5 seconds
}
LOG_PIPE="/tmp/pasarguard-main.log"
rm -f "$LOG_PIPE"
mkfifo "$LOG_PIPE"
# Capture main logs so the Xray API listener is not confused with Xray's metrics listener.
{
while IFS= read -r line; do
echo "$line"
case "$line" in
*"transport/internet/tcp: listening TCP on 127.0.0.1:"*)
API_PORT=$(echo "$line" | sed -n 's/.*listening TCP on 127\.0\.0\.1:\([0-9][0-9]*\).*/\1/p')
write_xray_api_port "$API_PORT"
;;
esac
done
} &
PORT_MONITOR_PID=$!
} < "$LOG_PIPE" &
LOG_READER_PID=$!
# Start main process in background
./main > "$LOG_PIPE" 2>&1 &
MAIN_PID=$!
# Wait for main process to finish
wait $MAIN_PID
MAIN_STATUS=$?
# Clean up port monitor
kill $PORT_MONITOR_PID 2>/dev/null
# Clean up log reader
wait $LOG_READER_PID 2>/dev/null
rm -f "$LOG_PIPE"
exit $MAIN_STATUS
+8 -2
View File
@@ -116,14 +116,20 @@ spec:
- name: metrics
containerPort: 9550
protocol: TCP
livenessProbe:
startupProbe:
httpGet:
path: /scrape
port: metrics
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 36
livenessProbe:
tcpSocket:
port: metrics
initialDelaySeconds: 60
periodSeconds: 30
timeoutSeconds: 10
failureThreshold: 3
failureThreshold: 6
readinessProbe:
httpGet:
path: /scrape