重构代理池系统:简化架构并增强核心功能
后端变更: - 移除 tasks_manager.py 和 core/auth.py,简化架构 - 新增 core/scheduler.py 验证调度器,替代原有任务管理 - 大幅优化 api_server.py:统一错误处理、增强参数验证、支持调度器控制 - validator.py 增强 SOCKS4/SOCKS5 代理验证支持 - config.py 清理废弃配置(WebSocket、API Key、认证开关) - SQLite 数据库操作性能优化 前端变更: - 移除任务管理页面 (CrawlerTasks) 和 WebSocket 相关代码 - 路由简化为 4 个核心页面:总览、代理列表、插件管理、设置 - 提取前端工具函数(clipboard、confirm、format)和 API 类型定义 - 优化 CSS 架构:完善 variables、utilities、element-plus 样式 - Dashboard、Plugins、ProxyList、Settings 页面 UI/UX 优化 - App.vue 响应式侧边栏和页面过渡动画优化 其他: - 移除 PowerShell 启动脚本,简化 Windows 批处理脚本 - 新增 README_SOCKS.md SOCKS 代理支持文档 - .env.example 和 .gitignore 更新
This commit is contained in:
@@ -1,9 +1,95 @@
|
||||
@echo off
|
||||
chcp 65001 >nul
|
||||
setlocal
|
||||
cd /d %~dp0
|
||||
echo === ProxyPool Startup ===
|
||||
echo.
|
||||
|
||||
REM Launch via PowerShell to avoid encoding issues with Chinese characters
|
||||
powershell -ExecutionPolicy Bypass -File start.ps1
|
||||
set "ROOT_PATH=%~dp0.."
|
||||
set "BACKEND_PORT=9949"
|
||||
set "FRONTEND_PORT=9948"
|
||||
|
||||
timeout /t 3
|
||||
REM 1. Clean processes on ports
|
||||
echo [1/4] Cleaning old processes...
|
||||
for /f "tokens=5" %%a in ('netstat -ano ^| findstr ":%BACKEND_PORT%" ^| findstr "LISTENING"') do (
|
||||
taskkill /F /PID %%a >nul 2>&1
|
||||
echo Stopped port %BACKEND_PORT% (PID: %%a)
|
||||
)
|
||||
for /f "tokens=5" %%a in ('netstat -ano ^| findstr ":%FRONTEND_PORT%" ^| findstr "LISTENING"') do (
|
||||
taskkill /F /PID %%a >nul 2>&1
|
||||
echo Stopped port %FRONTEND_PORT% (PID: %%a)
|
||||
)
|
||||
echo Cleanup complete!
|
||||
echo.
|
||||
|
||||
REM 2. Start Backend
|
||||
echo [2/4] Starting backend (FastAPI)...
|
||||
if exist "%ROOT_PATH%\venv\Scripts\python.exe" (
|
||||
set "PYTHON_PATH=%ROOT_PATH%\venv\Scripts\python.exe"
|
||||
echo Using venv
|
||||
) else (
|
||||
set "PYTHON_PATH=python"
|
||||
echo Using system Python
|
||||
)
|
||||
|
||||
cd /d "%ROOT_PATH%"
|
||||
set "PYTHONIOENCODING=utf-8"
|
||||
|
||||
REM Clear old logs
|
||||
if exist "%ROOT_PATH%\logs\backend_startup.log" del /f "%ROOT_PATH%\logs\backend_startup.log" >nul 2>&1
|
||||
if exist "%ROOT_PATH%\logs\backend_error.log" del /f "%ROOT_PATH%\logs\backend_error.log" >nul 2>&1
|
||||
|
||||
REM Start backend
|
||||
start /B "" "%PYTHON_PATH%" -u api_server.py >"%ROOT_PATH%\logs\backend_startup.log" 2>"%ROOT_PATH%\logs\backend_error.log"
|
||||
echo Backend started
|
||||
echo.
|
||||
|
||||
REM 3. Wait for backend
|
||||
echo [3/4] Waiting for backend...
|
||||
set RETRY_COUNT=0
|
||||
set BACKEND_READY=0
|
||||
|
||||
:WAIT_LOOP
|
||||
if %RETRY_COUNT% geq 10 goto WAIT_DONE
|
||||
timeout /t 2 /nobreak >nul
|
||||
set /a RETRY_COUNT+=1
|
||||
|
||||
ping -n 1 127.0.0.1 -w 500 >nul
|
||||
timeout /t 1 /nobreak >nul
|
||||
|
||||
REM Try to connect to backend
|
||||
powershell -Command "try { $r = Invoke-RestMethod -Uri 'http://127.0.0.1:9949/' -TimeoutSec 2 -ErrorAction Stop; exit 0 } catch { exit 1 }" >nul 2>&1
|
||||
if %errorlevel% equ 0 (
|
||||
set BACKEND_READY=1
|
||||
goto WAIT_DONE
|
||||
)
|
||||
echo Waiting... (%RETRY_COUNT%/10)
|
||||
|
||||
if exist "%ROOT_PATH%\logs\backend_startup.log" (
|
||||
for /f "delims=" %%i in ('powershell -Command "Get-Content '%ROOT_PATH%\logs\backend_startup.log' -Tail 1" 2^>nul') do (
|
||||
echo Log: %%i
|
||||
)
|
||||
)
|
||||
goto WAIT_LOOP
|
||||
|
||||
:WAIT_DONE
|
||||
if %BACKEND_READY% equ 0 (
|
||||
echo.
|
||||
echo Backend failed to start!
|
||||
echo Check error log: %ROOT_PATH%\logs\backend_error.log
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
echo Backend is ready!
|
||||
echo.
|
||||
|
||||
REM 4. Start Frontend
|
||||
echo [4/4] Starting frontend (Vite)...
|
||||
start /B "" cmd /c "cd /d "%ROOT_PATH%\frontend" && npm run dev" >nul 2>&1
|
||||
echo Frontend started
|
||||
echo.
|
||||
|
||||
echo === All services started ===
|
||||
echo Backend: http://127.0.0.1:9949
|
||||
echo Frontend: http://localhost:9948
|
||||
echo.
|
||||
echo Please open frontend in browser
|
||||
timeout /t 5 >nul
|
||||
|
||||
Reference in New Issue
Block a user