Skip to content

exelite-dev/Exelite-Scanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌟 Clean IP Scanner — Xray Core Professional Edition

Clean IP Scanner یک ابزار قدرتمند و حرفه‌ای برای پیدا کردن بهترین IP و CDN برای کانفیگ‌های VLESS / VMESS / Trojan است که با هسته Xray کار می‌کند.

این ابزار با تست‌های دقیق Latency / Delay / TLS / Download / Upload / Stability و یک رابط کاربری زنده و متحرک (Rich TUI) بهترین IPها را رتبه‌بندی می‌کند و خروجی‌های آماده و استفاده‌پذیر فراهم می‌کند.


🎯 ویژگی‌های اصلی

🚀 اسکن هوشمند و سریع

  • رنج‌های CDN حاضر: Cloudflare / Fastly
  • رنج‌های سفارشی: از فایل یا دستی یک، یکی
  • مرحله‌بندی ذکی:
    • Stage 1: اسکن سریع تمام IPها (Latency + TLS)
    • Stage 2: ری‌تست دقیق روی Top N + Speed Test

📊 تست‌های جامع

  • Delay (Real Tunnel Delay): اندازه‌گیری واقعی تاخیر از طریق تانل SOCKS
  • Latency (Endpoint Response): تاخیر پاسخ‌دهی endpoint
  • Jitter (Variance): نوسان‌پذیری تاخیر
  • Packet Loss: درصد بسته‌های کم‌شوندگی
  • TLS Handshake: زمان handshake TLS
  • Download Speed: سرعت دانلود (Mbps)
  • Upload Speed: سرعت آپلود (Mbps)
  • HTTP/2 & HTTP/3 Support: تشخیص پروتکل
  • CDN Detection: تشخیص نوع CDN (Cloudflare/Fastly)
  • Stability Test: پایداری در مدت زمان تعیین‌شده

💎 خروجی‌های حرفه‌ای

output_20260217_102404/
├── clean_ips.txt              # تمام IPهای سالم (یک per خط)
├── best_ip.txt                # بهترین IP (Top 1)
├── all_clean_configs.txt      # تمام کانفیگ‌های آماده (تمام Clean IPs)
├── best_ip_config.txt         # بهترین کانفیگ
├── results.csv                # نتایج کامل (Excel)
├── results.json               # نتایج JSON (API-friendly)
├── report.html                # گزارش تعاملی (قابل‌ استفاده در مرورگر)
└── best_config.txt            # (Legacy)

🎨 رابط کاربری پیشرفته

  • Rich Live TUI: جدول زنده با رنگ‌های متحرک
  • Breathing Neon Animation: مرزهای پنل‌ها به‌صورت smooth بین رنگ‌های آبی/فیروزه‌ای تغییر می‌کنند
  • Pulsing Status Text: متن وضعیت با افکت تپشی (Pulse)
  • Real-time Stats: آمار به‌روزرسانی شده هر لحظه
  • Progress Bar: نوار پیشرفت زیبا و دقیق
  • Spinner Animation: انیمیشن چرخشی برای تاخیر
  • Medal System: 🥇 🥈 🥉 برای بهترین‌ها
  • Color Gradients: رنگ‌بندی thematic برای وضعیت‌های مختلف

🛑 مدیریت اضطراری

  • Ctrl+C Support: توقف هرزمان و ذخیره‌سازی نتایج جزئی
  • Graceful Shutdown: تمام پروسس‌های Xray خودکار بسته می‌شوند
  • Cache Management: نتایج قبلی حفظ می‌شوند (بدون نیاز دوباره تست)

🔒 امنیت و قابلیت اعتماد

  • SOCKS5h Support: DNS resolution از طریق تانل (بدون leakage)
  • SSL/TLS Verification: تشخیص گواهینامه معتبر
  • Timeout Protection: هیچ‌کدام از درخواست‌ها گیر نمی‌کند
  • Port Management: خودکار اختصاص و آزاد‌سازی پورت‌ها
  • Clean Process Termination: بدون zombie process

📋 پیش‌نیازها

الزامی

  • Python 3.10+
  • xray.exe (در پوشه پروژه یا PATH)
    • اگر نباشد، برنامه خودکار دانلود می‌کند (v1.8.24)

توصیه‌شده

pip install requests pysocks

اختیاری (برای UI بهتر)

pip install rich

▶️ نحوه استفاده

🧙 Wizard Mode (تعاملی)

python scanner.py

برنامه سوال‌هایی می‌پرسد و شما جواب می‌دهید.

🖥️ CLI Mode (دستوری)

# مثال ساده
py -3.12 scanner.py -c "vless://..." -r ranges/cloudflare_ipv4.txt -n 100 -w 12

