fix for scripts

This commit is contained in:
onysd 2026-07-24 02:44:59 +03:00
parent f22a568832
commit 7349e0ae68
2 changed files with 111 additions and 24 deletions

View file

@ -8,6 +8,7 @@ set "IP_FILE=.public_ip"
set "PREFIX_FILE=.link_prefix"
set "SECRETS_FILE=.secrets"
set "COMPOSE_FILE=deploy\docker-compose.yml"
set "LOG_DIR=logs"
set "NO_BUILD=false"
:parse_args
@ -205,11 +206,15 @@ rem --- Start servers ----------------------------------------------------------
echo.
echo == [4/4] Starting telesrv + telesrv-admin ==
start "telesrv" /B bin\telesrv.exe
echo [ok] telesrv started
if not exist "%LOG_DIR%" mkdir "%LOG_DIR%"
set "TELESRV_LOG=%LOG_DIR%\telesrv.log"
set "ADMIN_LOG=%LOG_DIR%\telesrv-admin.log"
start "telesrv-admin" /B bin\telesrv-admin.exe
echo [ok] telesrv-admin started
start "telesrv" /B cmd /c "bin\telesrv.exe >> "%TELESRV_LOG%" 2>&1"
echo [ok] telesrv started, logs -^> %TELESRV_LOG%
start "telesrv-admin" /B cmd /c "bin\telesrv-admin.exe >> "%ADMIN_LOG%" 2>&1"
echo [ok] telesrv-admin started, logs -^> %ADMIN_LOG%
echo.
echo ============================================
@ -222,13 +227,57 @@ echo Admin API: http://127.0.0.1:2399
echo.
echo Admin login password: !ADMIN_PASSWORD!
echo.
echo Ports to open in firewall:
echo TCP 2398 - MTProto (login / chats / media)
echo TCP 12400 - TURN/STUN control (calls)
echo UDP 12500-12999 - TURN media relay (calls)
echo UDP 12399 - SFU group calls
echo TCP 2400 - RTMP livestream ingest
echo Logs:
echo telesrv: type %TELESRV_LOG%
echo telesrv-admin: type %ADMIN_LOG%
echo.
echo ============================================
rem --- Interactive menu ------------------------------------------------------
:menu
echo.
echo [1] View telesrv logs (last 50 lines)
echo [2] View telesrv-admin logs (last 50 lines)
echo [3] View both logs (last 50 lines)
echo [4] Follow telesrv logs (live)
echo [5] Follow telesrv-admin logs (live)
echo [q] Stop server and exit
echo.
set /p "choice= Choice: "
if "!choice!"=="1" (
powershell -NoProfile -Command "Get-Content '%TELESRV_LOG%' -Tail 50 -ErrorAction SilentlyContinue"
goto menu
)
if "!choice!"=="2" (
powershell -NoProfile -Command "Get-Content '%ADMIN_LOG%' -Tail 50 -ErrorAction SilentlyContinue"
goto menu
)
if "!choice!"=="3" (
echo --- telesrv ---
powershell -NoProfile -Command "Get-Content '%TELESRV_LOG%' -Tail 50 -ErrorAction SilentlyContinue"
echo --- telesrv-admin ---
powershell -NoProfile -Command "Get-Content '%ADMIN_LOG%' -Tail 50 -ErrorAction SilentlyContinue"
goto menu
)
if "!choice!"=="4" (
echo Press Ctrl+C to stop following
powershell -NoProfile -Command "Get-Content '%TELESRV_LOG%' -Wait -Tail 10"
goto menu
)
if "!choice!"=="5" (
echo Press Ctrl+C to stop following
powershell -NoProfile -Command "Get-Content '%ADMIN_LOG%' -Wait -Tail 10"
goto menu
)
if /i "!choice!"=="q" goto stop_server
echo Invalid choice
goto menu
:stop_server
echo.
echo [stop] stopping telesrv and telesrv-admin ...
taskkill /FI "WINDOWTITLE eq telesrv*" /F >nul 2>&1
taskkill /FI "WINDOWTITLE eq telesrv-admin*" /F >nul 2>&1
echo [ok] stopped.
exit /b 0

View file

