views
Vahid Farid Profile picture
Mar 12 10 tweets 2 min read Read on X
چون در مورد #فرگمنت کمتر صحبت شده و دوستان زیادی نمیدونن چطور استفاده کنن یه داستان بگم براش، یه مدته داستان نگفتم :)

ما وقتی درخواست HTTPS/WSS میفرستیم سمت سرور، کل اطلاعات با پروتکل TLS رمزنگاری میشه و بین راه قابل مشاهده نیست در نتیجه هکر/فیلترچی نمیتونه ببینه چه خبره.👇
۱/۱۰
اما اینجا یه مشکلی وجود داره! زمانی که پای CDN/Reverse Proxy میاد وسط تا از سرور ما محافظت کنه، لازمه که نام دامین مقصد رو بدونه تا تشخیص بده درخواست رو چطور هدایت/رمزگشایی کنه. اینجا مفهومی اضافه میشه به اسم SNI که همون نام دامین ماست.
۲/۱۰
روش کار اینطوریه که قبل از ارسال درخواست اصلی که رمزنگاری شده، یک بسته به سمت مقصد ارسال میشه که مشخص میکنه بسته‌ی رمزنگاری شده مربوط به کدوم دامینه.
این بسته tlshello نامگذاری شده و حاوی نام دامنه‌ی ماست. بعد از این بسته، درخواست رمزنگاری شده‌ی اصلی ارسال میشه.
۳/۱۰
تدوین‌کنندگان TLS در تلاشن تا این بسته‌ی tlshello رو هم رمزنگاری کنن و فعلا به شکل افزونه روی نسخه ۱.۳ اضافه شده ولی به نوعی هنوز عملیاتی نیست و به راحتی هم توسط فایروال غیرفعال میشه.
کاری که فرگمنت انجام میده اینه که برای مخفی کردن نام دامین، این بسته رو قطعه قطعه می‌کنه.
۴/۱۰
بسته‌ی tlshello خیلی کم‌حجمه چیزی حدود ۲۰۰ الی ۳۰۰ بایت حجمشه و خب به صورت نرمال باید در یک مرتبه ارسال بشه، فیلترچی هم منتظره تا اینو بگیره و نام دامین مقصد رو از توش برداره و با یه لبخندِ پیروزی، درخواست رو بلاک کنه :(
۵/۱۰
اما فرگمنت میاد این بسته‌ی کوچک رو تکه‌تکه و در قطعات مختلف ارسال می‌کنه و بین ارسال‌ها تاخیر میندازه. این کار باعث میشه فعلا فایروال گمراه بشه و نتونه نام دامین رو تشخیص بده.
الان اون دو تا متغیر Length (اندازه‌ی بسته‌ها) و Interval (فاصله زمانی بین بسته‌ها) رو متوجه شدیم.
۶/۱۰
این اندازه و فاصله روی اوپراتورهای مختلف نتایج مختلف دارن و باید با آزمایش و خطا به دستش آورد. اینم بگم که ما برای اینکه همیشه بسته‌های کوچک شده رو با یک اندازه یا فاصله‌ی زمانی ثابت نفرستیم میایم برای مقادیر، محدوده تعیین می‌کنیم.
۷/۱۰
مثلا به جای ۵۰ مینویسیم ۱۰۰-۵۰، اینطوری هر بار بسته با اندازه‌ی اتفاقی بین ۵۰ تا ۱۰۰ ارسال میشه.
کاهش اندازه‌ی بسته‌ها و یا افزایش فاصله‌ی زمانی میتونه پینگ شما رو به طور محسوس افزایش بده ولی تاثیری روی سرعت تبادل نداره و فقط در لحظه‌ی اتصال این کندی ایجاد میشه.
۸/۱۰
در حال حاضر هسته‌ی xray به طور کامل فرگمنت رو پشتیبانی میکنه و کلاینت‌های مبتنی بر این هسته مثل سری v2rayN/NG هم از فرگمنت پشتیبانی میکنن. در اپ v2rayNG میتونید در تنظیمات برنامه فرگمنت رو فعال کنید ولی v2rayN در تنظیماتش نداره و به جاش میتونید کانفیگ کاستوم با فرگمنت بدید.
۹/۱۰
برای تهیه کانفیگ کاستوم با فرگمنت هم میتونید کانفیگ رو به v2rayNG (یا مشابه) بدید و فرگمنت رو فعال کنید بعد به صورت custom config خروجی بگیرید و به سایر اپ‌ها مثل v2rayN بدید، یا از ابزارهای آنلاین برای تبدیل استفاده کنید مثل ابزاری که @ircfspace درست کرده.
موفق باشید.🌱
۱۰/۱۰

• • •

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

Dec 28, 2023
چون در مورد امنیت #وارپ اخیرا حاشیه‌ها زیاد شده تصمیم گرفتم چند تا تست واقعی بگیرم بلکه خیال همگی راحت بشه.
زمانی که وارپ روی دستگاه شما فعال میشه، کلادفلر بر اساس آی‌پی شما که بیانگر موقیت جغرافیایی شماست، یک آی‌پی از رنج آی‌پی‌های متنوعی که داره به شما اختصاص میده.
۱/۷ Image
وقتی از ایران به وارپ وصل میشید، اگه آی‌پی رو بررسی کنید میبینید که کلادفلر یک آی‌پی از ایران به شما داده. حالا اینکه کلادفلر این رنج آی‌پی ایران رو از کجا آورده وقتی دفتری در ایران نداره، یه بحث مجزاس ولی واقعا لوکیشن آی‌پی کلادفلر وسط تهرانه و همین موضوع باعث نگرانی شده.
۲/۷ Image
در تصویر بالا می‌بینید که ISP کلادفلره و جای نگرانی نداره اصلا. طبیعتا به همین دلیل سرویس‌های تحریمی موقعیت شما رو ایران میبینن و عمدتا دسترسی به سرویس رو مسدود میکنن.
اما بحث دیگه‌ای که هست اینه که وقتی سایتی پشت cdn کلادفلر باشه، کلادفلر آی‌پی مبدا رو تحویلش میده.
۳/۷
Read 7 tweets
Jul 7, 2023
پریشب سگارو @iSegaro ازم خواست که کد X-Panel رو نگاه کنم چون گزارشات زیادی از مسدود شدن سرورهای مبتنی بر این ابزار توسط پروایدرها دریافت کرده بودن.
کد رو بررسی کردم و در یک کلام باید بگم به لحاظ امنیتی «افتضاحه».

در ادامه حداقل دلایل رو نوشتم:

۱/۸
github.com/Alirezad07/X-P…
این کد توسط php و با الگو گرفتن از مدل MVC نوشته شده ولی حداقل‌های امنیتی این مدل و جداسازی‌ها در این کد رعایت نشده.
تمام کدها در روت وب‌سرور قابل دسترسی هستن، در حالی که تو مدل MVC، کدها باید در سطحی بالاتر از وب سرور باشن و قابل دسترسی توسط وب‌سرور نباشن.
۲/۸
در اسکریپت نصب این ابزار، تمام فایل‌های کانفیگ پنل وب و کتابخانه‌ها با دسترسی خواندن/نوشتن همگانی روی وب سرور قرار گرفتن، واقعیتش تا امروز چنین کار خطرناکی رو هیچ‌جا ندیده بودم، اینا حداقل‌های امنیت هستن.
دسترسی ۷۷۷ به فایل‌های حیاتی روی وب سرور، فاجعه‌اس.
۳/۸
Read 10 tweets
May 22, 2023
ویدیو آموزش خرید سرور لینوکس و ایجاد VPN به روش SSH با حداقل دانش فنی رو میتونید تو کانال یوتیوبم ببینید.
من سرور رو از ایران خریدم ولی شما اگه میتونید با کریپتو یا دبیت خرید کنید، حتما از خارج کشور بخرید، چون ارزونتره.
امیدوارم براتون مفید باشه.

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

تو ویدیو میبینید که من اصلا به لاگین نکردم، فقط با اطلاعات فروشنده متصل شدم.
دیگه ببخشید من ادیت ویدیو و خوشگل کردن landing و اینها رو بلد نیستم، اون قسمتاشو تحمل کنید :)
Read 8 tweets
May 9, 2023
کد آپدیت شده‌ی ورکر تولید ساب برای کلاینت‌های v2ray رو آپدیت کردم و میتونید از روی گیت‌هاب نسخه‌ی ۱.۷ رو دریافت و روی ورکرهاتون جایگزین کنید.

