mirror of
https://github.com/isboyjc/GoProxy.git
synced 2026-05-30 12:50:09 +08:00
feat: ✨ add CLAUDE.md for project guidance and enhance HTTP proxy validation
- Introduced CLAUDE.md to provide comprehensive guidance for the GoProxy project. - Enhanced proxy validation logic to include HTTPS CONNECT tunnel verification for HTTP proxies. - Updated README to reflect new features, including the addition of an HTTP proxy HTTPS access testing script. - Adjusted configuration parameters to set the default HTTP protocol ratio to 30%.
This commit is contained in:
29
README.md
29
README.md
@@ -27,15 +27,17 @@ GoProxy 从多个公开代理源自动抓取 HTTP/SOCKS5 代理,通过严格
|
||||
## ✨ 核心特性
|
||||
|
||||
### 🎯 智能池子机制
|
||||
- **固定容量管理**:可配置池子大小和 HTTP/SOCKS5 协议比例
|
||||
- **固定容量管理**:可配置池子大小和 HTTP/SOCKS5 协议比例(默认 3:7)
|
||||
- **质量分级**:S/A/B/C 四级评分(基于延迟),智能选择高质量代理
|
||||
- **动态状态感知**:Healthy → Warning → Critical → Emergency 四级状态自适应
|
||||
- **严格准入标准**:必须通过出口 IP、地理位置、延迟三重验证才可入池
|
||||
- **HTTPS 可用性验证**:HTTP 协议代理入池前额外验证 HTTPS CONNECT 隧道能力,随机访问真实 HTTPS 网站确认可用(失败自动换站重试),确保入池的 HTTP 代理都能正常访问 HTTPS 网站
|
||||
- **智能替换**:新代理必须显著优于现有代理(默认快 30%)才触发替换
|
||||
|
||||
### 🚀 按需抓取
|
||||
- **源分组策略**:快更新源(5-30min)用于紧急补充,慢更新源(每天)用于优化轮换
|
||||
- **断路器保护**:连续失败的源自动降级/禁用,冷却后恢复
|
||||
- **协议并发验证**:抓取到的候选代理按协议分组,SOCKS5 和 HTTP 各自并发验证入池。SOCKS5 无额外检测,天然更快优先填充;HTTP 带 HTTPS CONNECT 检测较慢但不阻塞 SOCKS5 入池
|
||||
- **多模式抓取**:
|
||||
- **Emergency**:单协议缺失或池子 <10%,使用所有可用源
|
||||
- **Refill**:池子 <80%,使用快更新源
|
||||
@@ -133,6 +135,7 @@ GoProxy 从多个公开代理源自动抓取 HTTP/SOCKS5 代理,通过严格
|
||||
├── test/ # 🧪 测试脚本与文档
|
||||
│ ├── test_proxy.sh # HTTP 代理测试脚本(Bash)
|
||||
│ ├── test_socks5.sh # SOCKS5 代理测试脚本(Bash)
|
||||
│ ├── test_http_https.sh # HTTP 代理 HTTPS 访问测试脚本(Bash)
|
||||
│ ├── test_proxy.go # Go 测试脚本
|
||||
│ ├── test_proxy.py # Python 测试脚本
|
||||
│ └── README.md # 测试脚本使用说明
|
||||
@@ -571,7 +574,7 @@ proxies = {'http': 'socks5://myuser:secure_pass_123@server-ip:7779', 'https': 's
|
||||
```json
|
||||
{
|
||||
"pool_max_size": 100,
|
||||
"pool_http_ratio": 0.5,
|
||||
"pool_http_ratio": 0.3,
|
||||
"pool_min_per_protocol": 10,
|
||||
"max_latency_ms": 2000,
|
||||
"max_latency_healthy": 1500,
|
||||
@@ -615,7 +618,7 @@ proxies = {'http': 'socks5://myuser:secure_pass_123@server-ip:7779', 'https': 's
|
||||
| 参数 | 默认值 | 说明 | 推荐范围 |
|
||||
| --- | --- | --- | --- |
|
||||
| `pool_max_size` | `100` | 代理池总容量 | 50-150 ⚠️ |
|
||||
| `pool_http_ratio` | `0.5` | HTTP 协议占比 | 0.3-0.8 |
|
||||
| `pool_http_ratio` | `0.3` | HTTP 协议占比 | 0.2-0.5 |
|
||||
| `pool_min_per_protocol` | `10` | 每协议最少保证数量 | 5-50 |
|
||||
|
||||
> ⚠️ **容量限制说明**:公开代理源质量有限,验证通过率通常只有 1-3%。受地理过滤、延迟标准、出口检测等因素影响,**实际填充率约为 70-90%**。如设置 150 容量,实际可能稳定在 105-135 个。建议根据实际需求设置合理容量。
|
||||
@@ -657,7 +660,7 @@ proxies = {'http': 'socks5://myuser:secure_pass_123@server-ip:7779', 'https': 's
|
||||
```json
|
||||
{
|
||||
"pool_max_size": 50,
|
||||
"pool_http_ratio": 0.5,
|
||||
"pool_http_ratio": 0.3,
|
||||
"validate_concurrency": 100,
|
||||
"health_check_interval": 10,
|
||||
"health_check_batch_size": 10,
|
||||
@@ -949,6 +952,7 @@ Emergency (总数<10% 或 单协议缺失)
|
||||
3. **地理位置查询**:获取出口 IP 的国家/城市
|
||||
4. **延迟测试**:测量连接延迟
|
||||
5. **质量评估**:根据延迟计算质量等级
|
||||
6. **HTTPS 隧道验证**(仅 HTTP 协议):通过代理实际访问随机 HTTPS 网站(Google/OpenAI/GitHub/Cloudflare/httpbin),验证 CONNECT 隧道可用性,首次失败自动换站重试
|
||||
|
||||
**入池判断逻辑**
|
||||
- ✅ 协议槽位未满:直接加入
|
||||
@@ -1140,6 +1144,18 @@ go run test/test_proxy.go 7777
|
||||
python test/test_proxy.py 7776
|
||||
```
|
||||
|
||||
**HTTP 代理 HTTPS 访问测试**:
|
||||
```bash
|
||||
# 持续测试 HTTP 代理访问 HTTPS 网站(随机访问 Google/OpenAI/GitHub 等)
|
||||
./test/test_http_https.sh
|
||||
|
||||
# 指定端口
|
||||
./test/test_http_https.sh 7776
|
||||
|
||||
# 指定端口 + 测试次数
|
||||
./test/test_http_https.sh 7777 20
|
||||
```
|
||||
|
||||
**SOCKS5 代理测试**:
|
||||
```bash
|
||||
# 测试 SOCKS5 随机轮换模式(7779 端口)
|
||||
@@ -1347,7 +1363,8 @@ docker logs proxygo --tail 200 | grep -i "socks5.*failed"
|
||||
### 本项目增强功能
|
||||
在原项目基础上,我们进行了大量改进和功能增强:
|
||||
|
||||
- 🆕 **智能池子机制**:固定容量管理、质量分级(S/A/B/C)、智能替换逻辑
|
||||
- 🆕 **智能池子机制**:固定容量管理、质量分级(S/A/B/C)、智能替换逻辑、HTTP/SOCKS5 默认 3:7 比例
|
||||
- 🆕 **HTTPS 可用性验证**:HTTP 协议代理入池/刷新时额外验证 HTTPS CONNECT 隧道,随机访问真实网站确认可用
|
||||
- 🆕 **按需抓取策略**:源分组、断路器保护、Emergency/Refill/Optimize 多模式
|
||||
- 🆕 **分层健康管理**:批次检查、智能跳过 S 级、定时优化轮换
|
||||
- 🆕 **智能重试机制**:自动故障切换、失败即删除、防重复尝试
|
||||
@@ -1357,7 +1374,7 @@ docker logs proxygo --tail 200 | grep -i "socks5.*failed"
|
||||
- 🆕 **黑客风格 WebUI**:Matrix 美学、实时仪表盘、完整配置界面、中英文切换
|
||||
- 🆕 **双角色权限**:访客模式(只读)+ 管理员模式(完全控制),可安全公网开放
|
||||
- 🆕 **扩展存储层**:质量等级、使用统计、源状态管理
|
||||
- 🆕 **测试套件**:HTTP + SOCKS5 测试脚本,持续运行模式,显示国旗 emoji
|
||||
- 🆕 **测试套件**:HTTP + SOCKS5 + HTTPS 访问测试脚本,持续运行模式,显示国旗 emoji
|
||||
- 🆕 **CI/CD 自动化**:GitHub Actions 自动构建多架构镜像(amd64/arm64),双仓库发布
|
||||
- 🆕 **环境变量配置**:docker-compose + .env 文件,灵活配置各种部署场景
|
||||
|
||||
|
||||
Reference in New Issue
Block a user