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