لینک کتابخانه:


لینک دریافت اسکریپت:


توضیحات کامل داخل کتابخانه هست.

۱/۵github.com/vfarid/v2ray-w…
raw.githubusercontent.com/vfarid/v2ray-w…
تو این نسخه علاوه بر امکانات نسخه‌ی قبل، امکان ارسال متغیرهای alpn و fp هم به پارامترها اضافه شده.
همینطور میتونید لیست پرووایدرها رو با پارامتر provider در url محدود کنید.
تو صفحه اول کتابخانه تمام موارد رو کامل نوشتم.

۲/۵
اگه لینک ورکرتون رو بدون sub بزنید، راهنمای فارسی رو روی صفحه‌ی ورکر خودتون با مثال‌های واقعی از لینک خودتون میاره.
با توجه به اینکه مطمئن شدم کانفیگ‌های tcp در ترکیب با ورکر کار نمیکنن، اونها رو حذف کردم.

۳/۵
Read 8 tweets
Apr 28, 2023
کد ورکر رو با تغییر الگوریتم، اضافه کردن پشتیبانی از vless و تروجان و همینطور رفع مشکل کاراکترهای زبان فارسی و چینی (utf8)، آپدیت کردم.
نام کتابخانه‌ی منبع هر کانفیگ در ابتدای نام کانفیگ قید شده.
لینک کتابخانه:
github.com/vfarid/v2ray-w…
دریافت اسکریپت:
github.com/vfarid/v2ray-w…

