Skip to content

Latest commit

 

History

History
118 lines (58 loc) · 11.8 KB

cloudflare-cdn.md

File metadata and controls

118 lines (58 loc) · 11.8 KB

استفاده از روش Cloudflare CDN

در این روش از یک تکنیک ساده استفاده می‌کنیم تا احتمال شناسایی سرور ما کمتر بشود. در حالت عادی بین دستگاه موبایل و سروری که راه‌اندازی کردید یک ارتباط مستقیم برقرار می‌شود. بدین صورت که دستگاه شما به پروکسی سرور اعلام می‌کند که قصد استفاده از چه سرویسی را دارد. بعد هم پروکسی سرور در نقش یک «واسط» با اتصال به آن سرویس، امکان این را فراهم می‌کند که بین گوشی و سرویس مقصد ارتباط برقرار شود.

image

گاهی به این روش ایرادی گرفته می‌شود و آن هم این است که اتصال مستقیم از داخل شبکه ایران به شبکه‌ای در خارج از کشور باعث لو رفتن IP سرور می‌شود و شانس مسدود شدن سرور بالا خواهد رفت.

برای رفع این نقص پیشنهاد می‌شود به جای اتصال مستقیم به سرور از یک واسط استفاده کنیم که در شبکه اینترنت ایران به عنوان واسطی معتمد شناخته می‌شود. اسم این واسط هم چیزی نیست جز شرکت معروف Cloudflare. با روش جدید، نمودار به شکل زیر تغییر خواهد کرد. می‌بینید که به جای اتصال مستقیم، اینبار کلاینت به Cloudflare متصل می‌شود و از آنجا به پروکسی سرور خودمان متصل خواهیم شد. مزیت این روش این هست که فیلترچی هیچ‌وقت نخواهد فهمید که آدرس پروکسی سرور ما چیست. تنها چیزی که خواهد دید برقراری اتصال بین دستگاهی در داخل با Cloudflare است.

image

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

پیش‌نیاز‌های استفاده از CDN

استفاده از روش CDN پیش‌نیاز‌هایی دارد:

۱. نیاز به ساخت یک حساب در CloudFlare دارید.

۲. نیاز به domian داریم. شرکت‌هایی مثل GoDaddy، Namecheap و یا Cloudflare به شما کمک می‌کنند یک دامنه شخصی تهیه کنید. در خرید دامنه توجه کنید که استفاده از پسوند‌های معروف‌تر مثل com یا net و یا org احتمال فیلتر شدن دامنه را کاهش می‌دهد.

۳. دامنه شما باید توسط nameserver های Cloudflare مدیریت شود. اگر دامنه را از Cloudflare تهیه کرده‌اید این‌کار به طور خود‌کار برای شما انجام می‌شود و نیاز به تغییر نیست. اگر دامنه را از ارائه‌دهنده‌ دیگری گرفته‌اید، لازم هست تا nameserver های دامنه را به آدرس‌‌های Cloudflare تغییر دهید. در گوگل پیدا کنید که چطور می‌توانید nameserver را تغییر دهید، با توجه به شرکت ارائه دهنده فرایند متفاوتی را باید طی کنید.

۴. پروتکل پروکسی باید استفاده از WebSocket و یا WS را پشتیبانی بکند. در حال حاضر فقط VMESS و VLESS استفاده از WS را پشتیبانی می‌کنند. پیشنهاد ما فقط استفاده از VLESS می‌باشد. در نتیجه Trojan نمی‌تواند برای این روش استفاده شود.

۵. پلن رایگان Cloudflare اجازه انتقال ترافیک روی پورت‌های محدود و مشخصی را می‌دهد. در نتیجه از هر پورتی نمی‌توانید استفاده کنید. اگر از TLS استفاده می‌کنید باید کانفیگ را بر روی یکی از پورت‌های HTTPS تعریف کرده باشید. در غیر‌این‌ صورت فقط از پورت‌های HTTP می‌توانید استفاده کنید. برای اطلاعات بیشتر به مستند Cloudflare رجوع کنید. جدول زیر پورت‌های مجاز را فهرست کرده است.

image

روش اول: حقه پروکسی

گام اول

در پنل CloudFlare گزینه Websites رو بزنید و domain رو از سمت راست انتخاب کنید. اگر دامنه را نمی‌بینید، گزینه Add a Site رو بزنید و دامنه را اضافه کنید.

image

گام دوم

حالا گزینه DNS رو انتخاب کنید. اگر عکس واضح نیست بر روی آن کلیک کنید.

image