@ -8,6 +8,7 @@ IP_FILE=".public_ip"
PREFIX_FILE=".link_prefix"
SECRETS_FILE=".secrets"
COMPOSE_FILE="deploy/docker-compose.yml"
LOG_DIR="logs"
NO_BUILD=false
for arg in "$@"; do
@ -163,6 +164,10 @@ fi
# --- Start servers ----------------------------------------------------------
step "[4/4] Starting telesrv + telesrv-admin"
mkdir -p "$LOG_DIR"
TELESRV_LOG="$LOG_DIR/telesrv.log"
ADMIN_LOG="$LOG_DIR/telesrv-admin.log"
cleanup() {
echo
echo "[stop] stopping telesrv and telesrv-admin ..."
@ -177,16 +182,16 @@ trap cleanup EXIT INT TERM
# Start telesrv (main server)
BIN="./bin/telesrv"
[[ -f "bin/telesrv.exe" ]] && BIN="./bin/telesrv.exe"
$BIN &
$BIN >>"$TELESRV_LOG" 2>&1 &
TELESRV_PID=$!
echo "[ok] telesrv started (PID ${TELESRV_PID})"
echo "[ok] telesrv started (PID ${TELESRV_PID}), logs -> ${TELESRV_LOG}"
# Start telesrv-admin (admin panel)
ADMIN_BIN="./bin/telesrv-admin"
[[ -f "bin/telesrv-admin.exe" ]] && ADMIN_BIN="./bin/telesrv-admin.exe"
$ADMIN_BIN &
$ADMIN_BIN >>"$ADMIN_LOG" 2>&1 &
ADMIN_PID=$!
echo "[ok] telesrv-admin started (PID ${ADMIN_PID})"
echo "[ok] telesrv-admin started (PID ${ADMIN_PID}), logs -> ${ADMIN_LOG}"
echo
echo "============================================"
@ -199,15 +204,48 @@ echo " Admin API: http://127.0.0.1:2399"
echo ""
echo " Admin login password: ${ADMIN_PASSWORD}"
echo ""
echo " Ports to open in firewall:"
echo " TCP 2398 - MTProto (login / chats / media)"
echo " TCP 12400 - TURN/STUN control (calls)"
echo " UDP 12500-12999 - TURN media relay (calls)"
echo " UDP 12399 - SFU group calls"
echo " TCP 2400 - RTMP livestream ingest"
echo ""
echo " Press Ctrl+C to stop."
echo " Logs:"
echo " telesrv: tail -f ${TELESRV_LOG}"
echo " telesrv-admin: tail -f ${ADMIN_LOG}"
echo "============================================"
wait "$TELESRV_PID" 2>/dev/null || true
wait "$ADMIN_PID" 2>/dev/null || true
# --- Interactive menu -------------------------------------------------------
show_menu() {
echo
echo " [1] View telesrv logs (last 50 lines)"
echo " [2] View telesrv-admin logs (last 50 lines)"
echo " [3] View both logs (last 50 lines)"
echo " [4] Tail telesrv logs (live)"
echo " [5] Tail telesrv-admin logs (live)"
echo " [q] Stop server and exit"
echo
}
while true; do
# Check if processes are still alive
if ! kill -0 "$TELESRV_PID" 2>/dev/null; then
echo "[WARN] telesrv (PID ${TELESRV_PID}) exited unexpectedly"
echo " Check ${TELESRV_LOG} for details"
kill "$ADMIN_PID" 2>/dev/null || true
break
fi
if ! kill -0 "$ADMIN_PID" 2>/dev/null; then
echo "[WARN] telesrv-admin (PID ${ADMIN_PID}) exited unexpectedly"
echo " Check ${ADMIN_LOG} for details"
kill "$TELESRV_PID" 2>/dev/null || true
break
fi
show_menu
read -rp " Choice: " choice
case "$choice" in
1) tail -n 50 "$TELESRV_LOG" 2>/dev/null || echo " (no logs yet)" ;;
2) tail -n 50 "$ADMIN_LOG" 2>/dev/null || echo " (no logs yet)" ;;
3) echo " --- telesrv ---" ; tail -n 50 "$TELESRV_LOG" 2>/dev/null || echo " (no logs yet)"
echo " --- telesrv-admin ---" ; tail -n 50 "$ADMIN_LOG" 2>/dev/null || echo " (no logs yet)" ;;
4) echo " Press Ctrl+C to stop tailing"; tail -f "$TELESRV_LOG" ;;
5) echo " Press Ctrl+C to stop tailing"; tail -f "$ADMIN_LOG" ;;
q|Q) break ;;
*) echo " Invalid choice" ;;
esac
done