Flareprox:简单的IP轮换和URL重定向工具
Flareprox由MrTurvey开发,是一个通过Cloudflare Workers自动部署HTTP代理端点的工具,可轻松将所有流量重定向到任意指定URL。它支持所有HTTP方法(GET、POST、PUT、DELETE等),并通过Cloudflare的全球网络提供IP掩蔽功能。
功能特性
- HTTP支持:所有HTTP方法(GET、POST、PUT、DELETE、PATCH、OPTIONS、HEAD)
- 简单URL重定向:提供任意URL,FlareProx通过Cloudflare重定向流量
- 全球网络:利用Cloudflare的全球CDN基础设施
- 免费层级:Cloudflare免费计划每天支持100,000个请求
- 轻松部署:单命令部署和管理
工作原理
FlareProx部署充当HTTP代理的Cloudflare Workers。当您发出请求时:
- 请求路由:您的请求被发送到FlareProx端点
- URL提取:Worker从查询参数或自定义HTTP头中提取目标URL
- 请求代理:Worker将您的请求转发到目标URL
- 响应中继:目标的响应通过Cloudflare中继回来
- IP掩蔽:您的原始IP被Cloudflare基础设施掩蔽
快速入门
安装依赖
1
2
3
|
git clone <repository-url>
cd flareprox
pip install -r requirements.txt
|
配置Cloudflare访问
运行 python3 fireprox.py config 或直接编辑项目目录中的 flareprox.json:
1
2
3
4
5
6
|
{
"cloudflare": {
"api_token": "your_cloudflare_api_token",
"account_id": "your_cloudflare_account_id"
}
}
|
部署代理端点
1
2
3
4
5
|
# 创建2个代理端点
python3 flareprox.py create --count 2
# 查看已部署的端点
python3 flareprox.py list
|
使用代理
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# 测试所有端点是否正常运行
python3 flareprox.py test
# 按HTTP方法示例
# GET请求
curl "https://your-worker.account.workers.dev?url=https://httpbin.org/get"
# 带数据的POST请求
curl -X POST -d "username=admin" "https://your-worker.account.workers.dev?url=https://httpbin.org/post"
# 带JSON的PUT请求
curl -X PUT -d '{"username":"admin"}' -H "Content-Type: application/json" \
"https://your-worker.account.workers.dev?url=https://httpbin.org/put"
# DELETE请求
curl -X DELETE "https://your-worker.account.workers.dev?url=https://httpbin.org/delete"
|
每个部署的FlareProx端点接受两种格式的请求:
1
2
3
4
5
|
# 查询参数
curl "https://your-worker.account.workers.dev?url=https://httpbin.org/ip"
# 自定义头
curl -H "X-Target-URL: https://httpbin.org/ip" https://your-worker.account.workers.dev
|
代理清理
1
2
|
# 删除所有代理端点
python3 flareprox.py cleanup
|
获取Cloudflare凭证
Cloudflare Workers设置
- 在Cloudflare注册
- 转到API令牌
- 点击"创建令牌"并使用"编辑Cloudflare Workers"模板
- 将"账户资源"和"区域资源"设置为全部。点击"继续到摘要"
- 点击"创建令牌"并从仪表板复制令牌和您的账户ID
编程使用
FlareProx可以导入并直接在Python应用程序中使用。以下是发送POST请求的方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
#!/usr/bin/env python3
from flareprox import FlareProx, FlareProxError
import json
# 初始化FlareProx
flareprox = FlareProx(config_file="flareprox.json")
# 检查是否配置
if not flareprox.is_configured:
print("FlareProx not configured. Run: python3 flareprox.py config")
exit(1)
# 如果不存在端点,创建一些端点
endpoints = flareprox.sync_endpoints()
if not endpoints:
print("Creating proxy endpoints...")
flareprox.create_proxies(count=2)
# 通过FlareProx发送POST请求
try:
# 准备POST数据
post_data = json.dumps({
"username": "testuser",
"message": "Hello from FlareProx!",
"timestamp": "2025-01-01T12:00:00Z"
})
headers = {
"Content-Type": "application/json",
"User-Agent": "FlareProx-Client/1.0"
}
# 通过随机FlareProx端点发送POST请求
response = flareprox.redirect_request(
target_url="https://httpbin.org/post",
method="POST",
headers=headers,
data=post_data
)
if response.status_code == 200:
result = response.json()
print(f"✓ POST successful via FlareProx")
print(f"Origin IP: {result.get('origin', 'unknown')}")
print(f"Posted data: {result.get('json', {})}")
else:
print(f"Request failed with status: {response.status_code}")
except FlareProxError as e:
print(f"FlareProx error: {e}")
except Exception as e:
print(f"Request error: {e}")
|
使用场景
- API开发:通过不同IP地址测试API
- 网络爬虫:通过Cloudflare网络路由请求
- 安全测试:在测试期间掩蔽您的原始IP
- 负载测试:跨多个端点分发请求
- 隐私保护:在您的请求和目标服务器之间添加额外层
从GitHub链接克隆仓库。