امروز میخوام یه داستان بگم دربارهی #CDN. اینکه کلا چی هست، ذات کارش چیه و ما تو این شرایط چطور ازش استفاده میکنیم.
معادل فارسیش میشه "شبکهی تحویل محتوا"، حالا یعنی چی؟
یک فروشگاه زنجیرهای رو در نظر بگیرید که برای اینکه فروشش رو تسهیل کنه، تو هر محله یه فروشگاه میزنه.👇
۱/۱۸
هدف چیه؟ تسهیل دسترسی مشتری به کالا از طریق شبکهی فروشگاهی.
حالا برگردیم به CDN که نقشش تو خدمات اینترنتی دقیقا همینه. تسهیل دسترسی کاربر به محتوا از طریق شبکهی توزیعشدهی سرورها.
قبل از ادامه، یه نگاه دوباره به تصویر توییت قبل بندازید.
۲/۱۸
یک CDN قوی میتونه سرعت دسترسی کاربر به محتوای وب رو به طور ملموسی افزایش بده چون جای اینکه درخواست شما در یک شبکهی پیچیده بچرخه تا به مقصد برسه، خیلی سریع به اولین سرور محلی وصل میشه و از اونجا مستقیم به سرور مقصد هدایت میشه.
اما کاربردش برای عبور از فیلترینگ چیه الان؟
۳/۱۸
این CDN یه سری مزایای عالی دیگه هم داره که میذارم برای انتهای رشتو.
توی وب ما یک مفهومی داریم به اسم Reverse Proxy یا پراکسی معکوس. ذات CDN با ریورس پراکسی یکیه. تعریف و هدفش فرق داره، ولی زیرساختش یکیه.
ما برای عبور از فیلترینگ از CDN به عنوان Reverse Proxy استفاده میکنیم.
۴/۱۸
این ریورس پراکسی (که من در ادامه میگم CDN) جایی استفاده میشه که ما قصد داریم سرور اصلی رو از دید مستقیم کاربر خارج کنیم. کاربرد اصلیش تو بحث امنیت شبکه هست. ما هم استفادهمون خیلی فرق نداره، داریم سرورمون رو از دید فیلترچی مخفی میکنیم تا مسدودمون نکنه یا به اصطلاح بَن نشیم.
۵/۱۸
تصویر پایین رو ببینید، وقتی سرورمون میره پشت CDN، هم کاربر هم فیلترچی و هکر، دیگه سرور ما رو نمیبینن و به جاش، سرور محلی تامینکنندهی CDN رو میبینن، مثلا #کلادفلر.
تو تصویر شما در نظر بگیرید که فیلترچی روی ابر نشسته. اون فقط اولین مقصد رو میبینه (نقطهی E).
۶/۱۸
تو یه رشتو قبلا توضیح دادم که چطور درخواستها رو امن کنیم که فیلترچی از طریق آنالیز داده، مقصدمون رو متوجه نشه، با استفاده از TLS1.3.
حالا ما سمت فیلترچی یه درخواست امن داریم، با یک آدرس از یک سرور بیربط به مقصد، یه واسط.
۷/۱۸
ما که به اصطلاح اینجا خرمون از پل گذشته، درخواست رسیده به CDN و وصل شدیم به دنیای آزاد. CDN هم به سرعت درخواست رو تحویل سرور میده و پاسخ رو تحویل کاربر. کار اصلی تمام شد.
حالا فیلترچی چیکار کنه؟ بد شد که...
اینجا دیگه بحث هزینه/فایده پیش میاد. من میگم خودزنی. چرا؟ میگم حالا.
۸/۱۵
یه گریز بزنم به نحوهی ایجاد CDN رایگان روی #کلادفلر که کار خیلی سادهایه، فقط مینویسم که نگرانش نباشید.
این تصاویر رو شماره زدم به ترتیب انجام میدین و اکانت ایجاد میشه، ایمیل هم باید تصدیق بشه که با لینکی که به ایمیلتون میفرسته اونم حله. تو مرحلهی ۴ نام دامنه رو میزنید.
۹/۱۸
بعد که دلمنه رو زدید بسته به اینکه بخواید تمام درخواستهای اون دامنه به سرورتون بره یا فقط یک سابدامین بره، سه مرحلهی بعد رو هم به ترتیب ادامه بدید و تمام.
یادتون باشه اون تیک proxy که تو نصویر آخر همسن، تمام این داستان برای اونه. کل cdn اونجا فعال میشه پس خاموشش نکنید.
۱۰/۱۸
بالاتر گفتم فیلترینگ این بخش خودزنیه. چرا؟
فیلترچی دو راه داره:
اول اینکه پروتکل امن رو مسدود کنه. این راه هم شدیدا ضد امنیته و هم بخشی از سرویسها که نیاز به این نوع امنیت دارن رو مختل میکنه ولی چند روزه که به طور پراکنده و ساعتی دارن این کار رو میکنن. بابتش هم هزینه میدن.
۱۱/۱۸
دوم اینه که اون سرور بیگناه و بیربط مربوط به CDN رو جای سرور ما مسدود کنن 😀.
واقعا خندهداره ولی فیلترچی کارهای خندهدار زیاد میکنه.
اما CDN های بزرگ بار بخش زیادی از اینترنت رو به دوش میکشن. عملکرد ۴۰٪ از ۱۰ هزار سایت برتر و ۲۰٪ از کل وبسایتهای فعال، وابسته به کلادفلره.
۱۲/۱۸
چه اتفاقی میوفته اگه تمام نودهای کلادفلر بسته بشن؟
خوشبینانهاش اینه که ۲۰ درصد اینترنت به طور کامل قطع میشه، حدودا همین نسبت رو هم داخل داریم. یعنی بخش قابل توجهی از سرویسهای داخلی هم قطع یا مختل میشن، آمار درستی ازش موجود نیست.
تازه این قسمت خوب ماجراس.
۱۳/۱۸
از این بدترم داریم مگه؟ باید بگم بله داریم. بخش عمدهای از کتابخانههای آزاد، ابزارهای کدنویسی یا پکیجهای مربوطه، آپدیتها و پکیجهای مرتبط با سیستمعامل و زیرساخت، همگی مختل میشن و هیچ راهکار جایگزینی هم فعلا نداره. یعنی ما روی شبکهی ملی اصلا براش آلترناتیو نداریم.
۱۴/۱۸
پس چطوری میخواستن کل اینترنت رو قطع کنن؟ چطوری تاحالا مثلا تو همین ماههای قبل یا آبان ۹۸ کاملا قطع کردن؟
جوابش سادهاس. وقتی حکمرانی به این نتیجه میرسه که کامل اینترنت رو قطع کنه، دیگه اون ۲۰ درصد براش مهم نیست. قطع میکنه و تمام. هزینهاش رو هم میپردازه.
ولی همیشگی نیست...
۱۵/۱۸
چرا خب کلا قطع نمیکنن؟ در یک کلمه: نمیتونن. نه که نخوان، به لحاظ فنی برای مدت طولانی نمیتونن این کار رو بکنن. اصلا بحث اینترنت طبقاتی و آروان برای همین مطرح شده.
آپدیت نشدن زیرساخت، سیستمعامل، پکیجها و ... رو سازمانها میتونن دو هفته عقب بندازن ولی نمیتونن بیخیالش بشن.
۱۶/۱۸
برگردم سر بحث اصلی، CDN. گفتم که یه سری امکانات دیگه هم داره. چی هست؟
دیدیم که سرور واسط میاد جلوی سرور ما، هم ما رو مخفی میکنه هم میشه آماج حملات هکری مثل DDoS.
بعلاوهی بهینه کردن ترافیک و به یاد سپاری محتوای استاتیک که هر کدوم یه رشته توییت میخواد، دوست داشتید مینویسم.
۱۷/۱۸
در آخر ممنونم که حوصله کردید و خوندید و امیدوارم مفید بوده باشه.
پینوشت: من هر جا گفتم فیلترچی، شما جاش بنویسی هکر هم درسته🙈. چون همین کاربرد رو تو بحث هک و امنیت هم داره.
۱۸/۱۸
چند بار خوندم که ایراد املایی نداشته باشه، ولی این دو تا توییت کلادفلر رو لحظه آخر اضافه کردم اون وسط که پر غلط املاییه🤦♂️، عفو کنید دیگه...
• • •
Missing some Tweet in this thread? You can try to
force a refresh
اضافه شدن امکانات TLS1.3 به توزیعهای xray و برخی کلاینتها، دست فیلترکننده رو به شدت بسته. اینها که امروز میخوام بگم رو درست استفاده کنید تا برای فیلترچی تقریبا نامرئی بشین.
من روی v2rayNG توضیح میدم، شما مشابهشو رو اپ خودتون پیدا کنید:
uTLS, alpn & allowinsecure
۱/۱۰
میخوام داستان بگم که تا حد امکان ساده باشه برای همگی.
وقتی ما میخوایم به یه سرور وصل بشیم، تو قدم اول با ارسال نام دامنه به DNS، آدرس سرور استعلام میشه تا بعد درخواست به اون آدرس ارسال بشه.
تو همین قدم، قبلا تو مسیر، فیلترچی میدید کجا داریم میریم.
۲/۱۰
اما با معرفی سرویس DNS امن (DoT & DoH) این مساله حل شد. کلادفلر این سرویس رو داره و جای نگرانی نیست. اپ v2rayNG هم وقتی کانفیگ روی حالت tls باشه، این سرویس رو فعال میکنه. یعنی این مرحله رد شد و فیلترچی متوجه نشد ما میخوایم به سمت کدوم دامنه بریم.
۳/۱۰
اینو دقیق بخونید، قدم به قدم جلو برید، کلادفلر رو برای هر نفر یه اکانت ایجاد کنید، ایمیل رو که همه چندتا دارید، اکانت کلاد فلر هم که یه ایمیل میخواد و رایگانه،
برای خودتون که ساختید برای دوستان و اقوام هم بسازید. کمک کنید به اطرافیانتون.
زکاتشو بدید خلاصه.
۱/
روی ios بهتترینش برای subscribe کردن shadowrocket هستش اگه میتونید بخریدش، ۳ دلار قیمتشه تو اپ استور. جایگزینش FairVPN هست که به روش import میتونید لینک subscribe رو ایمپورت کنید و کانفیگها رو بگیرید. اینجا توضیح دادم:
۳/
وقتی از اپ v2rayNG روی اندروید استفاده میکنید، برای اینکه اپها و وبسایتهای ایرانی از vpn رد نشن و راحت باز بشن، مطابق تکه فیلم کوتاهی که پایین گذاشتم تنظیمات رو انجام بدید.
۱/۲ #فیلترنت
اینطوری علاوه بر حل مشکل اپ و وبسایتهای ایرانی، در مصرف ترافیکتون هم به شدت صرفهجویی میشه چون وقتی با vpn وصل هستید، کل ترافیکتون با تعرفهی جهانی محاسبه میشه ولی اینطوری ترافیک ایران، داخلی محاسبه میشه (نیمبها).
۲/۲
اگه سرور xray/v2ray دارید و به واسطهی تغییرات سیستم فیلترینگ و یا دلایل دیگه مجبورید دائم کانفیگهای جدید ایجاد کنید و به استفاده کنندهها برسونید، در ادامه یک روش ساده برای حل این مشکل نوشتم.👇
۱/۵
برای این کار لازمه که یک لینک عضویت یا subscription درست کنیم و کانفیگها رو از طریق لینک عضویت، در اختیار استفادهکنندگان قرار بدیم.
اینطوری وقتی کانفیگهای قبلی منقضی شدن و یا کانفیگ جدید داشتیم، اونها رو در لینک عضویت قرار میدیم و دیگه اعضا فقط یه آپدیت لازم دارن.
۲/۵
برای ایجاد لینک عضویت، یک تکه کد کوچیک نوشتم (تصویر پایین) که میتونید به سادگی روی یک worker از نوع http handler در کلادفلر بنویسید و کانفیگهای خودتون رو در لیست ابتدای کد، یکی یکی اضافه کنید، هر تعداد که بود؛ و در نهایت کد رو save and deploy کنید.
۳/۵
دفتر نظارت شهید عباسپور جایی در مرکز شهر #زاهدان بود. یک ساختمان سه طبقه که یک طبقهی اون دفتر و دو طبقه مهمانسرا بود.
پروژهی آبرسانی از چاهنیمه به زاهدان شامل ۱۹۳ کیلومتر خط لوله، چهار ایستگاه تقویت فشار، دو مخزن تعادل، یک آبگیر و یک مخزن ذخیره ۶۰ هزار مترمکعبی بود.👇
۱/۱۲
هفتهی قبل نوشتم چطور شد که به این پروژه رفتم.
بعد از دعوت رئیس دستگاه نظارت شهید عباسپور (که زیرمجموعهی وزارت نیرو بود)، کارهام رو در زابل تحویل دادم و چند روز بعد عازم زاهدان شدم.
این مسیر رو هم همراه شجاعی و چندتا از بچههای آبمنطقهای رفتیم.
۲/۱۲
مهندس احمدی، سرتیمِ دستگاه نظارت، مردی به غایت خودساخته و شریف بود. پیمان هم پسری خوش برخورد و خوش صحبت. هر دو سیویل خونده بودن و اهل کرمانشاه.
سیامک مهندس مکانیک بود و اهل کردستان. محمد هم اهل شهر زاهدان بود و مثل سیامک، مکانیک خونده بود.
فقط من بینشون شیعه بودم :)
۳/۱۲