چون در مورد #فرگمنت کمتر صحبت شده و دوستان زیادی نمیدونن چطور استفاده کنن یه داستان بگم براش، یه مدته داستان نگفتم :)
ما وقتی درخواست 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
چون در مورد امنیت #وارپ اخیرا حاشیهها زیاد شده تصمیم گرفتم چند تا تست واقعی بگیرم بلکه خیال همگی راحت بشه.
زمانی که وارپ روی دستگاه شما فعال میشه، کلادفلر بر اساس آیپی شما که بیانگر موقیت جغرافیایی شماست، یک آیپی از رنج آیپیهای متنوعی که داره به شما اختصاص میده.
۱/۷
وقتی از ایران به وارپ وصل میشید، اگه آیپی رو بررسی کنید میبینید که کلادفلر یک آیپی از ایران به شما داده. حالا اینکه کلادفلر این رنج آیپی ایران رو از کجا آورده وقتی دفتری در ایران نداره، یه بحث مجزاس ولی واقعا لوکیشن آیپی کلادفلر وسط تهرانه و همین موضوع باعث نگرانی شده.
۲/۷
در تصویر بالا میبینید که ISP کلادفلره و جای نگرانی نداره اصلا. طبیعتا به همین دلیل سرویسهای تحریمی موقعیت شما رو ایران میبینن و عمدتا دسترسی به سرویس رو مسدود میکنن.
اما بحث دیگهای که هست اینه که وقتی سایتی پشت cdn کلادفلر باشه، کلادفلر آیپی مبدا رو تحویلش میده.
۳/۷
پریشب سگارو @iSegaro ازم خواست که کد X-Panel رو نگاه کنم چون گزارشات زیادی از مسدود شدن سرورهای مبتنی بر این ابزار توسط پروایدرها دریافت کرده بودن.
کد رو بررسی کردم و در یک کلام باید بگم به لحاظ امنیتی «افتضاحه».
این کد توسط php و با الگو گرفتن از مدل MVC نوشته شده ولی حداقلهای امنیتی این مدل و جداسازیها در این کد رعایت نشده.
تمام کدها در روت وبسرور قابل دسترسی هستن، در حالی که تو مدل MVC، کدها باید در سطحی بالاتر از وب سرور باشن و قابل دسترسی توسط وبسرور نباشن.
۲/۸
در اسکریپت نصب این ابزار، تمام فایلهای کانفیگ پنل وب و کتابخانهها با دسترسی خواندن/نوشتن همگانی روی وب سرور قرار گرفتن، واقعیتش تا امروز چنین کار خطرناکی رو هیچجا ندیده بودم، اینا حداقلهای امنیت هستن.
دسترسی ۷۷۷ به فایلهای حیاتی روی وب سرور، فاجعهاس.
۳/۸
ویدیو آموزش خرید سرور لینوکس و ایجاد VPN به روش SSH با حداقل دانش فنی رو میتونید تو کانال یوتیوبم ببینید.
من سرور رو از ایران خریدم ولی شما اگه میتونید با کریپتو یا دبیت خرید کنید، حتما از خارج کشور بخرید، چون ارزونتره.
امیدوارم براتون مفید باشه.
این روش ریسک پایین فیلتر شدن آیپی رو داره، همونطور که تو ویدیو گفتم با تعداد پایین وصل بشید، دو نفر سه نفر. حالا اگه آیپیتون بن شد نیاید سراغ من، ولی واقعا خودم تاحالا با این روش سرورم مسدود نشده.
تو ویدیو میبینید که من اصلا به لاگین نکردم، فقط با اطلاعات فروشنده متصل شدم.
دیگه ببخشید من ادیت ویدیو و خوشگل کردن landing و اینها رو بلد نیستم، اون قسمتاشو تحمل کنید :)
تو این نسخه علاوه بر امکانات نسخهی قبل، امکان ارسال متغیرهای alpn و fp هم به پارامترها اضافه شده.
همینطور میتونید لیست پرووایدرها رو با پارامتر provider در url محدود کنید.
تو صفحه اول کتابخانه تمام موارد رو کامل نوشتم.
۲/۵
اگه لینک ورکرتون رو بدون sub بزنید، راهنمای فارسی رو روی صفحهی ورکر خودتون با مثالهای واقعی از لینک خودتون میاره.
با توجه به اینکه مطمئن شدم کانفیگهای tcp در ترکیب با ورکر کار نمیکنن، اونها رو حذف کردم.
کد ورکر رو با تغییر الگوریتم، اضافه کردن پشتیبانی از vless و تروجان و همینطور رفع مشکل کاراکترهای زبان فارسی و چینی (utf8)، آپدیت کردم.
نام کتابخانهی منبع هر کانفیگ در ابتدای نام کانفیگ قید شده.
لینک کتابخانه: github.com/vfarid/v2ray-w…
دریافت اسکریپت: github.com/vfarid/v2ray-w…
۱/۵
کدش نسبت به قبل خیلی تفاوت کرده، ولی شما فقط کد رو دانلود کنید و داخل بخش مربوطه تو ورکر ذخیره کنید و تمام.
بعد از ذخیره، دیگه اون خطای ۵۰۲ رو دریافت نمیکنید و به جاش، راهنمای ورکر براتون نمایش داده میشه.
مطابق راهنما لینک ساب رو کپی کنید و به اپ خودتون اضافه کنید.
۲/۵
همونطور که در راهنمای بالا میبینید، امکان تعیین تعداد کانفیگ، استفاده از کانفیگهای اصلی به عنوان پارامتر در ادرس ورکر اورده شده و همینطور اضافه کردن همزمان چندین آیپی و سابدامین آیپی تمیز هم به قابلیتهای ورکر اضافه شده.
۳/۵
۲ تا نظرسنجی برای یک سوال ساده گذاشتم، یه اپ که تمام کارش در سمت کلاینت داره انجام میشه و آفلاینه.
حدود ۱۰ درصد گفتن "فرانت برنامهنویس نیست"، من مشخصا خواستم سوال جدی و با تحقیق پاسخ داده بشه. این قطعا پاسخ سوال نیست و مشخصه این عده نخواستن به سوال پاسخ بدن.
۱/۹ #برنامه_نویسی
پس این بخش رو نادیده میگیرم و امیدوارم در آینده این نوع پاسخها کم بشه.
در نظرسنجی اول ۳۰ درصد گفتن که پروسس با بک انجام میشه و وقتی سوال رو شفافتر کردم، این میزان تقریبا نصف شد.
حالا میخوام جواب سوال رو بدم، بر اساس تعاریف حوزههای برنامهنویسی.
۲/۹
واقعیت اینه که در حوزهی وب و اپ، تفکیک فرانت و بک خیلی پیچیده نیست. بر خلاف تصوری که در منشنها دیدم و در نتایج میشه دید، هر کدی که عملیاتی باشه یا به تعبیری "پیچیده" باشه در دسته بندی بک قرار نمیگیره، مشخصا ابزارهای توسعهی فرانت و بک با هم فرق دارن.
۳/۹