# مثال پیشرفته
py -3.12 scanner.py `
  -c "vless://..." `
  -rf ranges/cloudflare_ipv4.txt `
  -n 200 `
  -w 12 `
  --xray-workers 6 `
  --timeout 5 `
  --max-latency 500 `
  --stage2-top 30 `
  --stability 60 `
  --speed-seconds 5.0 `
  --tui `
  --http2 --http3 `
  --cdn-check

📖 گزینه‌های CLI

Config

  • -c, --config - کانفیگ inline (vless/vmess/trojan)
  • -cf, --config-file - یا از فایل

Targets

  • -r, --range - رنج IP inline
  • -rf, --range-file - یا از فایل
  • --ip - تک IP یا CIDR (تکرار‌پذیر)
  • --ip-file - از فایل

Performance

  • -w, --workers - تعداد worker thread (پیش‌فرض: 8)
  • --xray-workers - تعداد Xray process (پیش‌فرض: 24)
  • -t, --timeout - timeout per request (پیش‌فرض: 5s)
  • -ml, --max-latency - حداکثر latency قابل قبول (پیش‌فرض: 500ms)

Testing

  • --no-download - غیرفعال‌سازی تست دانلود
  • --no-upload - غیرفعال‌سازی تست آپلود
  • --speed-seconds - مدت تست سرعت (پیش‌فرض: 5.0s)
  • --speed-kb - حجم chunk سرعت (پیش‌فرض: 1024KB)
  • --http2 --http3 - تشخیص HTTP/2 & 3
  • --cdn-check - بررسی CDN
  • --strict-cdn - برای CDN، IP باید معتبر باشد

Stability

  • --stability - مدت تست stability (ثانیه، 0=off)
  • --stability-interval - فاصله probe (پیش‌فرض: 5s)
  • --stability-top - چند تا بهترین رو تست کنیم (پیش‌فرض: 10)

Output

  • --tui - فعال‌سازی Rich Dashboard UI
  • --sort-key - نوع sort (score, lat, jitter, loss, tls, dl, ul)
  • --no-cache - نادیده گرفتن cache
  • --refresh-cache - حذف cache قدیم

اپدیت

  • --update-ranges - آپدیت CDN ranges و خروج

🎯 Wizard سوال به سوال

❓ Update CDN ranges now?

آپدیت رنج‌های جدید Cloudflare و Fastly.

  • Y: دانلود
  • N: (پیش‌فرض) استفاده از رنج‌های موجود

❓ Config input?

  • 1: از config.sample.txt بخواند
  • 2: کانفیگ را دستی paste کنید

❓ Ports to scan?

پورت‌های target (معمولاً 443).

  • پیش‌فرض: 443

❓ Select IP ranges?

  • 1: Cloudflare IPv4
  • 2: Fastly IPv4
  • 3: فایل سفارشی
  • 4: دستی (CIDR/IP listing)

❓ Scan order?

  • 1: Random (shuffle) - سریع‌تر به آی‌پی خوب برسید
  • 2: Ordered - به ترتیب فایل

❓ How many IPs to sample?

  • پیش‌فرض: 100
  • نکته: بیشتر = تست طول‌انی‌تر (اما نتیجه بهتر)

❓ Workers (concurrency)?

  • پیش‌فرض: 8
  • نکته: بالا = سریع‌تر اما ممکن timeout بیشتر
  • توصیه: 8-24

❓ Latency endpoints?

URL‌های برای تست سرعت پاسخ.

  • پیش‌فرض: Cloudflare + Google + Cloudflare CDN
  • بهتر: حالت پیش‌فرض بماند

❓ Stage2 re-test top N?

بعد از Stage 1 سریع، این تعداد بهترین رو دوباره دقیق‌تر تست کن.

  • پیش‌فرض: 30
  • نکته: بالا = دقیق‌تر اما طول‌انی‌تر

❓ Stability test seconds?

برای بهترین‌ها، چند ثانیه پایداری بررسی کن.

  • پیش‌فرض: 60
  • نکته: 0 = خاموش

❓ Use cache?

آیا نتایج قبلی حفظ شود؟

  • Y: (پیش‌فرض) سریع‌تر (تست شده‌ها skip شوند)
  • N: همه‌چی دوباره

❓ Download/Upload test?

  • Y: (پیش‌فرض) سرعت اندازه‌گیری شود
  • N: صرفاً Latency test

❓ Install Rich now?

برای رابط کاربری جالب.

  • Y: نصب (توصیه می‌شود)
  • N: بدون UI

📊 معانی ستون‌های جدول

ستون معنی واحد نوت
IP آدرس IP:Port - رنگ چشمی
Delay تاخیر واقعی تانل ms از طریق SOCKS TCP
JIT Jitter (نوسان) ms stddev تاخیرها
LOSS% درصد بسته‌های کم % 0=کامل، بالا=بد
DL سرعت دانلود Mbps هر چقدر بالا بهتر
UL سرعت آپلود Mbps هر چقدر بالا بهتر
SCORE امتیاز (کم‌تر بهتر) - ترکیب همه‌ی فاکتور

🎖️ قرارداد Scoring

کمتر بهتر است!

Score = 
  latency×2.2 + jitter×1.4 + loss×35 + tls×0.8 + real_delay×1.1
  - dl×2 - ul×1.2 + dl_stddev×5 + ul_stddev×4
  + stability_variance×1.2 + spikes×10 - uptime×0.8

نکات:

  • ⭐⭐⭐⭐⭐ = بسیار خوب (< 1000)
  • ⭐⭐⭐⭐ = خوب (1000-5000)
  • ⭐⭐⭐ = قابل (5000-20000)
  • ⭐⭐ = ضعیف‌تر (20000+)

💾 خروجی‌ها

clean_ips.txt

45.80.111.25
45.80.111.1
45.80.111.7
...

best_ip.txt

45.80.111.25:443

all_clean_configs.txt

vless://UUID@45.80.111.25:443?...
vless://UUID@45.80.111.1:443?...
...

best_ip_config.txt

vless://UUID@45.80.111.25:443?...

results.json

{
  "generated_at": "2026-02-17T10:24:04.123456",
  "results": [
    {
      "ip": "45.80.111.25",
      "port": 443,
      "status": "clean",
      "latency_median_ms": 134.9,
      "delay_ms": 150.2,
      "jitter_stddev_ms": 206.1,
      "loss_percent": 0.0,
      "download_mbps": 0.99,
      "upload_mbps": 0.05,
      "score": 809.31
    },
    ...
  ]
}

report.html

  • گزارش تعاملی در مرورگر
  • جدول sortable
  • نمودار رنگی
  • Top 10 highlight

🚨 Troubleshooting

❌ "xray not found"

  • حل: xray.exe را از GitHub releases دانلود کنید و در پوشه پروژه قرار دهید

❌ "Missing dependency: requests / pysocks"

  • حل:
    pip install requests pysocks

❌ "Timeout" بسیار زیاد

  • حل:
    • --timeout را افزایش دهید (مثلاً 8-10)
    • --workers را کاهش دهید (مثلاً 4-6)
    • اینترنت‌تان را بررسی کنید

❌ SpeedTest 0 / N/A

  • معنی: شبکه ضعیف یا IP محدود‌کردن شده
  • حل: --no-download / --no-upload برای رد کردن speed test

❌ "All IPs are dirty"

  • معنی: رنج CDN مناسب نیست یا تنظیمات اشتباه است
  • حل:
    • رنج دیگری امتحان کنید
    • کانفیگ را تایید کنید
    • --max-latency را بالا ببرید

⚠️ "Stage 2 timeout"

  • حل: --xray-workers را کاهش دهید

💡 نکات حرفه‌ای

بهترین تنظیمات برای اکثر موارد:

python scanner.py
# اجازه دهید Wizard سؤال بپرسد (ساده‌ترین)

برای اینترنت ضعیف:

py -3.12 scanner.py -c "..." -rf ranges/cloudflare_ipv4.txt `
  -n 50 -w 4 --xray-workers 2 -t 10 --max-latency 1000 --no-upload

