Vahid Farid Profile picture
Feb 14 16 tweets 6 min read
امشب میخوام داستان #worker رو براتون بگم. اینکه اصلا چی هست و چیکار میکنه، البته این اسمیه که #کلادفلر براش گذاشته.
این مفهوم با عنوان Serverless Coding یا کدنویسی بدون سرور، در خیلی سرویس‌دهنده‌های دیگه از جمله گوگل، آمازون و مایکروسافت هم عرضه میشه.
۱/۱۲
روند اجرای یک درخواست تا رسیدن به پاسخ در وب رو وقتی خیلی خلاصه کنیم به این شکله که ما یک درخواست رو میفرستیم به سرور، سرور درخواست رو بررسی میکنه، پاسخ رو آماده میکنه و اون رو به ما برمی‌گردونه.
تو خیلی از کارها پروسه‌ی تهیه پاسخ اونقدر ساده‌اس که نیاز به سرور پیچیده نداره.
۲/۱۲
اینجاس که مفهوم Serverless مطرح میشه. یک ابزار برنامه‌پذیر که در حدود تعیین شده کد ما رو میپذیره، اجرا میکنه و پاسخ رو برمی‌گردونه.
خب؟ الان این چه ارتباطی با موضوع عبور از فیلترینگ داره؟
در یک کلام، همون استفاده‌ای رو داره که cdn داشت با یک تفاوت مهم.
۳/۱۲
اجازه بدید یه مثال ملموس بزنم.
فرض کنید ما میخوایم از سوپرمارکت محل خرید کنیم، ولی یه طلبکار (فیلترچی) داریم که سر کوچه کمین کرده و اگه بفهمه ما میخوایم از سوپرمارکت خرید کنیم، خفتمون می‌کنه😰.
چیکار می‌کنیم؟ یه آدم خیر پیدا میکنیم، بهش میگیم بره برامون خرید کنه و بیاره.
۴/۱۲
طبیعتا طلبکار (فیلترچی) هیچوقت با اون آدمِ بی‌ربط کار نداره، نمیشناسدش اصلا.
این آدمِ خیرِ بی‌ربط، همین #worker هستش. یه ماشینِ بیگناه که ما برنامه‌ریزیش کردیم تا هر چی بهش گفتیم رو ببره تحویل سرور ممنوعه بده (v2ray) و پاسخشو برامون بیاره.
ای بابا، بازم بد شد که...
۵/۱۲
تفاوتش با cdn زیاد ملموس نبود؟ اگه از هردوتاش استفاده کنیم چی میشه؟
جای cdn از worker استفاده کنیم چی؟
همه شو میگم. جوابش خیلی راحته.
ببینید worker ها خودشون از زیرساخت cdn استفاده می‌کنن برای همین محدود کردنشون سخته، همون هزینه‌ها رو داره.
۶/۱۲
طبیعیه که نباید همزمان از دوتاش استفاده کنیم، کمکی نمیکنه.
ولی چرا برای سرور خودمون جای cdn از ورکر استفاده نکنیم؟ چون ورکر هم پیچیده‌تره و هم محدودیت زیادی داره. فعلا روی کلادفلر روزی 100k درخواست بیشتر نمیشه به ورکر فرستاد. عدد بالایی نیست اصلا. هیچ مزیتی هم به cdn نداره.
۷/۱۲
خب چرا جای ورکر از cdn استفاده نمیکنیم؟ چون cdn رو ما میتونیم جایی بذاریم که سرور برای خودمون باشه و بتونیم سرور رو ببریم پشت cdn. وقتی داریم از سرورهای رایگان لینک میگیریم که نمیتونیم سرورشونو ببریم پشت cdn.
اینجاست که میایم از worker یک نامه‌رسون می‌سازیم.
۸/۱۲
چرا خود پرووایدرهای لینک‌های رایگان، سرورهاشونو نمیبرن پشت cdn؟
چون اونا ترافیکشون خیلی بالاس. از یه جایی به بعد باید هزینه‌ی زیادی پرداخت کنن و دیگه رایگان نیست.
پس دیگه جایگاه cdn و ورکر رو میتونیم تشخیص بدیم. وقتی سرور شخصیه، cdn استفاده می‌کنیم در غیر این‌صورت ورکر.
۹/۱۲
جالب بود نه؟ حالا چطور ایجادش کنیم؟
تو رشتوی cdn (اگه نخوندید حتما بخونید، خوشحال میشم)، نوشته بودم چطور اکانت #کلادفلر ایجاد کنید.
کاری هم نداره، چهارتا کلیک.
وقتی اکانت رو ایجاد کردید و وارد شدید، تو منوی کناری بخشی تحت عنوان workers داریم.
۱۰/۱۲
روی منوی workers کلیک میکنیم و گزینه‌ی Create a service رو میزنیم.
در صفحه‌ی بعدی مطابق شکل گزینه‌ی http handler رو میزنیم و سرویس رو ایجاد می‌کنیم.
در صفحه‌ی بعدش هم روی quick edit کلیک میکنیم و وارد بخش کد نویسی میشیم.
۱۱/۱۲
این بخش دیگه تخصصیه، اگه جاوا اسکریپت بلد باشید که عالیه و خیلی کارها میتونید بکنید اینجا ولی اگه تو این زمینه سر رشته ندارید اصلا نگران نباشید.
نمونه کدی که باید اینجا بنویسید تو راهنماهای مربوطه هست و صرفا همونو کپی میکنید و میارید داخل این بخش. در نهایت هم Save & Deploy.
۱۲/۱۲
این ورکر یه آدرس داره که تو تمام صفحات نوشته شده. از چهار قسمت تشکیل شده.
name.id.worker.dev
شامل نام سرویس، شناسه‌ی اکانت شما و دامین که متعلق به کلادفلره.
این لینک میشه آدرس ورکر شما که باید کپی کنید و هر جایی خواستید ازش استفاده کنید.
۱۳/۱۴
در آخر بازم تشکر میکنم که حوصله کردید و خوندید و امیدوارم مفید بوده باشه.

