高质量免费代理池 | High Quality Free Proxy Pool
自动采集、去重、检测存活、质量评分的代理池系统
支持 HTTP / HTTPS / SOCKS4 / SOCKS5 多协议
提供美观的 Web 界面和 RESTful API
| 功能 | 描述 |
|---|---|
| 🔄 多源采集 | 自动从多个 GitHub 开源代理源采集代理 |
| 🧹 智能去重 | 基于 IP:Port 自动去重,避免重复 |
| ⚡ 存活检测 | TCP 连接检测,过滤无效代理 |
| 📊 质量评分 | 根据延迟自动评估代理质量 (Fast/Good/Slow) |
| 👑 高速匿名 | 自动分类高速匿名代理和普通代理 |
| ⏰ 自动检测 | 每 1 小时自动检测代理存活性,实时倒计时显示 |
| 💾 数据持久化 | 检测结果自动保存,重启后保留 |
| 🌍 多协议支持 | HTTP、HTTPS、SOCKS4、SOCKS5 |
| 🎨 美观界面 | 现代化暗黑风格 Web 仪表盘 |
| 🌐 中英双语 | 支持中文/英文界面切换 |
| 📤 一键导出 | 支持按协议导出 (HTTP/HTTPS/SOCKS4/SOCKS5/高速匿名) |
| 🔌 RESTful API | 提供完整的 API 接口,独立 API 文档页面 |
# 克隆项目
git clone https://github.com/1837620622/proxypool.git
cd proxypool
# 安装依赖
npm install
# 启动服务
npm start
# 访问 http://localhost:3000# 构建镜像
docker build -t proxypool .
# 运行容器
docker run -d -p 3000:3000 --name proxypool proxypool- 点击上方按钮或访问 Railway
- 选择 Deploy from GitHub repo
- 连接此仓库
1837620622/proxypool - Railway 会自动检测并部署,无需额外配置
- 部署完成后获取公网域名
- 点击上方按钮一键部署
- 或手动导入 GitHub 仓库
- Framework Preset 选择 Other
- 部署完成后即可访问
⚠️ 注意: Vercel 免费版有执行时间限制,建议使用 Railway 部署以获得更好体验
Railway 使用临时文件系统,每次部署后检测结果会丢失。配置 Upstash Redis(免费)可持久化存储检测结果:
- 访问 Upstash 注册免费账号
- 创建一个 Redis 数据库
- 复制 REST URL 和 Token
- 在 Railway 中添加环境变量:
# 使用 Railway CLI
railway variables --set "UPSTASH_REDIS_REST_URL=你的URL" --set "UPSTASH_REDIS_REST_TOKEN=你的Token"或在 Railway 控制台 → Variables 中手动添加:
| 变量名 | 说明 |
|---|---|
UPSTASH_REDIS_REST_URL |
Upstash REST API URL |
UPSTASH_REDIS_REST_TOKEN |
Upstash REST API Token |
配置后,检测结果会自动保存到 Redis,服务重启后自动加载,避免重复检测。
GET /api/proxies
| 参数 | 类型 | 描述 |
|---|---|---|
| country | string | 国家代码 (如 US, CN, DE) |
| protocol | string | 协议类型 (http, https, socks4, socks5) |
| anonymity | string | 匿名度 (elite, anonymous, transparent) |
示例:
curl "http://localhost:3000/api/proxies?protocol=socks5&country=US"GET /api/export
| 参数 | 类型 | 描述 |
|---|---|---|
| format | string | 导出格式: txt (默认) 或 json |
| protocol | string | 协议筛选 |
| speed | string | 速度筛选: fast, good, slow |
| limit | string | 导出数量,支持数字或 all (导出全部) |
示例:
# 导出100个快速HTTP代理为TXT
curl "http://localhost:3000/api/export?protocol=http&speed=fast&limit=100" -o proxies.txt
# 导出为JSON格式
curl "http://localhost:3000/api/export?format=json&limit=50"GET /api/random
| 参数 | 类型 | 描述 |
|---|---|---|
| protocol | string | 协议筛选 |
| speed | string | 速度筛选 |
| count | number | 数量 (最大50) |
示例:
# 获取1个随机快速SOCKS5代理
curl "http://localhost:3000/api/random?protocol=socks5&speed=fast"GET /api/stats
POST /api/refresh
POST /api/check
触发后台检测所有代理的存活性,检测结果会更新代理的速度评分。
GET /api/check-progress
返回当前检测进度:
{
"checking": true,
"current": 1000,
"total": 45000
}GET /api/elite
| 参数 | 类型 | 描述 |
|---|---|---|
| protocol | string | 协议筛选 |
| limit | string | 导出数量,支持数字或 all |
示例:
# 获取全部高速匿名代理
curl "http://localhost:3000/api/elite?limit=all"GET /api/normal
| 参数 | 类型 | 描述 |
|---|---|---|
| protocol | string | 协议筛选 |
| limit | string | 导出数量,支持数字或 all |
proxypool/
├── public/ # 前端静态资源
│ ├── index.html # 主页面
│ ├── api.html # API 文档页面
│ ├── style.css # 样式文件
│ └── app.js # 前端逻辑
├── server.js # 后端服务
├── proxy_data.json # 检测结果持久化文件
├── package.json # 项目配置
├── Dockerfile # Docker 配置
├── vercel.json # Vercel 部署配置
├── railway.json # Railway 部署配置
├── nixpacks.toml # Nixpacks 构建配置
├── LICENSE # MIT 开源协议
└── README.md # 项目说明
当前已集成以下开源代理源:
| 源 | 协议 | 地址 |
|---|---|---|
| FreeProxy | HTTP/HTTPS/SOCKS4/SOCKS5 | CharlesPikachu/freeproxy |
| OpenProxyList | HTTPS/SOCKS4/SOCKS5 | roosterkid/openproxylist |
| Proxy-Scraper | HTTP/SOCKS4/SOCKS5 | zebbern/Proxy-Scraper |
在 server.js 中可以调整以下配置:
const QUALITY_CONFIG = {
maxLatency: 5000, // 最大延迟阈值(ms)
fastLatency: 800, // 快速代理阈值(ms)
goodLatency: 1500, // 良好代理阈值(ms)
timeout: 2000, // 检测超时时间(ms)
batchSize: 500, // 并发批次大小
batchDelay: 10 // 批次间延迟(ms)
};- 🔢 海量代理: 自动汇聚 45,000+ 代理
- ⚡ 快速代理: 40,000+ 快速可用代理
- 🌍 全球覆盖: 100+ 国家/地区
- 🔄 自动更新: 每 15 分钟自动更新代理池
- ⏰ 自动检测: 每 1 小时自动检测存活性
- 📱 响应式设计: 支持手机端和电脑端访问
欢迎提交 Issue 和 Pull Request!
- 微信: 1837620622 (传康kk)
- 邮箱: 2040168455@qq.com
- B站/咸鱼: 万能程序员
本项目采用 MIT License 开源协议。
⭐ 如果这个项目对你有帮助,请给个 Star!