Skip to content

Latest commit

 

History

History
158 lines (102 loc) · 7.14 KB

File metadata and controls

158 lines (102 loc) · 7.14 KB

🌐 Available in: English | فارسی | Русский | 中文

Reality SNI Finder

دامنه‌های HTTPS (کاندیدای SNI) را که روی آی‌پی‌های نزدیک به VPS شما میزبانی می‌شوند پیدا می‌کند تا بتوانید مقادیر SNI را انتخاب کنید که تأخیر کم و مسیر بهینه برای Xray/Reality داشته باشند.

این ابزار /24 بلاک سرور شما و ±N بلاک همسایه /24 را اسکن می‌کند، TLS را بدون SNI بررسی می‌کند، CN/SAN گواهی را استخراج می‌کند (با پشتیبان قدرتمند OpenSSL)، HTTP/2 واقعی را با curl --resolve تأیید می‌کند، کاندیداها را بر اساس نزدیکی رتبه‌بندی می‌کند و ۳۰ دامنه برتر را در domains.txt می‌نویسد.

⚠️ مسئولانه استفاده کنید. اسکن کردن رنج آی‌پی‌ها — حتی با نرخ‌های کم — می‌تواند قوانین Acceptable Use Policy (AUP) یا قوانین محلی را نقض کند. اطلاعیه حقوقی پایین را بخوانید و فقط جایی که مجوز دارید عمل کنید.


نصب و اجرای یک‌خطی

bash -c "$(curl -fsSL https://raw.githubusercontent.com/ShatakVPN/Reality-SNI-Finder/main/reality_sni_finder.sh)"

منوی راه‌انداز:

  • Start scan — اجرا با تنظیمات فعلی
  • Settings — تغییر بلاک‌ها، نرخ، تایم‌اوت، تردها، بررسی HTTP/2، شامل/حذف SAN عمومی و آی‌پی مرجع
  • Install/Check dependencies — masscan، curl، openssl، python3
  • View output — پیش‌نمایش سریع دامنه‌های پیدا شده
  • Clean output — حذف domains.txt

تنظیمات در .rsf.conf ذخیره می‌شوند.


چرا SNI نزدیک برای V2Ray/Reality مهم است؟

اتصال به این روش بر پایه‌ی SNI (Server Name Indication) داخل TLS عمل می‌کند تا ترافیک را پنهان و مسیریابی کند. انتخاب دامنه‌هایی که از نظر توپولوژیکی نزدیک به VPS شما هستند مزایای واقعی دارد:

  • تأخیر کمتر: هندشیک TLS و جریان داده سریع‌تر تمام می‌شوند.
  • مسیرهای کوتاه‌تر، قطعی کمتر: هاپ‌های کمتر یعنی جیتر کمتر و افت بسته کمتر.
  • سرعت بالاتر: RTT پایین‌تر کنترل ازدحام TCP را بهبود می‌دهد و HTTP/2 از آن سود می‌برد.
  • پایداری بیشتر: مسیرهای نزدیک احتمال کمتری دارند در زمان شلوغی به مناطق دورتر تغییر مسیر دهند.
  • استتار بهتر: استفاده از دامنه‌های معتبر و نزدیک به VPS شما، غیرعادی بودن مسیرها را کاهش می‌دهد.

خلاصه: یک SNI نزدیک و پشتیبان HTTP/2 تجربه‌ای روان‌تر، سریع‌تر و پایدارتر فراهم می‌کند.


این ابزار چه می‌کند؟

  1. کشف آی‌پی‌ها با masscan روی TCP/443 در بلاک /24 VPS شما و بلاک‌های ±N همسایه.
  2. بررسی TLS بدون SNI و استخراج CN/SAN. اگر لیست SAN خالی بود، از OpenSSL استفاده می‌کند:
    openssl s_client -showcerts | openssl x509 -noout -text
    
  3. گسترش وایلدکارت‌ها (*.example.comexample.com, www.example.com)
  4. تأیید HTTP/2 واقعی با curl --resolve
  5. امتیازدهی بر اساس تأخیر و فاصله‌ی عددی آی‌پی
  6. نوشتن ۳۰ دامنه برتر در domains.txt

پیش‌نیازها

  • لینوکس (ریشه برای masscan توصیه می‌شود)
  • همچنبن masscan، curl، openssl، python3
  • دسترسی خروجی HTTP/DNS

نحوه‌ی استفاده

اجرای لانچر

bash -c "$(curl -fsSL https://raw.githubusercontent.com/<USER>/<REPO>/main/reality_sni_finder.sh)"

بعد از اتمام اسکن:

./domains.txt   # 30 دامنه‌ی برتر

تنظیمات

  • Blocks each side: تعداد بلاک‌های /24 اطراف VPS (پیش‌فرض: 10)
  • Masscan rate (pps): پیش‌فرض 6000
  • Timeout (sec): پیش‌فرض 8
  • Threads: پیش‌فرض 128
  • Verify HTTP/2: روشن (پیش‌فرض) یا خاموش
  • Include generic SANs: روشن/خاموش
  • Override ref IP: تعیین دستی آی‌پی مرجع

متغیرهای محیطی (پیشرفته)

مثال:

export RSF_BLOCKS=8 RSF_RATE=4000 RSF_VERIFY_H2=1
bash -c "$(curl -fsSL https://raw.githubusercontent.com/<USER>/<REPO>/main/reality_sni_finder.sh)"

خروجی

  • فایل domains.txt — دقیقاً ۳۰ دامنه‌ی یکتا، مرتب‌شده

نکته: همیشه قبل از استفاده در محیط عملیاتی، صحت HTTP/2 دامنه را بررسی کنید.


نکات عملکرد و ایمنی

  • با مقادیر محافظه‌کارانه شروع کنید: RSF_BLOCKS=6 و RSF_RATE=4000
  • به عنوان root اجرا کنید تا masscan کارآمدتر باشد
  • از اسکن بازه‌های بزرگ پرهیز کنید

اطلاعیه حقوقی

این ابزار اسکن شبکه و بررسی TLS انجام می‌دهد. حتی در نرخ‌های متوسط:

  • می‌تواند AUP یا ToS ارائه‌دهنده را نقض کند
  • می‌تواند باعث هشدار یا محدودیت شود
  • ممکن است در حوزه قضایی شما غیرقانونی باشد

شما تنها مسئول نحوه استفاده هستید.
فقط بازه‌هایی را اسکن کنید که مجاز هستید.


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

امتیاز = latency_ms + 0.3 * normalized_numeric_ip_distance
کمتر بودن بهتر است.


رفع اشکال

  • هیچ دامنه‌ای پیدا نشد → بازه را کوچک‌تر کنید، تایم‌اوت را افزایش دهید
  • خطای Permission denied → به صورت root اجرا کنید
  • آی‌پی عمومی شناسایی نشدRSF_REF_IP را دستی ست کنید
  • خطای HTTP/2 fail زیاد → برخی دامنه‌ها نیاز به SNI دارند

حذف کامل برنامه

rm -f reality_sni_finder.sh reality_sni_finder.py .rsf.conf domains.txt

ستاره های این ریپو

Stargazers over time

از تجربه‌ی Reality سریع‌تر و پایدارتر لذت ببرید. با احتیاط اسکن کنید.