این رو هم بگم، هدف من آموزش عمومیه، هیچ محدودیتی روی بازنشر مطالبم ندارید. دوست داشتید ذکر منبع کنید، نکردید هم فدای سرتون.
یک نفر بیشتر استفاده کنه هم من خوشحال میشم. 🌱

۱۴/۱۴
همیشه باید یه ردی از کم حواسیم تو توییتام بمونه، این اصلاح نکردن نهایی شماره ۱۲ و ۱۴ رو بذارید به خاطر خستگیم 🫠
دوستان زیادی اومدن ابهام ایجاد کردن که ورکرها فیلتر شدن.
ببینید همونطور که توی رشتو نوشته بودم، ورکرها از زیرساخت cdn کلادفلر استفاده میکنن. اینکه کلادفلر اختلال داره چیز جدیدی نیست.
blog.cloudflare.com/cloudflare-ser…

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Vahid Farid

Vahid Farid Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @vahidfarid

Feb 15
خب دوستان بالاخره تمومش کردم. طبق قولی که داده بودم، امروز یه سایت جدید معرفی میکنم که بتونید ازش کانفیگ رایگان بگیرید.
اما قبلش بیاید با هم ورکر رو بسازیم. هر کی برای خودش.
اگه نمیدونید از کجا شروع کنید، این رشتو رو بخونید:
۱/۹
وقنی ورکر رو ساختید، باید برنامه‌ریزیش کنیم که بتونه خدمتی که نیاز داریم رو به ما بده.
تکه کد زیر رو توی gist نوشتم.
فقط این کد رو کپی کنید داخل ورکر خودتون، ذخیره کنید و تمام. آدرس ورکرتون رو کپی کنید، لازمش داریم.
۲/۹
gist.github.com/vfarid/9bbd753…
حالا باید بریم به سایت freevmess.com که طبیعتا فیلتره. این رو با یک فیلترشکن برید.
صفحه رو اسکرول کنید تا به بخش دریافت کانفیگ‌ها برسید.
من خودم کانفیگی که گرفتم رو دورش خط زرد کشیدم، حداقل فعلا فقط کانفیگ vmess بگیرید. دلیلشو جلوتر میگم. دکمه‌ی submit رو بزنید.
۳/۹ Image
Read 10 tweets
Feb 12
امروز میخوام یه داستان بگم درباره‌ی #CDN. اینکه کلا چی هست، ذات کارش چیه و ما تو این شرایط چطور ازش استفاده می‌کنیم.
معادل فارسیش میشه "شبکه‌ی تحویل محتوا"، حالا یعنی چی؟
یک فروشگاه زنجیره‌ای رو در نظر بگیرید که برای اینکه فروشش رو تسهیل کنه، تو هر محله یه فروشگاه میزنه.👇
۱/۱۸
هدف چیه؟ تسهیل دسترسی مشتری به کالا از طریق شبکه‌ی فروشگاهی.
حالا برگردیم به CDN که نقشش تو خدمات اینترنتی دقیقا همینه. تسهیل دسترسی کاربر به محتوا از طریق شبکه‌ی توزیع‌شده‌ی سرورها.
قبل از ادامه، یه نگاه دوباره به تصویر توییت قبل بندازید.
۲/۱۸
یک CDN قوی میتونه سرعت دسترسی کاربر به محتوای وب رو به طور ملموسی افزایش بده چون جای اینکه درخواست شما در یک شبکه‌ی پیچیده بچرخه تا به مقصد برسه، خیلی سریع به اولین سرور محلی وصل میشه و از اونجا مستقیم به سرور مقصد هدایت میشه.
اما کاربردش برای عبور از فیلترینگ چیه الان؟
۳/۱۸
Read 19 tweets
Feb 10
اضافه شدن امکانات TLS1.3 به توزیع‌های xray و برخی کلاینت‌ها، دست فیلترکننده رو به شدت بسته. این‌ها که امروز میخوام بگم رو درست استفاده کنید تا برای فیلترچی تقریبا نامرئی بشین.
من روی v2rayNG توضیح میدم، شما مشابهشو رو اپ خودتون پیدا کنید:
uTLS, alpn & allowinsecure

