High-Performance VLESS/VMess Endpoint Scanner for Cloudflare CDN IPs
Features • Installation • Usage • How It Works • Configuration • Troubleshooting
EzAccess Cloudflare Scanner is a powerful multi-threaded network diagnostic tool that scans Cloudflare CDN IP ranges to find the fastest, most reliable endpoints for your VLESS/VMess proxy configurations. It performs comprehensive latency, bandwidth, and geolocation analysis to identify optimal server connections.
Designed specifically for the Iranian and international internet freedom community, this tool automates the tedious process of manually testing hundreds of Cloudflare IPs to find ones that work best with your specific configuration.
- Ping Latency – ICMP round-trip time for each endpoint
- Download Speed – Real download throughput via SOCKS5 proxy
- Upload Speed – Real upload throughput to Cloudflare test endpoints
- Colo Location – Cloudflare data center identification
- TLS Handshake – Optional pre-filter to eliminate dead IPs immediately
- 🚀 Multi-Threaded Scanning – Configurable worker pool (1-64 threads) for parallel testing
- 🔒 Full Protocol Support – VLESS and VMess with WebSocket, gRPC, and XHTTP transports
- 🎯 Smart Scoring – Composite scoring algorithm balancing speed, latency, and reliability
- 📊 Real-Time Dashboard – Live top-10 leaderboard with dynamic updates
- 🧵 Safe Process Management – Clean Xray core lifecycle with process tree cleanup
- ⚡ TLS Pre-Filtering – Optional fast TCP/TLS handshake test to skip dead IPs early
- 🎲 IP Range Shuffling – Randomize scan order to avoid rate limiting
- 📁 CIDR/Range/Auto-Expand – Supports single IPs, CIDR notation, ranges, and mixed input files
- 🔄 Real-Time GOOD Pool Export – Automatically save qualifying results to file during scan
- 📤 v2rayN URI Export – Generate top-N v2rayN-compatible VLESS/VMess links
- ⚙️ Flexible Classification – Configurable GOOD/DL-only/UL-only/Below thresholds
- 🎨 Dark Theme UI – Modern gradient-based interface with adaptive font scaling
- 🔧 Custom Upload URL – Point to your own upload test endpoint
- 📈 Live Progress Tracking – Real-time percentage, pool stats, and status updates
- Windows (10/11 recommended)
- Python 3.8+ (64-bit)
- Xray Core (
xray.exe) – Download from XTLS/Xray-core - curl – Included with Windows 10+ or install manually
-
Clone the repository
git clone https://github.com/YourUsername/EzAccess-Cloudflare-Scanner.git cd EzAccess-Cloudflare-Scanner -
Install Python dependencies
pip install -r requirements.txt
Required: PySide6
-
Download Xray Core
- Visit Xray-core releases
- Download
Xray-windows-64.zip - Extract
xray.exeto the same folder asmain.py
-
Verify Installation
python main.py
-
Launch the application
python main.py
-
Configure Xray path – Point to your
xray.exe(defaults to./xray.exe) -
Paste your configuration URI
vless://YOUR-UUID@yourdomain.com:443?security=tls&sni=yourdomain.com&type=ws&path=%2F#YourConfigor
vmess://BASE64_ENCODED_CONFIG -
Set IP targets – Default is
188.114.96.0/20(Cloudflare's standard range)- Single IP:
1.1.1.1 - CIDR Range:
188.114.96.0/20 - IP Range:
1.1.1.1-1.1.1.255 - Import from file containing mixed formats
- Single IP:
-
Click "Start Scan" and watch the results populate in real-time!
188.114.96.0/20
162.159.192.0/18
1.1.1.1-1.1.1.255
# Lines starting with # are ignored
Create a .txt file with any combination of the formats above. Use the "Import targets from file" button.
Enable "Relaxed GOOD" to treat DL-only or UL-only results as valid GOOD entries for your pool.
| Parameter | Default | Range | Description |
|---|---|---|---|
| Workers | 6 | 1-64 | Number of concurrent scanning threads |
| SOCKS Base Port | 19080 | 1024-65500 | Starting port for SOCKS5 proxies (each worker gets base+wid) |
| DL Bytes | 20,000,000 | 100K-200M | Bytes to download for speed test |
| UL Bytes | 3,000,000 | 100K-50M | Bytes to upload for speed test |
| Min DL (Mbps) | 10.0 | 0-10000 | Minimum download speed to qualify as GOOD |
| Min UL (Mbps) | 2.0 | 0-10000 | Minimum upload speed to qualify as GOOD |
| Limit | 254 | 0-10M | Max IPs to scan (0 = unlimited) |
| Upload URL | Cloudflare | any HTTP(S) | Custom endpoint for upload testing |
Score = (Download × 0.75) + (Upload × 0.25) - (Ping / 50)
For DL-only or UL-only results:
Score = (Available Speed × 0.7) - (Ping / 60)
┌─────────────────────┐
│ MainWindow (UI) │
│ - Real-time updates│
│ - Top 10 dashboard │
│ - Result table │
└──────────┬──────────┘
│
┌──────────▼──────────┐
│ Scanner Workers │
│ - Thread pool │
│ - IP queue │
│ - Result queue │
└──────────┬──────────┘
│
┌──────────▼──────────┐
│ Xray Core (SOCKS) │
│ - Per-worker proxy │
│ - Dynamic config │
│ - Clean lifecycle │
└──────────┬──────────┘
│
┌──────────▼──────────┐
│ Network Tests │
│ - Ping (ICMP) │
│ - Download (curl) │
│ - Upload (curl) │
│ - Colo (trace) │
└─────────────────────┘
- IP Pool Generation – Parse targets, expand ranges, shuffle
- Worker Distribution – IPs pushed to FIFO queue consumed by threads
- Per-IP Pipeline:
Ping Test → [TLS Pre-Filter] → Xray Config Generation → Proxy Start → Download Test → Upload Test → Colo Lookup → Score Calculation → Result Dispatch → Proxy Cleanup - Real-Time Processing – Results streamed to UI, GOOD pool updated live
- Graceful Shutdown –
Stop Safelykills all subprocesses cleanly
| Status | Criteria | Icon |
|---|---|---|
| GOOD | DL ≥ threshold AND UL ≥ threshold | 🚀 |
| DL-only | Only download test succeeded | ⚡ |
| UL-only | Only upload test succeeded | ⚡ |
| Below | Both tests completed but below thresholds | 🌐 |
- > 25 – Excellent, high-speed endpoint (🚀)
- 15-25 – Good, reliable performance (⚡)
- < 15 – Acceptable, usable speeds (🌐)
1.1.1.1 GOOD ping=45ms dl=85.23 ul=23.45 colo=LAX score=78.92
188.114.97.2 GOOD ping=32ms dl=92.11 ul=18.67 colo=CDG score=85.34
vless://uuid@1.1.1.1:443?security=tls&type=ws&path=%2F#Config-score-78.92-GOOD
vmess://eyJhZGQiOiIxLjEuMS4xIiwgInBzIjogIkNvbmZpZy0xLjEuMS4xLXNjb3JlLTc4LjkyLUdPT0QiLCAuLi59
"xray.exe not found"
- Ensure
xray.exeis in the same directory asmain.py - Use "Browse xray.exe" to explicitly set the path
"No results showing"
- Check that your URI has
security=tls– most Cloudflare IPs require TLS - Increase worker count for faster processing
- Verify the IP range is valid Cloudflare CDN
"All results are Below threshold"
- Lower minimum DL/UL thresholds
- Check your internet connection
- Try different Cloudflare IP ranges
"curl not found"
- Install curl or add to PATH
- Ensure you're using PowerShell or CMD where curl is available
Process cleanup issues
- Use "Stop Safely" button (not window close) for clean termination
- If Xray processes persist, manually run:
taskkill /F /IM xray.exe
Contributions are welcome! Areas that need attention:
- Linux/macOS support – Platform-specific command adaptations
- Additional protocols – Shadowsocks, Trojan, Hysteria2
- Performance optimizations – Faster parallel testing
- UI improvements – Additional visualizations, export formats
- Bugs/Issues – Report through GitHub Issues
This project is licensed under the MIT License – see the LICENSE file for details.
This tool is designed for network testing and optimization purposes only. Users are responsible for ensuring compliance with their local laws and regulations regarding proxy tools and network scanning. The developers assume no liability for misuse or any damages resulting from the use of this software.
- XTLS/Xray-core – Powerful proxy platform
- Cloudflare – CDN infrastructure and speed test endpoints
- Community – Iranian network freedom advocates for testing and feedback
Programmed By MacanDev
📢 Telegram Channel: @EzAccess1
If this tool helps you, star the repo! ⭐
اسکنر حرفهای VLESS/VMess برای IP های کلودفلر
ویژگیها • نصب • روش استفاده • نحوه کار • تنظیمات • رفع اشکال
EzAccess Cloudflare Scanner یک ابزار قدرتمند شبکهای چندنخی است که رنجهای IP کلودفلر را اسکن میکند تا سریعترین و پایدارترین IP ها را برای کانفیگهای VLESS/VMess شما پیدا کند. این ابزار تستهای جامع تأخیر، پهنای باند و موقعیت جغرافیایی را برای شناسایی بهترین نقاط اتصال انجام میدهد.
این ابزار که به طور ویژه برای جامعه اینترنت ایران و مدافعان آزادی اینترنت طراحی شده، فرآیند خستهکننده تست دستی صدها IP کلودفلر را خودکار میکند تا IP هایی را پیدا کند که بهترین عملکرد را با کانفیگ خاص شما دارند.
- تأخیر (Ping) – زمان رفت و برگشت ICMP برای هر IP
- سرعت دانلود – توان عملیاتی واقعی دانلود از طریق پروکسی SOCKS5
- سرعت آپلود – توان عملیاتی واقعی آپلود به نقاط تست کلودفلر
- موقعیت Colo – شناسایی دیتاسنتر کلودفلر
- TLS Handshake – فیلتر اولیه اختیاری برای حذف سریع IP های مرده
- 🚀 اسکن چندنخی – استخر کاری قابل تنظیم (1-64 نخ) برای تست موازی
- 🔒 پشتیبانی کامل از پروتکلها – VLESS و VMess با انتقال WebSocket، gRPC و XHTTP
- 🎯 امتیازدهی هوشمند – الگوریتم امتیازدهی ترکیبی با توازن سرعت، تأخیر و پایداری
- 📊 داشبورد زنده – جدول ۱۰ تای برتر با بهروزرسانی پویا
- 🧵 مدیریت امن فرآیندها – چرخه حیات تمیز Xray با پاکسازی درختی فرآیندها
- ⚡ پیشفیلتر TLS – تست سریع TCP/TLS Handshake اختیاری برای رد کردن زودهنگام IP های مرده
- 🎲 شافل رنج IP – تصادفیسازی ترتیب اسکن برای جلوگیری از محدودیت نرخ
- 📁 پشتیبانی از CIDR/رنج/Auto-Expand – پشتیبانی از IP تکی، نتهای CIDR، رنجها و فایلهای ورودی ترکیبی
- 🔄 خروجی زنده استخر GOOD – ذخیره خودکار نتایج واجد شرایط در فایل حین اسکن
- 📤 خروجی v2rayN URI – تولید لینکهای VLESS/VMess سازگار با v2rayN برای N تای برتر
- ⚙️ طبقهبندی انعطافپذیر – آستانههای قابل تنظیم GOOD/DL-only/UL-only/Below
- 🎨 رابط کاربری دارک مود – رابط مدرن مبتنی بر گرادینت با مقیاسدهی تطبیقی فونت
- 🔧 URL آپلود سفارشی – اشاره به نقطه پایانی آپلود دلخواه
- 📈 ردیابی زنده پیشرفت – درصد لحظهای، آمار استخر و بهروزرسانی وضعیت
- ویندوز (10 یا 11 پیشنهاد میشود)
- Python 3.8+ (64 بیتی)
- Xray Core (
xray.exe) – دانلود از XTLS/Xray-core - curl – در ویندوز 10+ موجود است یا به صورت دستی نصب کنید
-
کلون کردن مخزن
git clone https://github.com/YourUsername/EzAccess-Cloudflare-Scanner.git cd EzAccess-Cloudflare-Scanner -
نصب وابستگیهای پایتون
pip install -r requirements.txt
نیازمندی: PySide6
-
دانلود Xray Core
- به صفحه انتشار Xray-core مراجعه کنید
- فایل
Xray-windows-64.zipرا دانلود کنید - فایل
xray.exeرا در همان پوشهmain.pyاستخراج کنید
-
تأیید نصب
python main.py
-
اجرای برنامه
python main.py
-
تنظیم مسیر Xray – به
xray.exeخود اشاره کنید (پیشفرض:./xray.exe) -
چسباندن URI کانفیگ
vless://YOUR-UUID@yourdomain.com:443?security=tls&sni=yourdomain.com&type=ws&path=%2F#YourConfigیا
vmess://BASE64_ENCODED_CONFIG -
تنظیم IP های هدف – پیشفرض
188.114.96.0/20(رنج استاندارد کلودفلر)- IP تکی:
1.1.1.1 - رنج CIDR:
188.114.96.0/20 - بازه IP:
1.1.1.1-1.1.1.255 - وارد کردن از فایل حاوی فرمتهای ترکیبی
- IP تکی:
-
کلیک روی "Start Scan" و مشاهده نتایج به صورت زنده!
188.114.96.0/20
162.159.192.0/18
1.1.1.1-1.1.1.255
# خطوطی که با # شروع میشوند نادیده گرفته میشوند
یک فایل .txt با هر ترکیبی از فرمتهای بالا ایجاد کنید. از دکمه "Import targets from file" استفاده کنید.
گزینه "Relaxed GOOD" را فعال کنید تا نتایج DL-only یا UL-only به عنوان ورودیهای معتبر GOOD برای استخر شما در نظر گرفته شوند.
| پارامتر | پیشفرض | بازه | توضیح |
|---|---|---|---|
| Workers | 6 | 1-64 | تعداد نخهای اسکن همزمان |
| SOCKS Base Port | 19080 | 1024-65500 | پورت شروع برای پروکسیهای SOCKS5 (هر Worker پورت base+wid میگیرد) |
| DL Bytes | 20,000,000 | 100K-200M | تعداد بایت برای دانلود تست سرعت |
| UL Bytes | 3,000,000 | 100K-50M | تعداد بایت برای آپلود تست سرعت |
| Min DL (Mbps) | 10.0 | 0-10000 | حداقل سرعت دانلود برای واجد شرایط شدن GOOD |
| Min UL (Mbps) | 2.0 | 0-10000 | حداقل سرعت آپلود برای واجد شرایط شدن GOOD |
| Limit | 254 | 0-10M | حداکثر IP برای تست (0 = نامحدود) |
| Upload URL | Cloudflare | هر HTTP(S) | نقطه پایانی سفارشی برای تست آپلود |
امتیاز = (دانلود × 0.75) + (آپلود × 0.25) - (پینگ / 50)
برای نتایج فقط دانلود یا فقط آپلود:
امتیاز = (سرعت موجود × 0.7) - (پینگ / 60)
┌─────────────────────┐
│ MainWindow (UI) │
│ - بهروزرسانی زنده │
│ - داشبورد ۱۰ تای │
│ - جدول نتایج │
└──────────┬──────────┘
│
┌──────────▼──────────┐
│ Scanner Workers │
│ - استخر نخها │
│ - صف IP │
│ - صف نتایج │
└──────────┬──────────┘
│
┌──────────▼──────────┐
│ Xray Core (SOCKS) │
│ - پروکسی هر Worker │
│ - کانفیگ پویا │
│ - چرخه حیات تمیز │
└──────────┬──────────┘
│
┌──────────▼──────────┐
│ تستهای شبکه │
│ - پینگ (ICMP) │
│ - دانلود (curl) │
│ - آپلود (curl) │
│ - Colo (trace) │
└─────────────────────┘
- تولید استخر IP – تجزیه اهداف، گسترش رنجها، شافل
- توزیع Worker – IP ها به صف FIFO ارسال و توسط نخها مصرف میشوند
- خط لوله هر IP:
تست پینگ → [پیشفیلتر TLS] → تولید کانفیگ Xray → شروع پروکسی → تست دانلود → تست آپلود → جستجوی Colo → محاسبه امتیاز → ارسال نتیجه → پاکسازی پروکسی - پردازش لحظهای – نتایج به رابط کاربری ارسال میشود، استخر GOOD بهروزرسانی میشود
- خاموشی ایمن – دکمه
Stop Safelyتمام زیرفرآیندها را به صورت پاک متوقف میکند
| وضعیت | معیار | آیکون |
|---|---|---|
| GOOD | دانلود ≥ آستانه و آپلود ≥ آستانه | 🚀 |
| DL-only | فقط تست دانلود موفق بود | ⚡ |
| UL-only | فقط تست آپلود موفق بود | ⚡ |
| Below | هر دو تست کامل شد اما زیر آستانه | 🌐 |
- > ۲۵ – عالی، نقطه پایانی پرسرعت (🚀)
- ۱۵-۲۵ – خوب، عملکرد قابل اعتماد (⚡)
- < ۱۵ – قابل قبول، سرعتهای قابل استفاده (🌐)
1.1.1.1 GOOD ping=45ms dl=85.23 ul=23.45 colo=LAX score=78.92
188.114.97.2 GOOD ping=32ms dl=92.11 ul=18.67 colo=CDG score=85.34
vless://uuid@1.1.1.1:443?security=tls&type=ws&path=%2F#Config-score-78.92-GOOD
vmess://eyJhZGQiOiIxLjEuMS4xIiwgInBzIjogIkNvbmZpZy0xLjEuMS4xLXNjb3JlLTc4LjkyLUdPT0QiLCAuLi59
"xray.exe not found"
- مطمئن شوید
xray.exeدر همان پوشهmain.pyاست - از دکمه "Browse xray.exe" برای تنظیم صریح مسیر استفاده کنید
"No results showing"
- بررسی کنید که URI شما
security=tlsدارد – بیشتر IP های کلودفلر نیاز به TLS دارند - تعداد Worker را افزایش دهید
- تأیید کنید که رنج IP، کلودفلر معتبر است
"All results are Below threshold"
- آستانههای حداقل دانلود/آپلود را کاهش دهید
- اتصال اینترنت خود را بررسی کنید
- رنجهای IP کلودفلر متفاوت را امتحان کنید
"curl not found"
- curl را نصب کنید یا به PATH اضافه کنید
- مطمئن شوید از PowerShell یا CMD استفاده میکنید
مشکلات پاکسازی فرآیند
- از دکمه "Stop Safely" (نه بستن پنجره) برای توقف پاک استفاده کنید
- اگر فرآیندهای Xray باقی ماندند، دستی اجرا کنید:
taskkill /F /IM xray.exe
مشارکتها خوشآمد هستند! زمینههایی که نیاز به توجه دارند:
- پشتیبانی از Linux/macOS – تطبیق دستورات مخصوص پلتفرم
- پروتکلهای اضافی – Shadowsocks، Trojan، Hysteria2
- بهینهسازی عملکرد – تست موازی سریعتر
- بهبودهای رابط کاربری – نمودارهای اضافی، فرمتهای خروجی
- باگها/مشکلات – از طریق GitHub Issues گزارش دهید
این پروژه تحت مجوز MIT منتشر شده است – برای جزئیات به فایل LICENSE مراجعه کنید.
این ابزار فقط برای اهداف تست و بهینهسازی شبکه طراحی شده است. کاربران مسئول اطمینان از رعایت قوانین و مقررات محلی خود در رابطه با ابزارهای پروکسی و اسکن شبکه هستند. توسعهدهندگان هیچ مسئولیتی در قبال سوءاستفاده یا هرگونه خسارت ناشی از استفاده از این نرمافزار نمیپذیرند.
- XTLS/Xray-core – پلتفرم پروکسی قدرتمند
- Cloudflare – زیرساخت CDN و نقاط پایانی تست سرعت
- جامعه – مدافعان آزادی شبکه ایران برای تست و بازخورد
برنامهنویسی شده توسط MacanDev
📢 کانال تلگرام: @EzAccess1
اگر این ابزار به شما کمک کرد، به مخزن ستاره بدهید! ⭐