重构代理池系统:简化架构并增强核心功能
后端变更: - 移除 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:
89
README_SOCKS.md
Normal file
89
README_SOCKS.md
Normal file
@@ -0,0 +1,89 @@
|
||||
# SOCKS 代理支持说明
|
||||
|
||||
## 更新内容
|
||||
|
||||
已成功为代理池系统添加 SOCKS4/SOCKS5 代理验证支持!
|
||||
|
||||
## 技术实现
|
||||
|
||||
### 1. 新增依赖
|
||||
```
|
||||
aiohttp-socks==0.9.1
|
||||
```
|
||||
|
||||
### 2. 验证器升级 (`core/validator.py`)
|
||||
- 新增 `ProxyValidator` 类,完整支持 HTTP/HTTPS/SOCKS4/SOCKS5
|
||||
- SOCKS 代理使用 `aiohttp_socks.ProxyConnector` 进行验证
|
||||
- 支持远程 DNS 解析 (rdns=True),避免 DNS 泄漏
|
||||
|
||||
### 3. 协议识别
|
||||
以下插件已更新支持 SOCKS 协议:
|
||||
|
||||
| 插件 | 支持协议 |
|
||||
|-----|---------|
|
||||
| Fate0聚合源 | HTTP, HTTPS, SOCKS4, SOCKS5 |
|
||||
| SpeedX代理源 | HTTP, SOCKS4, SOCKS5 |
|
||||
| ProxyListDownload | HTTP, HTTPS, SOCKS4, SOCKS5 |
|
||||
| 快代理 | HTTP, HTTPS |
|
||||
| IP3366 | HTTP, HTTPS |
|
||||
| 89免费代理 | HTTP |
|
||||
| 云代理 | HTTP, HTTPS |
|
||||
|
||||
## 使用说明
|
||||
|
||||
### 启动服务
|
||||
```bash
|
||||
# 安装依赖
|
||||
pip install -r requirements.txt
|
||||
|
||||
# 启动后端
|
||||
python api_server.py
|
||||
|
||||
# 启动前端
|
||||
cd frontend && npm run dev
|
||||
```
|
||||
|
||||
### 抓取 SOCKS 代理
|
||||
1. 打开 WebUI (http://localhost:9948)
|
||||
2. 进入"插件管理"页面
|
||||
3. 点击 SpeedX 或 ProxyListDownload 插件的"立即爬取"
|
||||
4. 系统自动识别 SOCKS 代理并进行验证
|
||||
|
||||
### 查看 SOCKS 代理
|
||||
1. 进入"代理列表"页面
|
||||
2. 使用协议筛选器选择 SOCKS4 或 SOCKS5
|
||||
3. 查看验证结果和延迟
|
||||
|
||||
## 验证流程
|
||||
|
||||
```
|
||||
+-------------+ +------------------+ +-----------------+
|
||||
| 插件爬取 | --> | 识别协议类型 | --> | SOCKS验证器 |
|
||||
+-------------+ +------------------+ +-----------------+
|
||||
|
|
||||
v
|
||||
+-------------+ +------------------+ +-----------------+
|
||||
| 存储结果 | <-- | 评分更新 | <-- | 延迟测试 |
|
||||
+-------------+ +------------------+ +-----------------+
|
||||
```
|
||||
|
||||
## SOCKS 验证特点
|
||||
|
||||
1. **连接器类型**: 使用 `ProxyConnector` 替代 `TCPConnector`
|
||||
2. **DNS 解析**: 远程解析避免泄漏真实 IP
|
||||
3. **协议区分**: 明确区分 SOCKS4 和 SOCKS5
|
||||
4. **统一接口**: 与 HTTP/HTTPS 代理使用相同的验证接口
|
||||
|
||||
## 测试
|
||||
|
||||
运行测试脚本验证 SOCKS 支持:
|
||||
```bash
|
||||
python test_socks_validator.py
|
||||
python test_plugins_socks.py
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. SOCKS 代理验证比 HTTP 代理稍慢,因为有额外的握手过程
|
||||
2. 部分 SOCKS 代理可能只支持 TCP 而不支持 UDP
|
||||
3. SOCKS5 支持认证,当前版本使用无认证模式
|
||||
Reference in New Issue
Block a user