چگونگی یافتن آیپی تمیز کلادفلر - Xen-neX/Hiddify-Manager GitHub Wiki

🇺🇸 English          

چگونگی یافتن آیپی تمیز کلادفلر

بزرگترین ارائه دهنده خدمات CDN در جهان کلادفلر است و احتمالا می دانید؛ به دلیل فیلترینگ شدید اینترنت در ایران اختلال زیادی روی سرویس های آن وجود دارد زیرا امکان فیلتر نمودن کامل آن برای فیلترچی مقدور نیست اما می تواند روی آن اختلال ایجاد کند.

در اینجا اگر شما نیز از سرویس های CDN کلادفلر استفاده می کنید؛ متاثر از این اختلالات خواهید شد. برای کاهش تاثیر این اختلالات می بایست آیپی های تمیز (آیپی هایی که اختلالی روی آن نیست) را پیدا کرد.

در اینجا چند راه کار برای این موضوع معرفی و بررسی می گردد.

نکته:

قبل از شروع تاکید می شود تمامی این تست ها روی سیستم کلاینت و بدون اتصال به VPN باید انجام شوند.

فهرست مطالب:




اسکنر آیپی کلادفلر مرتضی باشسیز

آقای باشسیز یک مهندس ایرانی است که برنامه ای تحت عنوان CFScanner توسعه داده است که با استفاده از آن می توان لیست آیپی های کلادفلر را بر روی شبکه های مختلف تست نمود و به آیپی های تمیز کلادفلر رسید.

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

  • بَش
  • داکر
  • ویندوز
  • پایتون
  • گولنگ
  • اندروید

برای این کار در ابتدا از اینجا نسخه مدنظر خود را دانلود کنید و سپس نحوه اجرای آن را بر اساس سیستم عامل مورد نظر دنبال کنید.

اجرا در نسخه لینوکس

(کلیک کنید)

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

این برنامه پیش نیازهایی دارد که باید از قبل نصب باشند. jq   git   tput   bc   curl    parallel

سپس ابتدا آن را با کد زیر روی سیستم خود clone کنید.

git clone https://github.com/MortezaBashsiz/CFScanner.git 

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