۱/۱۰
میخوام داستان بگم که تا حد امکان ساده باشه برای همگی.
وقتی ما میخوایم به یه سرور وصل بشیم، تو قدم اول با ارسال نام دامنه به DNS، آدرس سرور استعلام میشه تا بعد درخواست به اون آدرس ارسال بشه.
تو همین قدم، قبلا تو مسیر، فیلترچی می‌دید کجا داریم میریم.
۲/۱۰
اما با معرفی سرویس DNS امن (DoT & DoH) این مساله حل شد. کلادفلر این سرویس رو داره و جای نگرانی نیست. اپ v2rayNG هم وقتی کانفیگ روی حالت tls باشه، این سرویس رو فعال میکنه. یعنی این مرحله رد شد و فیلترچی متوجه نشد ما میخوایم به سمت کدوم دامنه بریم.
۳/۱۰
Read 11 tweets
Feb 10
اینو دقیق بخونید، قدم به قدم جلو برید، کلادفلر رو برای هر نفر یه اکانت ایجاد کنید، ایمیل رو که همه چندتا دارید، اکانت کلاد فلر هم که یه ایمیل میخواد و رایگانه،
برای خودتون که ساختید برای دوستان و اقوام هم بسازید. کمک کنید به اطرافیانتون.
زکاتشو بدید خلاصه.
۱/
روی اندروید بهترین اپ همون v2rayNG هستش که به راحتی میتونید روش subscribe کنید. تو این توییت توضیح دادم:
۲/
روی ios بهتترینش برای subscribe کردن shadowrocket هستش اگه میتونید بخریدش، ۳ دلار قیمتشه تو اپ استور. جایگزینش FairVPN هست که به روش import میتونید لینک subscribe رو ایمپورت کنید و کانفیگ‌ها رو بگیرید. اینجا توضیح دادم:
۳/
Read 7 tweets
Feb 9
وقتی از اپ v2rayNG روی اندروید استفاده می‌کنید، برای اینکه اپ‌ها و وبسایت‌های ایرانی از vpn رد نشن و راحت باز بشن، مطابق تکه فیلم کوتاهی که پایین گذاشتم تنظیمات رو انجام بدید.
۱/۲
#فیلترنت
اینطوری علاوه بر حل مشکل اپ و وبسایت‌های ایرانی، در مصرف ترافیکتون هم به شدت صرفه‌جویی میشه چون وقتی با vpn وصل هستید، کل ترافیکتون با تعرفه‌ی جهانی محاسبه میشه ولی اینطوری ترافیک ایران، داخلی محاسبه میشه (نیم‌بها).
۲/۲

#فیلترنت
مرجع:
github.com/2dust/v2rayNG/…
اگه مشکلی تو آپدیت کردن geoip و geosite دارید، حتما قبلش خود v2rayNG رو به آخرین نسخه آپدیت کنید.
v1.7.35
Read 4 tweets
Feb 4
اگه سرور xray/v2ray دارید و به واسطه‌ی تغییرات سیستم فیلترینگ و یا دلایل دیگه مجبورید دائم کانفیگ‌های جدید ایجاد کنید و به استفاده کننده‌ها برسونید، در ادامه یک روش ساده برای حل این مشکل نوشتم.👇
۱/۵

#فیلترنت
برای این کار لازمه که یک لینک عضویت یا subscription درست کنیم و کانفیگ‌ها رو از طریق لینک عضویت، در اختیار استفاده‌کنندگان قرار بدیم.
اینطوری وقتی کانفیگ‌های قبلی منقضی شدن و یا کانفیگ جدید داشتیم، اونها رو در لینک عضویت قرار میدیم و دیگه اعضا فقط یه آپدیت لازم دارن.
۲/۵
برای ایجاد لینک عضویت، یک تکه کد کوچیک نوشتم (تصویر پایین) که میتونید به سادگی روی یک worker از نوع http handler در کلادفلر بنویسید و کانفیگ‌های خودتون رو در لیست ابتدای کد، یکی یکی اضافه کنید، هر تعداد که بود؛ و در نهایت کد رو save and deploy کنید.
۳/۵
Read 7 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(