مطابق تصویر یک رکورد جدید بسازید. نام را هر چه دوست دارید انتخاب کنید. در قسمت IPv4 باید آدرس IP سرور خودتان را انتخاب کنید. گزینه Proxy هم باید فعال باشد. دیگه کاری با Cloudflare نداریم. تمام!

گام سوم

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

لازم هست برای sub-domain جدیدی که ایجاد کردیم یک certificate معتبر بسازیم. مثلا در تصویر قبلی دامنه ما iranxray.com بود و زیر-دامنه‌ای که ساختیم cdn.iranxray.com می‌باشد. پس در این مثال باید برای cdn.iranxray.com یک certificate معتبر ایجاد کنیم. در مستند تهیه certificate گام‌های لازم را توضیح داده‌ایم.

گام چهارم

حالا نوبت به ساخت کانفیگ VLESS می‌رسد. اگر از TLS استفاده ‌نمی‌کنید، باید کانفیگی مطابق تصویر زیر بسازید. ما پورت 80 را انتخاب کردیم اما شما می‌توانید هر پورت دیگری که Cloudflare برای HTTP پشتیبانی می‌کند هم مشخص کنید.

image

اگر می‌خواهید از TLS استفاده کنید، صرفا کافی است گزینه TLS را فعال کنید. همچنین باید پورتی را انتخاب کنید که بر روی HTTPS‌ پشتیبانی می‌شود مانند ۴۴۳. فراموش نکنید که SNI باید برابر با نام زیر-دامنه شما باشد.

image

گام پنجم

لینک کانفیگ را از X-UI بگیرید و استفاده کنید.

روش دوم: حقه header

روش اول «حقه پروکسی» بر اساس این فرض طراحی شده که سیستم فیلترینگ ایران هیچ ‌کدام از درخواست‌ها به Cloudflare را مسدود نمی‌کند. اما این فرض الزاما صحیح نیست. خیلی از IP های Cloudflare از داخل ایران مسدود شده اند. پس ممکن است این روش برای همه جوابگو نباشد. اما خوشبختانه خیلی‌ از IP های cloudflare هم هنوز باز هستند. در روش «حقه header» پیدا می‌کنیم کدام یک از IP های Cloudflare مسدود نیستند تا از آن‌ها استفاده کنیم.

گام اول

مطابق روش اول.

گام دوم

شبیه «گام دوم» در روش اول نیاز به ساخت یه زیر-دامنه و یا subdomain داریم. اینبار با یک تفاوت: می‌توانیم گزینه proxy را خاموش کنیم.

image

گام سوم

حالا نوبت به ساخت کانفیگ VLESS می‌رسد. در این روش ما از TLS استفاده نخواهیم کرد. همه چیز مطابق روش اول است الی یک چیز و آن هم این که در این کانفیگ ما یک Request Header اضافه کرده‌ایم. دقت کنید که مقدار value باید برابر با مقدار زیر-دامنه تان باشد.

image

گام چهارم

لینک کانفیگ را از X-UI بگیرید و در notepad کپی کنید. پیش از استفاده باید تغییری در لینک بدهیم. لینک به طور عادی ساختاری شبیه زیر خواهد داشت.

image

تغییری که باید بدهید این می‌باشد که بعد از علامت @ باید آدرس سرور را به یک آدرس مجاز داخل ایران تغییر بدهید. مثلا arzdigital.com.

image

گام پنجم

کار تمام است. کانفیگ را استفاده کنید.

چرا از arzdigital.com‌ استفاده کردیم؟

این روش از این نکته استفاده می‌کند که هنوز بسیاری از وب‌سایت های داخل ایران از زیرساخت Cloudflare استفاده می‌کنند. شبکه فیلترینگ درخواست‌هایی که به این آدرس‌ها ارسال می شود را نمی‌بندد. شما می‌توانید از ابزار DNS Lookup استفاده کنید تا متوجه شوید که وب‌سایت داخلی arzdigital.com از nameserver های cloudflare استفاده می کند. این دامنه یکی از هزاران دامنه مجاز داخلی است. می‌تواند لیست دامنه‌های داخلی مجاز را از اینجا پیدا کنید. پیش از استفاده از dns lookup استفاده کنید تا مطمئن شوید که از cloudflare استفاده می‌کنند.

این روش چطور کار می‌کند؟

روش کاری این روش به شکل زیر می‌باشد.

۱. ابتدا کلاینت یک درخواست به Cloudflare ارسال می‌کند. چون در درخواست از یک دامنه مجاز استفاده شده از سد فیلترینگ عبور می‌کند.

۲. وقتی cloudflare درخواست را دریافت می‌کند به header نگاه می‌کند و ترافیک را به جایی که در host مشخص کرده‌اید ارسال می‌کند.

۳. باقی فرایند مانند قبل خواهد بود.