cd CFScanner/bash
chmod +x ../bin/*

فایل config.real را دانلود کنید.

curl -s https://raw.githubusercontent.com/MortezaBashsiz/CFScanner/main/bash/ClientConfig.json -o config.real

توصیه می شود فایل config.real را بر اساس کانفیگ خود تغییر دهید.

Screenshot_20230305_094935

اگر می خواهید فایل کانفیگ خود را داشته باشید آن را به اسم دیگری ذخیره کنید که هنگام آپدیت اسکریپت تغییر نکند.

اجرای اسکریپت

به محل فایل اسکریپت دانلود شده بروید و سپس اسکریپت را به شکل زیر اجرا کنید

bash cfScanner.sh SUBNET DOWN threads tryCount config.real speed custom.subnets

مثلا
bash cfScanner.sh SUBNET DOWN 8 1 config.real 100 custom.subnets

در نهایت نتیجه تست در پوشه result قرار می گیرد که میتوانید آن را ملاحظه کنید و از آن استفاده نمایید. اطلاعات بیشتر در ویکی برنامه

اجرا در نسخه ویندوز

(کلیک کنید)

پیش‌نیازها

ابتدا باید پیش‌نیازهایی وجود داشته باشند که به ترتیب توضیح داده خواهند شد:

  • دانلود اپ اسکنر ویندوز از گیتهاب پروژه

  • اپ .NET Desktop Runtime 6 را نصب کنید از سایت اصلی برنامه که در زیر آورده شده ‍‍‍‍

https://dotnet.microsoft.com/en-us/download/dotnet/6.0
  • چک نمودن TLS Handshake

برای این کار ابتدا باید وارد پوشه برنامه بشید و Command Prompt از داخل آن پوشه را باز نمایید. یعنی در پوشه شیفت+راست‌کلیک را بزنید و گزینه Open in Windows Terminal را بزنید.

در محیط ترمینال کامند زیر را اجرا کنید.

‍‍.\v2ray.exe tls ping sub.yourdomain.com

به جای sub.yourdomain.com ساب‌دامین خودتون را بذارید. اگر پیغام handshake succeeded ظاهر شد؛ یعنی اسکنر آماده استفاده است در غیر اینصورت باید در تنظیمات سرتیفیکت در سایت کلادفلر به صورت موقت تغییراتی اعمال کنید.

ورژن TLS را روی TLS 1.0 بذارید و گزینه TLS 1.3 را غیر فعال کنید.

  • نکته: یادتون نره بعد انجام تست این گزینه‌ها را به حالت اول برگردونید.
  • ساختارهای الگوی کانفیگ را برای تست آماده کنید.

اگر می‌خواهید کانفیگ‌های خودتون را تست کنید باید در فایل Json مربوط به کانکشن درون پوشه برنامه اعمال کنید. نیاز است در inbound این تغییر اعمال گردد.


{
  "inbounds": [{
    "port": "PORTPORT", 
    "listen": "127.0.0.1",
    "tag": "socks-inbound",
    "protocol": "socks",
    "settings": {
...

و همینطور در outbound نیز این تغییر اعمال گردد.

{
"outbounds": [
   {
   "protocol": "vmess",
   "settings": {
     "vnext": [{
       "address": "IP.IP.IP.IP",
...

حالا برای راحتی کار، چند نمونه الگوی کانفیگ که iSegaro زحمت کشیده حاضر کرده؛ قرار داده می‌شه می‌توانید مطابق با نیازتون یکی را انتخاب کنید.

  • دقت کنید در این ساختار ها فقط در قسمت outbounds باید مشخصات کانفیگ شامل ۵ قسمت Port , UUID, PATH , HOST , SNI را تغییر بدهید که با عبارت xxxxx مشخص شده , پس هرجا که عبارت xxxxx وجود داره رو فقط بسته به کانفیگ خودتون تغییر بدید و در باقی کدها تغییری انجام ندهید.
  • نمونه الگوی Vmess+WS+TLS :
{
  "inbounds": [{
    "port": "PORTPORT", 
    "listen": "127.0.0.1",
    "tag": "socks-inbound",
    "protocol": "socks",
    "settings": {
      "auth": "noauth",
      "udp": false,
      "ip": "127.0.0.1"
    },
    "sniffing": {
      "enabled": true,
      "destOverride": ["http", "tls"]
    }
  }],
  "outbounds": [
    {
    "protocol": "vmess",
    "settings": {
      "vnext": [{
        "address": "IP.IP.IP.IP", 
        "port": xxxxx,
        "users": [{"id": "xxxxx" }]
      }]
    },
		"streamSettings": {
        "network": "ws",
        "security": "tls",
        "wsSettings": {
            "headers": {
                "Host": "xxxxx"
            },
            "path": "xxxxx"
        },
        "tlsSettings": {
            "serverName": "xxxxx",
            "allowInsecure": false,
			"fingerprint": "chrome",
			"alpn": [
			"http/1.1"
			]
        }
    }
	}],
  "other": {}
}
  • نمونه الگوی Vless+GRPC+TLS :
{
  "inbounds": [{
    "port": "PORTPORT", 
    "listen": "127.0.0.1",
    "tag": "socks-inbound",
    "protocol": "socks",
    "settings": {
      "auth": "noauth",
      "udp": false,
      "ip": "127.0.0.1"
    },
    "sniffing": {
      "enabled": true,
      "destOverride": ["http", "tls"]
    }
  }],
  "outbounds": [
    {
    "protocol": "vless",
    "settings": {
      "vnext": [{
        "address": "IP.IP.IP.IP", 
        "port": xxxxx,
        "users": [{"id": "xxxxx",
		"encryption": "none"
			}]
      }]
    },
		"streamSettings": {
        "network": "grpc",
        "security": "tls",
        "tlsSettings": {
          "allowInsecure": false,
          "serverName": "xxxxx",
          "alpn": [
            "http/1.1"
          ],
          "fingerprint": "chrome"
        },
        "grpcSettings": {
          "serviceName": "",
          "multiMode": false
        }
      }
	}],
  "other": {}
}
  • نمونه الگوی Trojan+WS+TLS :
{
  "inbounds": [{
    "port": "PORTPORT", 
    "listen": "127.0.0.1",
    "tag": "socks-inbound",
    "protocol": "socks",
    "settings": {
      "auth": "noauth",
      "udp": false,
      "ip": "127.0.0.1"
    },
    "sniffing": {
      "enabled": true,
      "destOverride": ["http", "tls"]
    }
  }],
  "outbounds": [
    {
      "tag": "proxy",
      "protocol": "trojan",
      "settings": {
        "servers": [
          {
            "address": "IP.IP.IP.IP",
            "method": "chacha20",
            "ota": false,
            "password": "xxxxx",
            "port": xxxxx,
            "level": 1,
            "flow": ""
          }
        ]
      },
      "streamSettings": {
        "network": "ws",
        "security": "tls",
        "tlsSettings": {
          "allowInsecure": false,
          "serverName": "xxxxx",
          "alpn": [
            "http/1.1"
          ],
          "fingerprint": "chrome"
        },
        "wsSettings": {
          "path": "xxxxx",
          "headers": {
            "Host": "xxxxx"
          }
        }
      },
      "mux": {
        "enabled": false,
        "concurrency": -1
      }
    }
  ],
  "other": {}
}
  • نمونه الگوی Vless+WS+TLS :
{
"inbounds": [{
    "port": "PORTPORT", 
    "listen": "127.0.0.1",
    "tag": "socks-inbound",
    "protocol": "socks",
    "settings": {
      "auth": "noauth",
      "udp": false,
      "ip": "127.0.0.1"
    },
    "sniffing": {
      "enabled": true,
      "destOverride": ["http", "tls"]
    }
  }],
  "outbounds": [
    {
      "tag": "proxy",
      "protocol": "vless",
      "settings": {
        "vnext": [{
        "address": "IP.IP.IP.IP", 
        "port": xxxxx,
        "users": [{"id": "xxxxx",
		"encryption": "none"
			}]
      }]
      },
      "streamSettings": {
        "network": "ws",
        "security": "tls",
        "tlsSettings": {
          "allowInsecure": false,
          "serverName": "xxxxx",
          "alpn": [
            "http/1.1"
          ],
          "fingerprint": "chrome"
        },
        "wsSettings": {
          "path": "xxxxx",
          "headers": {
            "Host": "xxxxx"
          }
        }
      }
    }
  ],
	"other": {}
}

در نهایت شما کانفیگ خودتون را طبق نمونه‌ها برای مرحله بعد حاضر کنید یا از کانفیگ دیفالت استفاده کنید.

حالا فرض کنیم پیش‌نیازها را انجام دادید؛ کافیه فایل کانفیگ نمونه برنامه یا فایل کانفیگ ساخته شده توسط خودتون را که به فرمت Json است؛ از منوی Tools > Add custom v2ray config در برنامه قرار بدید تا اسکن بر اساس اون انجام بشه در غیر اینصورت برنامه با کانفیگ دیفالت اسکن می‌کند.

۱. از مسبر Tools > Add custom v2ray config می‌توانید فایل مورد نظر خود را مطابق با الگوی توضیح داده شده به نرم‌افزار بدید تا اسکن بر اساس اون انجام بشه.

۲. می‌توانید نوع تست دانلود یا آپلود یا هردو را تعیین کنید.

۳. در این قسمت می توانید تعداد همزمانی آیپی‌ها برای تست توسط اسکنر را مشخص کنید. پیشنهاد می‌گردد به صورت مرحله‌ای این عدد را بالا ببرید و بر اساس قدرت پردازش CPU سیستم خود آن را کم یا زیاد کنید. مثدار دیفالت آن ۴ می‌باشد.

۴. سریع‌ترین آیپی بعد از اتمام اسکن نمایش داده می‌شه

۵. رنج آیپی‌های تست شده نمایش داده می‌شه

۶. از این قسمت می‌تونید رنج آیپی‌های مورد نظر خود را به نرم‌افزار بدید که اسکن بر اساس آن انجام بشه.

  • پیشنهاد: می‌تونید نرم‌افزار را تنظیم کنید که یک‌بار کل رنج آیپی دیفالت را اسکن کنه. برای دفعالت بعد می‌تونید این خروجی را فقط اسکن کنید (با دقت بالاتر) احتمالا نتیجه بهتری خواهید گرفت. همچنین اگر تست آپلود بگیرید احتمالا نتیجه بهتری خواهید گرفت. همه اینها به تلاش و خلاقیت خودتون بستگی داره.


اسکنر آیپی کلادفلر وحید فرید

این برنامه در نسخه‌های مختلف بر اساس پلتفرم‌های متفاوت تهیه شده است که می‌توانید متناسب با نیازتان از آن‌ها استفاده نمایید.

نسخه‌های در دسترس تا تاریخ ویرایش این مطلب:

  • مک
  • ویندوز
  • اندروید
  • وب

پیش‌نیازها

  • ابتدا پایتون را بر اساس سیستم عامل خود دانلود کنید.
  • فایل فشرده مربوط به کد را از اینجا دانلود کنید و سپس آن را اکسترکت کنید.
  • حالا نیاز هست requests را نیز نصب کنید.
pip install requests

اجرای برنامه

  • جهت اجرا در پوشه اکسترکت شده برنامه ترمینال را باز نمایید. یعنی مثلا در ویندوز وارد پوشه برنامه شوید و ‍‍شیفت+راست‌کلیک کنید و سپس Open in Command Prompt را بزنید تا از آن پوشه وارد ترمینال شوید.

  • حالا کامند زیر را بزنید تا برنامه اجر شود.

python start.py
  • در ابتدا تعداد آیپی مورد نیاز را وارد می‌کنید.
  • در مرحله بعد حداکثر تاخیر مورد نظر خود را بر حسب میلی ثانیه وارد کنید. مثلا ۵۰۰ یعنی ۵۰۰ میلی ثانیه
  • رنج مورد نظر خود برای اسکن را می‌توانید انتخاب کنید. برای انتخاب چند رنج از کاما استفاده نمایید و برای نادیده گرفتن یک رنج از - استفاده کنید.
  • می‌توانید چند رنج را از جستجو مستثنا کنید. برای انتخاب چند رنج از کاما استفاده نمایید و برای نادیده گرفتن یک رنج از - استفاده کنید.
  • در مرحله بعد می توانید حجم بسته‌های ارسالی جهت اسکن را بر حسب کیلوبایت مشخص نمایید. هر چه این حجم بالاتر باشد، دقت اسکن بالاتر می‌رود اما از آن طرف، حجم ترافیک نیز افزایش می‌یابد.
  • بر اساس نیازتان سرعت دانلود را تعیین کنید تا آیپی‌هایی که سرعت دانلودشان بالاتر از این مقدار است را پیدا کند. سرعت را بر اساس مگابیت بر ثانیه وارد کنید.
  • در مرحله بعد سرعت آپلود را بر اساس نیازتان تعیین کنید تا آیپی‌هایی که سرعت آپلودشان بالاتر از این مقدار است را پیدا کند. این مقدار را بر اساس مگابیت بر ثانیه وارد کنید.
  • در مرحله بعد در صورت نیاز می‌توانید نتایج اسکن شده را مستقیما وارد کلادفلر کنید یا اینکه آن را نادیده بگیرید تا اسکن شروع شود.
  • در صورتی که در جواب مرحله قبل y زده‌اید، باید اینجا ایمیل متصل به اکانت خود در کلادفلر را بدهید.
  • سپس در مرحله بعد Zone ID را کپی کنید. برای پیدا کردن Zone ID وارد تنظیمات دامنه در اکانت خود شوید سپس مانند تصویر زیر Zone ID را پیدا کنید و کپی کنید.

  • در این مرحله باید توکن گلوبال خود را به نرم‌افزار بدهید. برای این کار در همان صفحه اصلی داشبورد روی Get your API token کلیک کنید.

  • سپس در صفحه توکن‌ها در Global API Key گزینه View را انتخاب کنید.

  • در اینجا از شما رمز اکانت‌تان را می‌خواهد و سپس توکن شما را نمایش می‌دهد.

  • این توکن را در نرم‌افزار کپی کنید.
  • سپس ساب‌دامین مورد نظر برای ثبت این آیپی‌ها روی دامنه خود را بدهید. مثلا cf.yourdomain.com
  • پس از آن اسکنر شروع به اسکن می‌کند و در پایان آیپی‌ها بر اساس مشخصات داده شده به شما نمایش داده خواهد شد. همچنین اگر بخش مربوط به ثبت آیپی در کلادفلر را انجام داده باشید، این آیپی‌ها در کلادفلر هم روی ساب‌دامین مورد نظر ثبت می‌گردند. یعنی شما در کلادفلر ساب‌دامنه‌هایی خواهید داشت که با نام cf.yourdomain.com و با آیپی‌های یافته شده توسط اسکنر با پروکسی خاموش به صورت خودکار ثبت شده‌اند.

ویدئوهای آقای فرید در این زمینه



اسکنر آیپی کلادفلر صفا صفری

این اسکنر در چند نسخه توسعه داده شده است که می‌توانید متناسب با نیازتون از آن استفاده کنید.

نسخه‌های در دسترس تا تاریخ ویرایش این مطلب:

  • ویندوز
  • مک
  • اندروید

نصب اسکریپت

ویندوز

  • ابتدا از این لینک پایتون را دانلود کنید.
  • در هنگام نصب پایتون تیک مربوط به نصب pip و اضافه کردن پایتون به PATH را فراموش نکنید.
  • فایل اصلی اسکنر فشرده را دانلود کنید و آن را از حالت فشرده خارج کنید.
  • در مسیر اکسترکت شده یک ترمینال Command Prompt باز کنید. یعنی وارد مسیر اکسترکت شده شوید. شیفت+راست‌کلیک را بزنید تا ترمینال باز شود.
  • برای نصب پیش‌نیازها از کامند زیر استفاده کنید.
pip install -r ./requirements.txt
  • بعد از نصب پیش‌نیازها کار تمام است و نوبت به اجرای برنامه می‌رسد.

اندروید

  • برای نصب روی سیستم عامل اندروید، نیاز به برنامه‌ای تحت عنوان ترموکس (Termux) می‌باشد که از اینجا می‌توانید دانلود کنید.
  • در اینجا با چندین فایل apk مواجه می‌شوید که باید یکی را بر اساس نوع دستگاه خود انتخاب کنید. اگر نوع دستگاه اندرویدی خود را نمیدانید، نسخه armeabi-v7a را دانلود و نصب کنید.
  • در ادامه با باز کردن برنامه ترموکس، خط فرمان به شما نشان داده میشود به ترتیب دستورات زیر را وارد کنید.
  • در هنگان نصب تمام پرسش‌ها را با y جواب دهید.
pkg update -y; pkg install -y python python-pip openssl python-cryptography
  • سپس کامند زیر را اجرا کنید.
curl -sLo main.zip https://github.com/SafaSafari/ss-cloud-scanner/archive/refs/heads/main.zip && unzip -qq main.zip && rm main.zip
  • بعد از آن وارد پوشه برنامه شوید و پیش‌نیازها را نصب کنید.
cd ss-cloud-scanner-main
pip install -r ./requirements.txt
  • بعد از نصب پیش‌نیازها کار تمام است و نوبت به اجرای برنامه می‌رسد.

اجرای اسکریپت

  • با دستور زیر، عملکرد برنامه آغاز می‌شود.
python main.py
  • به محض اجرا، برنامه از شما تعداد آیپی مورد نیاز را درخواست می‌کند.
  • در مرحله بعد نوع اسکن را می‌توان مشخص نمود.
  • سپس از شما میپرسد که عملیات اسکن با https انجام بشود یا http.
  • و سپس شروع به اسکن می‌کند و پس از مدتی آیپی‌های سالم (در صورت وجود) در صفحه ظاهر می‌شوند
  • اگر نوع ۲ انتخاب بشود در ادامه از شما uuid و دامنه ، پورت ، path پروکسی مورد استفاده‌ را درخواست می‌کند و به محض وارد کردن آن‌ها در جاهای مورد نظر، عملیات اسکن شروع می‌شود. بدین ترتیب حالت ۲ با تنظیمات کانفیگ شما اسکن می‌کند.

حالت اسپید

این نوع از اسکن، با توجه به وایت لیست بودن SNI در ایران (منبع) از یک ورکر جایگزین استفاده می‌کند که بازدهی این مدل اسکن را به شدت بالا می‌برد

حالت Vmess

این مدل اسکن با ساخت پکت Vmess و ارسال آن به سمت سرور با Websocket عملا یک ارتباط پروکسی را شبیه سازی میکند اسکنر های جایگزین، این کار با استفاده از هسته های V2ray یا Xray انجام میدهند، اما این اسکنر این اقدام را بصورت خالص با پایتون پیاده سازی نموده است.

منبع اصلی



بعد از یافتن آیپی تمیز چه کار کنیم؟

پس از یافتن آیپی تمیز؛ می توانید آن را با یک رکورد dns بدون پروکسی ثبت نمایید. یعنی در سایت کلادفلر یک ساب دامین بسازید. پروکسی را خاموش کنید و آیپی را وارد کنید.

Screenshot_20230302_171704 در صورت نیاز به توضیحات بیشتر درباره دامنه اینجا کلیک کنید.

سپس در پنل هیدیفای می توانید آن را در تنظیمات دامنه CDN در فیلد اجبار به استفاده از هاست در کانفیگ CDN قرار دهید. توضیحات بیشتر

Screenshot_20230301_095103

⚠️ **GitHub.com Fallback** ⚠️