| @echo off | |
| setlocal | |
| chcp 65001 >nul | |
| echo ======================================== | |
| echo 启动 KiroProxy 服务... | |
| echo ======================================== | |
| set PORT=6696 | |
| :: 设置数据库连接 (可选,留空则使用本地存储) | |
| :: 示例: mysql://user:password@db4free.net:3306/dbname | |
| :: 如果你已在系统环境变量中设置 DATABASE_URL,这里不会覆盖 | |
| if not defined DATABASE_URL set DATABASE_URL= | |
| :: 设置管理员密码 (可选,留空则不需要登录) | |
| :: 设置后访问管理面板需要输入密码 | |
| :: 如果你已在系统环境变量中设置 ADMIN_PASSWORD,这里不会覆盖 | |
| if not defined ADMIN_PASSWORD set ADMIN_PASSWORD= | |
| :: 查找 Python 命令(优先 python,其次 py -3) | |
| where python >nul 2>&1 | |
| if %errorlevel% equ 0 ( | |
| set PYTHON=python | |
| ) else ( | |
| where py >nul 2>&1 | |
| if %errorlevel% equ 0 ( | |
| set PYTHON=py -3 | |
| ) else ( | |
| echo 未找到 Python,请先安装 Python 并加入 PATH | |
| goto end | |
| ) | |
| ) | |
| echo [1/3] 正在启动服务... (PORT=%PORT%) | |
| start "" /B %PYTHON% run.py %PORT% | |
| echo [2/3] 等待服务就绪... | |
| set /a count=0 | |
| set /a max_attempts=30 | |
| :check_service | |
| set /a count+=1 | |
| echo 检查服务状态... (%count%/%max_attempts%) | |
| :: 使用 curl 检查服务是否可用 (如果没有curl则使用powershell) | |
| curl -s -o nul -w "%%{http_code}" http://127.0.0.1:%PORT% 2>nul | findstr "200" >nul | |
| if %errorlevel% equ 0 ( | |
| echo [3/3] 服务已就绪,正在打开网页... | |
| timeout /t 1 /nobreak >nul | |
| start http://127.0.0.1:%PORT% | |
| echo. | |
| echo ======================================== | |
| echo KiroProxy 启动完成! | |
| echo 网页地址: http://127.0.0.1:%PORT% | |
| echo ======================================== | |
| goto end | |
| ) | |
| :: 如果curl不可用,使用PowerShell进行检查 | |
| powershell -Command "try { $response = Invoke-WebRequest -Uri 'http://127.0.0.1:%PORT%' -TimeoutSec 2 -UseBasicParsing; if ($response.StatusCode -eq 200) { exit 0 } else { exit 1 } } catch { exit 1 }" >nul 2>&1 | |
| if %errorlevel% equ 0 ( | |
| echo [3/3] 服务已就绪,正在打开网页... | |
| timeout /t 1 /nobreak >nul | |
| start http://127.0.0.1:%PORT% | |
| echo. | |
| echo ======================================== | |
| echo KiroProxy 启动完成! | |
| echo 网页地址: http://127.0.0.1:%PORT% | |
| echo ======================================== | |
| goto end | |
| ) | |
| if %count% lss %max_attempts% ( | |
| timeout /t 2 /nobreak >nul | |
| goto check_service | |
| ) | |
| echo. | |
| echo ======================================== | |
| echo 警告: 服务启动超时 | |
| echo 请手动访问: http://127.0.0.1:%PORT% | |
| echo ======================================== | |
| :end | |
| if "%KIROPROXY_NO_PAUSE%"=="1" exit /b 0 | |
| pause | |
| endlocal | |