Files
ProxyPool/README_SOCKS.md
祀梦 a79f78b338 重构代理池系统:简化架构并增强核心功能
后端变更:
- 移除 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 更新
2026-04-02 11:23:23 +08:00

90 lines
2.4 KiB
Markdown

# 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 支持认证,当前版本使用无认证模式