برای نتیجه دقیق‌تر:

py -3.12 scanner.py -c "..." -rf ranges/cloudflare_ipv4.txt `
  -n 200 -w 12 --xray-workers 8 --stage2-top 50 --stability 120

برای سرعت:

py -3.12 scanner.py -c "..." -rf ranges/cloudflare_ipv4.txt `
  -n 300 -w 20 --xray-workers 16 --no-download --no-upload

🔄 Update Ranges

رنج‌های CDN را آپدیت کنید:

python scanner.py --update-ranges

این دستور Cloudflare و Fastly رنج‌های را دانلود می‌کند و در ranges/ ذخیره می‌کند.


🎓 مثال عملی

سناریو: پیدا کردن بهترین Cloudflare IP

# 1. شروع Wizard
python scanner.py

# 2. جواب‌ها (مثال):
# Update CDN? → N
# Config? → 1 (config.sample.txt را استفاده کن)
# Ports? → 443
# Ranges? → 1 (Cloudflare)
# Order? → 1 (Random)
# Count? → 100
# Workers? → 12
# Max Latency? → 500
# Stage2 Top? → 30
# Stability? → 60 (بررسی پایداری 60 ثانیه)
# Install Rich? → Y

نتیجه:

  • تمام نتایج در output_YYYYMMDD_HHMMSS/ ذخیره می‌شوند
  • clean_ips.txt: تمام IPهای خوب
  • best_ip_config.txt: کانفیگ بهترین IP
  • report.html: گزارش کامل (در مرورگر باز کنید)

📞 پشتیبانی

اگر مشکلی داشتید:

  1. ✅ اینترنت و Xray را بررسی کنید
  2. ✅ Python و dependencies را آپدیت کنید
  3. ✅ Cache را پاک کنید: del cache.json
  4. ✅ دوباره اجرا کنید: python scanner.py

🎨 اعتماد‌بخشی

  • @Config_Vortex55 - طراح اصلی (Config Vortex)
  • CLI & Wizard - تعاملی و دوست‌انسان
  • Rich TUI - رابط‌کاربری زیبا و متحرک
  • Xray Core - هسته قدرتمند برای VLESS/VMESS/Trojan

📝 لایسنس

یا Open Source یا محدود (مطابق با ترجیحات نویسنده).


نسخه: 2.0.0 (Feb 17, 2026)
پلتفرم: Windows 10+ (PowerShell 5.1+)
Python: 3.10+

About

Find the fastest and most stable clean IPs for Xray using real tunnel tests, speed analysis and smart ranking.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages