Add files via upload
This commit is contained in:
+2311
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,208 @@
|
||||
# 🚀 FlareTunnel
|
||||
|
||||
<div align="center">
|
||||
|
||||
<img src="logo.png" alt="FlareTunnel" width="300">
|
||||
|
||||
**A unified proxy system that routes traffic through Cloudflare Workers for IP rotation and anonymity**
|
||||
|
||||
```
|
||||
Client → FlareTunnel (local) → Cloudflare Workers → Target Website
|
||||
```
|
||||
|
||||

|
||||

|
||||

|
||||
</div>
|
||||
|
||||
**FlareTunnel** is a powerful, unified proxy system that leverages **Cloudflare Workers** to create a robust, rotating proxy network. It allows you to route your traffic through Cloudflare's global edge network, providing high anonymity, speed, and reliability.
|
||||
|
||||
## ✨ Features
|
||||
|
||||
* **🌐 Unlimited Rotating Proxies**: Automatically deploy and manage multiple Cloudflare Workers as proxy endpoints.
|
||||
* **🔄 Smart Load Balancing**: Distributes traffic across your workers using Random or Round-Robin strategies.
|
||||
* **⚡ High Performance**: Uses Cloudflare's global edge network for low latency.
|
||||
* **🔐 SSL/HTTPS Support**: Full support for HTTPS traffic with optional SSL interception for deep inspection.
|
||||
* **👥 Multi-Account Support**: seamless management of multiple Cloudflare accounts to maximize request quotas (100k requests/day per account).
|
||||
* **🛡️ Ad & Tracker Blocking**: Built-in blacklist system to block unwanted traffic and save worker quotas.
|
||||
* **📊 Analytics**: Real-time usage statistics and quota tracking per account.
|
||||
|
||||
## 🏗️ Architecture
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
Client["Client (Browser/App)"] -->|HTTP/HTTPS| LocalProxy["Local Proxy :8080"]
|
||||
subgraph FlareTunnel System
|
||||
LocalProxy -->|Load Balancing| Rotator{Worker Rotator}
|
||||
Rotator -->|Request A| W1[Worker 1]
|
||||
Rotator -->|Request B| W2[Worker 2]
|
||||
Rotator -->|Request C| W3[Worker 3]
|
||||
end
|
||||
W1 -->|Fetch| Target[Target Website]
|
||||
W2 -->|Fetch| Target
|
||||
W3 -->|Fetch| Target
|
||||
style LocalProxy fill:#7289da,stroke:#333,stroke-width:2px,color:white
|
||||
style W1 fill:#f38020,stroke:#333,stroke-width:2px,color:white
|
||||
style W2 fill:#f38020,stroke:#333,stroke-width:2px,color:white
|
||||
style W3 fill:#f38020,stroke:#333,stroke-width:2px,color:white
|
||||
style Client fill:#fff,stroke:#333,stroke-width:2px
|
||||
style Target fill:#fff,stroke:#333,stroke-width:2px
|
||||
```
|
||||
|
||||
## 📦 Installation
|
||||
|
||||
### Build from Source
|
||||
```bash
|
||||
git clone https://github.com/MorDavid/FlareTunnel.git
|
||||
cd FlareTunnel
|
||||
go build -o FlareTunnel FlareTunnel.go
|
||||
```
|
||||
|
||||
## 🚀 Usage
|
||||
|
||||
### 1. Configuration
|
||||
First, set up your Cloudflare credentials. You'll need your Account ID and an API Token (with "Edit Cloudflare Workers" permission).
|
||||
|
||||
```bash
|
||||
./FlareTunnel config
|
||||
```
|
||||
|
||||
### 2. Create Proxies
|
||||
Deploy new workers to your Cloudflare account.
|
||||
|
||||
```bash
|
||||
# Create 5 new proxy workers
|
||||
./FlareTunnel create --count 5
|
||||
```
|
||||
|
||||
### 3. Start the Tunnel
|
||||
Start the local proxy server. By default, it runs on `localhost:8080`.
|
||||
|
||||
```bash
|
||||
./FlareTunnel tunnel
|
||||
```
|
||||
|
||||
Now configure your browser or application to use the proxy:
|
||||
* **Host**: `127.0.0.1`
|
||||
* **Port**: `8080`
|
||||
|
||||
## 🛠️ Commands Reference
|
||||
|
||||
| Command | Description |
|
||||
|---------|-------------|
|
||||
| `config` | Configure Cloudflare API credentials (supports multiple accounts) |
|
||||
| `create` | Deploy new Worker proxies |
|
||||
| `list` | List all active proxies and show usage stats |
|
||||
| `tunnel` | Start the local proxy server |
|
||||
| `test` | Test connectivity of your proxies |
|
||||
| `cleanup` | Delete all workers from your account |
|
||||
|
||||
## 📖 Basic Usage
|
||||
|
||||
### Browser Configuration
|
||||
```
|
||||
HTTP Proxy: 127.0.0.1:8080
|
||||
HTTPS Proxy: 127.0.0.1:8080
|
||||
```
|
||||
|
||||
### Python
|
||||
```python
|
||||
import requests
|
||||
import urllib3
|
||||
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
||||
|
||||
proxies = {
|
||||
'http': 'http://127.0.0.1:8080',
|
||||
'https': 'http://127.0.0.1:8080'
|
||||
}
|
||||
|
||||
r = requests.get("https://httpbin.org/ip",
|
||||
proxies=proxies,
|
||||
verify=False)
|
||||
|
||||
print(r.json()['origin']) # Cloudflare Worker IP
|
||||
```
|
||||
|
||||
### Quick Test
|
||||
```bash
|
||||
./FlareTunnel test
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Common Commands
|
||||
|
||||
```bash
|
||||
# Worker Management
|
||||
./FlareTunnel list # List all workers
|
||||
./FlareTunnel list --verbose # Detailed view (created, age, live status)
|
||||
./FlareTunnel list --status # Check worker response times
|
||||
./FlareTunnel test # Test workers
|
||||
./FlareTunnel cleanup # Delete workers from ALL accounts
|
||||
./FlareTunnel cleanup --account main # Delete workers from 'main' only
|
||||
|
||||
# Multi-Account Worker Creation
|
||||
./FlareTunnel create --count 10 --distribute # Auto-distribute based on quota
|
||||
./FlareTunnel create --count 5 --account main # Create on specific account
|
||||
|
||||
# Configuration Backup & Restore
|
||||
./FlareTunnel export # Export config (accounts + credentials)
|
||||
./FlareTunnel import --input config.json # Import config (replace)
|
||||
./FlareTunnel import --input config.json --merge # Merge with existing
|
||||
|
||||
# Tunnel (Proxy Server)
|
||||
./FlareTunnel tunnel --verbose # Basic
|
||||
./FlareTunnel tunnel --workers 0-2 # Specific workers
|
||||
./FlareTunnel tunnel --mode random # Random rotation
|
||||
|
||||
# With Blacklist (Recommended!)
|
||||
./FlareTunnel tunnel --verbose # Default: blacklist-minimal.txt
|
||||
./FlareTunnel tunnel --blacklist blacklist.txt --verbose
|
||||
|
||||
# With Burp Suite
|
||||
./FlareTunnel tunnel --port 9090 --upstream-proxy http://127.0.0.1:8080 --verbose
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 💡 Blacklist System
|
||||
|
||||
### blacklist-minimal.txt (Default) ⚡
|
||||
```
|
||||
✅ Analytics (google-analytics, mixpanel)
|
||||
✅ Images (.jpg, .png, .gif, etc.)
|
||||
✅ Fonts (.woff, .ttf, etc.)
|
||||
✅ Source maps (.map)
|
||||
|
||||
Saves: ~30-40% Worker requests
|
||||
Website: Works perfectly in browser
|
||||
```
|
||||
|
||||
### blacklist.txt (Full) 🔥
|
||||
```
|
||||
✅ Everything in minimal
|
||||
✅ Advertising
|
||||
✅ Social tracking
|
||||
✅ CSS/JS files
|
||||
✅ CDN libraries
|
||||
|
||||
Saves: ~60-70% Worker requests
|
||||
Website: May look broken (missing assets)
|
||||
```
|
||||
|
||||
### blacklist-aggressive.txt (Maximum) 💪
|
||||
```
|
||||
✅ Everything in full
|
||||
✅ Almost everything except HTML/API
|
||||
|
||||
Saves: ~80-90% Worker requests
|
||||
Website: Will break in browser (automation tools only)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Disclaimer
|
||||
|
||||
This tool is for educational and research purposes only. Please respect Cloudflare's Terms of Service. The authors are not responsible for any misuse of this tool.
|
||||
|
||||
**Made with ❤️ for the security and automation community**
|
||||
@@ -0,0 +1,177 @@
|
||||
# FlareTunnel Blacklist - Aggressive Version 🔥💪
|
||||
# Blocks almost everything except HTML/API requests
|
||||
# Useful for automation tools (scrapers, bruteforce, etc.)
|
||||
# Website will look broken in browsers - but you'll save hundreds of thousands of Worker requests!
|
||||
|
||||
# ========================================
|
||||
# 📊 Analytics & Tracking
|
||||
# ========================================
|
||||
google-analytics.com
|
||||
www.google-analytics.com
|
||||
ssl.google-analytics.com
|
||||
analytics.google.com
|
||||
stats.g.doubleclick.net
|
||||
doubleclick.net
|
||||
googletagmanager.com
|
||||
googletagservices.com
|
||||
facebook.com/tr
|
||||
connect.facebook.net
|
||||
graph.facebook.com
|
||||
px.ads.linkedin.com
|
||||
analytics.linkedin.com
|
||||
analytics.tiktok.com
|
||||
business.tiktok.com
|
||||
ads.tiktok.com
|
||||
log.byteoversea.com
|
||||
hotjar.com
|
||||
static.hotjar.com
|
||||
script.hotjar.com
|
||||
api.mixpanel.com
|
||||
decide.mixpanel.com
|
||||
segment.com
|
||||
cdn.segment.com
|
||||
api.segment.io
|
||||
omtrdc.net
|
||||
adobedc.net
|
||||
demdex.net
|
||||
track.hubspot.com
|
||||
api.hubspot.com
|
||||
fullstory.com
|
||||
script.crazyegg.com
|
||||
js-agent.newrelic.com
|
||||
bam.nr-data.net
|
||||
datadoghq-browser-agent.com
|
||||
browser-intake-datadoghq.com
|
||||
sentry.io
|
||||
browser.sentry-cdn.com
|
||||
criteo.com
|
||||
taboola.com
|
||||
outbrain.com
|
||||
mixpanel.com
|
||||
amplitude.com
|
||||
heap.io
|
||||
logrocket.com
|
||||
newrelic.com
|
||||
quantcast.com
|
||||
clarity.ms
|
||||
datadoghq.com
|
||||
pendo.io
|
||||
mouseflow.com
|
||||
crazyegg.com
|
||||
optimizely.com
|
||||
kissmetrics.com
|
||||
chartbeat.com
|
||||
|
||||
# ========================================
|
||||
# 📢 Advertising
|
||||
# ========================================
|
||||
googlesyndication.com
|
||||
googleadservices.com
|
||||
adnxs.com
|
||||
criteo.com
|
||||
outbrain.com
|
||||
taboola.com
|
||||
media.net
|
||||
pubmatic.com
|
||||
rubiconproject.com
|
||||
adroll.com
|
||||
adsystem.com
|
||||
|
||||
# ========================================
|
||||
# 🖼️ ALL Images
|
||||
# ========================================
|
||||
.jpg
|
||||
.jpeg
|
||||
.png
|
||||
.gif
|
||||
.webp
|
||||
.ico
|
||||
.svg
|
||||
.bmp
|
||||
.tiff
|
||||
.avif
|
||||
|
||||
# ========================================
|
||||
# 🎨 ALL CSS & Fonts
|
||||
# ========================================
|
||||
.css
|
||||
.woff
|
||||
.woff2
|
||||
.ttf
|
||||
.eot
|
||||
.otf
|
||||
fonts.googleapis.com
|
||||
fonts.gstatic.com
|
||||
|
||||
# ========================================
|
||||
# 📦 ALL JavaScript
|
||||
# ========================================
|
||||
.js
|
||||
.map
|
||||
.min.js
|
||||
.bundle.js
|
||||
ajax.googleapis.com
|
||||
cdnjs.cloudflare.com
|
||||
cdn.jsdelivr.net
|
||||
unpkg.com
|
||||
|
||||
# ========================================
|
||||
# 🎬 ALL Media
|
||||
# ========================================
|
||||
.mp4
|
||||
.webm
|
||||
.ogg
|
||||
.mp3
|
||||
.wav
|
||||
.m4a
|
||||
|
||||
# ========================================
|
||||
# 📄 Documents
|
||||
# ========================================
|
||||
.pdf
|
||||
.zip
|
||||
.rar
|
||||
.doc
|
||||
.docx
|
||||
.xls
|
||||
.xlsx
|
||||
|
||||
# ========================================
|
||||
# 👥 Social Media
|
||||
# ========================================
|
||||
facebook.com/plugins
|
||||
twitter.com/widgets
|
||||
platform.twitter.com
|
||||
linkedin.com/widgets
|
||||
instagram.com/embed
|
||||
pinterest.com
|
||||
tiktok.com/embed
|
||||
|
||||
# ========================================
|
||||
# 🔌 ALL Widgets
|
||||
# ========================================
|
||||
disqus.com
|
||||
livechatinc.com
|
||||
tawk.to
|
||||
intercom.io
|
||||
drift.com
|
||||
zendesk.com
|
||||
/chat
|
||||
/livechat
|
||||
/widget
|
||||
|
||||
# ========================================
|
||||
# 🎯 Tracking Paths
|
||||
# ========================================
|
||||
/pixel
|
||||
/track
|
||||
/analytics
|
||||
/beacon
|
||||
/log
|
||||
/collect
|
||||
/event
|
||||
/_ga
|
||||
/_gat
|
||||
/gtag
|
||||
/impression
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
# ========================================
|
||||
# 📊 Analytics (Saves the most!)
|
||||
# ========================================
|
||||
google-analytics.com
|
||||
www.google-analytics.com
|
||||
ssl.google-analytics.com
|
||||
analytics.google.com
|
||||
stats.g.doubleclick.net
|
||||
doubleclick.net
|
||||
googletagmanager.com
|
||||
googletagservices.com
|
||||
facebook.com/tr
|
||||
connect.facebook.net
|
||||
graph.facebook.com
|
||||
px.ads.linkedin.com
|
||||
analytics.linkedin.com
|
||||
analytics.tiktok.com
|
||||
business.tiktok.com
|
||||
ads.tiktok.com
|
||||
log.byteoversea.com
|
||||
hotjar.com
|
||||
static.hotjar.com
|
||||
script.hotjar.com
|
||||
api.mixpanel.com
|
||||
decide.mixpanel.com
|
||||
segment.com
|
||||
cdn.segment.com
|
||||
api.segment.io
|
||||
omtrdc.net
|
||||
adobedc.net
|
||||
demdex.net
|
||||
track.hubspot.com
|
||||
api.hubspot.com
|
||||
fullstory.com
|
||||
script.crazyegg.com
|
||||
js-agent.newrelic.com
|
||||
bam.nr-data.net
|
||||
datadoghq-browser-agent.com
|
||||
browser-intake-datadoghq.com
|
||||
sentry.io
|
||||
browser.sentry-cdn.com
|
||||
criteo.com
|
||||
taboola.com
|
||||
outbrain.com
|
||||
|
||||
# ========================================
|
||||
# 🎨 Fonts
|
||||
# ========================================
|
||||
fonts.googleapis.com
|
||||
fonts.gstatic.com
|
||||
use.typekit.net
|
||||
use.fontawesome.com
|
||||
+254
@@ -0,0 +1,254 @@
|
||||
# FlareTunnel Blacklist - Full Version 🔥
|
||||
# Save Worker Requests! 💰
|
||||
# Each line = one pattern. Lines with # = comments
|
||||
# Patterns checked against: hostname, path, extension, full URL
|
||||
|
||||
# ========================================
|
||||
# 📊 Analytics & Tracking (Saves a lot!)
|
||||
# ========================================
|
||||
google-analytics.com
|
||||
googletagmanager.com
|
||||
analytics.google.com
|
||||
doubleclick.net
|
||||
stats.g.doubleclick.net
|
||||
facebook.com/tr
|
||||
connect.facebook.net
|
||||
hotjar.com
|
||||
static.hotjar.com
|
||||
mixpanel.com
|
||||
cdn.mxpnl.com
|
||||
segment.com
|
||||
cdn.segment.com
|
||||
amplitude.com
|
||||
heap.io
|
||||
fullstory.com
|
||||
logrocket.com
|
||||
logrocket.io
|
||||
newrelic.com
|
||||
js-agent.newrelic.com
|
||||
quantcast.com
|
||||
sentry.io
|
||||
sentry-cdn.com
|
||||
clarity.ms
|
||||
datadoghq.com
|
||||
pendo.io
|
||||
mouseflow.com
|
||||
crazyegg.com
|
||||
optimizely.com
|
||||
kissmetrics.com
|
||||
chartbeat.com
|
||||
parsely.com
|
||||
omniconvert.com
|
||||
|
||||
# ========================================
|
||||
# 📢 Advertising & Marketing
|
||||
# ========================================
|
||||
googlesyndication.com
|
||||
googleadservices.com
|
||||
adservice.google.com
|
||||
adnxs.com
|
||||
ads.yahoo.com
|
||||
advertising.com
|
||||
adsystem.com
|
||||
adroll.com
|
||||
criteo.com
|
||||
criteo.net
|
||||
outbrain.com
|
||||
taboola.com
|
||||
media.net
|
||||
yieldmo.com
|
||||
pubmatic.com
|
||||
rubiconproject.com
|
||||
openx.net
|
||||
indexww.com
|
||||
contextweb.com
|
||||
turn.com
|
||||
adform.net
|
||||
smartadserver.com
|
||||
serving-sys.com
|
||||
adsafeprotected.com
|
||||
doubleverify.com
|
||||
moatads.com
|
||||
|
||||
# ========================================
|
||||
# 👥 Social Media Tracking
|
||||
# ========================================
|
||||
facebook.com/plugins
|
||||
twitter.com/widgets
|
||||
platform.twitter.com
|
||||
linkedin.com/widgets
|
||||
platform.linkedin.com
|
||||
instagram.com/embed
|
||||
pinterest.com/widgets
|
||||
snapchat.com/widgets
|
||||
tiktok.com/embed
|
||||
reddit.com/static
|
||||
|
||||
# ========================================
|
||||
# 🖼️ Image Formats (Saves a lot!)
|
||||
# ========================================
|
||||
.jpg
|
||||
.jpeg
|
||||
.png
|
||||
.gif
|
||||
.webp
|
||||
.ico
|
||||
.svg
|
||||
.bmp
|
||||
.tiff
|
||||
.avif
|
||||
.jfif
|
||||
|
||||
# ========================================
|
||||
# 🎨 Fonts & CSS
|
||||
# ========================================
|
||||
.woff
|
||||
.woff2
|
||||
.ttf
|
||||
.eot
|
||||
.otf
|
||||
.css
|
||||
fonts.googleapis.com
|
||||
fonts.gstatic.com
|
||||
use.typekit.net
|
||||
cloud.typography.com
|
||||
|
||||
# ========================================
|
||||
# 📦 JavaScript & Maps
|
||||
# ========================================
|
||||
.js
|
||||
.map
|
||||
.min.js
|
||||
.bundle.js
|
||||
|
||||
# ========================================
|
||||
# 🎬 Media Files (Video/Audio)
|
||||
# ========================================
|
||||
.mp4
|
||||
.webm
|
||||
.ogg
|
||||
.mp3
|
||||
.wav
|
||||
.m4a
|
||||
.flac
|
||||
.aac
|
||||
|
||||
# ========================================
|
||||
# 📄 Documents & Archives
|
||||
# ========================================
|
||||
.pdf
|
||||
.zip
|
||||
.rar
|
||||
.7z
|
||||
.tar
|
||||
.gz
|
||||
.doc
|
||||
.docx
|
||||
.xls
|
||||
.xlsx
|
||||
.ppt
|
||||
.pptx
|
||||
|
||||
# ========================================
|
||||
# 🎯 Common Tracking Paths
|
||||
# ========================================
|
||||
/pixel
|
||||
/pixel.gif
|
||||
/track
|
||||
/tracking
|
||||
/analytics
|
||||
/beacon
|
||||
/log
|
||||
/collect
|
||||
/event
|
||||
/events
|
||||
/telemetry
|
||||
/metrics
|
||||
/stats
|
||||
/ping
|
||||
/heartbeat
|
||||
/_ga
|
||||
/_gat
|
||||
/_gid
|
||||
/gtag
|
||||
/fbevents
|
||||
/tr.gif
|
||||
/impression
|
||||
/view
|
||||
/click
|
||||
|
||||
# ========================================
|
||||
# 🌐 CDN & Static Assets
|
||||
# ========================================
|
||||
cdnjs.cloudflare.com/ajax/libs
|
||||
cdn.jsdelivr.net
|
||||
unpkg.com
|
||||
stackpath.bootstrapcdn.com
|
||||
maxcdn.bootstrapcdn.com
|
||||
ajax.googleapis.com/ajax/libs
|
||||
|
||||
# ========================================
|
||||
# 🔌 Third-Party Widgets
|
||||
# ========================================
|
||||
disqus.com
|
||||
zopim.com
|
||||
livechatinc.com
|
||||
tawk.to
|
||||
intercom.io
|
||||
drift.com
|
||||
olark.com
|
||||
zendesk.com/embeddable
|
||||
helpscout.com
|
||||
uservoice.com
|
||||
|
||||
# ========================================
|
||||
# 🎮 Gaming/App Analytics
|
||||
# ========================================
|
||||
unity3d.com/stats
|
||||
unityads.unity3d.com
|
||||
api.gameanalytics.com
|
||||
firebase.google.com
|
||||
|
||||
# ========================================
|
||||
# 🛡️ Security/Bot Detection (Careful!)
|
||||
# ========================================
|
||||
# Note: Blocking these may break some websites
|
||||
# recaptcha.net
|
||||
# google.com/recaptcha
|
||||
# hcaptcha.com
|
||||
# cloudflare.com/cdn-cgi
|
||||
|
||||
# ========================================
|
||||
# 🎯 Specific Trackers
|
||||
# ========================================
|
||||
bat.bing.com
|
||||
t.co
|
||||
bit.ly
|
||||
ow.ly
|
||||
goo.gl
|
||||
tinyurl.com
|
||||
|
||||
# ========================================
|
||||
# 📱 Mobile Analytics
|
||||
# ========================================
|
||||
app-measurement.com
|
||||
firebaselogging.googleapis.com
|
||||
crashlytics.com
|
||||
fabric.io
|
||||
|
||||
# ========================================
|
||||
# 💬 Chat Widgets
|
||||
# ========================================
|
||||
/chat.js
|
||||
/livechat
|
||||
/widget
|
||||
/embed.js
|
||||
|
||||
# ========================================
|
||||
# ⚙️ Add your own patterns here:
|
||||
# ========================================
|
||||
# Examples:
|
||||
# example-tracker.com
|
||||
# .mp4
|
||||
# /my-custom-tracking-path
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
@echo off
|
||||
REM Build script for FlareTunnel Go version (Windows)
|
||||
|
||||
echo 🔨 Building FlareTunnel...
|
||||
echo.
|
||||
|
||||
echo 📦 Downloading dependencies...
|
||||
go mod download
|
||||
if errorlevel 1 (
|
||||
echo ❌ Failed to download dependencies
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo.
|
||||
echo 🏗️ Building for Windows...
|
||||
go build -ldflags="-s -w" -o flaretunnel.exe flaretunnel.go
|
||||
if errorlevel 1 (
|
||||
echo ❌ Build failed
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo.
|
||||
echo ✅ Build complete: flaretunnel.exe
|
||||
echo.
|
||||
echo 🚀 Quick start:
|
||||
echo flaretunnel.exe config # Configure accounts
|
||||
echo flaretunnel.exe create --count 5 # Create workers
|
||||
echo flaretunnel.exe list --verbose # List workers
|
||||
echo flaretunnel.exe tunnel --verbose # Start proxy
|
||||
echo.
|
||||
|
||||
set /p REPLY="Build for other platforms? (y/N) "
|
||||
if /i "%REPLY%"=="y" (
|
||||
echo.
|
||||
echo 🌍 Building for multiple platforms...
|
||||
|
||||
echo Building for Linux (amd64)...
|
||||
set GOOS=linux
|
||||
set GOARCH=amd64
|
||||
go build -ldflags="-s -w" -o flaretunnel-linux-amd64 flaretunnel.go
|
||||
|
||||
echo Building for macOS (amd64)...
|
||||
set GOOS=darwin
|
||||
set GOARCH=amd64
|
||||
go build -ldflags="-s -w" -o flaretunnel-macos-amd64 flaretunnel.go
|
||||
|
||||
echo Building for macOS (arm64)...
|
||||
set GOOS=darwin
|
||||
set GOARCH=arm64
|
||||
go build -ldflags="-s -w" -o flaretunnel-macos-arm64 flaretunnel.go
|
||||
|
||||
echo.
|
||||
echo ✅ Cross-compilation complete!
|
||||
echo.
|
||||
echo 📦 Built binaries:
|
||||
dir /b flaretunnel-*
|
||||
echo.
|
||||
)
|
||||
|
||||
echo ✨ Done!
|
||||
pause
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
#!/bin/bash
|
||||
# Build script for FlareTunnel Go version
|
||||
|
||||
set -e
|
||||
|
||||
echo "🔨 Building FlareTunnel..."
|
||||
|
||||
# Get dependencies
|
||||
echo "📦 Downloading dependencies..."
|
||||
go mod download
|
||||
|
||||
# Build for current platform
|
||||
echo "🏗️ Building for current platform..."
|
||||
go build -ldflags="-s -w" -o flaretunnel flaretunnel.go
|
||||
|
||||
echo "✅ Build complete: ./flaretunnel"
|
||||
echo ""
|
||||
echo "📊 Binary size:"
|
||||
ls -lh flaretunnel | awk '{print $5}'
|
||||
echo ""
|
||||
echo "🚀 Quick start:"
|
||||
echo " ./flaretunnel config # Configure accounts"
|
||||
echo " ./flaretunnel create --count 5 # Create workers"
|
||||
echo " ./flaretunnel list --verbose # List workers"
|
||||
echo " ./flaretunnel tunnel --verbose # Start proxy"
|
||||
echo ""
|
||||
|
||||
# Optional: Build for other platforms
|
||||
read -p "Build for other platforms? (y/N) " -n 1 -r
|
||||
echo
|
||||
if [[ $REPLY =~ ^[Yy]$ ]]
|
||||
then
|
||||
echo "🌍 Building for multiple platforms..."
|
||||
|
||||
# Windows
|
||||
echo " Building for Windows (amd64)..."
|
||||
GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -o flaretunnel-windows-amd64.exe flaretunnel.go
|
||||
|
||||
# Linux
|
||||
echo " Building for Linux (amd64)..."
|
||||
GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o flaretunnel-linux-amd64 flaretunnel.go
|
||||
|
||||
# macOS Intel
|
||||
echo " Building for macOS (amd64)..."
|
||||
GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w" -o flaretunnel-macos-amd64 flaretunnel.go
|
||||
|
||||
# macOS Apple Silicon
|
||||
echo " Building for macOS (arm64)..."
|
||||
GOOS=darwin GOARCH=arm64 go build -ldflags="-s -w" -o flaretunnel-macos-arm64 flaretunnel.go
|
||||
|
||||
# Linux ARM (Raspberry Pi, etc.)
|
||||
echo " Building for Linux (arm64)..."
|
||||
GOOS=linux GOARCH=arm64 go build -ldflags="-s -w" -o flaretunnel-linux-arm64 flaretunnel.go
|
||||
|
||||
echo ""
|
||||
echo "✅ Cross-compilation complete!"
|
||||
echo ""
|
||||
echo "📦 Built binaries:"
|
||||
ls -lh flaretunnel-* | awk '{print " " $9 " - " $5}'
|
||||
echo ""
|
||||
fi
|
||||
|
||||
echo "✨ Done!"
|
||||
|
||||
@@ -0,0 +1,154 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
FlareTunnel - Quick Usage Example
|
||||
Make sure proxy is running: python FlareTunnel.py tunnel --verbose
|
||||
"""
|
||||
|
||||
import requests
|
||||
import urllib3
|
||||
import time
|
||||
|
||||
# Disable SSL warnings
|
||||
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
||||
|
||||
# FlareTunnel proxy configuration
|
||||
proxies = {
|
||||
'http': 'http://127.0.0.1:8080',
|
||||
'https': 'http://127.0.0.1:8080'
|
||||
}
|
||||
|
||||
print("=" * 80)
|
||||
print("FlareTunnel - Usage Example")
|
||||
print("=" * 80)
|
||||
print()
|
||||
print("Make sure proxy is running: python FlareTunnel.py tunnel --verbose")
|
||||
print()
|
||||
print("=" * 80)
|
||||
print()
|
||||
|
||||
# Test 1: Simple GET
|
||||
print("📡 Test 1: GET Request")
|
||||
print("-" * 40)
|
||||
try:
|
||||
response = requests.get(
|
||||
"https://httpbin.org/get?test=123",
|
||||
proxies=proxies,
|
||||
verify=False,
|
||||
timeout=10
|
||||
)
|
||||
print(f"✓ Status: {response.status_code}")
|
||||
data = response.json()
|
||||
print(f"✓ Origin IP: {data.get('origin', 'N/A')}")
|
||||
print(f"✓ Args: {data.get('args', {})}")
|
||||
print()
|
||||
except Exception as e:
|
||||
print(f"✗ Error: {e}")
|
||||
print()
|
||||
|
||||
# Test 2: POST with JSON
|
||||
print("📤 Test 2: POST Request with JSON")
|
||||
print("-" * 40)
|
||||
try:
|
||||
response = requests.post(
|
||||
"https://httpbin.org/post",
|
||||
json={
|
||||
"username": "testuser",
|
||||
"action": "login",
|
||||
"timestamp": time.time()
|
||||
},
|
||||
proxies=proxies,
|
||||
verify=False,
|
||||
timeout=10
|
||||
)
|
||||
print(f"✓ Status: {response.status_code}")
|
||||
data = response.json()
|
||||
print(f"✓ Received JSON: {data.get('json', {})}")
|
||||
print()
|
||||
except Exception as e:
|
||||
print(f"✗ Error: {e}")
|
||||
print()
|
||||
|
||||
# Test 3: Custom Headers
|
||||
print("📋 Test 3: Custom Headers")
|
||||
print("-" * 40)
|
||||
try:
|
||||
response = requests.get(
|
||||
"https://httpbin.org/headers",
|
||||
headers={
|
||||
"X-Custom-Header": "FlareTunnel-Test",
|
||||
"User-Agent": "FlareTunnel/2.0"
|
||||
},
|
||||
proxies=proxies,
|
||||
verify=False,
|
||||
timeout=10
|
||||
)
|
||||
print(f"✓ Status: {response.status_code}")
|
||||
data = response.json()
|
||||
headers_received = data.get('headers', {})
|
||||
print(f"✓ Custom Header: {headers_received.get('X-Custom-Header', 'Not received')}")
|
||||
print(f"✓ User-Agent: {headers_received.get('User-Agent', 'Not received')}")
|
||||
print()
|
||||
except Exception as e:
|
||||
print(f"✗ Error: {e}")
|
||||
print()
|
||||
|
||||
# Test 4: IP Rotation Check
|
||||
print("🔄 Test 4: IP Rotation (5 requests)")
|
||||
print("-" * 40)
|
||||
ips = set()
|
||||
for i in range(5):
|
||||
try:
|
||||
response = requests.get(
|
||||
"https://httpbin.org/ip",
|
||||
proxies=proxies,
|
||||
verify=False,
|
||||
timeout=10
|
||||
)
|
||||
if response.status_code == 200:
|
||||
ip = response.json().get('origin', 'N/A')
|
||||
ips.add(ip)
|
||||
print(f" Request {i+1}: {ip}")
|
||||
time.sleep(0.5)
|
||||
except Exception as e:
|
||||
print(f" Request {i+1}: Error - {e}")
|
||||
|
||||
print(f"\n✓ Unique IPs: {len(ips)}")
|
||||
for ip in sorted(ips):
|
||||
print(f" - {ip}")
|
||||
print()
|
||||
|
||||
# Test 5: Real Website
|
||||
print("🌐 Test 5: Real Website (example.com)")
|
||||
print("-" * 40)
|
||||
try:
|
||||
response = requests.get(
|
||||
"https://example.com",
|
||||
proxies=proxies,
|
||||
verify=False,
|
||||
timeout=10
|
||||
)
|
||||
print(f"✓ Status: {response.status_code}")
|
||||
print(f"✓ Size: {len(response.content):,} bytes")
|
||||
# Show first 100 chars
|
||||
content_preview = response.text[:100].replace('\n', ' ')
|
||||
print(f"✓ Preview: {content_preview}...")
|
||||
print()
|
||||
except Exception as e:
|
||||
print(f"✗ Error: {e}")
|
||||
print()
|
||||
|
||||
# Summary
|
||||
print("=" * 80)
|
||||
print("✅ All tests completed!")
|
||||
print("=" * 80)
|
||||
print()
|
||||
print("💡 Key Points:")
|
||||
print(" • All requests went through Cloudflare Workers")
|
||||
print(" • Use rotation modes to change IPs (--mode random)")
|
||||
print(" • Use blacklist to save Worker requests (default: blacklist-minimal.txt)")
|
||||
print(" • IP addresses are blocked by default (Cloudflare doesn't support them)")
|
||||
print()
|
||||
print("📚 Learn More:")
|
||||
print(" • README.md - Full documentation")
|
||||
print(" • python FlareTunnel.py --help - All commands")
|
||||
print()
|
||||
@@ -0,0 +1,7 @@
|
||||
module flaretunnel
|
||||
|
||||
go 1.21
|
||||
|
||||
require github.com/olekukonko/tablewriter v0.0.5
|
||||
|
||||
require github.com/mattn/go-runewidth v0.0.9 // indirect
|
||||
@@ -0,0 +1,4 @@
|
||||
github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0=
|
||||
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
|
||||
github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
|
||||
github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
|
||||
Reference in New Issue
Block a user