۱/۵
کدش نسبت به قبل خیلی تفاوت کرده، ولی شما فقط کد رو دانلود کنید و داخل بخش مربوطه تو ورکر ذخیره کنید و تمام.
بعد از ذخیره، دیگه اون خطای ۵۰۲ رو دریافت نمی‌کنید و به جاش، راهنمای ورکر براتون نمایش داده میشه.
مطابق راهنما لینک ساب رو کپی کنید و به اپ خودتون اضافه کنید.
۲/۵ Image
همونطور که در راهنمای بالا می‌بینید، امکان تعیین تعداد کانفیگ، استفاده از کانفیگ‌های اصلی به عنوان پارامتر در ادرس ورکر اورده شده و همینطور اضافه کردن همزمان چندین آی‌پی و سابدامین آی‌پی تمیز هم به قابلیت‌های ورکر اضافه شده.
۳/۵
Read 6 tweets
Mar 30, 2023
۲ تا نظرسنجی برای یک سوال ساده گذاشتم، یه اپ که تمام کارش در سمت کلاینت داره انجام میشه و آفلاینه.
حدود ۱۰ درصد گفتن "فرانت برنامه‌نویس نیست"، من مشخصا خواستم سوال جدی و با تحقیق پاسخ داده بشه. این قطعا پاسخ سوال نیست و مشخصه این عده نخواستن به سوال پاسخ بدن.
۱/۹
#برنامه_نویسی
پس این بخش رو نادیده می‌گیرم و امیدوارم در آینده این نوع پاسخ‌ها کم بشه.
در نظرسنجی اول ۳۰ درصد گفتن که پروسس با بک انجام میشه و وقتی سوال رو شفاف‌تر کردم، این میزان تقریبا نصف شد.
حالا میخوام جواب سوال رو بدم، بر اساس تعاریف حوزه‌های برنامه‌نویسی.
۲/۹
واقعیت اینه که در حوزه‌ی وب و اپ، تفکیک فرانت و بک خیلی پیچیده نیست. بر خلاف تصوری که در منشن‌ها دیدم و در نتایج میشه دید، هر کدی که عملیاتی باشه یا به تعبیری "پیچیده" باشه در دسته بندی بک قرار نمیگیره، مشخصا ابزارهای توسعه‌ی فرانت و بک با هم فرق دارن.
۳/۹
Read 9 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!

:(